Разработка
April 18

Память для ИИ-агентов: как научить нейросеть помнить

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


Зачем агенту память?

Память позволяет агенту:

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

Без памяти даже самый продвинутый ИИ-агент останется «одноразовым инструментом».


Основные подходы к организации памяти

1. Заполнение слотов (Slot Filling)

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

  • NER (Named Entity Recognition): извлечение именованных сущностей (даты, имена, локации) из текста.
  • Классификаторы: автоматическое определение категории запроса (например, «бронирование отеля» → слоты: город, дата, бюджет).

Используется в чат-ботах с чёткими сценариями (техподдержка, бронирование).

2. Очень длинный контекст БЯМ

Современные большие языковые модели (БЯМ) вроде GPT-4 или Claude 3 могут обрабатывать до 1 млн токенов, сохраняя связность текста. Это позволяет «запихнуть» всю историю диалога в промпт.

Минусы:

  • Высокая стоимость вычислений.
  • Риск «перегрузки» модели лишней информацией.

3. RAG (Retrieval-Augmented Generation)

Подход, в котором агент ищет релевантные данные в своей базе знаний перед генерацией ответа.

3.1 Чанкинг (Chunking)

Как правильно разбивать тексты — отдельная наука. Без чанкинга поиск в базе знаний превращается в лотерею.

3.2 Очистка данных

Удаление «мусора»:

  • Повторы, опечатки, нерелевантные фрагменты (например, рекламные вставки в статьях).
  • Полное игнорирование смолтолка (smalltalk).
  • Сокращение «водянистого» текста до ключевых тезисов.

4. Суммаризация (Summarization)

Периодическое сжатие диалога или документа в краткий конспект. Например:

  • После 10 сообщений в чате агент генерирует саммари и сохраняет его в память.
  • Раз в день агент создаёт отчёт о взаимодействиях с пользователем.

5. Структурированный вывод + вызов функций (Structured Output + Function Calling)

Агент сохраняет данные в формате JSON или через API:

  • Запись встречи в календарь → структура {«event»: «совещание», «time»: «2024-05-20 14:00»}.
  • Интеграция с внешними БД (например, обновление профиля пользователя в CRM).

6. Гибридные подходы

6.1 Графовая память

Представление знаний в виде узлов (сущности) и рёбер (связи). Например:

  • «Иван → друг → Мария»;
  • «Python → используется для → ML».

Позволяет строить ассоциативные цепочки, но требует сложной логики обновления графа.

6.2 АГ-память (Ассоциативно-гетерархическая)

Расширение графовой памяти до гиперграфов, когда связи могут включать не только пары узлов, но и целые подграфы. Позволяет:

  • Создавать самореферентные структуры («эта заметка ссылается на саму себя в разделе 2.3»).
  • Автоматически перестраивать иерархию данных.

Об АГ-памяти мы подробно поговорим в отдельной статье — это тема для глубокого анализа.


Экзотика: Tree-of-Thoughts и Graph-of-Thoughts

Расширения классического CoT (Chain-of-Thought) — подходы, в которых агент планирует действия через древовидные или графовые структуры. Например:

  • ToT (Tree-of-Thoughts): генерация нескольких «мыслей», их оценка и выбор оптимальной ветки.
  • GoT (Graph-of-Thoughts): создание динамических связей между идеями.

Эти методы требуют продвинутого Function Calling (например, вызов алгоритмов поиска по графу) и пока остаются нишевыми.


Практика: как это работает у меня

В своих ассистентах я внедрял память ещё до эры ChatGPT:

  • 2019: модуль для DialogFlow, в котором агент запоминал контекст диалога через именованные сущности и внешнюю БД в виде списка пар (id, value).
  • С 2022: гибрид RAG + графовая память в текущих персональных помощниках и прочих агентах.

Как и OpenAI с их «Memory», все рано или поздно приходят к необходимости хранить данные между диалоговыми сессиями.


Заключение

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

  • Для FAQ-бота хватит заполнения слотов.
  • Для персонального ассистента нужен гибрид RAG + графовая память.

Что дальше? В следующих статьях разберём:

  • Как работает АГ-память.
  • Почему Tree-of-Thoughts и Graph-of-Thoughts — это не магия, а строгая математика.

Подписывайтесь на блог и Telegram-канал «Технооптимисты» (https://t.me/drv_official) — следите за тем, как эволюционируют ИИ-агенты!