- Claude Code’un oturumlar arası bağlam kaybı sorununu çözmek için, yerel arama motoru QMD ile /recall becerisini birleştiren bir bellek sistemi kuruldu
- QMD, Obsidian vault’unu indeksleyen bir yerel arama motoru; BM25, semantik ve hibrit olmak üzere üç arama modunu destekliyor
- /recall becerisi, zamansal, konu bazlı ve grafik görselleştirme olmak üzere üç modda geçmiş oturumların tam bağlamını anında geri yüklüyor
- 700 oturumluk JSONL konuşma kayıtlarını otomatik olarak ayrıştırıp embedding’e çevirerek QMD indeksine yansıtan bir otomasyon hattı kuruldu
- Araçlar değişse bile bağlam korunduğu sürece bunun herhangi bir yapay zeka ajanında kullanılabileceğini gösteren bağlam merkezli bir iş akışı sunuluyor
Sorun: Her oturumda sıfırlanan Claude Code
- Claude Code’daki tüm konuşmalar sıfır durumdan başlıyor; 3 haftada 700 oturum yapıldığında geçmiş kararları ve proje bağlamını takip etmek zorlaşıyor
- Oturum ortasında bağlam sınırına (%60) ulaşıldığında compact veya hand off gerekiyor ve bu süreçte kararların yarısı kayboluyor
- Ertesi gün çalışmaya devam etmek istendiğinde ne yapıldığını hatırlamamanın yarattığı rahatsızlık sürekli tekrar ediyor
- Mevcut yöntem olan dosya grep tabanlı arama ölçeklenemiyor
QMD: Vault’a özel yerel arama motoru
- QMD, Shopify CEO’su Tobias Lutke tarafından geliştirilen bir yerel arama motoru; Obsidian vault’unu indeksleyip sonuçları 1 saniyeden kısa sürede döndürüyor
- Her vault klasörü için QMD collection eşlemesi yapılarak (notlar, günlük kayıtlar, oturumlar, transcript’ler vb.) odaklı arama yapılabiliyor
qmd collection list, qmd search "video workflow" -c notes -n 3 gibi tek komutlarla çalışıyor
- Claude Code’un varsayılan araması, Haiku alt ajanının tüm dosyalarda grep yaptığı brute-force bir yöntem; testlerde 3 dakikada 300 dosya döndürdü ve sonuç kalitesi de düşüktü
- QMD araması anında, daha doğru ve daha az token tüketiyor — alt ajana gerek yok
Grep vs BM25 vs semantik arama
- BM25 (
qmd search): grep gibi anahtar kelime eşleştiren ama her dosyaya puan veren deterministik tam metin araması
— sözcük tekrar sıklığına ve tüm belge havuzundaki nadirliğine dayanıyor; yapay zeka ya da embedding değil, yalnızca matematiksel hesaplama kullanıyor
- “sleep”in 5 kez geçtiği kısa bir not, 10.000 kelimelik bir dosyada 1 kez geçmesinden daha yüksek puan alabiliyor
- Semantik (
qmd vsearch): tam kelime olmasa bile anlama göre arama yapabilen embedding tabanlı yöntem
- Hibrit (
qmd query): BM25 ile semantik aramayı birleştiriyor
- “sleep” araması için kıyaslama:
- grep: 200 dosya döndürüyor,
sleep() programlama komutunu da içeren çok sayıda gürültü var
- BM25: 2 saniye içinde uyku kalitesi deneyi, uyku bölünmesi kayıtları gibi ilgili sonuçlar döndürüyor
- Ancak
qmd search "insomnia" için, vault’ta bu kelime geçmediğinden sonuç 0
- Semantik: “couldn't sleep, bad night” aramasında yıllar önce belirlenen uyku alışkanlığı hedefini bile buluyor — 5 sonucun 4’ünde arama ifadesi yok
- Hibrit: sleep quality improvement %89, sleep interrupted at 3am %51, health sleep optimization %42 ile en iyi sıralamayı veriyor
- Önerilen kullanım deseni: Aramaların %80’i BM25 ile yapılmalı (yapılandırılmış notlar için uygun), transcript’ler ve yapılandırılmamış notlar için ise semantik arama eklenmeli
Semantik aramanın gerçek keşif örnekleri
- “find the days when I was happy and what was the reason” gibi yapılandırılmamış sorgularda Claude otomatik olarak birden fazla aramayı birleştiriyor:
qmd vsearch "happy, grateful, excited", "energy, great day, feeling good", "satisfaction, accomplishment" gibi birden çok arama çalıştırıyor
- Aylarca biriken günlük notlarda anlamsal bağlantılar buluyor — “en mutlu günlerin, bir şey yayımlanıp ardından sauna ya da 9 saat uyku ile iyi toparlanma yaşanan günler olduğu” gibi bir örüntü çıkarıyor
/recall becerisi: Çalışmaya başlamadan önce bağlamı yükleme
- /recall, QMD üzerinde çalışan bir Claude Code becerisi ve işe başlamadan önce bağlamı otomatik yüklüyor
- Üç modu destekliyor:
- temporal: tarihe göre oturum geçmişini tarama (
/recall yesterday, /recall last week)
- topic: QMD collection’larında BM25 araması (
/recall topic graph)
- graph: oturumlar ve dosyalar için etkileşimli görselleştirme (
/recall graph last week)
/recall yesterday testinde, bir gün içindeki 39 oturum zaman akışı olarak yeniden kuruldu — her oturumun zamanı, mesaj sayısı ve yapılan iş gösteriliyor
/recall topic "QMD video" sonucunda; dashboard, üretim planı, yapılacaklar listesi gibi ilgili dosyalar oturumlar ve notlar genelinden 1 dakikadan kısa sürede geliyor — brute-force grep’e göre süre, token ve sonuç kalitesinde üstün
- graph modu, oturumları renkli blob’lar halinde görselleştiriyor; eski oturumlar daha soluk, yeniler mor renkle öne çıkarılıyor — dosyalar goals, research, voice, docs, content, skills gibi türe göre kümeleniyor
- Örnek: Öğle yemeği yeri arama oturumu bir hafta sonra grafikte bulunabiliyor; ilgili dosya yolu Claude Code’a kopyalanarak önceki konuşmanın devamı üzerinde çalışılabiliyor
700 oturumun otomatik indekslenmesi
- Claude Code tüm konuşmaları JSONL dosyaları olarak yerelde saklıyor — 3 haftada 700 oturum birikti
- Ham dosyalarda tool uses, sistem prompt’u, role gibi veriler bulunduğundan bunlar ayrıştırılıp temiz Markdown’a (gerçek kullanıcı mesajları ve sinyaller) dönüştürülüyor, ardından QMD indeksine embedding olarak ekleniyor
- Terminal kapandığında otomatik hook çalışıyor ve oturumu QMD’ye export edip embed ediyor — ayrı bir manuel işleme gerek kalmadan indeks sürekli güncel kalıyor
Hayata geçirilmemiş fikirleri bulmak
- “find the ideas that I have never acted on” aramasında Claude, QMD sonuçlarını birleştirerek şunları buldu:
- 19 Ekim — PhD yazım dashboard’u kurma planı vardı ama uygulanmadı
- İllüstrasyon tabanlı uygulama fikri vardı ama devamı gelmedi
- Obsidian iş akışı ekran kaydı fikri vardı ama hayata geçirilmedi
- Aylar önce yazılmış ve tamamen unutulmuş notlar yeniden keşfedildi
- Tüm embedding’ler yerelde saklanıyor
Bağlam merkezli iş akışı
- Notlar, Obsidian içinde hapsolmak yerine gerçek hedeflere ulaşmakta kullanılan faydalı bağlama dönüşüyor
- Araçlar değişse de (yeni model, yeni ajan) bağlam korunduğu sürece Claude Code, Codex, Gemini CLI gibi ortamlarda aynı şekilde çalışabiliyor
- Bellek katmanı, beceri biçiminde tüm yığında çalışıyor
- Gerçek kurulum: Obsidian Sync ile Mac ve sürekli açık bir Mac Mini arasında vault senkronize ediliyor; Mac Mini üzerinde OpenClaw 7/24 çalışıyor — telefondan OpenClaw’a bağlanıldığında aynı vault, QMD indeksi ve beceriler her yerden kullanılabiliyor
- Yığının genel yapısı:
- En altta: Obsidian Vault
- Ortada: QMD Search
- En üstte: Claude Code / OpenClaw
- Bağlam aşağıdan yukarı akıyor
11 yorum
Bu aralar neden bu kadar çok şey ölüyor?
ahahahaha
grep öldü. ripgrep kullanalım
qmd kullanmayı denesem mi diye yapay zekaya araştırttım; embedding tarafı fena değilmiş ama BM25 ve sorgu genişletme tarafında Korece desteği iyi olmadığı için önermiyormuş...
Neredeyse BM25’nin çoğunda da durum böyle.
Bu yüzden birlikte bir morfolojik çözümleyici kullanmak iyi olur.
https://github.com/bab2min/Kiwi
Bunu fact-check etmeye çalıştım ama ortada net bir kanıt yok gibi görünüyor. Acaba başkalarının da benzer deneyimi oldu mu?
BM25 kelime odaklı bir arama olduğundan, galadbran'ın görüşü mantıklı görünüyor.
Daha klasik açıdan bakınca, sanki klasik bilgi erişimi teknikleri daha yerel bir düzeyde yeniden kullanılıyor gibi görünüyor.
~~ öldü 💀💀💀
Bu sadece RAG değil mi;
Kurulum sayfasında e-posta adresi istiyordu; ben de Private Repo sandım ama meğer Public Repo imiş.
Aşağıdaki bağlantıdan girebilirsiniz.
https://github.com/ArtemXTech/personal-os-skills/…