NotariumДокументация
Версия документации: latest
RU

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

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

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

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

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

Обе оси — класс agent-memory. Агент не выбирает ни класс, ни папку, ни пространство: это навязывает сам инструмент. Общее знание, которое должно жить в дереве проекта как user-doc, пишет отдельный инструмент create_note, а не «remember».

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

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

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

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

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

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

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

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

Дисциплина дедупа

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

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

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

Дальше