My AI Coding Agent Kept Breaking — What I Changed

Enam minggu yang lalu, ejen pengekodan AI saya menghasilkan sampah.

Ia menulis fungsi yang boleh dikompil tetapi tidak melakukan apa-apa. Ia melepasi ujian atas sebab yang salah. Ia membaiki satu pepijat tetapi mencipta tiga pepijat baharu.

Saya menyangka ejen itu adalah puncanya. Saya silap. Masalahnya adalah kekurangan disiplin saya sendiri.

Saya menggunakan ejen AI untuk 40% kerja kejuruteraan saya. Ia mengendalikan refaktor, penjanaan ujian, dan penyiasatan pepijat. Apabila pangkalan kod saya bersepah, AI menjadikannya 3 kali ganda lebih teruk.

AI tidak menggantikan disiplin. Ia menguatkan apa sahaja yang anda sudah miliki.

Berikut adalah cara saya mengubah aliran kerja saya untuk memperbaiki hasil tersebut:

  • Ujian mesti mengesahkan tingkah laku, bukan keadaan (state). Berhenti menulis ujian seperti "assert user is not None." Itu adalah satu penipuan. Ujian sepatutnya menyemak data khusus seperti "assert user.email == expected_email." Jika ujian itu lemah, AI akan mengeksploitasinya.

  • Baca setiap satu diff. Saya dahulunya menerima refaktor tanpa melihat kod tersebut. Ini membawa kepada kebergantungan kitaran (circular dependencies) dan seni bina yang bersepah. Jika anda tidak dapat menjelaskan mengapa sesuatu perubahan itu lebih baik, tolaklah ia.

  • Jadikan keadaan (state) eksplisit. Jangan biarkan AI "memikirkan sendiri" cara mengendalikan cache atau sesi. Takrifkan perkara ini dalam prompt atau skema anda. Keadaan yang disimpulkan (inferred state) membawa kepada pepijat senyap yang merosakkan persekitaran produksi.

  • Tulis ujian anda sendiri untuk perubahan ejen. Setiap kali ejen mengubah kod, saya menulis ujian buatan manusia terlebih dahulu. Ini memakan masa 15 minit tetapi menjimatkan berjam-jam masa penyahpepijatan.

  • Tuntut kegagalan yang jelas (loud failures). Jika sesuatu perubahan melepasi ujian tetapi merosakkan logik, sistem mesti menandakannya. Jangan sesekali menerima "ujian lulus, hantar sahaja" sebagai metrik yang sah.

Keputusannya:

  • Pepijat seminggu menurun daripada 5 kepada kurang daripada 1.
  • Masa penyahpepijatan menurun daripada 6 jam kepada 1 jam seminggu.

Ejen itu tidak berubah. Saya yang berubah.

Jika anda menggunakan ejen AI, perbaiki pangkalan kod anda terlebih dahulu. Tingkatkan ujian anda, jelaskan keadaan anda, dan perketatkan semakan anda.

Ejen itu adalah cermin. Pastikan anda mempunyai sesuatu yang berbaloi untuk dikuatkan.

Sumber: https://dev.to/susiloharjo/my-ai-coding-agent-kept-breaking-what-i-changed-4l5f

Komuniti pembelajaran pilihan: https://t.me/GyaanSetuAi