Ketika sebuah guardrail berteriak: triase sebelum memperbaiki
Guardrail hanya berguna kalau kamu meresponsnya dengan baik, dan pola kegagalannya bisa ditebak: build berubah merah, kamu sedikit panik, dan kamu tempelkan error-nya ke AI dengan "perbaiki." Kadang itu berhasil. Sering kali itu menghasilkan perbaikan yang membuat teks merahnya hilang tanpa mengatasi apa yang sebenarnya salah — AI melemahkan tesnya, melebarkan sebuah tipe, atau membungkus pemanggilan yang gagal dalam try/catch yang menelan masalahnya begitu saja.
Sebelum kamu membiarkannya "memperbaiki" apa pun, luangkan sepuluh detik untuk triase. Sebenarnya hanya ada tiga jenis kegagalan guardrail:
- Bug nyata yang baru saja kamu masukkan. Pemeriksaan itu sedang menjalankan tugasnya. Perbaiki kodenya, bukan pemeriksaannya.
- Tes yang sekarang sudah usang. Kamu sengaja mengubah perilakunya, dan asersi lama sudah tidak cocok lagi. Perbarui tesnya untuk menyatakan perilaku baru yang benar — secara sengaja, bukan reflek.
- Pemeriksaan yang tidak stabil (flaky) atau salah. Benar-benar jarang terjadi. Curigai dirimu sendiri di sini; ini adalah kategori tempat orang-orang membuang bug nyata karena ini yang memungkinkan mereka untuk melanjutkan.
Instruksi yang membuat AI tetap jujur adalah membuatnya mendiagnosis sebelum mengubah apa pun:
The test "never discounts below zero" is failing.
First, tell me WHY it fails — what does the code do now vs. what
the test expects. Then tell me which is correct: the code or the
test. Do NOT change anything until I confirm.
Jeda tunggal itulah yang membedakan guardrail yang melindungimu dan guardrail yang diam-diam sudah kamu latih agar dikalahkan AI. Pemeriksaan merah adalah informasi; hal terburuk yang bisa kamu lakukan adalah membayar untuk membuatnya hijau tanpa membaca apa yang sebenarnya ia sampaikan.