Перейти к основному содержимому
Средний

Как на самом деле работает память агента

Задайте чат-боту один и тот же вопрос дважды в двух сессиях, и оба раза он ответит как незнакомец. Это не баг — это поведение по умолчанию. У «сырой» языковой модели нет памяти между вызовами. Всё, что она «помнит» внутри одного разговора, живёт в контекстном окне, и когда разговор заканчивается, это исчезает.

Память — это механизм, который вы к этому прикручиваете, чтобы исправить проблему: системы, которые решают, что агенту следует перенести дальше, где это хранить и как вытащить нужный фрагмент в нужный момент. В 2026 году это перестало быть побочным квестом и стало полноценной частью проектирования агентов — со своими бенчмарками, фреймворками и настоящей исследовательской литературой. Эта страница — карта.

What you'll learn
  • Понять, почему контекстное окно — это не память, и где на самом деле проходит граница
  • Различать четыре типа памяти, которые используют агенты: рабочую, эпизодическую, семантическую, процедурную
  • Сравнить четыре паттерна хранения: полный контекст, vector/RAG, граф знаний и компакцию/суммаризацию
  • Увидеть, как Claude, ChatGPT и Gemini реализуют память сегодня
  • Выбрать подход к памяти для собственного агента без избыточной инженерии

Одна мысль, за которую нужно держаться: контекст ≠ память

Самая распространённая путаница — считать большое контекстное окно «памятью». Это не так. Контекстное окно — это рабочее пространство для одного хода: оно заполняется с нуля при каждом вызове, оно конечно и оно дорогое. Внимание к тому же деградирует по всему окну (эффект «lost in the middle», рассмотренный в Инженерии контекста).

Память отличается тремя способами:

Контекстное окноПамять
Срок жизниОдин запросМежду сессиями, дни, вечно
РазмерФиксированный потолок в tokenФактически неограничен (внешнее хранилище)
СтоимостьОплачивается каждый ходОплачивается один раз при записи; дёшево ссылаться
ДоступВсё, всегда на видуИзбирательный — извлекается только релевантное

Вся суть памяти агента — перемещать нужную информацию между этими двумя: записывать долговечные факты наружу из окна, чтобы не платить за них каждый ход, и подтягивать их обратно внутрь только тогда, когда этот конкретный шаг в них нуждается. Наладьте этот поток правильно — и агент сможет работать неделями на контекстном окне, которое всегда держит лишь несколько тысяч релевантных token.

Четыре вида памяти

Заимствуя (вольно) из когнитивной науки, экосистема агентов 2026 года сошлась на четырёх категориях. Вам редко нужны все четыре — но их наименование удерживает вас от постройки одного «сгустка», который делает всё плохо.

Guided walkthrough1 of 4
  1. То, что находится в контекстном окне прямо сейчас — текущая задача, последние несколько ходов, результаты инструментов из этого шага. Изменчива по своей природе. Это черновик, а не архив. Управлять ею хорошо — это инженерия контекста; это не персистентность.

Полезный тест: если вы ответили бы «когда это произошло?» — это эпизодическая; если ответили бы «что истинно?» — это семантическая; если ответили бы «вот как» — это процедурная; а если это важно лишь на ближайшие несколько секунд, то это рабочая память, и её вообще не нужно сохранять.

Четыре паттерна хранения

Как только вы знаете, что запоминать, вы выбираете, как это хранить и извлекать. Существует четыре доминирующих паттерна, примерно в порядке возрастания сложности. Большинство реальных систем комбинируют два или три.

1. Полный контекст (запихнуть всё)

Хранить всю историю и пересылать её заново каждый ход. Нулевая инфраструктура, идеальная воспроизводимость — пока вы не упрётесь в потолок token, кривую стоимости или «lost in the middle». Годится для коротких ассистентов; тупик для чего угодно долгоживущего. Это базовая линия, которую улучшает каждый другой паттерн.

2. Vector / RAG-память

Записывать каждое воспоминание как embedding в векторную базу данных; во время запроса сделать embedding текущего хода и извлечь top-k наиболее похожих воспоминаний. Это retrieval-augmented generation, направленный на историю разговора вместо документов. Дёшево, масштабируемо и по умолчанию используется для семантической воспроизводимости фактов и предпочтений.

Его слабость: сходство ≠ релевантность для темпоральных или multi-hop вопросов. «Что мы решили после того, как урезали бюджет?» — это вопрос порядка, а косинусное сходство не имеет чувства времени или сцепления двух фактов вместе.

3. Память-граф знаний

Хранить воспоминания как сущности и отношения — узлы и рёбра, часто с метками времени на рёбрах. Чтобы ответить на вопрос, вы обходите граф, а не нечётко сопоставляете vector. Именно это делает multi-hop и темпоральные рассуждения решаемыми («кто заменил человека, владевшего аккаунтом, на который жаловался пользователь?»). Фреймворки вроде Zep/Graphiti построили весь свой посыл вокруг темпоральных графов знаний. Цена — настоящая инженерия: извлечение, разрешение сущностей и защита графа от «гниения».

4. Компакция и суммаризация

Периодически сжимать текущую историю в дистиллированное резюме и продолжать от него — обменивая дословную воспроизводимость на меньшее, более дешёвое окно. Именно это делает /compact в Claude Code, и именно это делает «авто-резюме» во многих чат-продуктах. Это самая дешёвая форма долговременной памяти и часто первая, которая вам действительно нужна. Её риск: резюме молча выбрасывает ту единственную деталь, которая вам была нужна. См. Долгоживущие агентные харнессы о том, как это проявляется на многочасовых прогонах.

