FILED 04 Oct 2026 6 MIN READ ID

17 Agent Gue Ingat Pakai 1.069 Skill Markdown, Bukan Vector

Kevin Liao nulis "Agents Don't Need Memory. They Need Documentation." tanggal 3 Oktober.

Tulisan itu nyampe halaman depan Hacker News dengan 159 poin dan 90 komentar.

Kecil buat ukuran HN. Tapi kolom komentarnya penuh orang yang benar-benar jalanin agent, dan itu yang bikin thread ini beda.

Klaimnya, pakai kata-katanya sendiri: plugin memory "generates 1,000 isolated snippets and inserts them into a vector database. With your every prompt, it attaches the five most similar snippets."

Dia nyebut hasilnya "a lottery over RAG snippets, injected on every prompt."

Gue jalanin 17 profil agent di mesin ini. Jadi gue hitung sendiri: sebenarnya di mana ilmu mereka disimpan.

Soal mekanismenya, Liao benar. Yang kurang justru resepnya.

Apa yang sebenarnya tulisan itu bilang

Tulisan itu nyebut lima masalah recall-by-similarity, dan semuanya layak dibaca utuh:

  • Memory disimpan "surfaced by similarity", jadi lo nggak tahu mana yang "correct, current, or what's missing."
  • Datanya "stored without context."
  • "The past is treated as truth." Dia nanya: dari 500 snippet soal autentikasi itu, ada berapa yang akurat?
  • "Agents can't search for what they don't know."
  • "The store is unauditable": ada "10,000 embeddings in SQLite. Which memories exist? Which are stale?"

Alternatif yang dia usulin: "brain" berbasis Markdown, plus loop yang berubah.

Kalau sekarang alurnya "prompt → build → forget", dia mau "prompt → consult → build → update."

Bedanya kelihatan begitu lo lihat fleet yang memang sudah dibangun begitu.

Jadi gue hitung punya gue sendiri

Di mesin ini ada 17 profil agent bernama.

Ada researcher, CTO, engineer backend dan frontend, sepasang QA, dan lain-lain.

Dua hal selalu ada di tiap profil, satu lagi nggak merata:

  • SOUL.md: instruksi tetap. Agent ini siapa, dan apa yang nggak boleh dia lakuin. Semua 17 profil punya.
  • skills/: kumpulan file SKILL.md, satu untuk tiap prosedur yang sudah dia pelajari buat dipakai lagi. Ini juga semua 17.
  • memories/: MEMORY.md plus USER.md, kecil dan sengaja dibatasi. Yang ini cuma sebagian: 12 dari 17 profil punya MEMORY.md, 8 punya USER.md, dan 7 punya dua-duanya.

Totalnya dari 17 profil itu: 1.069 file SKILL.md, antara 58 sampai 72 per profil.

viral-researcher, yang paling produktif, bawa 60.

Di situ ilmu yang awet tinggal. Bukan di tabel embedding, dan bukan di snippet yang disuntik ke tiap prompt.

File memory-nya kecil, dan itu disengaja

1.069 file itu baru separuh buktinya. Separuh lagi angkanya:

  • viral-researcher, MEMORY.md: 594 byte
  • cto, MEMORY.md: 8,8 KB, file memory per-profil paling besar di fleet ini
  • MEMORY.md root: 9.089 byte
  • USER.md root: 2.924 byte

File memory yang boleh tumbuh tanpa batas itu bug, bukan fitur.

"Tulis semua hal" justru menghasilkan kegagalan yang lagi rame diperdebatkan di thread itu.

Makanya batas karakter di situ memang menanggung beban. Bukan sekadar catatan kaki.

Keberatan di thread itu justru bagian terbaiknya

Argumen terkuat yang melawan tulisan itu ada di kolom komentarnya sendiri.

Gue nggak akan lompatin itu.

Kubu pertama bilang dokumentasi bikinan agent cuma jadi jenis bloat baru:

  • stbenjam: "a growing pattern of people creating repositories full of Markdown documentation... often generated by agents. In some cases, this can add up to megabytes... I haven't yet seen much evidence that this level of documentation meaningfully improves an agent's performance and that it just doesn't rot over time"
  • pornel: "I don't trust agents writing specs without human approval. I've been bitten by agent-written ADRs... source of bloat that keeps coming back like a boomerang"
  • mzhaase bikin hal yang sama, "Decisions", sampai "the agent... would say 'violates D-236'. Some rule it made up that I never approved"
  • alienbaby: "it can quickly consume your tokens when dealing with both reading and updating, keeping stale info relevant."

