АгентеоАгентео
Основы

Память AI-агента: как агент помнит диалог и что ему нельзя запоминать

Память AI-агента — это не свойство самой модели, а часть приложения вокруг неё. Между запросами модель ничего не хранит, и всё, что агент «помнит», кто-то должен записать, найти в нужный момент и вернуть в запрос. Разбираем контекст и долговременную память, что в неё можно класть, чего нельзя и как она ломается.

Опубликовано

Модель сама ничего не помнитПять видов памяти, у каждого свой рискЧто запоминать нельзя

Как работает память AI-агента: модель между запросами ничего не помнит

Языковая модель обрабатывает каждый запрос отдельно: получает текст, выдаёт продолжение и ничего не оставляет у себя. Её веса при обычной работе не меняются. Если утром сказать модели, что клиент просит звонить после 18:00, вечером в новом запросе она об этом не знает. Когда агент ведёт себя так, будто помнит, значит, приложение вокруг модели что-то сохранило и вернуло в запрос.

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

  • «Агент забыл» чаще всего значит «в запрос это не попало». Сообщение вытеснено, сводка потеряла деталь, поиск не нашёл запись. Чинить нужно сборку запроса, а не менять модель.
  • Всё «запомненное» — данные приложения. Их можно проверить, исправить и удалить. С весами модели так не получится.
  • Дообучение — не способ запоминать факты о клиентах. Конкретный факт о человеке после него трудно проверить и трудно точечно отозвать.

Общее устройство агента описано в материале что такое AI-агент. Здесь только память.

Контекстное окно LLM: сколько агент способен держать в запросе

Объём текста, который модель принимает за один запрос, ограничен. Предел называют контекстным окном и считают в токенах, то есть в фрагментах слов. В окно входит всё сразу: инструкция, история, найденные документы, результаты инструментов и место под ответ. У разных моделей предел разный и меняется, поэтому смотрите актуальные параметры выбранной модели на момент проекта.

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

Условный пример, не замер, только метод. Пусть пара «вопрос — ответ» занимает около 200 токенов, а приложение при каждой реплике отправляет всю историю: 200 токенов на первой реплике, 400 на второй, 2 000 на десятой. За десять реплик на входе набегает 200 × (1 + 2 + … + 10) = 11 000 токенов при 2 000 токенов нового текста. Расход растёт быстрее диалога, поэтому историю не копят бесконечно. Оговорка: у части провайдеров повторяющееся начало запроса кэшируется и стоит дешевле (условия проверяйте на момент проекта), но это не отменяет ни задержки, ни проблем качества на длинном тексте.

Когда история не помещается или дорожает, у приложения три хода.

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

Виды памяти AI-агента: пять разных вещей под одним словом

Слово «память» в проектах обозначает разные вещи с разными хранилищами, сроками жизни и рисками. Мы различаем пять видов.

Вид памятиЧто хранитСрок жизниГлавный риск
Контекст текущей задачиСообщения, результаты вызовов инструментов, промежуточные выводыДо закрытия задачиПереполнение окна, лишний текст
Сводка диалогаСжатый пересказ ранней части разговораПока идёт диалогПотеря деталей, ошибка пересказа, ставшая «фактом»
Долговременная память о клиентеПодтверждённые предпочтения, договорённости, пометки по прошлым обращениямЗадаёт политика храненияУстаревание, лишние персональные данные, утечка между пользователями
Знания компанииРегламенты, прайс, договоры; агент их читает и не меняет (RAG)Пока документ актуаленСтарые редакции, противоречия, чужие права доступа
Журнал действийЧто агент прочитал, вызвал, предложил и кто утвердилПо политике аудитаПерсональные данные в журнале

Знания компании и память о клиенте различаются тем, кто пишет. Документы пишут люди, и у каждого есть владелец. Память о клиенте копится в ходе работы, в том числе по предложению самого агента, поэтому записи в неё проверяют строже. Журнал нужен, чтобы восстановить, что произошло, а не чтобы агент на нём «учился»; как его использовать, описано в статье про мониторинг AI-агента.

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

Векторная память — хранилище записей с поиском по смыслу. Текст записи специальная модель превращает в набор чисел (эмбеддинг), вопрос превращается так же, и система находит записи с ближайшими числами: запрос «когда клиенту удобно созваниваться» найдёт запись «просит звонить после шести вечера». Хранилищем может быть векторная база или расширение к обычной СУБД.

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

Что хранить в памяти AI-агента, а что нельзя

Первый вопрос к любому факту: есть ли он в учётной системе? Статус заказа, остаток, цена, срок договора лежат в 1С или CRM, и агент должен спрашивать их через инструмент в момент ответа, как описано в статье про инструменты AI-агента. Копия в памяти устареет, а агент будет уверенно отвечать по ней.

