Saya melihat thread Sarah Wooders minggu lalu dan langsung menyetujui setengahnya.

Wooders, salah satu pencipta MemGPT (sekarang Letta), [berpendapat bahwa memori bukanlah sebuah plugin, melainkan tali pengaman](https://x.com/sarahwooders/status/2040121230473457921). Harness membuat keputusan yang tidak terlihat yang tidak dapat dikontrol oleh alat eksternal: apa yang bertahan dari pemadatan, bagaimana konteks dimuat, apakah agen dapat mengubah instruksinya sendiri. "Meminta untuk menyambungkan memori ke dalam sistem agen sama seperti meminta untuk menyambungkan cara mengemudi ke dalam mobil."

Pembingkaiannya mudah untuk diteruskan. Saya terus mendengar tali pengaman diulangi sebagai latar belakang yang sudah ditetapkan, bukan sebagai klaim untuk diperiksa. Hal ini sebagian karena separuh yang saya setujui adalah benar.

## Keputusan yang tidak terlihat adalah nyata

[Claude Code memiliki hierarki memori multi-level yang terpasang di harness](https://docs.anthropic.com/en/docs/claude-code/memory): CLAUDE.md, status sesi, aturan pemadatan, injeksi pesan sistem. Saat [Claude Code memadatkan](https://docs.anthropic.com/en/docs/claude-code/best-practices) percakapan 100 ribu token menjadi 20 ribu, harness memutuskan mana yang bertahan. Tidak ada alat eksternal yang dapat meniru atau mengesampingkan keputusan tersebut.

Ahmed Kidwai, pembuat [Konteks Virtual](https://github.com/virtual-context/virtual-context), menjelaskan struktur yang sama dari kursi pengguna di [AI menghabiskan sebagian besar hidupnya untuk membaca tentang kehidupannya](https://open.substack.com/pub/virtualcontext/p/ai-spends-most-of-its-life-reading). Setiap giliran dapat memutar ulang seluruh rangkaian pesan, sehingga sebagian besar token masukan digunakan untuk membaca ulang apa yang telah terjadi. Saat jendela terisi, pemadatan menggantikan riwayat mentah dengan ringkasan. Anda tidak mendapatkan tanda terima item baris tentang apa yang hilang.

Dalam satu sesi, pilihan harness tentang apa yang masuk ke jendela konteks, apa yang diringkas, dan apa yang dihilangkan adalah sistem memori yang efektif. Wooders benar tentang hal ini.

## Argumennya mengasumsikan satu harness

Utas tersebut menyimpulkan bahwa Anda harus menggunakan tali pengaman yang mengutamakan memori. Kesimpulan itu mengharuskan Anda untuk beroperasi di dalamnya.

Saya tidak. Saya menggunakan Kursor sebagai antarmuka utama, Kode Claude untuk tugas tertentu, ChatGPT untuk percakapan, dan skrip khusus untuk otomatisasi. Itu adalah empat tali pengaman, yang masing-masing mengambil keputusan tak kasat mata tentang apa yang harus diingat.

Orang yang saya ajak bicara yang membangun dengan agen menggunakan tiga hingga lima alat. Setiap pemadatan berbeda, memuat konteks berbeda, status penyimpanan berbeda. Pengguna menjadi lapisan sinkronisasi manusia di antara semuanya.

Menambahkan lebih banyak memori yang tertanam di harness akan memperburuk keadaan, bukan lebih baik. Setiap alat mendapatkan memori internal yang lebih baik. Tak satu pun dari mereka setuju.

## Tiga kekhawatiran, bukan satu

Wooders menggabungkan manajemen jendela konteks, status sesi, dan status tahan lama ke dalam satu konsep yang ia sebut "memori". Ini berbeda secara arsitektur.

**Manajemen jendela konteks**: Apa yang sesuai dengan perintah saat ini, apa yang dipadatkan, apa yang dilihat model pada giliran ini. Ini adalah masalah harness. Wooders benar.

**Status sesi**: Tetap ada dalam percakapan. Ini juga merupakan kekhawatiran harness.

**Status tahan lama**: Bertahan di seluruh sesi, alat, dan agen, dengan asal dan pembuatan versi. Ini adalah infrastruktur, bukan pemanfaatan.

Tidak ada harness yang memberikan status lintas platform yang deterministik, terikat skema, hanya tambahan, dan asal. Manajemen konteks adalah pendorongnya. Status tahan lama adalah data navigasi. Ini menginformasikan mengemudi tetapi tidak termasuk dalam drivetrain.

## Bahkan konteks pun dapat dieksternalisasikan

[Konteks Virtual](https://github.com/virtual-context/virtual-context) Kidwai adalah proxy yang berada di antara klien Anda dan API LLM hulu. Klien menetapkan jendela konteks 20 juta token. Jendela sebenarnya model adalah 200K. Kompres Konteks Virtual, indeks, dan halaman di antaranya. Muatan Kode Claude token 937K dengan 52 rantai alat diciutkan hingga ~65K sinyal yang dikurasi.

Di [LongMemEval](https://github.com/virtual-context/virtual-context#benchmark-results), Konteks Virtual memperoleh akurasi 95% dibandingkan 33% untuk Claude Sonnet 4.5 dengan konteks mentah penuh, dengan biaya setengahnya. Proksi berfungsi dengan Claude Code, Cursor, OpenClaw, atau klien apa pun yang menerima URL dasar. VCATTACH memungkinkan dua klien berbagi basis pengetahuan kompak yang sama di seluruh platform.

Mekanismenya penting. VC tidak melewati harness. Harness masih membuat keputusan pemadatan dan pemotongannya sendiri serta menyusun permintaan API. VC mencegat permintaan tersebut di hilir melalui pengalihan URL dasar. Saat harness memotong riwayat percakapan, VC mendeteksi pemotongan tersebut dan memulihkan dari penyimpanan tahan lamanya sendiri. Apa yang sampai ke model ini adalah jendela hasil kurasi VC, bukan keluaran mentah dari rangkaian pengaman tersebut.

Wooders benar bahwa tidak ada alat eksternal yang dapat mengendalikan keputusan internal kelompok. Namun proxy yang berada di antara harness dan API dapat mengamati keputusan tersebut dan membalikkan sebagian keputusan tersebut. Harness mengirimkan 937 ribu token setelah pemadatannya sendiri. VC mengirimkan 65K sinyal hasil kurasi ke model. Harness masih menjalankan loop alat dan agen. Lapisan yang menentukan apa yang sebenarnya dilihat model berada di luar.

Itu menyisakan tiga lapisan, bukan dua. Harness menjalankan agen. Lapisan manajemen konteks opsional dapat ditempatkan di antara harness dan API. Dan lapisan status yang tahan lama berada di bawah segalanya, mempertahankan apa yang benar terlepas dari bagaimana konteks sesi mana pun dikelola.

## Kontrol versus nilai

Alat eksternal tidak dapat mengontrol keputusan pemadatan rangkaian kabel. BENAR. Namun pertanyaannya bukanlah apakah lapisan negara mengontrol pemadatan. Masalahnya adalah apakah ia memberikan nilai yang tidak dimiliki oleh memori asli harness.

Sebagian besar memori asli harness bersifat sementara. Letta adalah pengecualian: ia mempertahankan memori di seluruh sesi berdasarkan desain. Namun ingatan Letta pun bersifat spesifik terhadap alat, non-portabel, dan non-deterministik. Agen memutuskan apa yang akan disimpan dan kapan melalui panggilan alat berbasis LLM, sehingga percakapan yang sama dapat menghasilkan status memori yang berbeda. Kursor tidak dapat membacanya. Claude Code tidak dapat membacanya. Lapisan status yang tahan lama bersifat lintas platform, deterministik, berversi, dan dapat dilacak ke sumbernya.

Anda tidak perlu mengontrol tali pengaman untuk menjadi berharga. Anda harus bertahan dari keputusan tim. Hanya tambahan, kondisi tahan lama bertahan sesuai desain. Saat harness memadatkan konteks, lapisan status menyimpan rekaman penuh. Saat Anda membuka alat lain besok, lapisan status memiliki apa yang Anda simpan kemarin.

## Pemicu versus transportasi

Nicolò Boschi (Hindsight/Vectorize) [setuju dengan Wooders](https://x.com/nicoloboschi/status/2042145292632379598): "Menggunakan memori melalui MCP dan berharap model akan menyimpan dan mencari informasi dari memori tidak ada harapan." Kekhawatiran itu nyata. Jika model harus memutuskan kapan harus menyimpan dan mengambil, model tersebut bisa lupa untuk menyimpannya. Itu dapat melewatkan pengambilan ketika itu penting.

Alih-alih MCP, Hindsight menggunakan [hooks](https://docs.anthropic.com/en/docs/claude-code/hooks): skrip yang memanfaatkan berjalan secara otomatis pada peristiwa siklus hidup seperti dimulainya sesi, pengiriman cepat, atau penyelesaian alat. Tidak ada LLM yang memutuskan apakah akan memecat mereka. Plugin Claude Code dari Hindsight menggunakan empat kait siklus hidup untuk menyimpan secara otomatis setiap percakapan dan mengingat kembali secara otomatis pada setiap perintah. Ini berhasil.

Namun argumen ini menyatukan dua hal: bagaimana ingatan dipicu dan di mana ingatan itu berada.

Kait Hindsight memanggil API Hindsight. Mereka tidak menulis ke memori internal harness. Kaitnya adalah pemicunya. Server eksternal adalah penyimpanannya. Pemisahan itu adalah keseluruhan arsitektur. Sebuah hook yang menulis ke memori asli Claude Code akan mewarisi batasan yang sama: fana, non-portabel, tidak terlihat oleh Cursor besok.

Kait memecahkan masalah pemicuan. Mereka tidak menyelesaikan masalah penyimpanan. Setiap sistem memori yang tahan lama membutuhkan keduanya.

Kait tersedia secara luas meskipun tidak tersedia secara universal. Claude Code memiliki sistem plugin dengan 12+ event. Kursor memiliki hooks.json dengan 14+ acara dalam versi beta. OpenCode memiliki 20+ peristiwa termasuk kontrol pemadatan dan injeksi cepat sistem. Codex memiliki kait sesi dengan kait tingkat alat dalam pengembangan. ChatGPT dan aplikasi web Claude tetap hanya untuk MCP. Hindsight sendiri mengirimkan server MCP untuk kasus-kasus tersebut.

Jawabannya adalah hook jika tersedia, MCP jika tidak, keduanya menulis ke lapisan status tahan lama yang sama di bawah setiap harness. "MCP tidak ada harapan" adalah pernyataan tentang memicu keandalan, bukan tentang di mana memori harus berada.

## Lapisannya saling melengkapi

Lima tali pengaman membuat lima keputusan pemadatan dan konteks berbeda menghasilkan lima versi berbeda tentang apa yang diketahui agen. Analogi "mengemudi" berfungsi untuk manajemen konteks. Rusak saat Anda mengendarai lima mobil dan membutuhkan data navigasi yang konsisten di semuanya.

Manajemen konteks dan status tahan lama tidak bersaing. Harness menjalankan agen dan loop alat. Lapisan konteks, baik internal maupun eksternal, mengelola apa yang dilihat model di setiap belokan. Lapisan status mengelola apa yang benar di seluruh sesi dan alat. Tidak ada harness atau proxy konteks yang menawarkan kebenaran, asal, determinisme, validasi skema, atau akses lintas alat yang dapat diverifikasi. Argumen untuk memori yang tertanam pada harness juga merupakan argumen untuk lapisan status bersama di bawah setiap harness.

## Apa yang saya bangun

Saya sedang membangun [Neotoma](https://neotoma.io), lapisan memori terstruktur yang berada di bawah kendali apa pun: resolusi entitas, garis waktu, asal, determinisme, akses lintas platform.

Utas ini mengubah apa yang saya bangun selanjutnya. Saya telah memperlakukan MCP sebagai satu-satunya permukaan integrasi. Sekarang saya menambahkan kait sebagai lapisan ekstensi siklus hidup. MCP tetap menjadi antarmuka agen utama.

Pemisahan ini memang disengaja. MCP memiliki kontrak agen: instruksi dimuat satu kali pada awal sesi, alat penyimpanan terstruktur yang dipanggil agen dengan kesadaran kontekstual penuh. Hooks memiliki kontrak harness: peristiwa siklus hidup yang tidak dikontrol oleh agen. Hook `UserPromptSubmit` mengambil entitas yang relevan secara otomatis sebelum agen melihat setiap perintah. Kait `PostToolUse` menangkap setiap pengeditan file dan perintah shell sebagai observasi. Kait `Stop` meneruskan percakapan mentah jika penutupan toko milik agen terlewatkan. Pengait `PreCompact` mengamati apa yang akan dibuang oleh harness.

Hasilnya adalah tingkat keandalan yang berada di bawah batas atas kualitas MCP. Tanpa pengait, MCP berfungsi seperti sekarang. Tanpa MCP, hook memberikan tangkapan observasi mentah tetapi tidak ada ekstraksi entitas terstruktur. Keduanya bersama-sama memberikan pengambilan deterministik, observasi pasif, kesadaran pemadatan, dan pemulihan kecelakaan.

Hal ini berbeda dengan pendekatan Hindsight. Hindsight menangkap transkrip mentah melalui hook, lalu menjalankan LLM sisi server terpisah untuk mengekstrak entitas. Artinya, model kedua akan menilai hal yang penting, dengan tambahan biaya dan latensi per operasi. Neotoma menjadikan ekstraksi entitas tetap didorong oleh agen: model yang sama yang memahami percakapan melakukan ekstraksi dengan biaya LLM marjinal nol. Kait memberikan lapisan keandalan di bawahnya, bukan kecerdasan.

Plugin untuk Claude Code, Cursor, OpenCode, dan Codex adalah yang berikutnya. Pengait menulis ke Neotoma, bukan ke memori internal harness. Semuanya mencapai lapisan status tahan lama yang sama, melalui kait jika tersedia dan MCP jika tidak.

Wooders benar bahwa tali pengaman memiliki konteks. Boschi benar bahwa hook mengalahkan MCP dalam hal keandalan pemicu. Kidwai menunjukkan bahwa manajemen konteks pun dapat dieksternalisasikan. Pertanyaan yang tidak terjawab oleh mereka adalah siapa yang memiliki kebenaran ketika Anda menggunakan lima tali pengaman. Jawaban itu harus ada di bawah semuanya.