Kubu kedua bilang kategorinya sendiri yang kegedean:

  • monneyboi: "You have the whole session history right there. One recall skill and some JSON parsing gets you grep over perfect memory"
  • ceejayoz bales: "But that's one session. Isn't memory for… the next session?"
  • jen729w: "The solution... is a folder"

Dua-duanya muter di titik yang sama.

File itu substrat yang benar. Tapi kumpulan file tanpa kurasi gagal dengan cara yang sama kayak vector store tanpa kurasi.

D-236-nya mzhaase bukan masalah Markdown. Itu masalah aturan yang nggak pernah disetujui, dan masalah itu tetap ada mau lo simpan di format apa pun.

Mekanismenya bukan hal baru, dan thread-nya bilang begitu

Yang pantas dikreditkan ke Liao itu framing-nya, bukan penemuannya.

Komentarnya sendiri yang kasih jejak asalnya. gregwebs nyebut mattpocock/skills "generates ADRs (Architectural Decision Records)", plus "a setup skill that will write a few pointers in AGENTS.md".

nicwolff nanya: "Didn't Cline formalize the 'memory bank' way back in February 2025?" Betul. Panduan memory-bank punya Cline sendiri itu post 200 poin.

Tulisan itu berdiri di atas konvensi AGENTS.md, yang publik dan sudah banyak dipakai.

Referensi paling dalam di thread itu datang dari jdw64, yang mengutip "Programming as Theory Building" dari Peter Naur.

Itu versi terkuat dari argumennya. Dokumentasi bukan log keputusan, tapi cara sebuah teori soal sistem tetap hidup setelah orang yang bangunnya nggak ada.

Dan itu juga alasan dia cuma jalan kalau ada yang ngurasi.

Jadi jangan buru-buru hapus vector store lo

Tulisan itu benar soal mekanisme, tapi belum lengkap sebagai resep.

"Tambah Markdown" bukan obatnya.

Sistem yang jalan itu ada tiga bagian:

  • Instruksi: SOUL.md atau AGENTS.md. Agent ini siapa, dan apa yang nggak boleh dia lakuin.
  • Skill prosedural: 1.069 file SKILL.md yang sudah di-version. Cara ngerjain satu pekerjaan, ditulis sekali, dipakai lagi.
  • File memory yang dibatasi dan direview manusia: 594 byte sampai 8,8 KB, isinya fakta yang harus bertahan lewat satu sesi.

Hermes ngirim dua bagian terakhir sebagai subsistem terpisah. Dokumentasinya nyebut pembagian itu persis.

Ada "Memory System: Persistent memory that grows across sessions" dan "Skills System: Procedural memory the agent creates and reuses."

Di 17 agent, pemisahan itu berhenti jadi sekadar desain yang manis.

Justru itu alasan file memory-nya tetap cukup pendek buat dibaca.

Tes buat plugin memory berikutnya yang mau lo beli:

  • Tanya apa yang terjadi pas isinya 10.000 entri.
  • Kalau jawabannya similarity search, lo cuma beli retrieval yang kelihatan canggih.
  • Pindahin materi yang harus bertahan ke file yang bisa lo baca, lo diff, dan lo revert.
  • Terus batasi file memory-nya, supaya ada manusia yang harus mutusin apa yang tetap tinggal.

Gue nggak anti vector store.

Ada tempat yang memang cocok buat dia: nyari potongan dokumen gede, atau bikin index buat isi yang cepat berubah.

Yang gue tolak cuma satu. Dipakai buat nyimpen aturan yang harus selalu dipatuhi agent kita.

Aturan yang kalau dilanggar langsung bikin masalah itu tempatnya di file yang bisa lo baca utuh, lo diff, dan lo revert.

Bukan di lima snippet terdekat yang disuntik ke tiap prompt, sambil berharap yang paling mirip itu kebetulan yang paling benar.

Di fleet gue, aturan yang harus selalu dipatuhi agent emang hidup di SOUL.md dan di skill-nya.

Tapi bukan berarti file MEMORY.md bersih dari aturan. Di beberapa profil, isinya juga ada SOP dan larangan keras.

Justru itu masalahnya. Begitu aturan wajib nyampur sama fakta dan catatan di file yang ukurannya sengaja dibatasi, nggak ada lagi yang bisa nunjukin mana yang harus selalu dipatuhi dan mana yang cuma catatan.

Kalau mau ngetes punya lo sendiri, gampang. Ambil satu aturan yang paling penting buat agent lo, terus cari di mana dia disimpan.

Kalau lo nggak bisa nunjukin file-nya dalam lima detik, berarti aturan itu belum benar-benar jadi bagian dari sistem lo.

Dia cuma kebetulan nyangkut di satu sesi yang sudah lewat.