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

GuDron

dumpz.ws
Admin
Регистрация
28 Янв 2020
Сообщения
11,140
Реакции
1,653
Credits
43,298
RAG против Агентов (RAGs vs Agents)
12121.jpg
Спросите 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, когда ответ находится внутри ваших документов.
• Используйте Агента, когда решение задачи требует действий в других системах.