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

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

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

Память — это механизм, который вы к этому прикручиваете, чтобы исправить проблему: системы, которые решают, что агенту следует перенести дальше, где это хранить и как вытащить нужный фрагмент в нужный момент. В 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 воспроизводимость делает всё умнее, чем оно есть.

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

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