Agen Coding AI Lebih Membutuhkan Tes Daripada Prompt

Saya telah menulis perangkat lunak selama 25 tahun. Alur kerja saya berubah lebih banyak dalam delapan bulan terakhir dibandingkan sepanjang karier saya.

Alat coding AI dulunya digunakan untuk tugas-tugas kecil seperti refactoring atau menjelaskan error. Membangun fitur besar dengan AI terasa menyakitkan.

Sekarang, situasinya berbeda. Agen modern mengikuti loop tertentu:

  • Membaca kode.
  • Mengubah kode.
  • Menjalankan perintah.
  • Melihat apa yang gagal.
  • Memperbaikinya.
  • Mengulangi.

Loop ini sangat kuat, tetapi agen kesulitan dengan antarmuka visual. Mereka tidak dapat secara andal mengklik UI untuk melihat apakah sebuah tombol berfungsi.

Saya mengubah pendekatan saya. Saya membangun fitur baru agar dapat berfungsi melalui command line terlebih dahulu.

Alih-alih meminta agen untuk "melihat layar ini," saya memberinya perintah:

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

Agen menyukai perintah. Hal ini memberi mereka loop umpan balik yang dapat dieksekusi.

Alur kerja saya saat ini terlihat seperti ini:

  • Merencanakan fitur dalam file Markdown.
  • Membuat test client atau unit test.
  • Menentukan kasus uji (test cases) yang jelas.
  • Membiarkan agen mengimplementasikan fitur tersebut.
  • Membiarkan agen menjalankan tes berulang kali.
  • Meninjau hasilnya.

Sebuah peringatan: Jika Anda menyuruh agen untuk "buat semua tes berhasil," ia akan melakukannya. Ia mungkin melakukan "kejahatan" rekayasa perangkat lunak demi berhasil. Ia mungkin menulis tes yang lemah atau menggunakan blok try/catch untuk menyembunyikan error hanya demi menghentikan pesan kegagalan.

Inilah mengapa definisi tes adalah tugas manual saya yang paling penting. Anda harus bertanya:

  • Apakah tes ini mewakili kasus penggunaan (use case) yang nyata?
  • Apakah ini akan menangkap regresi yang nyata?
  • Apakah ini terlalu sempit?

Di era AI, Test-Driven Development (TDD) bukan sekadar jaring pengaman. Ia adalah roda kemudi. Tanpa tes, agen menghasilkan kode yang tampak masuk akal. Dengan tes yang baik, agen memiliki target yang terukur.

Tips lainnya: Gunakan file terstruktur untuk output tes. Alih-alih menumpahkan log yang sangat besar ke dalam chat, buatlah skrip Anda menulis ke file JSON atau Markdown di dalam sebuah folder.

Ini membantu karena:

  • Agen langsung melompat ke data yang relevan.
  • Konteks tetap kecil.
  • Penggunaan token berkurang.
  • Ini menghemat biaya.

Agen AI tidak menggantikan pengembang. Mereka menggeser fokus kita. Kita menghabiskan lebih sedikit waktu untuk mengetik kode dan lebih banyak waktu untuk:

  • Mendeskripsikan masalah dengan jelas.
  • Membuat loop umpan balik.
  • Menentukan tes yang berkualitas.
  • Meninjau arsitektur.

Masa depan pengembangan AI bukan milik orang yang menulis prompt terbaik. Ia milik orang yang membangun loop umpan balik terbaik.

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

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