Itinai.com it company office background blured photography by 9691e87f f228 4a59 b0d8 fbfbf8ecaad9 3

Как избавиться от проблем с памятью агента: 7 проверенных типов

Itinai.com it company office background blured photography by 9691e87f f228 4a59 b0d8 fbfbf8ecaad9 3

Почему память важна для агентов

Большие языковые модели по умолчанию stateless — каждый вызов API начинается с чистого листа, и модель забывает ваш последний запрос, как только ответ вернётся. Это удобно для одноразовых вопросов, но ломается, когда вы пытаетесь построить полноценного агента.

Агенты планируют, вызывают инструменты и работают в несколько шагов. Чтобы это было возможно, им нужна память. Память превращает безграничный LLM в систему, способную сохранять контекст, учиться на опыте и действовать со временем.

Что такое память агента

Память — любой механизм, который переносит информацию через этапы рассуждения модели. Часть её хранится внутри окна контекста, часть — во внешних базах данных или в самих весах модели. Каждый тип хранит разный класс информации и рассчитан на разный срок.

Память различается по форме (параметрическая — в весах, непараметрическая — в виде текста) и по времени (короткосрочная и долгосрочная). Ниже представлены семь основных типов памяти, расположенных на этих осях.

Семь типов памяти агента

  • 1. Рабочая (In‑Context) память — короткосрочная: всё, что модель видит в текущем окне контекста — системный промпт, последние сообщения, выводы инструментов, шаги рассудка. Это RAM: быстро, но ограниченно.
  • 2. Семантическая память — долгосрочная: постоянное хранилище фактов, предпочтений и доменных знаний (например, «пользователь предпочитает Python вместо JavaScript»). Хранится отдельно от момента обучения.
  • 3. Эпизодическая память — долгосрочная: журнал конкретных прошлых событий, полных диалогов и запусков задач. Позволяет агенту учиться на прошедших ошибках и успехах (Reflexion, ExpeL).
  • 4. Процедурная память — долгосрочная: знания о том, как что‑то делается — навыки, шаблоны использования инструментов, типовые рабочие процессы. Агент повторно использует уже выученную процедуру вместо пересчёта.
  • 5. Внешняя/поисковая память — коротко‑ и долгосрочная: данные хранятся вне модели в векторных БД и подбираются в контекст во время инференса через similarity‑search (RAG).
  • 6. Параметрическая память — долгосрочная: знания, запечённые в весах модели во время предобучения (язык, общее мировоззрение, базовые паттерны рассуждения). Заморожено после обучения.
  • 7. Проективная память — коротко‑ и долгосрочная: способность помнить будущие намерения и запланированные цели. Хранит то, что агент планировал, но ещё не выполнил.

Сравнительная таблица

Тип памяти Временной масштаб Где хранится Что хранит Типичная реализация
Рабочая / In‑Context Краткосрочный Окно контекста Промпт, сообщения, выводы инструментов Нативно в LLM
Семантическая Долгосрочный Внешнее хранилище Факты, предпочтения, доменные знания Векторная БД или профильная схема
Эпизодическая Долгосрочный Внешнее хранилище Прошлые события, диалоги, результаты задач Векторная БД + журналы
Процедурная Долгосрочный Промпт или веса Навыки, рабочие потоки, правила поведения Системный промпт или fine‑tune
Внешняя / Retrieval Оба Векторная БД Документы, фрагменты истории RAG‑pipeline
Параметрическая Долгосрочный Веса модели Общее знание мира, язык, рассуждения Предобучение / fine‑tune
Проективная Оба Хранилище состояния Будущие намерения, запланированные цели Очередь задач или планировщик

Как применять различные типы памяти

Для большинства практических задач достаточно комбинировать три слоя:

  • Рабочая память — держит текущий контекст и результаты промежуточных вызовов.
  • Семантическая + Эпизодическая — сохраняет пользовательские предпочтения и историю взаимодействий, чтобы агент мог «помнить» о вас между сессиями.
  • Процедурная память — хранит готовые шаблоны действий (например, процесс бронирования билета), что экономит токены и ускоряет ответ.

Если требуется доступ к актуальной информации (цены, расписание, новости), подключаем внешнюю/поисковую память через RAG. Для долгосрочных «записей» о мире, которые меняются редко, полагаемся на параметрическую память.

Рекомендации по реализации

  • Используйте FAISS или Milvus для векторных поисков (внешняя память).
  • Храните семантические профили в простой NoSQL‑БД (MongoDB, DynamoDB) — быстрый доступ по ключу.
  • Эпизодическую историю удобно сохранять в виде JSON‑логов в S3/Blob Storage, а затем индексировать в той же векторной БД.
  • Процедурные навыки реализуйте как последовательность «tool calls» в системном промпте или в виде небольших функций, вызываемых из кода агента.
  • Для проективной памяти заведите отдельную таблицу задач с полем due_at и интегрируйте её в планировщик (Celery, Airflow).

Заключение

Без продуманного слоя памяти любой LLM‑агент будет вести себя как забывчивый помощник. Выбирая подходящие типы памяти и сочетая их правильно, вы превращаете статичную модель в адаптивную систему, способную учиться, планировать и выполнять задачи в длительной перспективе.

Запустите свой ИИ проект бесплатно

ИИ-агенты искусственный интеллект онлайн для бизнеса

Лучший ИИ онлайн