# zhutov-qmd-grep-dead-claude-code-memory-recall-2026-03-01

## Veille

QMD lokale Suchmaschine für Obsidian-Vault, skill /recall für persistentes Gedächtnis in Claude Code, BM25 + semantische + hybride Suche vs. grep

## Titre Article

Grep Is Dead: How I Made Claude Code Actually Remember Things

## Date

2026-03-01

## URL

https://github.com/tobi/qmd

## Keywords

QMD, lokale Suchmaschine, persistentes Gedächtnis, BM25, semantische Suche, hybride Suche, Obsidian, Claude Code, skill recall, Vault-Indexierung, context engineering, grep, Embeddings, Wissensdatenbank, Sitzungen, Kontextrekonstruktion, Tobias Lütke, Shopify

## Authors

Artem Zhutov (article/vidéo démonstration), Tobias Lütke (créateur QMD)

## Ton

**Profil**: Perspektive eines Praktiker-Demonstrators, zugängliches und enthusiastisches Register, mittleres bis fortgeschrittenes Niveau

**Beschreibung**: Artem Zhutov nimmt den Ton eines leidenschaftlichen Early Adopters an, der seine Entdeckungen in Echtzeit teilt. Der Stil ist der eines erzählten Live-Codings — spontane Ausrufe („That's so amazing!“, „This is the one that surprised me“), Vorher-Nachher-Vergleiche (grep 3 Minuten vs. QMD sofort) und konkrete Kennzahlen (700 Sitzungen, 39 Sitzungen an einem einzigen Tag). Der Autor bewegt sich zwischen technischem Tutorial (CLI-Befehle, Architektur) und persönlicher Erzählung (Promotion, Glücksmuster, vergessene Ideen). Die Demonstration der semantischen Suche an seinen eigenen persönlichen Notizen (Schlaf, Frustration, nicht umgesetzte Ideen) macht das Argument greifbar und glaubwürdig. Die Zielgruppe besteht aus intensiven Nutzern von Claude Code und Obsidian, die das „Cold-Start“-Problem bei jeder Sitzung spüren.

## Pense-betes

- **Kernproblem**: Jede Unterhaltung mit Claude Code beginnt bei null. 700 Sitzungen in 3 Wochen, Unfähigkeit, Kontext abzurufen, Verlust von Entscheidungen während der Kompaktierung bei 60 % Kontext. Das native grep von Claude Code (über einen Haiku-Subagenten) benötigt 3 Minuten, liefert 300 Dateien voller Rauschen und verbraucht viele Tokens.
- **QMD**: lokale Suchmaschine von Tobias Lütke (CEO von Shopify). Indexiert Markdown-Dateien in Sammlungen. 11.482 GitHub-Stars. MIT-Lizenz. Drei Suchmodi:
- **BM25** (`qmd search`): deterministische Volltextsuche. Wie grep, aber mit TF-IDF-Bewertung — eine kurze Datei, die „sleep“ fünfmal erwähnt, erzielt eine höhere Bewertung als eine 10.000 Wörter lange Datei mit einer einzigen Erwähnung. Keine KI, keine Embeddings, nur Mathematik. Ergebnisse in 2 Sekunden.
- **Semantisch** (`qmd vsearch`): nutzt Embeddings, um Bedeutung auch ohne exakte Schlüsselwörter zu finden. „insomnia“ liefert in BM25 kein Ergebnis, aber „couldn't sleep, bad night“ ruft Notizen zur Schlafdisziplin ab. 4 von 5 Ergebnissen enthalten die gesuchten Wörter nicht.
- **Hybrid** (`qmd query`): kombiniert BM25 + semantische Suche + Query-Expansion + LLM-Re-Ranking. Bestes Ranking, aber ~30 Sekunden. Verwendet Reciprocal Rank Fusion.
- **Lokale Modelle**: alles läuft auf der Maschine, keine externe API. Drei GGUF-Modelle: Gemma-300M-Embedding, Qwen3-0.6B-Reranker, 1,7B-Query-Expansion. Insgesamt ~2 GB.
- **Agenten-Integration**: integrierter MCP-Server, Claude-Code-Marketplace-Plugin (`claude marketplace add tobi/qmd`), für LLMs optimierte JSON-/CSV-/MD-/XML-Ausgabe.
- **skill /recall**: ein auf QMD aufbauender Claude-Code-Skill. Drei Modi:
- **Temporal** (`/recall yesterday`): rekonstruiert die Sitzungschronologie nach Datum. 39 Sitzungen an einem einzigen Tag mit Uhrzeit, Nachrichtenanzahl, Zusammenfassung.
- **Topic** (`/recall topic graph`): sammlungsübergreifende BM25-Suche, ruft in unter einer Minute alle Dateien zu einem Thema ab.
- **Graph** (`/recall graph last week`): interaktive HTML-Visualisierung — Sitzungen als farbige Blobs, Dateien nach Typ gruppiert, nachvollziehbare Verbindungen.
- **Sitzungs-Pipeline**: beim Schließen des Terminals exportiert und indexiert ein Hook die Claude-Code-Sitzung automatisch in QMD. Parst einfaches Markdown (Nutzernachrichten), filtert Tool-Aufrufe und System-Prompts heraus. Der Index ist stets aktuell.
- **Benchmark grep vs. QMD**: Suche nach „sleep“ → grep liefert 200 Dateien einschließlich `sleep()` (Systembefehl), BM25 liefert relevante Überlegungen zur Schlafqualität, die semantische Suche ruft verwandte Notizen ohne die Schlüsselwörter ab, hybrid liefert das beste Ranking.
- **Überraschende Erkenntnis**: Suche nach „find the ideas I have never acted on“ → Claude passt die Abfrage in mehrere semantische Suchen an und ruft monatelang vergessene Ideen ab (PhD-Dashboard, Obsidian-Bildschirmaufnahme). Suche „days when I was happy“ → Muster: die glücklichsten Tage = Shipping + gute Erholung (Sauna, 9 Stunden Schlaf).
- **Praktische Empfehlung**: mit BM25 beginnen (80 % der Suchen, schnell, strukturiert). Semantische Suche für Transkripte und Braindumps ergänzen (Freitext, keine präzisen Schlüsselwörter).
- **Philosophie**: „Tools change. Your context stays.“ — Werkzeuge entwickeln sich weiter (Claude Code, Codex, Gemini CLI), aber der persönliche Kontext bleibt bestehen. Notizen sind nicht mehr passiv — sie werden handlungsrelevant.
- **Starker Bezug zu früherer Berichterstattung**: greift direkt das von Debois identifizierte „Cold-Start“-Problem auf („jede Sitzung ist ein neuer Mitarbeiter“) sowie Vasilopoulos' 3-Tier-Architektur. QMD ist eine konkrete Umsetzung von Tier 3 (Cold Memory), wobei der skill /recall als Lademechanismus dient. Die automatische Sitzungs-Pipeline setzt Debois' Context Flywheel um.

## RésuméDe400mots

Artem Zhutov stellt eine Lösung für ein fundamentales Problem der KI-agentengestützten Entwicklung vor: **den Kontextverlust zwischen Sitzungen**. Mit 700 Claude-Code-Sitzungen in 3 Wochen beobachtet er, dass jede Unterhaltung bei null beginnt, dass die Kompaktierung bei 60 % Kontext Entscheidungen verliert und dass das native grep (über einen Haiku-Subagenten) 3 Minuten benötigt, um 300 Dateien voller Rauschen zurückzugeben.

Die Lösung stützt sich auf **QMD**, eine lokale Suchmaschine von Tobias Lütke (CEO von Shopify), die Markdown-Dateien in abfragbare Sammlungen indexiert. QMD bietet drei Suchmodi. **BM25** führt eine Volltextsuche mit Relevanzbewertung durch — anders als grep, das jede Zeichenkettenübereinstimmung zurückgibt (einschließlich `sleep()` bei einer Suche nach sleep), gewichtet BM25 nach Termhäufigkeit und -seltenheit und liefert relevante Ergebnisse in 2 Sekunden. Die **semantische Suche** nutzt lokale Embeddings, um Bedeutung jenseits von Schlüsselwörtern zu finden: Eine Suche nach „couldn't sleep, bad night“ liefert eine Notiz zur Schlafdisziplin, obwohl kein Begriff übereinstimmt. Die **hybride Suche** kombiniert beide Ansätze mit Query-Expansion und LLM-Re-Ranking für das bestmögliche Ranking.

Alles läuft lokal über drei GGUF-Modelle (~2 GB): Gemma-300M-Embeddings, einen Qwen3-0.6B-Reranker und ein 1,7B-Modell zur Query-Expansion. QMD lässt sich über einen MCP-Server oder ein Claude-Code-Plugin in Agenten integrieren.

Aufbauend auf QMD hat Zhutov den **skill /recall** entwickelt, einen Claude-Code-Skill, der vor jeder Sitzung automatisch den relevanten Kontext lädt. Drei Zugriffsmodi: **temporal** (Rekonstruktion der Sitzungschronologie nach Datum), **topic** (sammlungsübergreifende BM25-Suche zu einem Thema) und **graph** (interaktive HTML-Visualisierung von Sitzungen und Dateien). Ein Hook beim Schließen des Terminals exportiert und indexiert jede Sitzung automatisch in QMD, sodass der Index stets aktuell bleibt.

Die Demonstrationen offenbaren unerwartete Anwendungen. Eine semantische Suche nach „find the ideas I have never acted on“ fördert monatelang vergessene Projekte zutage. „Days when I was happy“ zeigt ein Muster: Die besten Tage korrelieren Shipping mit körperlicher Erholung. Die semantische Suche verwandelt einen passiven Vault in ein **aktives Gedächtnis**, das Verbindungen aufdecken kann, die für Schlüsselwörter unsichtbar sind.

Die zugrunde liegende Philosophie steht im Einklang mit context engineering: Werkzeuge wechseln, der Kontext bleibt. Ein gut indexierter Vault übersteht Modell- und Werkzeugwechsel. Zhutov demonstriert konkret, was Debois mit dem Context Flywheel theoretisiert: Kontext dokumentieren → besseres Ergebnis → Kontext anreichern → beschleunigen.

## GrapheDeConnaissance

- Tobias Lütke —a_créé→ QMD (TECHNOLOGIE, 0.98)
- Artem Zhutov —a_créé→ skill /recall (TECHNOLOGIE, 0.97)
- QMD —utilise→ BM25 (CONCEPT, 0.98)
- QMD —utilise→ recherche sémantique par embeddings (CONCEPT, 0.98)
- QMD —utilise→ Reciprocal Rank Fusion (CONCEPT, 0.95)
- QMD —remplace→ grep pour recherche vault (TECHNOLOGIE, 0.92)
- QMD —utilise→ Model Context Protocol (TECHNOLOGIE, 0.97)
- skill /recall —est_basé_sur→ QMD (TECHNOLOGIE, 0.98)
- skill /recall —améliore→ reconstruction contexte Claude Code (CONCEPT, 0.95)
- Artem Zhutov —affirme_que→ grep ne passe pas à l'échelle pour agents IA (AFFIRMATION, 0.93)
- recherche sémantique —permet→ transformation du vault passif en mémoire active (CONCEPT, 0.9)
- Tobias Lütke —dirige→ Shopify (ORGANISATION, 0.99)
- QMD —fait_partie_de→ architecture mémoire agents IA (CONCEPT, 0.88)

---
Canonical: https://www.thekb.eu/de/fiches/zhutov-qmd-grep-dead-claude-code-memory-recall-2026-03-01/
