Files
ki-grok/12-memory-sessions-und-kontextmanagement.md
grok-bot 17a2bc8a45 Ship Codex-parity harness, chapter polish, and rebuilt PDF.
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.
2026-08-02 21:19:46 +02:00

8.5 KiB
Raw Permalink Blame History

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)

  1. Rewind-Punkte (pro User-Prompt)
  2. Punkt wählen
  3. Dateien auf Snapshot zurück
  4. 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)

Compact spart Fenster — Dateien retten Entscheidungen.{width=90%}


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

Weniger Ballast, engere Tasks, weniger Server — die Hebel, die zählen.{width=90%}

Hygiene-Regeln:

  1. Enge Prompts > lange Chats.
  2. Große Logs nicht ungefiltert pasten – Datei + @ oder Pfad.
  3. Nach Meilenstein: compact oder new.
  4. Stabile Fakten → AGENTS.md; episodische Learnings → Memory/flush.
  5. 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

  1. grok sessions list und eine alte Session resumieren.
  2. /context und /session-info screenshot/notieren.
  3. Einmal /compact mit spezifischem Keep-Hinweis.
  4. Einmal /rewind auf eine sichere Spielwiese (Git clean strategy).
  5. Memory kurz enablen, /remember + neue Session, dann --no-memory.
  6. 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
  • /context bei 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.