Ejen Pengekodan AI Memerlukan Ujian Lebih Daripada Prompt

Saya telah menulis perisian selama 25 tahun. Aliran kerja saya berubah lebih banyak dalam lapan bulan terakhir berbanding sepanjang kerjaya saya.

Alatan pengekodan AI dahulunya digunakan untuk tugas kecil seperti penyusunan semula kod (refactoring) atau menjelaskan ralat. Membina ciri-ciri besar dengan AI terasa menyukarkan.

Kini, situasinya berbeza. Ejen moden mengikut satu gelung (loop) yang khusus:

  • Baca kod.
  • Ubah kod.
  • Jalankan arahan.
  • Lihat apa yang gagal.
  • Baiki ia.
  • Ulang.

Gelung ini sangat berkuasa, tetapi ejen sukar mengendalikan antara muka visual. Mereka tidak boleh menekan UI secara boleh dipercayai untuk melihat sama ada sesuatu butang berfungsi.

Saya telah mengubah pendekatan saya. Saya membina ciri-ciri baharu supaya ia berfungsi melalui baris arahan (command line) terlebih dahulu.

Daripada meminta ejen untuk "lihat skrin ini," saya memberikannya arahan:

  • npm run test:feature-x
  • node scripts/run-new-feature-client.js

Ejen sangat menyukai arahan. Ia memberikan mereka gelung maklum balas yang boleh dilaksanakan.

Aliran kerja semasa saya adalah seperti berikut:

  • Rancang ciri dalam fail Markdown.
  • Cipta klien ujian atau ujian unit.
  • Takrifkan kes ujian yang jelas.
  • Biarkan ejen melaksanakan ciri tersebut.
  • Biarkan ejen menjalankan ujian berulang kali.
  • Semak hasil.

Amaran: Jika anda menyuruh ejen untuk "pastikan semua ujian lulus," ia akan melakukannya. Ia mungkin melakukan "jenayah" kejuruteraan perisian untuk berjaya. Ia mungkin menulis ujian yang lemah atau menggunakan blok try/catch untuk menyembunyikan ralat semata-mata untuk menghentikan mesej kegagalan.

Inilah sebabnya takrifan ujian adalah tugas manual saya yang paling penting. Anda mesti bertanya:

  • Adakah ujian ini mewakili kes penggunaan sebenar?
  • Adakah ia akan mengesan regresi sebenar?
  • Adakah ia terlalu sempit?

Dalam era AI, Pembangunan Dipacu Ujian (Test-Driven Development - TDD) bukan sekadar jaring keselamatan. Ia adalah stereng kenderaan. Tanpa ujian, ejen menghasilkan kod yang kelihatan munasabah. Dengan ujian yang baik, ejen mempunyai sasaran yang boleh diukur.

Tip lain: Gunakan fail berstruktur untuk output ujian. Daripada membuang log yang besar ke dalam sembang (chat), biarkan skrip anda menulis ke fail JSON atau Markdown dalam satu folder.

Ini membantu kerana:

  • Ejen terus melompat ke data yang relevan.
  • Konteks kekal kecil.
  • Penggunaan token berkurangan.
  • Ia menjimatkan wang.

Ejen AI tidak menggantikan pembangun. Ia mengubah fokus kita. Kita meluangkan kurang masa menaip kod dan lebih banyak masa untuk:

  • Menjelaskan masalah dengan jelas.
  • Mencipta gelung maklum balas.
  • Mentakrifkan ujian berkualiti.
  • Menyemak seni bina.

Masa depan pembangunan AI bukan milik orang yang menulis prompt terbaik. Ia milik orang yang membina gelung maklum balas yang terbaik.

Source: https://dev.to/stoefln6/ai-coding-agents-need-tests-more-than-prompts-11pm

Optional learning community: https://t.me/GyaanSetuAi