---
title: "Память агента"
description: "Долговечная память агента о пользователе и проекте: remember пишет читаемые заметки, recall собирает контекст под бюджет, search дедупит перед записью."
---

# Память агента

Память агента в Notarium — это не скрытая магия и не отдельная база: это обычные заметки класса `agent-memory`, которые агент пишет наблюдениями и которые вы можете прочитать, поправить и удалить. Агент запоминает факты через `remember_about_user` и `remember_about_project`, а достаёт контекст через `recall`. Ключевая дисциплина — **искать перед записью**, чтобы не плодить дубли.

## Две оси: о пользователе и о проекте

Память живёт на двух ортогональных осях:

- **О пользователе** — `remember_about_user` пишет долгоживущие факты о вас (предпочтения, контекст, текущая работа) в приватную память вашего личного домена. Одна и та же, в каком бы пространстве вы ни работали — она не подмешивается в каждое пространство.
- **О проекте** — `remember_about_project` пишет память о конкретном проекте в его поддиректорию. Симметрична записи о пользователе, но привязана к проекту.

Обе оси — класс `agent-memory`. Агент **не выбирает** ни класс, ни папку, ни пространство: это навязывает сам инструмент. Общее знание, которое должно жить в дереве проекта как `user-doc`, пишет отдельный инструмент [`create_note`](/docs/agents/intent-tools/), а не «remember».

## Файл на категорию, не файл на наблюдение

`remember_about_user(observation, category)` **дозаписывает** наблюдение в файл категории, а не плодит микрофайл на каждый факт. `category` — это метка («preferences»), не путь. Новая категория — новый файл. Опциональный `summary` — однострочный дайджест категории, питающий производный индекс профиля.

Поправить или удалить один записанный факт — это правка обычной заметки: `edit_note` по id memory-заметки (его возвращает `remember_*`) режимом `findReplace` (пустой `content` убирает сниппет) или `replace` всей категории. Отдельной «адресации по наблюдению» нет — память редактируется теми же словесными режимами, что и любая заметка.

## recall ≠ search

Оба инструмента читают, но решают разные задачи:

| | `search` | `recall` |
|---|---|---|
| Что возвращает | ранжированные сниппеты со `score` и `path` | связный контекст-бандл под токен-бюджет |
| Охват | релевантные заметки | релевантные заметки **плюс** их граф-соседи (`depth` шагов по графу) |
| Память | видит память (для дедупа) | тянет из знания и из личной памяти |
| Когда звать | найти конкретное, проверить перед записью | собрать контекст вокруг темы для работы |

`recall` богаче: он обходит граф вокруг найденного и упаковывает результат под `budgetTokens`, а `maxPerSource` не даёт одной крупной заметке съесть весь бандл. `search` — точечный: он и есть механизм «искать перед записью».

## Искать перед записью

Память — единственный класс без защиты от дублей по заголовку, поэтому `search` намеренно **покрывает и память агента**. Всегда ищите перед записью: это дедупит и знание, и память.

> [!tip] Дисциплина дедупа
> Перед `remember_*` вызовите `search` по теме факта. Если категория уже есть — дозапишите в неё через тот же `remember_*` (он дозаписывает) или поправьте `edit_note`, а не создавайте синоним.

## Что видит владелец

Память **скрыта из обычной навигации** (дерево, лента, обычный поиск), но не спрятана от вас: она видна отдельной линзой **Memory** в дереве-проводнике (заметки открываются как обычные, по адресу `/m/<id>`), а приглушить категорию можно в разделе **Agents → Context**. Запись в [журнале](/docs/concepts/versioning/) показывает, что именно записал агент — это ваш контроль над тем, что могла подсунуть инъекция. Реорганизовать память вы не можете: секцией владеет агент (плоский набор + производный индекс), но перемещать её технически безопасно — идентичность держится на id заметки.

## Дальше

- [Контекст-наборы и пины](/docs/agents/context-pins/) — как приглушить категорию памяти и что грузится на старте.
- [Аудит извлечения](/docs/agents/audit/) — что агент искал через `search`/`recall` и нашёл ли.
- [Интент-инструменты](/docs/agents/intent-tools/) — полный набор инструментов.
