Агенты искусственного интеллекта полагаются на большие языковые модели (LLM) без сохранения состояния, из‑за чего у них ограниченный объём памяти. При заполнении хранилища могут возникать сбои — например, зависания или бессмысленные ответы. Решить проблему помогает внешнее хранилище — в частности, технология RAG (поисковое дополненное поколение).
Контекстное окно LLM служит кратковременной памятью: в нём обрабатывается информация, связанная с текущим разговором. Данные за пределами окна хранятся во внешнем хранилище RAG — это долговременная память. Максимальный размер контекстного окна зависит от модели ИИ: чем больше памяти выделено окну, тем больше информации может обработать модель.
Есть три типа RAG‑хранилищ. Все они ориентированы на операции чтения, а не записи — неограниченная запись в процедурную память может привести к ошибкам или нарушению намерений разработчиков.
Эпизодическая память хранит данные, сгенерированные LLM ранее: принятые моделью решения и их результаты. С её помощью модель может реконструировать прошлые процессы и использовать их как руководство для будущих действий.
Семантическая память содержит структурированные данные «о мире и самом агенте». Это может быть, например, хранилище значений ключей для пользовательских настроек или система векторного встраивания. Семантическая память позволяет агентам ИИ быстро искать и извлекать «мировые знания» в удобном формате. Её преимущество — контролируемость: в автономной версии данные не изменятся неожиданно, в отличие от внешних источников вроде Википедии.
Процедурная память служит для записи «мыслительных процессов» или процессов обучения. Она позволяет LLM воспроизводить отдельные этапы процесса, чтобы потом повторно их использовать — не нужно каждый раз заново открывать и воссоздавать шаги.
Универсального способа реализации RAG‑памяти нет. Уровень хранения обычно состоит из векторной базы данных, но многие современные базы данных уже поддерживают эту функцию. Место хранения может быть разным: например, служба, предоставляющая доступ к LLM, может интегрировать RAG на стороне сервера. В случае локально управляемого LLM сервисы RAG‑Storage могут работать параллельно в той же системе, что и модель, — но тогда системе понадобится больше локального дискового пространства и вычислительной мощности.
RAG‑хранилище требует специального обслуживания: у каждого агента и варианта использования свои требования к управлению. Например, старую информацию стоит периодически отсеивать или придавать меньший вес более новым и часто используемым данным. Несколько агентов могут совместно использовать одно хранилище RAG, но каждый должен работать в своём контексте, чтобы данные не конфликтовали. Есть и более сложный подход — создание общих многоагентных контекстов RAG, например с использованием платформы Microsoft AutoGen с открытым исходным кодом.
