AI agent lu terlalu rajin? Itu bisa jadi bug, bukan fitur.
Gua sering lihat developer yang senang banget pas AI coding agent bisa nulis ratusan baris kode dalam hitungan detik. Padahal, tanpa batasan yang jelas, hal ini justru bikin codebase makin bengkak dan susah di-maintain. Di artikel ini, gua bakal bahas kenapa prinsip You Aren't Gonna Need It (YAGNI) itu jadi guardrail wajib buat AI, dan gimana cara nerapinnya biar lu nggak pusing saat harus nge-review pull request (PR) dari agent.
Kenapa Rajin Nggak Selalu Bagus
AI coding agent seperti Claude Code, Cursor, atau Hermes Agent memang didesain untuk jadi asisten yang responsif. Masalahnya, mereka sering kali punya kecenderungan untuk over-engineer. Misalnya, lu minta tolong dibuatin komponen tombol sederhana. Alih-alih bikin satu elemen button, si AI malah bikin generic component system lengkap dengan variasi warna, ukuran, dan state management yang ujung-ujungnya nggak kepakai.
Dampaknya jelas: technical debt codebase lu bakal naik drastis. Kode yang nggak lu tulis sendiri—apalagi yang logikanya berbelit-belit tanpa alasan kuat—bakal sangat susah di-debug di masa depan.
Mengajarkan YAGNI ke AI
Prinsip YAGNI atau You Aren't Gonna Need It sebenarnya adalah konsep lama dari Extreme Programming, tapi menurut gua prinsip ini malah makin relevan di era AI sekarang.
Baru-baru ini, ada sebuah repo di GitHub bernama Ponytail (DietrichGebert/ponytail) yang sempat ramai dibicarakan. Deskripsinya sederhana tapi ngena banget: "Makes your AI agent think like the laziest senior dev in the room. The best code is the code you never wrote."
Intinya, repo ini berisi kumpulan rules yang memaksa AI untuk mikir ulang sebelum nulis baris kode baru. Konsep "senior dev yang malas" di sini bukan berarti nggak mau kerja, melainkan fokus cuma ngerjain hal yang benar-benar diminta, dengan kode sesedikit mungkin.
Guardrail Praktis Buat Workflow Lu
Daripada sekadar mengandalkan context window yang besar, lu butuh instruksi (SOP) yang jelas. Berikut ini beberapa guardrail yang bisa lu terapkan langsung di workflow lu:
- Kasih batasan eksplisit di prompt: Jangan cuma perintah "Tolong buatin fitur X". Tambahkan rule seperti: "Buat dengan perubahan file seminimal mungkin. Jangan tambah dependency baru kecuali terpaksa. Terapkan YAGNI."
- Gunakan system prompt/rules file: Kalau lu pakai Cursor, masukin aturan tersebut ke dalam file
.cursorrules. Kalau lu pakai Hermes, buat sebuah skill atau SOP agar agent wajib melakukan cek minimal diff sebelum nulis fitur tambahan. - Wajibkan test: Minta agent untuk membuktikan bahwa kodenya jalan sesuai dengan requirement utama. Kalau ada fitur ekstra yang nggak ter-cover oleh requirement, hapus saja.
Takeaways
Menurut gua, me-review kode dari AI itu mirip kayak nge-review PR dari junior developer yang lagi semangat-semangatnya: lu harus sering ngerem mereka.
- Kode sedikit lebih baik: Fokus pada hasil yang diminta, hindari optimasi prematur.
- Gunakan rule, bukan cuma prompt: AI lebih menurut kalau ada constraint atau aturan main yang tegas (seperti YAGNI).
- Review ketat: Pastikan setiap baris kode yang ditambahin punya alasan yang valid.
Codebase yang bersih bukan cuma dinilai dari seberapa cepat fitur bisa rilis, tapi juga dari seberapa gampang kodenya dipahami, diedit, atau bahkan dihapus nantinya.
Referensi / Bacaan Lanjut
- Dietrich Gebert, Ponytail Repository – Kumpulan rules YAGNI untuk AI agent.
- Martin Fowler, Yagni – Konsep dasar You Aren't Gonna Need It dalam software engineering.
- Anthropic, Claude Code Documentation – Penggunaan tools dan best practices.