Add reader vorlagen (permissions, MCP, hooks, plugins, team AGENTS), humanizer skill, and adaptionen for ki-codex; refresh chapters 00–18, resource-path justfile, and dist PDF with full illustration set.
8.5 KiB
Kapitel 12
Memory, Sessions und Kontextmanagement
Kern in einem Satz: Sessions speichern den kompletten Verlauf auf Disk; Memory speichert übergreifende Fakten (experimentell); Compact und neue Sessions halten den Kontextfenster-Alltag lebensfähig.
12.1 Vier Speicher, die du nicht vermischen solltest
Alltagsschmerz: Eine 4-Stunden-Session driftet, Kosten steigen, der Agent widerspricht sich. Compact hilft, verliert aber Nuancen. Memory hilft über Tage – und kann Falsches „erinnern“, wenn du Müll speicherst. AGENTS.md ist kein Session-Speicher, sondern der Team-Kompass – trotzdem landet es im Kopf neben den dreien und wird oft verwechselt.
| Speicher | Was | Lebensdauer |
|---|---|---|
| Kontextfenster | was das Modell jetzt sieht | Turn / bis Compact |
| Session | voller Verlauf + Tools + Snapshots | ~/.grok/sessions/… |
| Memory | indexierte Fakten über Sessions | ~/.grok/memory/… (opt-in) |
| AGENTS.md | Team-Kompass (weich, Kapitel 7) | Repo – nicht session-lokal |
12.2 Session-Layout auf Disk
Basis: ~/.grok bzw. $GROK_HOME. Warum das Layout kennen? Resume und Debug hängen an updates.jsonl (autoritativ), nicht am Titel in der UI. Feedback und Rewind-Punkte sitzen daneben – wer nur summary.json anstarrt, sieht Metadaten, nicht den Gesprächsstrom.
~/.grok/sessions/<encoded-cwd>/<session-id>/
summary.json
updates.jsonl # autoritativer Conversation-Stream
chat_history.jsonl
plan.json # Tasks/TODO-State
rewind_points.jsonl # Snapshots für /rewind
signals.json
feedback.jsonl # Ratings/Feedback (falls genutzt)
compaction_checkpoints/
subagents/ # Meta; Kinder leben im normalen Session-Tree
encoded-cwd = URL-encoding des Working Directories (bei Extremlänge Slug+Hash + .cwd).
12.3 Sessions steuern
Warum IDs statt Titel in Scripts? Titel sind lesbar und kollidieren; IDs sind stabil. list/search sind die Inventar-Tools; Löschen ist permanent.
| Ziel | TUI | CLI |
|---|---|---|
| Neu | /new (/clear) |
neuer grok-Start |
| Resume | /resume, Welcome, Ctrl+S |
grok -r <id|title>, grok -r (latest), grok -c |
| Fork | /fork [--worktree|--no-worktree] [directive] |
--fork-session mit resume |
| Rename | /rename / /title |
– |
| Dashboard | /dashboard (/sessions) |
– |
| Quit | /quit |
Exit-Code Headless |
| Home | /home |
– |
grok sessions list
grok sessions list --limit 50
grok sessions search "rate limit"
grok sessions delete <session-id> # permanent (CLI); TUI: /delete oder /resume → d y
list gruppiert oft nach Worktree-Label.
12.4 Rewind vs. Compact
/rewind (oder 2× Esc, idle, leerer Prompt)
- Rewind-Punkte (pro User-Prompt)
- Punkt wählen
- Dateien auf Snapshot zurück
- Conversation abschneiden
Achtung: Rewind ändert die Disk. Ungesicherte spätere Edits sind weg, außer Git hat sie. Vor riskanten Rewinds:
git status/ commit.
/compact [Hinweis]
Komprimiert History im Kontext, speichert Checkpoints unter der Session. Optionaler Hinweis steuert, was bleiben soll:
/compact keep the auth decision: cookie sessions, no JWT
Auto-Compact default bei 85 % Kontext:
[session]
auto_compact_threshold_percent = 85
Plan Mode: Compact behält Plan-Mode-State (Kapitel 4).
| Situation | Mittel |
|---|---|
| Agent hat falschen Pfad eingeschlagen, Dateien kaputt | /rewind (+ Git) |
| Kontext voll, Richtung stimmt | /compact mit Hinweis |
| Thema komplett neu | /new |
| Parallel anderer Ansatz | /fork (+ Worktree) |
12.5 Kontext lesen und steuern
/context # Breakdown: System, Messages, Reasoning, Free, Tools/Skills/MCP-Kosten
/session-info # Auth, Model, Turns, Usage – Aliases /status /info
Hygiene-Regeln:
- Enge Prompts > lange Chats.
- Große Logs nicht ungefiltert pasten – Datei +
@oder Pfad. - Nach Meilenstein: compact oder new.
- Stabile Fakten → AGENTS.md; episodische Learnings → Memory/flush.
- MCP-Outputs sind groß – Queries eng (Kapitel 9).
12.6 Memory (experimentell, default aus)
Einschalten
grok --experimental-memory
export GROK_MEMORY=1
[memory]
enabled = true
Aus (gewinnt hart)
grok --no-memory
export GROK_MEMORY=0
Priorität: --no-memory > --experimental-memory > GROK_MEMORY > config > default off.
Mid-session: /memory on|off (session-scoped, schreibt nicht zwingend config). Modal: /memory, Toggle t.
Speicherorte
| Pfad | Scope |
|---|---|
~/.grok/memory/MEMORY.md |
global |
~/.grok/memory/<slug>-<hash8>/MEMORY.md |
Workspace |
…/sessions/ |
Session-Logs |
Workspace-Identität: origin als org/repo wenn Git-Remote, sonst Pfad. Clones/Worktrees desselben origin teilen Memory – Feature und Risiko.
Index: SQLite FTS5 + optional Vektoren.
Automatik vs. reichhaltig
- Session-Ende: schlanke Metadaten-Summary (Topics, Counts) – kein LLM, trivial Sessions skip. Abschalten:
session.save_on_end = false. /flush: reichhaltige Extraktion (Decisions, Patterns) – vor Compact oder Tagesende./dream: Konsolidierung in Topics./remember …: sofortige Notiz (laut Doku auch ohne vollen Memory-Stack verfügbar).
/remember staging deploy uses the eu-west cluster
/flush
/dream
Policy: Keine Secrets ins Memory. Falsche Erinnerungen aktiv löschen/korrigieren im /memory-UI oder per CLI (grok memory clear --workspace|--global|--all, mit --yes ohne Prompt). Memory ersetzt nicht AGENTS.md für Team-Standards.
12.7 Praxis-Sessions
Session 1 – Session finden und fortsetzen
grok sessions list
grok -c
/session-info
/context
Session 2 – Compact mit Hinweis
Lange Explore-Session simulieren (viele Reads), dann:
/compact keep the chosen approach: outbox pattern, no event sourcing rewrite
Prüfen: /context freier, Kernentscheidung noch bekannt.
Session 3 – Rewind nach Fehlversuch
# absichtlich schlechten Edit erlauben
# dann:
/rewind
Git-Status vergleichen; verstehen, was zurückrollte.
Session 4 – Memory opt-in
GROK_MEMORY=1 grok
/remember We use pnpm, never npm, in this monorepo.
/flush
Neue Session mit Memory: „Welchen Package-Manager nutzen wir?“ – Erwartung: Erinnerung oder AGENTS.md; beides abgleichen.
Session 5 – New vs. Compact
Zwei Features hintereinander: Feature A abschließen → /new für Feature B.
Vergleich: beide in einer Session mit nur Compact – wo driftet die Qualität?
12.8 Jetzt selbst machen: Kontext-Parcours (25 Minuten)
Jetzt selbst machen
grok sessions listund eine alte Session resumieren./contextund/session-infoscreenshot/notieren.- Einmal
/compactmit spezifischem Keep-Hinweis. - Einmal
/rewindauf eine sichere Spielwiese (Git clean strategy). - Memory kurz enablen,
/remember+ neue Session, dann--no-memory. - Team-Regel skizzieren: wann new, wann compact, was in AGENTS.md vs. Memory.
12.9 Häufige Fehler
| Symptom | Ursache | Fix |
|---|---|---|
| „Er hat alles vergessen“ | Compact/new ohne Keep | Hinweis formulieren; AGENTS.md |
| Kontext voll | lange Tools/MCP | engere Tools, new session |
| Rewind-Schock | uncommittete Arbeit | Git zuerst |
| Falsche Memory | Müll geflusht | Memory editieren/löschen |
| Memory leak über Repos | shared origin hash | bewusst; secrets meiden |
| Resume falsche Session | Titel-Kollision | UUID |
12.10 Checkliste
- Session-IDs für Automation
- Compact-Schwelle verstanden
- Rewind nur mit Git-Netz
- Memory opt-in + keine Secrets
- AGENTS.md für Team-Wahrheit
/contextbei Qualitätsabfall
Was du jetzt kannst
- Session-Storage erklären und Sessions listen/resumen/forken
- Compact, Rewind und New gezielt wählen
- Memory experimentell nutzen und von AGENTS.md trennen
Nächste Schritte
→ Kapitel 13 – Permissions, Sandbox und Sicherheit: Modes, Allow/Deny, Folder-Trust und Kernel-Sandbox.

