Oleh Kwame Boateng

Pengekodan berbantukan AI sering digambarkan sebagai versi pengaturcaraan berpasangan yang lebih pantas. Perbandingan itu kini terlalu sempit. Apabila ejen boleh memeriksa repositori, mengubah beberapa fail, menjalankan alat, menjana pratonton dan membuka permintaan tarik, masalah utama dalam kerjasama bukan lagi sekadar “Bolehkah ia menulis kod?” Sebaliknya, “Bolehkah manusia melihat, menyemak, meluluskan dan kemudiannya membina semula apa yang telah berlaku?”

Inilah sebabnya perubahan reka bentuk yang paling penting dalam pasukan perisian berbantukan ejen mungkin ialah peralihan daripada gesaan peribadi kepada ruang kerja yang boleh dilihat. Slack Code, sebagai contoh, digambarkan sebagai menggabungkan saluran projek dengan ejen pengekodan, pengauditan perbezaan kod, pratonton HTML secara langsung, aliran kerja maklum balas dan kelulusan, pengarkiban automatik serta log audit. Aplikasi Copilot GitHub juga telah menambah anak tetingkap “Kerja saya” untuk menyusun isu dan permintaan tarik merentas projek. Ciri-ciri ini menunjukkan satu prinsip praktikal: kerja ejen sepatutnya kelihatan kurang seperti jawapan legap dan lebih seperti set perubahan yang melalui proses pengeluaran terkawal.

Sembang bukan rekod kerja

Perbualan dengan ejen boleh berguna untuk meneroka sesuatu idea, tetapi ia merupakan sistem rekod yang lemah. Butiran penting boleh tersembunyi dalam utas yang panjang: fail yang berubah, arahan yang dijalankan, andaian yang dibuat oleh ejen, perkara yang ditolak oleh penyemak dan sama ada hasil akhir berbeza daripada cadangan pertama.

Ruang kerja yang berkekalan menjadikan butiran tersebut boleh diperiksa. Ruang kerja itu hendaklah menghubungkan permintaan kepada repositori atau projek tertentu, mengekalkan pelan ejen, memaparkan tindakan alat dan perubahan fail, memautkan ujian serta pratonton, dan merekodkan pihak yang meluluskan hasil tersebut. Antara muka tepatnya boleh berbeza—penjejak isu, permintaan tarik, saluran kerjasama atau konsol ejen—tetapi maklumat itu hendaklah kekal selepas sesi berakhir.

Hal ini penting atas sebab kejuruteraan biasa, bukan hanya untuk pematuhan. Jika pepijat muncul dua minggu kemudian, pasukan memerlukan lebih daripada perbezaan akhir. Mereka mungkin perlu mengetahui keperluan asal, pelan yang dijana, bukti ujian, komen penyemak dan sama ada manusia menerima pertukaran berisiko itu secara jelas. Rekod yang berkekalan memendekkan penyiasatan tersebut.

Lima lapisan kerja yang boleh dilihat

Pasukan yang menggunakan ejen pengekodan boleh menganggap setiap perubahan sebagai fail kes kecil yang boleh diperiksa. Lima lapisan amat berguna:

  1. Niat: isu, kriteria penerimaan, kekangan dan skop yang diminta.
  2. Pelan: pendekatan yang dicadangkan oleh ejen sebelum ia menyunting fail. Bagi tugas yang tidak remeh, ini ialah titik semakan kelulusan, bukan hiasan.
  3. Perbezaan: penambahan, pemadaman, perubahan kebergantungan, suntingan konfigurasi dan aset yang dijana secara tepat.
  4. Bukti: keputusan ujian, output lint, pemeriksaan keselamatan, tangkapan skrin serta pratonton langsung atau yang boleh digunakan untuk pelancaran jika berkaitan.
  5. Rekod keputusan: komen penyemak, perubahan yang diminta, kelulusan, penolakan, pengembalian semula atau kerja susulan.

Tujuannya bukan untuk memaksa setiap perubahan melalui jawatankuasa yang berat. Kesilapan ejaan dan perubahan aliran pembayaran tidak sepatutnya mempunyai kawalan yang sama. Tujuannya adalah untuk menjadikan tahap penelitian berkadar dengan potensi kesan.