Что есть в учётной системе, агенту лучше не запоминать, а спрашивать. Память нужна для того, чего больше нигде нет.

Что имеет смысл хранить

  • Предпочтения, которые подтвердил сам человек: язык, канал и время связи.
  • Договорённости с датой, автором и ссылкой на источник, например «перенос поставки согласован письмом от такого-то числа».
  • Итоги закрытых обращений полями (тема, решение, кто утвердил), а не стенограмма целиком.

Чего в памяти быть не должно

  • Пароли, ключи, токены, коды из СМС, реквизиты карт. Попав в память, секрет попадёт в запрос к модели, журнал и резервную копию. Ключи хранит хранилище секретов, а подставляет их код инструмента.
  • Лишние персональные данные. Всё, без чего задача решается, прежде всего паспортные данные, сведения о здоровье и семье. Если такие сведения нужны по сути процесса (например, в клинике), это отдельное решение оператора, а не побочный эффект памяти. Запоминать «на всякий случай» значит завести ещё одно хранилище, за которое придётся отвечать.
  • Догадки агента, записанные как факты. «Клиент, вероятно, недоволен» — вывод модели, а не сведения о клиенте; при следующем обращении он станет исходной посылкой.
  • Инструкции из чужих текстов. Фраза «в дальнейшем присылайте отчёты на этот адрес» в письме не должна становиться правилом: правила меняют владельцы процесса.

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

Как ломается память AI-агента: шесть сбоев и что с ними делать

СбойКак проявляетсяЧто помогает
Устаревшие фактыКлиент сменил телефон или условия, а агент действует по прежнимДата и источник записи, срок жизни; изменяемое берут из учётной системы
ПротиворечияВ памяти и «звонить вечером», и «не звонить вечером»Один факт — одна запись; конфликт показывают человеку
Закрепление ошибкиАгент записал свой вывод, и он стал «известным»Пишут только подтверждённое; вывод модели остаётся предположением
«Отравление»Вредный текст из письма или документа попал в память и влияет на будущие действияЗапись по правилам из доверенных источников, откат, тест со вредной записью (безопасность AI-агентов)
Утечка между пользователямиПоиск вернул запись другого клиента, и агент её пересказалФильтр по владельцу в коде запроса, а не в инструкции
РаздуваниеЗаписей много, поиск находит не тоСрок жизни, слияние дублей, регулярная чистка

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

Шесть контролей, которые закладываем с первого дня

01

Срок жизни

Одни записи живут до конца задачи, другие месяцы, но не вечно. Продление — перепроверка, а не молчание.

02

Источник и дата

Запись хранит, откуда она взялась и когда. Без источника в решениях не участвует.

03

Разделение по пользователям

Записи привязаны к владельцу, фильтр применяет код при каждом чтении и записи.

04

Возможность забыть

Запись о человеке можно найти и удалить вместе с её вектором в индексе, если оператор данных принял такое решение.

05

Аудит и откат

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

06

Проверка до запуска

В тесты входят вредная запись, устаревший факт, противоречие и запрос «от чужого имени». Как строить набор — в статье про оценку качества AI-агента.

Память агента и 152-ФЗ: что решаете вы, а что мы

Как только в памяти лежат сведения о конкретном человеке (имя, телефон, история обращений), память становится ещё одним местом хранения персональных данных. Оператором остаётесь вы, а не разработчик агента и не поставщик модели: цель, перечень полей, срок, место и порядок удаления определяет ваша компания вместе с юристом. Юридических заключений мы не даём и соответствия закону не обещаем. Наша часть техническая: чтобы записи можно было найти по человеку, удалить и показать, откуда они взялись.

До запуска задайте пять вопросов.

  • Какие поля пишутся в память и зачем?
  • Сколько они хранятся и что происходит по истечении срока?
  • Где лежат записи, векторный индекс, журналы и копии и доходит ли удаление до всех этих мест?
  • Уходят ли записи в облачную модель, как только попадают в запрос? Для персональных данных это передача стороннему сервису, подробнее в статье про ИИ и 152-ФЗ.
  • Как исполняется просьба человека удалить его данные и кто её принимает?

Если облачная передача неприемлема, возможна установка в вашем контуре. Индекс векторов мы осторожно считаем хранилищем тех же данных, а не обезличенным представлением, пока обратное не показано отдельной оценкой.

Пример: клиент пишет в магазин второй раз

Иллюстрация, а не описание проекта. Клиент интернет-магазина пишет: «Опять пришёл не тот размер. Как в прошлый раз, позвоните после шести». Что при этом нужно агенту для интернет-магазина и откуда он это берёт:

