- Di tengah kenyataan bahwa model AI untuk coding bahkan tidak dapat menjalankan satu instruksi pun secara andal, ekspektasi berlebihan terhadap coding agentik yang bekerja otonom di latar belakang sedang terbentuk
- Penulis mengalami masalah pada GPT-5 dan Gemini Pro yang sama-sama menghilangkan sebagian logika atau melewatkan pembaruan, meskipun sudah diberikan fungsi Golang sekitar 100 baris sebagai kode referensi
- Gagasan bahwa sistem agentik dapat menangani 50 file dan banyak fungsi secara otonom tidak realistis pada tingkat teknologi saat ini, dan justru berisiko menghabiskan lebih banyak waktu untuk debugging
- Respons komunitas terbelah antara pandangan bahwa pemanfaatan terbatas yang sukses masih mungkin dilakukan melalui prompting yang sistematis, dokumentasi, dan verifikasi bertahap, dan pandangan skeptis bahwa agentik masih belum praktis
- Saat ini LLM adalah sistem berbasis pengetahuan, bukan kecerdasan, sehingga pendekatan yang realistis adalah "pemanfaatan sebagai alat" di mana pengembang sendiri menyediakan konteks dan melakukan verifikasi langkah demi langkah
Masalah yang diajukan penulis asli
- Contoh kegagalan instruksi sederhana: Sebuah fungsi Golang 100 baris diberikan sebagai referensi dan model diminta memperbarui fungsi lain dengan struktur yang sama, tetapi GPT-5 dan Gemini Pro sama-sama menghilangkan sebagian logika atau melewatkan pembaruan
- Ketidakrealistisan coding agentik: Jika satu fungsi saja tidak bisa ditangani dengan benar, pendekatan agentik yang secara otonom memodifikasi banyak fungsi di 50 file dikhawatirkan akan menimbulkan lebih banyak masalah
- Pertanyaan soal pembaruan file 6000 baris: Penulis meminta pendapat komunitas tentang cara aman memodifikasi file berskala 6000 baris, seperti saat melakukan pembaruan versi Stripe
Contoh pemanfaatan positif dan metodologi
Pendekatan dokumentasi dan pengindeksan yang sistematis
- Memanfaatkan file referensi Markdown: Menyimpan referensi dalam file
.md dan menginstruksikan AI untuk membacanya dapat meningkatkan konsistensi dan akurasi
- Contoh prompt: "Rujuk file
goLang_Update_reference.md yang terlampir untuk merangkum poin inti fungsi update, lalu berdasarkan itu buat draf pembaruan perangkat lunak"
- Membangun indeks lokal: Untuk file besar (6000+ baris), lakukan pemindaian per 1000 baris untuk membuat indeks yang mencakup nama fungsi dan referensi baris
- Saat mengerjakan frontend, gunakan indeks terpisah khusus area tertentu seperti
fr.index.md
Pengelolaan agen dan penataan pekerjaan
- Spesialisasi agen: Bentuk agen berdasarkan peran seperti perancang (architect), penjelajah kode (codeseeker), dan coder, lalu sediakan file aturan
.md yang sesuai untuk masing-masing
- Pendekatan vertical slice: Pecah pekerjaan menjadi unit fitur kecil yang bisa diselesaikan di bawah 100 ribu token
- Jika melebihi 100 ribu token, kemungkinan agen mengalami malfungsi meningkat tajam
- Memaksa dokumentasi pekerjaan: Wajibkan pembaruan
docs/TASKS.md, docs/WORKLOG.md, dan docs/DECISIONS.md untuk menjaga kesinambungan pekerjaan
Memanfaatkan Plan Mode dan Ask Mode
- Plan Mode: Meninjau seluruh proyek dan menyusun rencana sesuai permintaan, lalu melanjutkan secara bertahap
- Ask Mode: Berguna untuk query codebase, eksplorasi ide, dan meninjau opsi; efektif sebagai pengganti Google/StackOverflow
Pendekatan mendahulukan unit test
- Pengembangan berbasis test: Tulis unit test terlebih dahulu sebelum membuat fungsi, lalu biarkan AI berulang kali menghasilkan kode yang lulus test
- Peluang memperoleh kode yang benar secara fungsional meningkat besar, dan setelah itu biasanya hanya perlu optimasi serta perapihan
Pandangan skeptis dan kesadaran akan keterbatasan
Keterbatasan realistis agentik
- Bekerja tanpa pengawasan adalah tindakan bunuh diri: Pada tingkat teknologi saat ini, memberi tiket lalu membiarkannya bekerja otonom di latar belakang memiliki probabilitas gagal yang tinggi
- Kemungkinan berbohong: Model lebih mungkin menghasilkan halusinasi daripada keberhasilan, dan pada kasus terburuk bisa merusak kode yang sudah ada
- Redundansi Planning Mode: Meminta rencana detail dari model dasar sebenarnya sudah cukup, sehingga Planning Mode pada praktiknya tidak memberi kemampuan baru yang substansial
Batasan mendasar LLM
- Prediksi, bukan penalaran: Model bekerja dengan memprediksi kata berikutnya tanpa memverifikasi hasil, sehingga reliabilitas akan tetap tidak stabil sampai grounding, memory, dan feedback membaik
- Berbasis pengetahuan tanpa kecerdasan: LLM adalah basis pengetahuan yang sangat canggih tetapi tanpa kecerdasan; pengembang harus membawa sendiri kecerdasan (BYOI: Bring Your Own Intelligence) dan konteksnya
- Kekurangan memori: Model tidak memiliki memori sejati dan hanya bergantung pada context serta context cache, sehingga konteks akan ter-reset setiap kali memulai chat baru
Bias bahasa dan data
- Posisi Golang yang relatif kurang diuntungkan: Dibanding Python atau JavaScript, Golang memiliki lebih sedikit codebase publik sehingga model kekurangan pola dan konvensi yang telah dipelajari
- Ini menjadi faktor struktural yang membuat hasil edit atau transformasi yang konsisten lebih sulit diperoleh
Panduan praktis untuk pemanfaatan yang berhasil
Prompting dan penyediaan konteks
- Instruksi yang jelas dan detail: Gunakan tata bahasa dan tanda baca secara tepat, serta berikan instruksi eksplisit alih-alih ungkapan yang ambigu
- Rujukan eksplisit ke semua file terkait: Jika tidak menyebutkan semua file yang harus digunakan agen, kemungkinan munculnya spaghetti code akan meningkat
- Menetapkan file aturan: Atur file aturan untuk seluruh workspace dan aturan khusus proyek agar mendorong pembuatan kode yang konsisten
- Memanfaatkan @Docs: Gunakan fitur referensi dokumen untuk memberi agen pengetahuan inti yang dibutuhkan (meski pada beberapa versi kerjanya tidak stabil)
Cakupan kerja dan verifikasi
- Pecah menjadi unit kecil: Bagi pekerjaan menjadi unit sekecil mungkin yang bisa ditangani sekaligus, lalu verifikasi setiap langkah sebelum lanjut ke tahap berikutnya
- Tinjau secara real-time: Tinjau semua kode yang dihasilkan secara real-time dan segera minta perbaikan agar spaghetti code tidak terbentuk
- Backup dan version control: Buat backup di setiap tahap dan gunakan sistem version control seperti GitHub
- Menjalankan test: Jalankan test yang terdampak secara inkremental dengan
pytest --testmon -q, lalu jalankan seluruh test sebelum selesai
Modularisasi dan struktur kode
- Memecah file 6000 baris: Satu file 6000 baris tidak modular dan merugikan dari sisi penyediaan konteks, sehingga lebih efektif dipecah menjadi 12 file masing-masing sekitar 500 baris
- Mengutamakan vertical slice: Kembangkan berdasarkan unit fitur kecil yang bisa berjalan end-to-end
Pemilihan model dan pengelolaan biaya
- Mempertimbangkan Claude Sonnet 4.5 lebih dulu: Dibanding GPT atau Gemini, model ini dinilai lebih konsisten dan akurat sehingga layak terhadap biaya tambahannya
- Waspadai konsumsi token: Perencanaan skala besar menghabiskan banyak token, jadi membaginya menjadi langkah-langkah kecil saat eksekusi lebih efisien dari sisi biaya
Kasus penggunaan khusus
Pembuatan skrip sekali pakai
- Skrip analisis: Jika harus menulis ratusan skrip analisis data sekali pakai setiap hari, akurasi 50% pun tetap memungkinkan pembuatan dan eksekusi 1000 kali lebih cepat dibanding menulis manual
- Kemampuan memverifikasi hasil: Karena hasilnya bisa diverifikasi langsung, akurasi yang rendah pun masih praktis
Membangun aplikasi dari nol
- Struktur multi-agen: Saat membangun aplikasi besar dari nol, agen pengawas dapat meninjau pekerjaan agen lain untuk menjaga konsistensi
- Efektif untuk menjaga konsistensi nama import, nama variabel, dan mencegah duplikasi kode
- Efisiensi terhadap biaya: Tetap membutuhkan banyak revisi kompleks dan refactoring, sehingga pendekatan bertahap lebih murah dalam jangka panjang
Ringkasan pendapat komunitas
Pengalaman positif (produktivitas meningkat 3–5x)
- Situs web Next.js: Membangun situs web yang sepenuhnya berfungsi dan siap deploy dari nol dalam hitungan menit
- Implementasi fitur kompleks: Menambahkan fitur threads ke aplikasi chat dalam 3–4 menit (pekerjaan yang diperkirakan memakan 3 hari)
- Dengan pendekatan sistematis: Jika dikombinasikan dengan aturan yang jelas, konteks yang memadai, dan verifikasi bertahap, peluang sukses yang konsisten tetap ada
Pengalaman negatif (saat ini belum praktis)
- Memproduksi spaghetti code: Saat diberi tujuan yang luas, sering muncul masalah seperti pembaruan dokumen yang terlewat atau file sisa yang tidak dihapus
- Kesalahan semantik: Secara teknis memang berjalan, tetapi lokasi kode tidak tepat atau fungsi yang sudah ada justru diimplementasikan ulang, sehingga menimbulkan masalah struktural
- Gagal ditelusuri lebih dari 5 menit: Jejak eksekusi panjang yang berjalan lebih dari 5 menit umumnya hanya menghasilkan keluaran yang tidak berguna
1 komentar
Opini Hacker News