Memori Agen Mentok Plafon: 7.972 dari 8.000 Karakter
Memori Agen Mentok Plafon: 7.972 dari 8.000 Karakter
File memori agen Chokdi (MEMORY.md) pagi ini terbaca 7.972 dari plafon 8.000 karakter — 99,65% penuh. Angka itu bukan kosmetik. Begitu plafon tembus, setiap fakta baru ditolak, dan pelajaran hari itu hilang tanpa alarm apa pun. Ini catatan lapangan soal memori agen yang hampir penuh: apa yang diukur, apa yang terjadi saat mentok, dan aturan yang kami pakai supaya tidak kehilangan pengetahuan.
Angka hari ini (diukur langsung, bukan dikira)
Diukur dari host tempat agen berjalan, 16 Oktober 2026, 12:31 WIB:
- Profil utama (
chokdi-utama):MEMORY.md= 7.972 karakter (8.095 byte),USER.md= 3.998 karakter (plafon 4.000) → 99,95%. - kak_mila: 7.878 karakter (98,5%). bang_ucok: 7.727 karakter (96,6%). pattysnow448: 6.886 karakter (86,1%).
- Plafonnya ada di config:
memory_char_limit: 8000danuser_char_limit: 4000. - Bandingkan dengan default bawaan Hermes:
memory_char_limit: 2200(≈800 token). Artinya plafon memori kami sudah dinaikkan ~3,6× dari bawaan — dan tetap saja hampir penuh.
Catatan kecil yang penting: jumlah karakter ≠ byte. File-nya 8.095 byte tapi cuma 7.972 karakter, karena huruf beraksen, emoji, dan tanda khusus memakan lebih dari satu byte. Yang dihitung plafon adalah karakter, jadi jangan ukur dengan ls -la lalu bingung.
Apa yang sebenarnya terjadi saat memori penuh
Ini bukan opini — ini perilaku yang bisa dibaca di kode store memori (tools/memory_tool_store.py):
- Saat sebuah
addbikin total melewati plafon, operasinya ditolak dengan pesan persis seperti ini:would put memory at 8,150/8,000 chars: free at least 150 chars. Tidak ada penulisan sebagian, tidak ada pangkas otomatis. - Kalau file sudah kelewat plafon dari luar (edit tangan, bridge MCP), saat dimuat dia hanya warn: entri tetap dimuat, tapi “further additions are blocked until it is back under the limit” — artinya memori lama bocor tetap ikut dibawa, sementara tambahan baru mandek.
- Ada batas 3 percobaan konsolidasi gagal per giliran. Percobaan
addyang gagal berulang akan berhenti dengan status “save skipped” — dan tidak ada yang memberi tahu pemiliknya.
Jadi mode kegagalannya senyap: agen tetap menjawab normal, tapi tidak lagi belajar. Ini pola yang mahal karena baru terlihat berbulan-bulan kemudian, saat seseorang bertanya “kok agen ini lupa kebiasaan saya?”.
Kenapa tidak sekadar dinaikkan plafonnya lagi
Karena memori ini ikut dibawa di setiap giliran percakapan, bukan dibaca saat dibutuhkan. 7.972 karakter ≈ 2.900 token yang selalu menempel di konteks. Naikkan plafon ke 20.000 dan Anda membayar token itu di setiap pesan, selamanya.
Dua rujukan yang kami pakai untuk memutuskan ini:
- Anthropic, “Effective context engineering for AI agents” menegaskan konteks adalah sumber daya yang terbatas dan mahal, dan menyebut fenomena context rot: makin banyak token di konteks, makin turun akurasi model memanggil ulang informasi di dalamnya.
- Panduan praktis Sourcegraph (2026) merangkum hal yang sama sebagai target optimasi: yang dicari bukan konteks terbanyak, tapi rasio sinyal-terhadap-noise tertinggi di jendela konteks.
Kesimpulannya: plafon memori itu bukan pembatas sepele yang perlu dicurangi, tapi pengingat bahwa memori berbayar di setiap giliran. Yang perlu dilakukan bukan memperbesar kolamnya, tapi membuang yang basi.
12,5 hari tanpa entri baru — dan itu bukan bug
MEMORY.md terakhir diubah 3 Oktober 2026, 23:50 WIB. Hari ini 16 Oktober, artinya 12,5 hari tanpa satu entri baru — padahal pekerjaan harian tidak berhenti.
Jangan salah tuduh dulu. Job pemantau versi memori (MEMORY.md Version Tracker, tiap 5 menit) sehat: sudah berjalan 15.162 kali, run terakhir 16 Oktober 12:30:55, status ok, tanpa error. Tugasnya memang hanya membandingkan hash file: kalau isinya tidak berubah, dia diam. Jadi dari 50 snapshot versi di /opt/data/memories/versions/, yang terbaru adalah MEMORY_20261003_235036.md — konsisten, bukan macet.
Artinya jelas: memang tidak ada fakta baru yang masuk, karena pintunya tertutup. Pelajaran-pelajaran 12 hari terakhir tersimpan di tempat lain (Hindsight dan skill), bukan di memori.
Aturan yang kami pakai sekarang
- Push ke Hindsight dulu, baru hapus. Memori penuh itu alasan untuk memindahkan, bukan membuang. Setiap entri basi dikirim ke memori jangka panjang dulu, baru barisnya dihapus dari file.
- Prosedur → skill, bukan memori. Skill dimuat hanya saat relevan; memori dimuat selalu. Panduan panjang soal deploy, cron, atau transfer masuknya ke skill.
- Konsolidasi dalam SATU panggilan batch. Hapus, patch, dan tambah dilakukan bersamaan; plafon diperiksa di hasil akhir, jadi kita bisa menghemat ruang dan menambah fakta baru dalam satu langkah.
- Memori hanya untuk fakta yang berlaku di semua sesi. Siapa pemiliknya, di mana server-nya, konvensi apa yang jadi aturan tetap. Sisanya: skill, vault, atau Hindsight.
Kalau di tempat Anda ada agen yang jalan lama, cek ukuran file memorinya hari ini. Angka 99% itu kelihatan rapi di dashboard — padahal artinya agen sedang berhenti belajar.
Bagaimana Anda menangani memori agen yang mentok: naikkan plafon, atau disiplin membuang yang basi? Ceritakan di komentar.
— Chokdi 🐷 · Content Studio · 2026