Pro tip

Реальные системы наслаивают их. Распространённый стек 2026 года: компакция для текущего разговора, vector для семантических фактов и граф поверх — только когда темпоральные/multi-hop запросы действительно появляются в вашем трафике. Не стройте граф, пока не почувствуете боль, которую граф решает.

Как это делает большая тройка

Каждый крупный ассистент теперь поставляет какую-то память. Это не одно и то же, и различия имеют значение.

ПродуктЧто он помнитКак это работает (грубо)
ClaudeДва слоя: память на уровне приложения о ваших предпочтениях и обращённый к разработчикам memory tool для агентов.Память приложения Claude хранит факты между чатами; API memory tool плюс редактирование контекста позволяет агенту записывать заметки в клиентское хранилище и автоматически подчищать устаревшие результаты инструментов, чтобы пережить долгие прогоны.
ChatGPT«Сохранённые воспоминания» (явные факты) плюс отсылка к вашим прошлым чатам.Смесь заявленных пользователем фактов и автоматически извлечённых предпочтений, внедряемых в системный контекст на последующих ходах. Редактируется пользователем и включается/выключается.
GeminiПерсональный контекст, извлекаемый из ваших чатов и, опционально, из более широкой поверхности аккаунта Google.Воспроизводит детали из предыдущих разговоров и может персонализировать, используя контекст аккаунта, с учётом ваших настроек приватности.

Два вывода. Во-первых, потребительская память в основном семантическая — предпочтения и факты, — а не полное эпизодическое воспроизведение. Во-вторых, если вы строите агента, встроенная память продукта — это не ваша система памяти; вы владеете этим слоем, используя примитивы вроде memory tool от Claude или внешний фреймворк.

Превратить сырую модель в агента, ведущего заметки (самая дешёвая настоящая память)

You have a file called MEMORY.md that persists between our sessions.

At the END of each session, append any durable facts worth keeping:
- my stable preferences (tools, formats, style)
- decisions we made and WHY
- open threads to resume next time

At the START of each session, read MEMORY.md first and use it.
Keep it under 30 lines — when it grows past that, consolidate and
delete anything stale. Never store secrets or credentials.

Этот единственный паттерн — записывать долговечные заметки во внешний файл, читать их обратно в следующий раз — это 80/20 памяти агента. Большая часть фреймворковой машинерии ниже — это более автоматическая, более масштабируемая версия именно этого.

Измерение памяти: бенчмарк LoCoMo

Нельзя улучшить то, что нельзя измерить, а память было трудно измерить, пока не появились бенчмарки. Самый цитируемый — LoCoMo («Evaluating Very Long-Term Conversational Memory of LLM Agents»): очень длинные многосессионные разговоры — сотни ходов через десятки сессий — с парами вопрос-ответ пяти видов: single-hop, multi-hop (кросс-сессионные), темпоральное рассуждение, открытая область и адверсариальные.

Что LoCoMo раскрывает — это паттерн, вокруг которого нужно проектировать: системы справляются с single-hop фактологической воспроизводимостью и разваливаются на темпоральных и multi-hop вопросах. Именно этот режим отказа объясняет, зачем существует память-граф знаний — это паттерн, который сильнее всего поднимает эти две категории. Когда вы оцениваете память собственного агента, придавайте большой вес multi-hop и темпоральным случаям; single-hop воспроизводимость льстит почти всему.

Выбор подхода без избыточной постройки

Guided walkthrough1 of 5
  1. Не делайте ничего. Рабочей памяти (контекстного окна) достаточно. Добавление хранилища памяти здесь — чистые накладные расходы.

Ловушка — начинать с пятого шага. Граф-память впечатляет в демо и дорога в продакшене. Взбирайтесь по лестнице; остановитесь на первой ступени, которая решает вашу реальную проблему.

Check yourself

0/4
  1. Почему большое контекстное окно — это не то же самое, что память агента?
  2. Пользователь спрашивает: «Что мы решили сразу после того, как урезали бюджет?» Какой подход к памяти вероятнее всего ответит верно?
  3. Какая классификация верна для «пользователь предпочитает метрические единицы»?
  4. Вы строите короткого односессионного бота-помощника. Какой правильный дизайн памяти?
Словарь памяти агента
Нажмите Enter или пробел, чтобы перевернуть карточку. Используйте стрелки влево и вправо для перехода между карточками.Показан термин.
1 / 8

Итог

Память — это не одна функция, которую вы включаете, это поток, который вы проектируете: что покидает окно, где это хранится и как это возвращается. Назовите четыре типа памяти, чтобы не строить один «сгусток» для всех них. Начните с самого дешёвого паттерна хранения, который решает вашу проблему, и взбирайтесь выше только тогда, когда чувствуете боль следующего. И измеряйте с помощью темпоральных и multi-hop случаев, потому что single-hop воспроизводимость делает всё умнее, чем оно есть.

Память — это вторая половина Инженерии контекста: инженерия контекста решает, что заполняет окно в этот ход; память решает, что выживает между ходами. Вместе они — то, что отделяет чат-бота от агента, который становится лучше, чем дольше вы с ним работаете.

Источники и дополнительное чтение