Google ADK 2.0 Bikin Agen Coding Bisa Perbaiki Bug Sendiri

Google Developers Blog menerbitkan artikel tentang rekayasa harness pada 2 September, ditulis oleh Shir Meir Lador. Definisi harness dalam artikel ini cukup blak-blakan: semua komponen deterministik yang membungkus LLM — lapisan orkestrasi, sandbox eksekusi, persistensi state, hingga alat validasi — semuanya termasuk.

Artikel ini dibuka dengan perbandingan angka yang mencolok: sebuah produk eksperimental OpenAI dibangun dengan nol baris kode yang ditulis manusia, dan tiga insinyur berhasil membuat serta merilis versi uji internalnya hanya dengan mengandalkan kode buatan model. Pertanyaan yang diangkat penulis dari contoh ini bukan soal kemampuan model, melainkan struktur yang mengurung model dalam proses yang tetap terkendali.

Kekang, Kacamata Kuda, dan Lintasan

Artikel ini memakai perumpamaan pacuan kuda: model adalah kudanya, sementara harness adalah lintasan, kacamata kuda, dan kekang yang menjaga arah larinya tetap satu jalur.

"The harness is composed of all the deterministic components that wrap the LLM."

Harness terdiri dari semua komponen deterministik yang membungkus LLM.

Definisi ini menggeser sebagian pekerjaan yang selama ini dimasukkan ke kategori 'prompt engineering'. Sebenarnya hanya ada dua cara membatasi perilaku model: menuliskannya di prompt, atau menuliskannya di kode di luar model. Cara pertama mengandalkan kepatuhan sukarela model, dan harus disetel ulang setiap kali modelnya berganti; cara kedua adalah batasan keras yang tetap berlaku walau modelnya diganti dengan versi baru. Sebagian besar tim yang membangun produk berbasis agen dalam setahun terakhir sudah mencoba keduanya, dan sudah membayar mahal untuk keduanya. Kalimat di prompt seperti 'jangan ubah file test' pun mulai 'diabaikan' secara selektif oleh model begitu memasuki giliran ke-30 dalam konteks yang panjang.

Tiga Prinsip Desain

Batasan yang ketat. Kurung agen di dalam sandbox agar tak pernah punya kesempatan menyentuh data produksi. Dalam demo di artikel ini, agen hanya bisa menulis file di dalam direktori ./sandbox — operasi apa pun yang keluar dari batas itu memang tidak pernah dieksekusi.

Loop perbaikan. Error seharusnya tidak langsung dilempar ke manusia. Saat tes gagal, harness mengumpankan log yang bersih kembali ke model agar model bisa memperbaiki kesalahannya sendiri. Jawaban ADK 2.0 di sini adalah alur kerja berbasis graf — langkah validasi itu sendiri merupakan sebuah node routing di dalam graf, dan eksekusi yang gagal otomatis mengarahkan alur kontrol kembali ke node generasi, tanpa perlu menulis logika percobaan ulang secara manual di kode orkestrasi.

Struktur repositori yang bisa dijelajahi secara bertahap. Jangan langsung membanjiri agen dengan file instruksi ribuan baris sekaligus. Susun repositori agar agen bisa menjelajah masuk lapis demi lapis, menemukan konteks sesuai kebutuhannya.

Antigravity SDK yang menyertainya menangani sisi lingkungan lokal: menandai batas workspace sekaligus menyediakan persistensi memori. Kedua alat ini bila digabung mencakup dua hal — 'di mana agen berjalan' dan 'bagaimana cara menariknya kembali saat salah jalan'.

Batas Lima Putaran dan Sakelarnya

Demo dalam artikel ini menjalankan satu siklus penuh loop penyembuhan diri: agen menulis kode di dalam sandbox yang dibatasi, tes berjalan otomatis, tes gagal, log diumpankan balik, agen memperbaiki, lalu dijalankan lagi. Batasnya ditetapkan lima putaran; begitu mencapai batas, harness akan menghentikan loop tersebut — penulis menyebutnya kill switch.

Angka lima ini adalah angka paling praktis di seluruh artikel. Pola kegagalan khas dari loop penyembuhan diri adalah model yang terus bolak-balik di antara dua kondisi error, menghabiskan token di setiap putaran tanpa pernah konvergen. Menetapkan batas keras berarti mengakui sejak awal bahwa model kadang tidak sanggup memperbaiki masalahnya, dan mengembalikan persoalan itu ke tangan manusia lebih cepat. Tanpa sakelar ini, loop yang keluar jalur bisa menghabiskan seluruh anggaran dalam semalam tanpa ada yang mengawasi.

Bila dibandingkan dengan framework agen yang populer di paruh pertama tahun ini, pergeseran fokusnya cukup jelas. Framework generasi awal kebanyakan bicara soal orkestrasi — bagaimana merangkai banyak agen, membagi tugas, dan meneruskan pesan. Yang dibicarakan sekarang adalah validasi dan batasan: di mana eksekusi ditempatkan, bagaimana error dialirkan kembali, dan kapan harus berhenti. Yang pertama menjawab 'apakah bisa jalan', yang kedua menjawab 'apakah bisa dipercaya berjalan di proyek sungguhan'.

Bagi tim di Tiongkok, dua alat spesifik ini — ADK 2.0 dan Antigravity SDK — belum tentu bisa langsung dipakai, tapi ketiga prinsipnya bisa langsung diadopsi. Sandboxing, loop perbaikan, dan konteks bertahap adalah hal yang mau tak mau harus dihadapi oleh agen coding buatan sendiri mana pun; bedanya hanya apakah dirancang sejak awal, atau baru ditambal setelah agennya sempat menghapus file test.

Sumber: Google Developers Blog, CocoLoop, dokumentasi proyek ADK dan Antigravity SDK; definisi harness, tiga prinsip desain, dan batas lima putaran sudah dicocokkan dengan artikel asli, sementara angka nol baris kode manual dan tiga insinyur dikutip dari penuturan artikel tersebut.