Дата публикации
ai_products

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 выглядит так:

  1. Разбиение корпуса. Большой набор данных (в примере — до 100 документов) режут на более мелкие документы.
  2. Создание документ-агентов. Для каждого документа создают отдельного агента:
    • у него есть доступ к векторному поиску по своему документу;
    • он умеет суммировать найденные фрагменты;
    • он не имеет права отвечать «из головы» — только через инструменты.
  3. Мета-агент сверху. Над всеми документ-агентами появляется один «оркестратор»:
    • он решает, к каким агентам и инструментам обратиться;
    • запускает цепочку рассуждений (Chain-of-Thought);
    • собирает ответы и формирует финальный ответ пользователю.
  4. Rerank-слой. Отдельный endpoint Rerank вычисляет релевантность каждого документа к запросу и отдаёт отсортированный список — от самого релевантного к наименее полезному.
  5. 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% к точности ответа», их тут нет — придётся тестировать на своих данных.

Agentic RAG с LlamaIndex: как раздать документы «агентам» и не утонуть в своём же векторном поиске — VogueTech | VogueTech