Kelulusan hendaklah dikaitkan dengan tindakan

“Manusia dalam gelung” terlalu kabur untuk menjadi kawalan yang berguna. Seseorang mungkin meluluskan pelan tanpa melihat perbezaan yang terhasil, atau meluluskan perubahan kod tanpa menyedari bahawa ejen turut mengubah fail pelancaran. Aliran kerja yang lebih baik menyatakan perkara yang dibenarkan oleh sesuatu kelulusan.

Sebagai contoh, pasukan mungkin membenarkan ejen membaca repositori dan menjalankan ujian tempatan secara automatik, memerlukan kelulusan sebelum menulis di luar cawangan yang ditetapkan, serta memerlukan kelulusan berasingan sebelum menggabungkan atau melancarkan perubahan. Ejen boleh mencadangkan migrasi pangkalan data tetapi dilarang melaksanakannya dalam persekitaran produksi. Pendekatan yang dicadangkan UAE untuk mengelaskan tugas yang boleh diselesaikan oleh ejen berbanding tugas yang hanya boleh dicadangkan mencerminkan corak yang lebih luas ini: autonomi hendaklah ditetapkan mengikut tugas, bukan diandaikan secara global.

Kelulusan juga memerlukan skop dan tempoh luput. Kelulusan untuk “mengemas kini salinan halaman pendaratan” tidak sepatutnya secara senyap-senyap membenarkan pakej analitik baharu. Pelan yang diluluskan semalam tidak sepatutnya meliputi perbezaan yang berubah secara material pada hari ini secara automatik. Antara muka hendaklah menjadikan sempadan tersebut jelas.

Pratonton menukar semakan menjadi pemeriksaan

Semakan kod selalunya lebih mudah apabila manusia boleh memeriksa hasilnya dan bukannya membuat kesimpulan daripadanya berdasarkan fail sumber. Pratonton HTML secara langsung boleh mendedahkan jarak yang rosak, keadaan yang hilang, kawalan yang tidak boleh diakses atau perubahan navigasi yang tidak disengajakan, yang mungkin terlepas pandang oleh penyemak dalam perbezaan teks.

Pratonton bukan bukti ketepatan. Ia hendaklah diletakkan di samping, bukan menggantikan, ujian dan semakan sumber. Namun, pratonton mewujudkan objek bersama untuk perbincangan: penyemak boleh merujuk kepada skrin, keadaan atau interaksi tertentu dan meninggalkan maklum balas yang dilampirkan pada perubahan yang dicadangkan.

Hal ini amat bernilai apabila golongan bukan pakar turut serta dalam semakan. Pengurus produk mungkin tidak dapat menilai perubahan rangka kerja, tetapi mungkin merupakan orang yang tepat untuk mengesahkan bahawa aliran kerja sepadan dengan keperluan. Pereka bentuk boleh mengesahkan regresi visual. Pakar keselamatan boleh menumpukan perhatian pada kebenaran dan pengendalian data. Ruang kerja berbantukan ejen boleh menyalurkan setiap soalan kepada orang yang paling sesuai untuk menjawabnya.

Perbezaan memerlukan konteks, bukan sekadar warna

Perbezaan merah-dan-hijau yang biasa masih penting, tetapi perubahan yang dijana oleh ejen boleh cukup meluas sehingga membebankan penyemak. Pasukan hendaklah meminta ejen mengekalkan komit atau kumpulan perubahan dalam skop yang sempit, menerangkan sebab setiap fail penting berubah, dan mengenal pasti fail yang dijana atau fail vendor secara berasingan.

Gesaan ulasan yang berguna termasuk:

  • Apakah tingkah laku yang boleh dilihat oleh pengguna telah berubah?
  • Fail manakah yang diubah hanya untuk menyokong pelaksanaan?
  • Apakah andaian yang dibuat oleh ejen tentang tingkah laku sedia ada?
  • Ujian manakah yang ditambah, diubah suai, atau tidak dijalankan?
  • Bolehkah perubahan ini menjejaskan kebenaran, pengekalan data, pengebilan atau API luaran?

