Grep Sudah Mati: Cara Membuat Claude Code Mengingat
(x.com/artemxtech)- Untuk mengatasi masalah hilangnya konteks antar-sesi di Claude Code, dibangun sistem memori yang menggabungkan mesin pencari lokal QMD dan skill /recall
- QMD adalah mesin pencari lokal yang mengindeks vault Obsidian, dengan dukungan tiga mode pencarian: BM25, semantik, dan hibrida
- Skill /recall mendukung tiga mode—berdasarkan waktu, topik, dan visualisasi graf—untuk memulihkan konteks penuh dari sesi sebelumnya secara instan
- Diimplementasikan pipeline otomatis yang mem-parsing dan meng-embed 700 rekaman percakapan JSONL sesi ke dalam indeks QMD
- Mengusulkan workflow berpusat pada konteks yang dapat digunakan di agen AI mana pun selama konteksnya dipertahankan, meski tool berganti
Masalah: Claude Code di-reset setiap sesi
- Semua percakapan di Claude Code dimulai dari nol, dan setelah menjalani 700 sesi selama 3 minggu, menjadi sulit melacak keputusan sebelumnya dan konteks proyek
- Saat mencapai batas konteks (60%) di tengah sesi, diperlukan compact atau hand off, dan dalam proses itu setengah dari keputusan bisa hilang
- Ketika mencoba melanjutkan pekerjaan keesokan harinya, ketidaknyamanan karena tidak ingat apa yang sudah dikerjakan terus berulang
- Pendekatan lama berupa pencarian berbasis grep pada file tidak skalabel
QMD: mesin pencari lokal khusus vault
- QMD adalah mesin pencari lokal buatan CEO Shopify Tobias Lutke, yang mengindeks vault Obsidian dan mengembalikan hasil pencarian dalam waktu kurang dari 1 detik
- Tiap folder vault dapat dipetakan ke collection QMD (catatan, log harian, sesi, transkrip, dll.) sehingga pencarian bisa lebih terfokus
- Bekerja lewat satu perintah seperti
qmd collection list,qmd search "video workflow" -c notes -n 3 - Pencarian bawaan Claude Code menggunakan sub-agent Haiku yang menjalankan grep ke semua file secara brute force; dalam pengujian butuh 3 menit, mengembalikan 300 file, dan kualitas hasilnya rendah
- Pencarian QMD instan, lebih akurat, dan lebih hemat token — tanpa perlu sub-agent
Grep vs BM25 vs pencarian semantik
- BM25 (
qmd search): pencarian full-text deterministik yang mencocokkan kata kunci seperti grep, tetapi memberi skor pada setiap file
— berbasis frekuensi kemunculan kata dan kelangkaannya terhadap seluruh dokumen, hanya memakai perhitungan matematis tanpa AI atau embedding- Catatan pendek yang menyebut "sleep" 5 kali akan mendapat skor lebih tinggi daripada file 10.000 kata yang hanya menyebutnya 1 kali
- Semantik (
qmd vsearch): berbasis embedding, sehingga dapat mencari berdasarkan makna meski kata persisnya tidak ada - Hibrida (
qmd query): menggabungkan BM25 dan semantik - Perbandingan benchmark pencarian "sleep":
- grep: mengembalikan 200 file, dengan banyak noise termasuk perintah pemrograman
sleep() - BM25: dalam 2 detik mengembalikan hasil relevan seperti eksperimen kualitas tidur, catatan gangguan tidur
- Namun,
qmd search "insomnia"menghasilkan 0 karena kata itu tidak ada di vault - Semantik: saat mencari "couldn't sleep, bad night", sistem bahkan menemukan target kebiasaan tidur yang ditetapkan bertahun-tahun lalu — 4 dari 5 hasil tidak mengandung kata kunci pencarian
- Hibrida: memberi peringkat terbaik seperti sleep quality improvement 89%, sleep interrupted at 3am 51%, health sleep optimization 42%
- grep: mengembalikan 200 file, dengan banyak noise termasuk perintah pemrograman
- Pola penggunaan yang direkomendasikan: 80% pencarian ditangani dengan BM25 (cocok untuk catatan terstruktur), lalu tambahkan pencarian semantik untuk transkrip dan memo tidak terstruktur
Contoh nyata penemuan lewat pencarian semantik
- Untuk kueri tak terstruktur seperti "find the days when I was happy and what was the reason", Claude otomatis menggabungkan beberapa pencarian:
- Menjalankan beberapa pencarian seperti
qmd vsearch "happy, grateful, excited","energy, great day, feeling good","satisfaction, accomplishment"
- Menjalankan beberapa pencarian seperti
- Dari catatan harian selama berbulan-bulan, sistem menemukan keterkaitan semantik — muncul pola bahwa "hari-hari paling bahagia adalah saat merilis sesuatu lalu pulih dengan baik lewat sauna atau tidur 9 jam"
Skill /recall: memuat konteks sebelum mulai bekerja
- /recall adalah skill Claude Code yang berjalan di atas QMD dan secara otomatis memuat konteks sebelum mulai bekerja
- Mendukung tiga mode:
- temporal: memindai riwayat sesi berbasis tanggal (
/recall yesterday,/recall last week) - topic: pencarian BM25 pada collection target QMD (
/recall topic graph) - graph: visualisasi interaktif sesi dan file (
/recall graph last week)
- temporal: memindai riwayat sesi berbasis tanggal (
- Hasil pengujian
/recall yesterday: 39 sesi dalam satu hari direkonstruksi menjadi timeline — menampilkan waktu, jumlah pesan, dan isi pekerjaan tiap sesi - Hasil
/recall topic "QMD video": dalam waktu kurang dari 1 menit, sistem mengembalikan file terkait seperti dashboard, rencana produksi, dan daftar tugas dari seluruh sesi dan catatan — unggul atas grep brute force dari sisi waktu, token, dan kualitas hasil - Mode graph memvisualisasikan sesi sebagai blob berwarna; sesi lama tampak pudar, sesi terbaru disorot ungu — file dikelompokkan menurut tipe seperti goals, research, voice, docs, content, skills
- Contoh: sesi pencarian tempat makan siang ditemukan lagi di graf seminggu kemudian, lalu path file-nya disalin ke Claude Code untuk melanjutkan pekerjaan dari percakapan sebelumnya
Pengindeksan otomatis 700 sesi
- Claude Code menyimpan semua percakapan secara lokal sebagai file JSONL — terkumpul 700 sesi selama 3 minggu
- Karena file asli berisi tool uses, system prompt, role, dll., isinya di-parse lalu diubah menjadi Markdown bersih (pesan pengguna dan sinyal yang benar-benar relevan) sebelum di-embed ke indeks QMD
- Saat terminal ditutup, hook otomatis dijalankan untuk mengekspor dan meng-embed sesi ke QMD — indeks selalu terbaru tanpa pekerjaan manual tambahan
Menemukan ide yang belum pernah dijalankan
- Saat mencari "find the ideas that I have never acted on", Claude merangkum hasil QMD dan menemukan:
- 19 Oktober — ada rencana membuat dashboard penulisan PhD, tetapi tidak pernah dijalankan
- Ada ide aplikasi berbasis ilustrasi, tetapi tidak ada tindak lanjut
- Ada ide rekaman layar workflow Obsidian, tetapi tidak pernah dieksekusi
- Hal-hal yang ditulis beberapa bulan lalu dan benar-benar terlupakan bisa ditemukan kembali
- Semua embedding disimpan secara lokal
Workflow berpusat pada konteks
- Catatan tidak lagi terkurung di Obsidian, tetapi berubah menjadi konteks berguna yang dipakai untuk mencapai tujuan nyata
- Tool bisa berubah (model baru, agen baru), tetapi selama konteksnya dipertahankan, sistem tetap bisa berjalan di Claude Code, Codex, Gemini CLI, dan lainnya
- Lapisan memori berjalan di seluruh stack dalam bentuk skill
- Konfigurasi nyata: vault disinkronkan antara Mac dan Mac Mini yang selalu aktif lewat Obsidian Sync, lalu OpenClaw berjalan 24/7 di Mac Mini — saat mengakses OpenClaw dari ponsel, vault, indeks QMD, dan skill yang sama bisa dipakai dari mana saja
- Struktur seluruh stack:
- bawah: Obsidian Vault
- tengah: QMD Search
- atas: Claude Code / OpenClaw
- konteks mengalir dari bawah ke atas
11 komentar
Akhir-akhir ini kenapa banyak sekali yang mati
wkwkwk
grepsudah mati. Gunakanripgrep.Saya sempat berpikir untuk mencoba qmd, jadi saya meminta AI menelitinya. Katanya untuk sisi embedding lumayan, tetapi untuk BM25 dan perluasan kueri dukungan bahasa Korea kurang bagus, jadi tidak direkomendasikan...
Hampir sebagian besar juga demikian di BM25.
Jadi, sebaiknya gunakan analisis morfologi bersama-sama.
https://github.com/bab2min/Kiwi
Saya sudah coba cek faktanya, dan sepertinya tidak ada bukti yang akurat. Mungkin ada yang lain yang punya pengalaman serupa?
Karena BM25 adalah pencarian yang berfokus pada kata, pendapat galadbran tampaknya masuk akal.
Kalau dilihat lebih klasik, tampaknya teknik pencarian informasi yang benar-benar klasik hanya didaur ulang kembali pada level yang lebih lokal.
~~ sudah mati 💀💀💀
Ini cuma RAG;
Karena di halaman instalasi diminta alamat email, saya kira ini repo privat, ternyata repo publik.
Silakan masuk melalui tautan di bawah ini.
https://github.com/ArtemXTech/personal-os-skills/…