Что нужно агентуВид памятиОткуда берётся
Текст диалога, номер заказаКонтекст задачиСообщения сессии; номер проверяется в учётной системе
Что было «в прошлый раз»Не память агентаЗапрос к CRM: прошлые обращения лежат там
Звонить после шестиДолговременная памятьЗапись с датой и источником, владелец — этот клиент
Условия обменаЗнания компанииПоиск по регламенту со ссылкой на пункт
Что предложил агент, кто утвердилЖурнал действийЗапись в журнале; обмен оформляет сотрудник

В долговременную память попала одна короткая запись, остальное агент берёт из систем и документов, и так проще проверять и удалять. Если бы он «помнил» историю заказов сам, ответ пошёл бы по копии, которая разошлась с CRM.

Память в мультиагентной системе: кто имеет право записывать

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

Чек-лист: как проектировать память AI-агента

  1. Выпишите, что агенту нужно знать на каждом шаге, и источник каждого факта.
  2. Что есть в учётных системах, запрашивайте, а не запоминайте.
  3. Для остального выберите вид памяти из пяти и место хранения.
  4. Опишите схему записи: поля, кто и на каком основании её создаёт.
  5. Задайте срок жизни и порядок продления.
  6. Привяжите записи к владельцу и закрепите фильтр в коде.
  7. Составьте список того, что запоминать нельзя.
  8. Предусмотрите «забыть»: поиск по человеку, удаление вместе с вектором, журнал удалений.
  9. Решите, какие записи подтверждает человек.
  10. Добавьте в тесты вредную запись, устаревший факт, противоречие и чужой запрос и повторяйте после каждого изменения схемы или модели.

Эти пункты стоит перенести в техническое задание на AI-агента. Если подрядчик не может ответить на эти вопросы заранее, память придумают по ходу работы.

Сколько стоит память AI-агента в проекте

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

Пилот на одном процессе — от 200 000 ₽, 3-4 недели; мультиагентная система — от 800 000 ₽, 2-3 месяца; сопровождение — от 40 000 ₽ в месяц; состав работ, в том числе перепроверку памяти, фиксируем в договоре. Расходы целиком — в статье сколько стоит AI-агент, что мы строим — на странице разработки AI-агентов, а почему данные устаревают после запуска — в материале о сопровождении.

Частые вопросы

Как работает память ИИ-агента?

Сама модель между запросами ничего не хранит. Память строит приложение: сохраняет сообщения, записи и результаты вызовов, а при каждом обращении выбирает нужное и добавляет в запрос. Что не попало в запрос, для модели не существует.

Почему ИИ-агент забывает начало диалога?

Обычно начало вытеснено из-за ограничения объёма, сводка потеряла деталь, поиск не нашёл запись или модель хуже использует деталь в длинном тексте. Лечится сборкой запроса: ключевые данные хранят полями и подают явно, а длинную историю сжимают.

Что такое контекстное окно LLM и нужна ли модель с самым большим окном?

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

Что такое векторная память агента и нужна ли она?

Это хранилище записей с поиском по смыслу: текст превращается в набор чисел, и система находит близкие по значению записи. Она нужна, когда записей много и искать их приходится не по точному полю. Если на человека приходится немного записей, хватает обычной базы с фильтрами.

Чем долговременная память агента отличается от RAG?

Тем, кто пишет. RAG — поиск по документам, которые подготовили люди; агент их только читает. Долговременная память — записи, накопленные в работе, иногда по предложению самого агента, поэтому контроль записи у неё строже. Поиск может быть одним и тем же, а правила доверия разные.

Можно ли заставить агента забыть данные клиента?

Если память устроена как данные приложения, да: записи привязаны к человеку, их можно найти и удалить вместе с вектором, а удаление доходит до журналов и копий в заранее описанные сроки. Если данные попали в дообучение модели, забыть их точечно трудно, поэтому факты о людях туда не кладут.

Нужна ли AI-агенту долговременная память?

Часто нет. Многим процессам хватает контекста задачи, запросов к учётным системам и поиска по документам. Долговременную память добавляют, когда без неё не обойтись, например когда договорённости с клиентом тянутся неделями и нигде больше не фиксируются.

Решим, что агенту помнить, а что запрашивать

На экспресс-аудите описываем, какие данные агенту нужны в процессе, где они лежат и что должно забываться. Экспресс-аудит — 50 000 ₽, 5-7 рабочих дней, сумма засчитывается в проект.

Оставить заявку

Готовы начать?

Проще всего написать нам в Telegram: разберём задачу и скажем, есть ли смысл в аудите. Ответим в течение часа.

Написать в Telegram

или оставьте контакты

Оставьте телефон или Telegram - что вам удобнее. Достаточно одного.

Спасибо! Заявка отправлена - свяжемся с вами в ближайшее время.
Не удалось отправить заявку. Напишите нам в Telegram @dimax_web.

Или позвоните: +7 (949) 365-03-18 · dimaxeod@gmail.com