- Дата публикации
Agentic RAG с LlamaIndex: как раздать документы «агентам» и не утонуть в своём же векторном поиске
Что появилось / что изменилось
LlamaIndex на своём примере показывает архитектуру Agentic RAG — когда поверх обычного RAG-пайплайна добавляют много агентов и один мета-агент.
Конкретно в демонстрации из блога:
- используется корпус до 100 документов;
- каждый документ превращается в отдельного «документ-агента»;
- над ними работает один верхнеуровневый мета-агент;
- поиск по документам идёт через эмбеддинги и отдельный endpoint Rerank, который присваивает каждому документу релевантность к запросу и сортирует их по убыванию;
- для примера используется Colab-ноутбук с полностью рабочим кодом;
- нужны два ключа: OpenAI API и Cohere API (переменные окружения
OPENAI_API_KEYиCOHERE_API_KEY).
Система задаёт разные системные промпты для двух уровней:
- документ-агент: «Ты отвечаешь только по конкретному
{file_base}.htmlиз документации LlamaIndex и обязательно используешь инструменты, не полагаешься на память»; - мета-агент: «Ты отвечаешь по всей документации и тоже обязан пользоваться инструментами».
В примере запрос к системе: «Tell me about LlamaIndex connectors». Агент последовательно вызывает два разных инструмента, анализирует наблюдения и только потом формирует финальный ответ о коннекторах LlamaIndex.
Как это работает
Архитектура Agentic RAG в версии LlamaIndex выглядит так:
- Разбиение корпуса. Большой набор данных (в примере — до 100 документов) режут на более мелкие документы.
- Создание документ-агентов. Для каждого документа создают отдельного агента:
- у него есть доступ к векторному поиску по своему документу;
- он умеет суммировать найденные фрагменты;
- он не имеет права отвечать «из головы» — только через инструменты.
- Мета-агент сверху. Над всеми документ-агентами появляется один «оркестратор»:
- он решает, к каким агентам и инструментам обратиться;
- запускает цепочку рассуждений (Chain-of-Thought);
- собирает ответы и формирует финальный ответ пользователю.
- Rerank-слой. Отдельный endpoint
Rerankвычисляет релевантность каждого документа к запросу и отдаёт отсортированный список — от самого релевантного к наименее полезному. - Agentic loop. Для каждого запроса система может несколько раз:
- выбрать документы;
- опросить соответствующие документ-агенты;
- пересобрать и пересуммировать ответы;
- при необходимости повторить цикл.
Под капотом это всё — обычные вызовы API (OpenAI + Cohere) плюс инструменты LlamaIndex: векторный поиск, индексирование и ранжирование.
Что это значит для вас
Если вы уже делаете RAG-проекты на LlamaIndex, Agentic RAG даёт несколько практических плюсов:
- Масштабирование по документам. Вы можете добавлять новые документы партиями и просто создавать для них новых документ-агентов. Логика мета-агента не меняется.
- Лучший контроль над источниками. Каждый агент «знает» только свой документ. Это удобно, если нужно чётко понимать, откуда взялась конкретная часть ответа.
- Более осмысленный поиск. Мета-агент может сначала проверить один инструмент, увидеть, что там нужной информации нет, и сознательно переключиться на другой. В демонстрации с «LlamaIndex connectors» он именно так и делает.
Где это полезно:
- документация продукта (как у самого LlamaIndex);
- большие корпоративные базы знаний, разбитые по отделам или системам;
- юридические и нормативные базы, где важен чёткий источник каждого фрагмента.
Где подход может быть избыточен:
- маленькие проекты с десятком файлов — один простой RAG-индекс будет проще и дешевле;
- сценарии, где важна максимальная скорость, а не аккуратная оркестрация агентов. Каждый дополнительный агент и вызов инструмента — это лишние токены и задержка.
Ограничения для России:
- OpenAI официально недоступен из РФ без VPN и обходных платёжных схем;
- Cohere также может потребовать VPN и зарубежный способ оплаты;
- Colab-ноутбук сам по себе доступен, но без ключей вы не запустите пример.
Если вы разрабатываете под российскую инфраструктуру, придётся адаптировать архитектуру под локальные LLM и векторные движки, а от оригинального примера взять только идею многоагентной схемы.
Место на рынке
LlamaIndex в этом кейсе не предлагает новую модель, а показывает архитектуру поверх любых LLM, совместимых с их инструментами. Сравнивать тут логичнее не «кто умнее», а «кто даёт удобную многоагентную обвязку».
По сравнению с:
- LangChain — у LangChain тоже есть агенты и инструменты. Подход LlamaIndex фокусируется на связке «индексы + агенты» и отдельно подчёркивает много-документную схему с мета-агентом. Цифровых бенчмарков в посте нет.
- Haystack — в Haystack можно собрать сложный пайплайн поиска и генерации, но многоагентная оркестрация не так явно оформлена. Снова, никаких числовых сравнений LlamaIndex не приводит.
- Встроенные RAG-решения в GPT-4o или Claude 3 — у них есть собственные инструменты поиска по файлам, но архитектуру с документ-агентами и отдельным мета-агентом вам придётся строить самим. Пост LlamaIndex фактически даёт готовый референс.
Важно: в блоге нет ни одного числа про скорость, стоимость токена или сравнение качества с «голым» RAG. Это именно архитектурный пример, а не научный бенчмарк. Если вы ждёте гарантии «+30% к точности ответа», их тут нет — придётся тестировать на своих данных.