Topologi Feedback Lebih Penting dari IQ Model Image: AI generated

Akankah Model yang Lebih Pintar Menyelesaikan Segalanya?

Narasi dominan seputar alat coding AI adalah: ketika modelnya cukup bagus, ia akan menulis kode, menulis tes, dan melakukan refactoring sendiri. Jika GPT-4 tidak bisa, GPT-5 akan bisa. Jika Claude kurang, Claude yang lebih besar akan menanganinya.

Benarkah demikian?

Saya menugaskan Claude Opus 4.7 untuk refactoring filefunc. Selesai dalam satu jam tanpa review manusia. validate lolos, pytest lolos, coverage terjaga. Di permukaan, ini sesuai dengan narasi “cukup dapatkan model yang lebih baik”.

Tapi bagaimana jika Anda memberikan model yang sama refactoring yang sama tanpa aturan filefunc? Tanpa validate? Tanpa feedback coverage? Hasilnya sama sekali berbeda. Ia jatuh ke doom loop — memperbaiki satu bug merusak tempat lain, memperbaiki itu merusak tempat lain lagi.

Model yang sama. Yang berubah adalah lingkungannya.


“Selesai” — Naluri Penghentian Dini Agen

Eksperimen lain dengan model yang sama. Saya melepaskan agen pada proyek dengan 527 fungsi. “Tulis tes untuk setiap fungsi.” Agen selesai dan melaporkan: “Selesai.”

Fungsi yang benar-benar mendapat tes: 40. 40 dari 527.

Agen tidak berbohong. Ia mengerjakan 40 dan memutuskan “sudah cukup.” Kecenderungan default LLM adalah penghentian dini yang optimistis. Ketika menemui fungsi yang sulit, ia melewatinya, mengerjakan beberapa lagi, lalu menyimpulkan “sisanya mengikuti pola yang sama, jadi sudah cukup.”

Setelah memaksakan loop dengan alat CLI:

Agen otonom:   40 / 527  (7.6%)  — agen menyatakan "selesai"
Loop CLI:     527 / 527 (100%)  — mesin menyatakan "masih tersisa 487"

Model yang sama. Proyek yang sama. Perbedaannya adalah siapa yang memutuskan kapan “selesai”.


Lingkungan Membentuk Model

Kedua eksperimen mengarah pada kesimpulan yang sama. Opus 4.7 tidak menyelesaikan karena ia pintar. Ia menyelesaikan karena specification surface-nya machine-checkable.

filefunc validate  → Apakah struktur kode memenuhi aturan?
pytest             → Apakah perilaku yang ada dipertahankan?
coverage           → Branch mana yang kurang?

Ketiganya memberikan feedback langsung pada setiap edit. Model menerima feedback, melakukan koreksi, menerima feedback lagi, mengoreksi lagi. Self-correcting loop.

Inilah insight kuncinya:

Topologi feedback menentukan hasil lebih dari IQ model.

LLM kuat dalam generasi tetapi lemah dalam menjamin kebenaran. Huang et al. (2024) membuktikan secara eksperimental bahwa ketika LLM mencoba mengoreksi penalarannya sendiri tanpa feedback eksternal (oracle feedback), performa justru bisa menurun. Namun ketika ada deterministic verifier, performa stabil secara dramatis. lint, typecheck, test, coverage — ini menjadi gradient signal yang mengoreksi output model.

“Akan terselesaikan ketika model cukup pintar” adalah proposisi yang salah. Pernyataan yang tepat adalah: “Jika feedback cukup cepat, model saat ini sudah bisa menyelesaikannya.”


broad exploration vs local correction

Kekuatan LLM bukan broad exploration — melainkan local correction.

“Tulis tes untuk proyek ini” — itu broad exploration. LLM kehilangan arah.

“line 41 tidak ter-cover” — itu local correction. LLM menulis tes yang meng-cover tepat baris itu.

Angka yang diverifikasi di proyek nyata:

Tanpa feedback:  berhenti di coverage 60–70%
Dengan feedback: mencapai 100% (untuk fungsi yang dapat dijangkau)

Model yang sama. Satu baris “line 41 not covered” bertindak sebagai gradient signal. Feedback ini mengarahkan koreksi LLM tepat ke arah yang benar.


Symbolic Feedback Loop

Satu struktur menembus semua observasi ini.

LLM menghasilkan → alat deterministik menilai → hasil dikembalikan ke LLM → ulangi

Saya menyebutnya Symbolic Feedback Loop.

Arus utama industri saat ini adalah LLM Feedback Loop — AI memverifikasi AI. Seperti orang mabuk bertanya pada teman mabuk, “Aku mabuk nggak?” Keduanya probabilistik, jadi error terakumulasi.

Symbolic Feedback Loop berbeda. Chen et al. (2023) membuktikan bahwa debugging iteratif — mengembalikan pesan error compiler dan runtime ke model — secara dramatis meningkatkan akurasi kode. pytest tidak berhalusinasi. go test tidak pernah mabuk. Pengukuran coverage tidak berbohong. Verifikasi spesifikasi tidak menyimpang.

Struktur ini bekerja di domain di mana kebenaran dapat dinilai secara mekanis — kode, tes, spesifikasi, tipe. Keanggunan desain API atau kealamian UX belum bisa dinilai oleh alat simbolik. Memperluas batas itu adalah tantangan berikutnya. Saya percaya ada jalur untuk membawa bahkan bahasa alami ke dalam batas yang dapat diverifikasi.

Apa yang AlphaCode (Li et al., 2022) tunjukkan dalam competitive programming mengikuti prinsip yang sama. Bukan kemampuan generasi model itu sendiri, melainkan desain lingkungan — menghasilkan jutaan kandidat lalu memfilter melalui tes — yang menentukan performa. Daripada membuat model lebih pintar, lebih efektif membuat feedback yang dikembalikan ke model lebih presisi.


Mendelegasikan Keputusan

Sudah jelas bahwa keputusan tidak boleh didelegasikan ke AI. Tapi manusia memeriksa dan memutuskan segalanya itu melelahkan. Keputusan tertentu yang berulang dan terstruktur dapat dilakukan oleh alat simbolik atas nama manusia.

“Apakah tes ini meng-cover semua branch?” — tidak ada manusia yang perlu membacanya. Alat coverage yang menilai. “Apakah kode ini memenuhi aturan struktural?” — tidak ada manusia yang perlu me-review. validate yang menilai. “Apakah masih ada fungsi yang belum diproses?” — tidak ada manusia yang perlu menghitung. CLI yang menyatakan.

Keputusan yang tidak bisa didelegasikan ke AI bisa didelegasikan ke alat simbolik — karena bersifat deterministik, bukan probabilistik. Inilah alasan keberadaan Symbolic Feedback Loop.

Lebih penting memasang rel daripada membuat kereta lebih cepat.

Banyak orang membangun kereta. Hampir tidak ada yang memasang rel.

Referensi

Artikel terkait: Ratchet Pattern — Cara Membuat Agen Menyelesaikan Tugas — Implementasi praktis dari teori ini. Pola yang memaksa agen untuk konvergen.

Alat terkait: tsma — Contoh kerja Ratchet Pattern. 527 fungsi, nol TODO.

Changelog

  • 2026-05-14: Rilis awal