Перейти к основному содержанию
Что такое RAG и как технология повышает эффективность ИИ-агентов

Что такое RAG и как технология повышает эффективность ИИ-агентов

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

Что такое RAG и как технология повышает эффективность ИИ-агентов

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

Одним из наиболее эффективных подходов считается технология Retrieval-Augmented Generation (RAG), которая переносит долговременную память за пределы самой языковой модели и предоставляет необходимые данные по запросу.

Как работает RAG

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

Размер контекстного окна зависит от конкретной модели. Чем он больше, тем больший объем данных может анализировать модель одновременно и тем более сложный диалог способна поддерживать.

Идея RAG заключается в разделении памяти на два уровня:

  • контекстное окно используется как кратковременная память для текущей задачи;
  • внешнее хранилище RAG выполняет роль долговременной памяти и предоставляет информацию по мере необходимости.

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

Три типа памяти в RAG

Авторы исследования Cognitive Architectures for Language Agents, опубликованного в 2024 году, выделяют три основных вида долговременной памяти, используемых в архитектурах RAG.

Эпизодическая память

Эпизодическая память хранит информацию о предыдущих действиях модели, принятых решениях и их результатах.

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

Семантическая память

Семантическая память содержит структурированные сведения об окружающем мире и самом агенте.

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

Главная задача такого хранилища — предоставить модели быстрый доступ к необходимым фактам в удобном для обработки формате.

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

Процедурная память

Процедурная память отвечает за хранение последовательностей действий и алгоритмов выполнения задач.

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

Это дает возможность многократно использовать уже сформированные алгоритмы.

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

Как реализуется RAG

Хотя сама концепция RAG стала стандартным подходом при разработке ИИ-агентов, единого способа реализации технологии не существует.

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

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

Долговременная память требует обслуживания

Внешнее хранилище RAG также нуждается в регулярном сопровождении.

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

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

Для построения более сложных систем с общей памятью для нескольких агентов могут использоваться специализированные платформы, например Microsoft AutoGen, позволяющие организовать совместную работу нескольких ИИ-агентов с использованием общего хранилища RAG.