Анатомия памяти агента
- title
- Анатомия памяти агента
- type
- summary
- summary
- Библиотеки памяти агентов заимствуют термины когнитивистики, но реализуют лишь автобиографическую семантическую память
- tags
- ai-agents, memory, design-patterns
- sources
- agent-memory-anatomy
- created
- 2026-07-21
- updated
- 2026-07-21
- lang
- ru
- translation_of
- agent-memory-anatomy
- source_updated
- 2026-07-21
- translated
- 2026-09-01
- translator
- lllm/antigravity/gemini-3.7-flash-medium
Эссе brgsk (brgsk-blog) разбирает понятие "память" в том виде, как его используют библиотеки агентной памяти. Библиотеки заимствуют терминологию из когнитивных наук - эпизодическая, семантическая, процедурная, рабочая, - но по большей части не создают механизмов, стоящих за этими словами. В реальности они предлагают лишь одно: хранилище абстрагированных фактов о прошлых сессиях, то есть автобиографическую семантическую память. Смысл эссе не в том, чтобы обвинить авторов в обмане, а в том, что точное обозначение проблемы помогает сфокусироваться на том, что именно вы пытаетесь решить. Ключевая цитата, на которой строится аргументация: "хранилище, неспособное ответить на вопрос во что я верил в прошлом месяце?, - это не система памяти. Это снимок состояния с временной меткой".
Три компонента
Любая система памяти делится на три компонента, и в каждом из них приходится принимать одно сложное решение.
Экстрактор читает сырые стенограммы диалогов и выдаёт абстрагированные "утверждения" - то, что стоит сохранить. Архитектурный выбор упирается во время выполнения: нетерпеливая (eager) экстракция срабатывает на каждое сообщение (данные всегда свежие, но приходится оплачивать вызовы LLM на каждом шаге и теряется понимание того, чем завершится диалог), ленивая (lazy) экстракция запускается в конце сессии (дешевле, видна вся сюжетная линия целиком, но при длинных стенограммах проявляется деградация lost-in-the-middle). В обоих случаях экстрактор - это суммирующая LLM со всеми сопутствующими сбоями и ограничениями.
Хранилище (store) удерживает эти утверждения: векторный индекс, реляционная таблица, граф знаний или их комбинация. Сложность здесь заключается не в самом хранении, а в разрешении противоречий. Когда новое утверждение конфликтует со старым, что делать: перезаписывать, дописывать в конец (append) или замещать (supersede - сохранять оба, помечая старое как устаревшее со ссылкой на новое)? Перезапись уничтожает историю, которая могла бы ответить на вопрос "во что я верил в прошлом месяце". Добавление сохраняет всё, но засоряет выборку устаревшими фактами, если retriever'у явно не указать, какой из них актуален. Это проблема memory-conflict-detection, и именно здесь большинство систем слабее всего.
Retriever представляет собой RAG по накопленным утверждениям: векторная близость плюс поиск по ключевым словам плюс reranker, в идеале с временными фильтрами и проверкой пресуппозиций (не предполагает ли запрос факт, которому противоречит хранилище?). Качество выборки - это как раз то, что деградирует по мере роста хранилища: страдает не сохранение, а поиск.
Четыре канонических типа и чего из них не хватает
Когнитивная наука выделяет четыре типа памяти. Рабочая память - это контекстное окно; brgsk выносит её за скобки как задачу, решённую по определению. Остаются эпизодическая (что произошло, с привязкой ко времени и месту), семантическая (факты, очищенные от контекста их появления) и процедурная (как выполнять действия, навыки). Есть ещё и пятый, неканонический тип - проспективная память: умение помнить о необходимости сделать что-то в будущем.
Три из четырёх типов в продакшене практически отсутствуют:
- Эпизодическая память сжимается в семантическую ещё на этапе экстракции. Экстрактор отбрасывает информацию "когда и в какой сессии это произошло", сохраняя лишь сам факт. Поэтому эпизод исчезает в тот самый момент, когда попадает в хранилище.
- Процедурная память - это чаще всего неверно маркированная семантическая. Лакмусовая бумажка здесь проста: меняет ли библиотека то, как агент действует, а не только то, что он знает. LangMem выделяется тем, что делает это явно: оценивает прошлые траектории и переписывает системный промпт на основе того, что сработало. Mem0 же просто вешает тег
metadata.memory_type="procedural"на утверждение в том же векторном индексе - это метка, а не механизм. В Graphiti концепции процедурной памяти нет вовсе. - Проспективная память ("сделай Y, когда в следующий раз возникнет условие X") не реализована ни в одной готовой библиотеке. Планировщики (schedulers) умеют выполнять "сделай Y в момент времени T", но это простой случай; сложная часть - условный триггер, и его никто не поставляет.
Если вычесть отсутствующие три типа, останется семантическая память о собственном прошлом агента. Автобиографическая семантическая память. Вот честное название того, что представляют собой эти инструменты.
Биология как словарь, а не чертёж
Аналогии из когнитивных наук удобны, чтобы давать компонентам имена, но опасны в роли руководства по проектированию. Некоторые биологические концепции переносить стоит: консолидация - сжатие множества эпизодов в устойчивые паттерны во время простоя - встречается в исследовании "Dreams" от Anthropic и в концепции sleep-time compute у Letta; она отлично ложится на агентов. Смотрите agent-memory-decay, где описан вариант с затуханием и консолидацией. Другие идеи не переносятся. Эмоциональная значимость (emotional salience) взвешивает человеческую память, а у текстового агента нет эмоций, которыми можно было бы задавать веса. А биологическое забывание - это то, чему агентам подражать не следует: диск дешёв, хранение всего обеспечивает аудит, а реальная проблема, которую списывают на "отсутствие забывания" (ухудшение выборки по мере роста хранилища), - это проблема поиска и приоритизации данных, а не очистки диска. Это тот же тезис, что и в ai-cannot-forget-forgive: у машинной памяти нет естественного угасания, и это свойство, которым нужно управлять, а не ошибка, которую следует маскировать удалением данных.
Источники, на которые опирается эссе
Тулвинг (эпизодическая память против семантической), Баддели и Хитч (рабочая память), Generative Agents Джуна Суна Пака (Joon Sung Park), а также практики Сара Вудерс (Sarah Wooders, Letta) и Харрисон Чейз (Harrison Chase, LangChain).
Связанные страницы
- agent-memory-components - декомпозиция на экстрактор, хранилище и retriever как отдельная концепция
- agent-memory-decay - архитектура с консолидацией и затуханием, которую частично поддерживает brgsk
- agent-memory-strategy-decision-tree - к какому уровню относится каждая категория информации
- memory-conflict-detection - подробный разбор проблемы обработки противоречий в хранилище
- ai-cannot-forget-forgive - почему забывание - неподходящий инструмент
- hippo-memory - конкретная библиотека, реализующая затухание и консолидацию