Память AI-агентов в 2026: working memory, semantic memory, episodic memory и procedural memory. Как отличать conversation state от настоящей памяти и как строить memory layer без хаоса.
Память агента в 2026 уже нельзя описывать только как “контекстное окно + векторная база”. У production-агента обычно есть несколько разных memory layers, и они решают разные задачи:
держать текущий thread state;
помнить факты о пользователе или домене;
извлекать уроки из прошлых запусков;
сохранять правила поведения и policy-предпочтения.
Главная путаница возникает, когда все эти вещи называют одним словом memory. На практике это разные слои с разной стоимостью, latency и степенью риска.
Удобно представить агента как сотрудника с четырьмя источниками памяти. У него есть рабочая память “что происходит прямо сейчас”, блокнот с фактами о клиенте, журнал прошлых кейсов и набор внутренних правил. Если смешать всё в одну кучу, агент либо забывает важное, либо тащит в каждый запрос слишком много мусора.
Conversation state не равен настоящей памяти. То, что API или framework умеет продолжать диалог между вызовами, ещё не означает, что агент умеет надёжно помнить факты, извлекать опыт и обновлять знания между сессиями.
Working memory: текущий диалог, tool results, промежуточный state.
Semantic memory: факты, предпочтения, знания о пользователе и мире.
Episodic memory: прошлые шаги, ошибки, решения и outcome'ы.
Procedural memory: устойчивые правила поведения, prompt policies, playbooks.
Соответствие со старой схемой:
краткосрочная память ≈ working memory;
долгосрочная память распадается на semantic + episodic + иногда procedural.
ПромптAgent with memory
Чем отличается conversation state от semantic memory?
Ответ модели
Conversation state хранит текущий поток общения и помогает модели не потерять нить диалога. Semantic memory хранит факты, которые стоит вспоминать и через час, и через неделю: имя клиента, предпочтения, статус проекта, внутренние правила домена.
Без нормальной memory architecture
Агент тащит весь диалог в каждый запрос, забывает важные факты между сессиями, повторяет старые ошибки и смешивает пользовательские предпочтения с временными заметками.
С нормальной memory architecture
Текущий thread state хранится отдельно, факты лежат в semantic store, опыт прошлых запусков — в episodic store, а policy-правила обновляются как procedural memory.
Сначала проектируйте не “общую память”, а конкретные memory jobs: что нужно помнить только в рамках текущего run, что между сессиями, что для персонализации, а что для улучшения поведения агента.
Это современная версия того, что раньше часто называли просто “краткосрочной памятью”.
Важно понимать две вещи:
Working memory ограничена context window
Даже если окно у современных моделей уже измеряется сотнями тысяч токенов и иногда доходит до 1M+, оно всё равно остаётся ограниченным ресурсом.
Provider-managed state не отменяет budget management
OpenAI Responses API и Conversations API умеют вести conversation state, но это не освобождает от необходимости следить за ростом контекста, summary, retrieval quality и token economics.
Anthropic в docs прямо называет context window “working memory” модели и отдельно подчёркивает, что для длинных разговоров нужен осознанный token management, а не надежда на бесконечную память.
Episodic memory — это не просто “история чата”, а память о прошлых действиях:
какие шаги агент предпринимал;
какие tools вызывал;
где ошибался;
что сработало;
какой был итог.
Этот слой особенно полезен для:
coding agents;
research agents;
customer-support workflow;
backoffice automation;
QA и повторяемых операционных задач.
Именно episodic memory помогает агенту не только помнить факты, но и учиться на паттернах действий.
Если semantic memory отвечает на вопрос “что правда о мире и пользователе?”, то episodic memory отвечает на вопрос “что уже происходило и что из этого мы вынесли?”.
prompt instructions, которые надо улучшать со временем;
learned operating preferences команды.
LangMem в 2026 прямо выделяет такой слой как отдельный класс памяти. Это полезная рамка, потому что многие команды ошибочно складывают policy-знания либо в system prompt, либо в semantic memory, хотя по смыслу это не “факт о пользователе”, а правило поведения агента.
Примеры procedural memory:
“всегда проверяй наличие approval перед refund”;
“ответы для этого клиента должны быть краткими и табличными”;
“при CSV с cp1251 сначала пробуй fallback encoding strategy”.
У OpenAI сейчас есть явный conversation state слой через Responses API и Conversations API. Это удобно для multi-turn flows, но важно не перепутать его с durable memory.
Разница такая:
Слой
Что делает
Conversation state
Продолжает текущий диалог и держит thread continuity
Working memory summary
Сжимает активный контекст под budget
Semantic memory
Хранит факты между сессиями
Episodic memory
Хранит прошлые runs и outcomes
Procedural memory
Хранит evolving rules поведения
Если у вас есть только conversation state, агент будет помнить недавний разговор, но:
не построит персонализацию между потоками;
не будет учиться на прошлых ошибках;
не сохранит domain facts в управляемом виде;
не сможет cleanly забывать или обновлять отдельные типы памяти.
Для текущего thread state OpenAI удобно использовать chaining через previous_response_id или Conversations API, а не вручную тащить каждый предыдущий turn в новый запрос.
from openai import OpenAI
client = OpenAI()
response_1 = client.responses.create(
model="gpt-5.4",
input="Пользователь готовит запуск продукта Альфа в апреле. Запомни это в рамках текущего диалога.",
)
response_2 = client.responses.create(
model="gpt-5.4",
previous_response_id=response_1.id,
input="Сделай план на следующую неделю с учётом этого контекста.",
)
print(response_2.output_text)
Это удобно для thread continuity, но само по себе ещё не создаёт durable semantic memory между независимыми потоками.
Такой подход ближе к тому, как memory systems сегодня реально строят в LangGraph / LangMem style workflows.
ПромптMemory architecture reviewer
У нас support-агент. Что хранить как semantic memory, а что как episodic?
Ответ модели
Semantic memory: язык клиента, продукт, SLA, предпочтительный формат ответа, статус аккаунта. Episodic memory: какие шаги уже пробовали, где был fail, какие статьи помогли, был ли handoff на оператора и чем закончился кейс.