Soalan-soalan ini mengubah ulasan daripada permintaan yang samar-samar seperti “semak ini” kepada pemeriksaan yang boleh diulang. Soalan-soalan ini juga membantu mendedahkan mod kegagalan yang lazim: ciri yang munasabah tetapi disertai kemas kini ujian yang tidak lengkap atau perubahan konfigurasi yang tidak disengajakan.

Arkibkan penaakulan yang penting

Mengekalkan setiap token daripada setiap perbualan model tidak semestinya berguna. Sejarah yang panjang boleh mahal untuk disimpan dan sukar dicari, manakala penyelidikan tentang pemadatan konteks memberi amaran bahawa ringkasan boleh kehilangan maklumat penting. Oleh itu, jejak audit yang praktikal hendaklah mengekalkan artifak yang berkaitan dengan keputusan dan bukannya menyimpan segala-galanya tanpa memilih.

Sekurang-kurangnya, simpan permintaan, pelan yang diluluskan, diff akhir, keputusan alat dan ujian, rujukan pratonton atau penggunaan, keputusan penyemak, serta sebarang pengecualian yang diberikan. Jika ejen menggunakan sumber luaran atau mendapatkan dokumen dalaman, rekodkan rujukan sumber yang berkaitan dan titik sumber tersebut memaklumkan perubahan itu. Bagi kerja berisiko tinggi, mengekalkan interaksi dan log pelaksanaan yang lengkap mungkin wajar.

Jadikan rekod mudah dikesan jika diusik apabila kepentingannya memerlukannya, dan tetapkan peraturan pengekalan sebelum krisis berlaku. Jejak audit yang hilang apabila saluran diarkibkan—atau yang tidak dapat membezakan hasil yang dipinda daripada hasil asal—tidak akan menyokong penyiasatan yang serius.

Perubahan ini terhadap kerjaya perisian

Kemahiran yang sedang muncul bukan sekadar menulis gesaan yang lebih baik. Kemahiran itu ialah mereka bentuk kerja yang boleh diperiksa dan dipercayai oleh orang lain. Pembangun perlu selesa menetapkan kriteria penerimaan, memecahkan tugas, menyemak diff pada skala besar, membina ujian yang bermakna, dan menentukan bila ejen mesti berhenti dan bertanya.

Profesional produk dan reka bentuk akan memainkan peranan yang lebih besar dalam menyemak pratonton dan menjelaskan niat. Jurutera QA boleh membantu mentakrifkan pintu kelulusan dan kes kegagalan. Pengurus kejuruteraan perlu mengukur daya pemprosesan tanpa memberi ganjaran kepada pengambilan risiko yang tidak kelihatan. Penulis teknikal dan pakar operasi boleh menyumbang dengan menjadikan keputusan, pengecualian dan runbook kekal.

Satu latihan yang berguna ialah mengambil ciri rutin dan memetakan rantaian buktinya: permintaan, pelan, cawangan, diff, ujian, pratonton, kelulusan, keluaran dan pemulihan. Kemudian tanyakan di mana rakan sepasukan pada masa hadapan akan terpaksa membuat andaian. Setiap andaian ialah calon untuk ruang kerja yang lebih baik, kebenaran yang lebih jelas atau rekod yang lebih tahan lama.

Satu peraturan operasi yang mudah

Benarkan ejen bergerak pantas dalam laluan yang jelas dan boleh dipulihkan. Berikan mereka ruang kerja yang ditetapkan, hadkan tindakan sensitif, perlukan kelulusan pada sempadan yang bermakna, lampirkan bukti pada perubahan, dan simpan keputusan akhir. Matlamatnya bukan untuk memperlahankan automasi sehingga menyerupai pengekodan manual. Matlamatnya ialah menjadikan kepantasan serasi dengan kebertanggungjawaban.

Dalam pembangunan berbantukan ejen, rakan usaha sama yang terbaik bukanlah sistem yang menghasilkan kod paling banyak secara bersendirian. Sebaliknya, sistem terbaik ialah sistem yang hasil kerjanya boleh difahami, dicabar, diluluskan, dibuat asal dan dijadikan iktibar.