RAG против Агентов (RAGs vs Agents)

Спросите LLM (большую языковую модель) о данных вашей компании, и она начнет гадать. Два паттерна, которые исправляют это - RAG и агенты, и они решают разные задачи.
RAG (Поисково-ориентированная генерация)
RAG объединяет LLM с поиском информации, чтобы обосновать ответы фактами. Этот процесс состоит из 4 шагов:
• Шаг 1: Запрос пользователя (User Query) векторизуется и отправляется на этап поиска (Retrieval).
• Шаг 2: Компонент поиска извлекает наиболее релевантные фрагменты из базы знаний (Knowledge Base: PDF-файлы, вики-страницы и т.д.).
• Шаг 3: Эти фрагменты вставляются в промпт в качестве контекста.
• Шаг 4: LLM пишет ответ, опираясь на извлеченный текст (Answer grounded).
Особенности: Один поиск. Одна генерация. Дешево, предсказуемо и легко поддается отладке.
Агенты (Agents)
Агенты оборачивают LLM в цикл рассуждений с набором инструментов (Tools) для выполнения конкретных действий.
• Шаг 1: Запрос пользователя поступает в среду выполнения агента (Agent runtime) — цикл рассуждений вокруг LLM.
• Шаг 2: LLM анализирует цель и выбирает нужный инструмент (Чтение, Запись, Редактирование, Bash и т.д.).
• Шаг 3: Среда выполнения (runtime) запускает инструмент и передает результат обратно в LLM.
• Шаг 4: LLM снова проводит рассуждения, выбирает следующий инструмент и повторяет этот цикл, пока задача не будет выполнена.
Особенности: Более гибко. Расходует больше токенов. Сложнее отлаживать, так как ошибки накапливаются от шага к шагу.
Главное эмпирическое правило (из центральной части картинки):
• Используйте RAG, когда ответ находится внутри ваших документов.
• Используйте Агента, когда решение задачи требует действий в других системах.

Спросите LLM (большую языковую модель) о данных вашей компании, и она начнет гадать. Два паттерна, которые исправляют это - RAG и агенты, и они решают разные задачи.
RAG (Поисково-ориентированная генерация)
RAG объединяет LLM с поиском информации, чтобы обосновать ответы фактами. Этот процесс состоит из 4 шагов:
• Шаг 1: Запрос пользователя (User Query) векторизуется и отправляется на этап поиска (Retrieval).
• Шаг 2: Компонент поиска извлекает наиболее релевантные фрагменты из базы знаний (Knowledge Base: PDF-файлы, вики-страницы и т.д.).
• Шаг 3: Эти фрагменты вставляются в промпт в качестве контекста.
• Шаг 4: LLM пишет ответ, опираясь на извлеченный текст (Answer grounded).
Особенности: Один поиск. Одна генерация. Дешево, предсказуемо и легко поддается отладке.
Агенты (Agents)
Агенты оборачивают LLM в цикл рассуждений с набором инструментов (Tools) для выполнения конкретных действий.
• Шаг 1: Запрос пользователя поступает в среду выполнения агента (Agent runtime) — цикл рассуждений вокруг LLM.
• Шаг 2: LLM анализирует цель и выбирает нужный инструмент (Чтение, Запись, Редактирование, Bash и т.д.).
• Шаг 3: Среда выполнения (runtime) запускает инструмент и передает результат обратно в LLM.
• Шаг 4: LLM снова проводит рассуждения, выбирает следующий инструмент и повторяет этот цикл, пока задача не будет выполнена.
Особенности: Более гибко. Расходует больше токенов. Сложнее отлаживать, так как ошибки накапливаются от шага к шагу.
Главное эмпирическое правило (из центральной части картинки):
• Используйте RAG, когда ответ находится внутри ваших документов.
• Используйте Агента, когда решение задачи требует действий в других системах.