Antara tanggal 8 Juni dan 9 Juni, tiga orang yang jarang menulis esai yang sama menulis esai yang sama. [Addy Osmani](https://x.com/addyosmani/status/2064127981161959567), direktur AI di Google Cloud, menerbitkan "Loop Engineering", sebuah taksonomi sistem yang meminta agen coding sehingga Anda tidak perlu melakukannya. [Matt Van Horn](https://x.com/mvanhorn/status/2063865685558903149) menerbitkan "WTF Is a Loop?", sebuah penelitian yang mencakup Reddit, X, YouTube, dan Hacker News yang menelusuri ide tersebut dari makalah ReAct tahun 2022 hingga loop orkestrasi yang dijalankan orang-orang saat ini. Dan [Lance Martin](https://x.com/RLanceMartin/status/2064397389189071163), anggota staf teknis di Anthropic, menerbitkan "Merancang loop dengan Fable 5," dua pola untuk mendapatkan hasil maksimal dari model frontier dengan mendesain loop alih-alih meminta secara langsung.

Ketiganya bertemu pada perubahan yang sama: prompt memberi cara untuk merancang loop yang meminta agen untuk Anda. Dan ketiganya menyebutkan komponen yang sama dengan komponen yang paling penting. Osmani membuat daftar lima blok bangunan, lalu menambahkan blok keenam dan memberikan kalimat terkuat dalam tulisannya: "Berkas negara adalah inti dari semuanya." Van Horn berpendapat bahwa generasi loop saat ini benar-benar baru karena satu alasan struktural: "daya tahan menjadi jelas, dengan status yang didukung git dan pemulihan kerusakan." Martin membingkai memori sebagai "lingkaran luar yang mencakup seluruh sesi."

Diagnosisnya sekarang sudah menjadi konsensus. Keadaan eksternal yang tahan lama adalah bagian yang menahan beban dari agen otonom. Yang mengejutkan saya adalah apa yang terjadi selanjutnya. Ketiganya menyerahkan pekerjaan itu ke file teks.

## Apa itu loop, secara singkat

Definisi Van Horn adalah yang paling bersih: loop adalah cron ditambah pengambil keputusan di badan. Pekerjaan cron menjalankan skrip tetap. Sebuah loop menjalankan model yang melihat keadaan saat ini, memutuskan apa yang harus dilakukan, melakukannya, memeriksa apakah berhasil, dan memutuskan apakah akan melanjutkan atau tidak. Tumpuk itu, biarkan satu loop mengirimkan yang lain, dan Anda akan mengerti maksud Boris Cherny ketika dia mengatakan tugasnya adalah menulis loop.

Model di dalam loop itu melupakan segala sesuatu yang dijalankan berdasarkan desain. Jendela konteks berakhir. Sesi dimulai ulang. Jadi sesuatu dalam sistem tidak boleh dilupakan. Sesuatu itulah yang dibaca oleh loop untuk memutuskan apa yang harus dilakukan selanjutnya dan ditulis untuk mencatat apa yang terjadi. Itu adalah tulang belakang, dan Osmani berhak menyebutnya demikian.

## Punt media

Berikut adalah inventaris lengkap kandidat tulang belakang di ketiga pos: file penurunan harga, papan Linear, file status yang dikomit ke git, dan sistem file terpasang yang dibagikan ke seluruh sesi. Osmani menawarkan dua yang pertama. Van Horn mendokumentasikan yang ketiga, yang digunakan oleh Kota Gas Steve Yegge untuk mengoordinasikan dua puluh hingga tiga puluh kejadian Claude. Martin menggunakan yang keempat, fitur memori dari Agen Terkelola Claude.

Semua ini menyelesaikan masalah kegigihan. Byte bertahan saat restart. Tak satu pun dari mereka memecahkan integritas. Ajukan pertanyaan yang sebenarnya perlu dijawab oleh salah satu dari substrat ini: dari dua catatan yang bertentangan ini, yang mana yang benar, siapa yang menulisnya, kapan, dan apakah pernah diverifikasi? File prosa menyimpan kedua catatan secara berdampingan dan menyerahkan rekonsiliasi ke model mana pun yang membaca file berikutnya. Git mempertahankan setiap versi historis dari ambiguitas tersebut tanpa menyelesaikannya. Mount bersama menambahkan kemenangan penulisan terakhir di atas.

Ketekunan dan integritas adalah sifat yang berbeda. Khotbah tersebut telah sepenuhnya menyerap yang pertama dan belum memperhatikan yang kedua.

## Kami menjalankan eksperimen ini sebelumnya

Aplikasi menyimpan statusnya dalam file datar selama beberapa dekade. Tiga kekuatan mengakhiri era itu: penulis yang bekerja secara bersamaan merusak file, akumulasi kontradiksi tidak memiliki mekanisme penyelesaian, dan menjawab pertanyaan berarti menguraikan semuanya. Basis data menang karena menjadikan integritas sebagai properti lapisan penyimpanan, bukan disiplin yang diharapkan dari setiap program yang menyentuh data.

Masing-masing kekuatan tersebut sudah terlihat di dalam tiga pos.

Konkurensi tiba pada saat loop supervisi, yang merupakan tahapan yang menurut Van Horn sedang kita masuki. Dua loop yang menulis satu file status adalah kegagalan yang sama dengan dua insinyur yang melakukan baris yang sama tanpa berbicara. Worktrees menyelesaikan ini untuk kode. Tidak ada apa pun di rantai alat saat ini yang dapat menyelesaikannya untuk [status bersama](/posts/when-agents-share-state-everything-breaks).

Kontradiksi didokumentasikan dalam hasil benchmark Martin. Pada tugas pembelajaran berkelanjutan, Sonnet 4.6 meninggalkan penyimpanan memori yang ia gambarkan sebagai daftar catatan kegagalan dan tebakan terbuka, termasuk entri seperti "mungkin prc, bukan prc_usd?" Tebakannya menumpuk. Tidak ada yang menandai seseorang terselesaikan. Sesi berikutnya mewarisi tumpukan.

Pertanyaan adalah lucunya Van Horn sendiri. Dia berpendapat bagian mahal dari pengkodean agen sekarang adalah manajemen loop: kondisi terhenti, tidak ada deteksi kemajuan, dan batas anggaran. Masing-masing memerlukan perbandingan proses saat ini dengan proses sebelumnya. Pada substrat prosa, hal ini berarti membaca ulang dan mengurai ulang file yang berkembang di setiap centang, yang merupakan pajak token yang berskala seiring dengan usia loop.

## Apa yang diajarkan oleh gerombolan kepada saya

Saya menjalankan sekumpulan agen bernama di mesin saya sendiri: satu untuk intelijen pelanggan, satu untuk konten, satu untuk penjangkauan, yang lain untuk operasi. Pada pengaturan awal, masing-masing menyimpan catatan di filenya masing-masing. File-file itu melayang. Orang yang sama muncul dengan tiga nama. Fakta yang dikoreksi dalam satu file tetap ada tanpa dikoreksi di dua file lainnya, dan tidak ada catatan yang menunjukkan versi mana yang terkini atau dari mana asalnya.

Kawanan tersebut sekarang berbagi [satu penyimpanan terstruktur](/posts/from-memory-to-nervous-system), dan postingan ini sendiri merupakan tanda terima. Penelitian di balik hal ini dilakukan oleh agen intelijen pelanggan saya, yang mengambil ketiga postingan X, menyimpan masing-masing postingan sebagai catatan yang diketik dengan nomor keterlibatan dan asal, menulis temuan kompetitif ke dalam analisis terstruktur, dan mengajukan tugas tindak lanjut ke dua agen lainnya melalui toko bersama. Ketika saya mengajukan pertanyaan lanjutan satu jam kemudian, perbandingan tersebut ditambahkan ke catatan analisis yang sama dengan jejak asalnya sendiri, tidak tersebar ke file baru. Tidak ada agen yang memperoleh kembali apa yang telah ditetapkan oleh agen lain.

## Kematangan memori adalah properti media

Data paling tajam di salah satu dari tiga postingan ada di milik Martin. Dia menjelaskan lima tahapan penggunaan memori: agen gagal, menyelidiki alasannya, memverifikasi apa yang ditemukan, menyaring jawaban menjadi sebuah aturan, dan berkonsultasi dengan aturan tersebut di lain waktu. Agen yang menyelesaikan kelima kegagalan tersebut akan mengubah kegagalan menjadi aturan yang terverifikasi dan dapat digunakan kembali. Agen yang berhenti lebih awal meninggalkan banyak tebakan.

Hasilnya, semuanya pada sistem file terpasang yang sama: Sonnet 4.6 berhenti pada tahap pertama, mencatat kegagalan tanpa menyelidikinya. Opus 4.7 mencapai tahap verifikasi tetapi hanya memeriksa sekitar 17 persen klaimnya dalam proses median. Fabel 5 melengkapi perkembangan dan memverifikasi hingga 73 persen.

Sistem file yang sama, kualitas memori yang sangat berbeda. Perbedaannya sepenuhnya terletak pada disiplin model, karena sistem file tidak menjamin apa pun: setiap tahapan adalah perilaku yang harus dipilih oleh model untuk dilakukan. Penyimpanan terstruktur mengubah perilaku tersebut menjadi operasi data. Kegagalan adalah pengamatan yang tersimpan. Investigasi sedang mengambil catatan terkait. Verifikasi adalah koreksi yang disertai asal usulnya. Distilasi adalah penulisan aturan yang diketik. Konsultasi adalah permintaan yang terbatas. Saat media membawa perkembangan, model apa pun dapat menyelesaikannya.

## Apa yang diminta dari lapisan status loop

Alat yang dinyatakan secara agnostik, inti dari sebuah loop harus menyediakan enam hal: catatan yang diketik alih-alih gumpalan prosa, sumber di setiap bidang, koreksi yang menghitung kebenaran saat ini alih-alih mengumpulkan versi, penulisan bersamaan yang tidak boleh bertentangan, pengambilan yang hanya mengembalikan apa yang dibutuhkan tick saat ini, dan akses dari harness mana pun, bukan dari tumpukan satu vendor.

Agar adil terhadap file teks: untuk satu loop pada satu repo, [penurunan harga benar-benar baik-baik saja](/posts/the-markdown-memory-ceiling). Ini mudah dibaca, difabel, dan gratis. Fungsi pemaksaan adalah loop nomor dua, pertama kali dua proses peduli pada fakta yang sama dan tidak ada yang bisa mempercayai apa yang ditulis oleh proses lainnya.

## File diingat, sistem pencatatan diketahui

Van Horn mengakhiri tulisannya dengan berargumentasi bahwa lingkaran tersebut adalah saluran pipa dan aset yang tahan lama adalah perpustakaan keterampilan yang disebutnya. Setengah benar, menurutku. Keterampilan adalah memori prosedural, cara kerja berulang-ulang. Di bawahnya terdapat memori faktual, apa yang benar saat ini yang menjadi sandaran setiap pemanggilan keterampilan. Keduanya digabungkan, tetapi hanya jika lapisan faktual dapat dipercaya setelah ribuan penulisan tanpa pengawasan.

Saya membuat [Neotoma](https://github.com/markmhendrickson/neotoma) karena saya membutuhkan lapisan itu untuk gerombolan saya sendiri: observasi yang diketik, asal per bidang, koreksi yang menghasilkan kebenaran saat ini, dan akses bersama untuk setiap agen yang saya jalankan. Wacana loop hanya menghabiskan waktu seminggu untuk mendeskripsikan slot yang diisinya tanpa menyebutkan nama apa pun yang mengisinya.

Osmani menutup esainya dengan nasihat untuk membangun lingkaran seperti seseorang yang ingin tetap menjadi insinyur. Lapisan negara bagian adalah tempat niat tersebut dapat diuji. File ingat. Sistem pencatatan tahu.