---
title: "Agentengedächtnis"
description: "Dauerhaftes Agentengedächtnis über Nutzer und Projekt: remember schreibt lesbare Notizen, recall hält das Budget, search dedupliziert vor dem Schreiben."
---

# Agentengedächtnis

Das Agentengedächtnis in Notarium ist keine versteckte Magie und keine separate Datenbank: Es sind ganz normale Notizen der Klasse `agent-memory`, die der Agent aus seinen Beobachtungen schreibt und die du lesen, korrigieren und löschen kannst. Fakten legt der Agent über `remember_about_user` und `remember_about_project` ab, Kontext holt er über `recall`. Die zentrale Disziplin lautet: **vor dem Schreiben suchen**, damit keine Duplikate entstehen.

## Zwei Achsen: über den Nutzer und über das Projekt

Das Gedächtnis lebt auf zwei orthogonalen Achsen:

- **Über den Nutzer** — `remember_about_user` schreibt langlebige Fakten über dich (Vorlieben, Kontext, aktuelle Arbeit) in das private Gedächtnis deiner persönlichen Domäne. Es ist ein und dasselbe Gedächtnis, egal in welchem Space du arbeitest — es wird nicht in jeden Space eingemischt.
- **Über das Projekt** — `remember_about_project` schreibt das Gedächtnis über ein bestimmtes Projekt in dessen Unterverzeichnis. Symmetrisch zum Schreiben über den Nutzer, aber an das Projekt gebunden.

Beide Achsen nutzen die Klasse `agent-memory`. Der Agent **wählt weder** Klasse noch Ordner noch Space aus: Das erzwingt das Tool selbst. Geteiltes Wissen, das als `user-doc` im Projektbaum leben soll, schreibt ein eigenes Tool, [`create_note`](/docs/agents/intent-tools/), und nicht „remember“.

## Eine Datei pro Kategorie, nicht eine Datei pro Beobachtung

`remember_about_user(observation, category)` **hängt** die Beobachtung an die Datei der Kategorie **an**, statt für jeden Fakt eine Mikrodatei zu erzeugen. `category` ist ein Label („preferences“), kein Pfad. Eine neue Kategorie bedeutet eine neue Datei. Das optionale `summary` ist eine einzeilige Zusammenfassung der Kategorie, die den abgeleiteten Index des Profils speist.

Einen einzelnen festgehaltenen Fakt zu korrigieren oder zu löschen ist schlicht das Bearbeiten einer gewöhnlichen Notiz: `edit_note` über die id der Gedächtnisnotiz (die `remember_*` zurückgibt) im Modus `findReplace` (ein leerer `content` entfernt das Snippet) oder im Modus `replace` für die ganze Kategorie. Es gibt keine separate „Adressierung nach Beobachtung“ — das Gedächtnis wird mit denselben wortbasierten Modi bearbeitet wie jede andere Notiz.

## recall ≠ search

Beide Tools lesen, lösen aber unterschiedliche Aufgaben:

| | `search` | `recall` |
|---|---|---|
| Was es zurückgibt | gerankte Snippets mit `score` und `path` | ein kohärentes Kontextbündel im Rahmen eines Token-Budgets |
| Reichweite | relevante Notizen | relevante Notizen **plus** ihre Graph-Nachbarn (`depth` Sprünge durch den Graphen) |
| Gedächtnis | sieht das Gedächtnis (für die Deduplizierung) | schöpft aus dem Wissen und aus dem persönlichen Gedächtnis |
| Wann aufrufen | etwas Konkretes finden, vor dem Schreiben prüfen | Kontext rund um ein Thema für die Arbeit zusammenstellen |

`recall` ist reichhaltiger: Es durchläuft den Graphen rund um das Gefundene und packt das Ergebnis im Rahmen von `budgetTokens`, während `maxPerSource` verhindert, dass eine einzige große Notiz das ganze Bündel auffrisst. `search` ist punktgenau: Es ist genau der Mechanismus hinter „vor dem Schreiben suchen“.

## Vor dem Schreiben suchen

Das Gedächtnis ist die einzige Klasse ohne Duplikatschutz per Titel, deshalb **deckt `search` bewusst auch das Gedächtnis des Agenten ab**. Such stets vor dem Schreiben: Das dedupliziert sowohl Wissen als auch Gedächtnis.

> [!tip] Die Dedup-Disziplin
> Ruf vor `remember_*` ein `search` zum Thema des Fakts auf. Existiert die Kategorie bereits, häng über dasselbe `remember_*` an sie an (es hängt an) oder korrigiere sie mit `edit_note`, statt ein Synonym anzulegen.

## Was der Eigentümer sieht

Das Gedächtnis ist **aus der normalen Navigation ausgeblendet** (Baum, Feed, gewöhnliche Suche), vor dir aber nicht verborgen: Es ist über eine eigene **Memory**-Linse im Explorer-Baum sichtbar (Notizen öffnen sich wie alle anderen, unter `/m/<id>`), und eine Kategorie kannst du unter **Agents → Context** stummschalten. Der Eintrag im [Revisionsprotokoll](/docs/concepts/versioning/) zeigt genau, was der Agent festgehalten hat — so erwischst du alles, was eine Injektion untergeschoben haben könnte. Das Gedächtnis kannst du nicht umorganisieren: Dieser Bereich gehört dem Agenten (ein flacher Satz plus ein abgeleiteter Index), doch ihn zu verschieben ist technisch unbedenklich — die Identität hängt an der id der Notiz.

## Weiter

- [Kontext-Sets und Pins](/docs/agents/context-pins/) — wie man eine Gedächtniskategorie stummschaltet und was beim Start geladen wird.
- [Retrieval-Audit](/docs/agents/audit/) — wonach der Agent über `search`/`recall` gesucht hat und ob er es gefunden hat.
- [Intent-Tools](/docs/agents/intent-tools/) — der vollständige Satz an Tools.
