LLM + RAG + Function Calling — это не ИИ-агент
Многие называют любое приложение, использующее LLM, RAG и function calling, ИИ-агентом.
Это неверно.
Эти инструменты расширяют возможности. Они не добавляют автономности. Без автономности у вас нет агента.
Путаница возникает из-за того, что люди смешивают возможности системы с поведением системы.
Рассмотрим роли этих компонентов:
- LLM генерируют ответы на основе контекста. Они не управляют потоком системы.
- RAG извлекает релевантные данные. Он предоставляет контекст, но не принимает решения и не планирует шаги.
- Function calling позволяет LLM запрашивать действия. Система по-прежнему сама решает, какие функции существуют и когда их запускать.
Даже если объединить все три компонента, системе всё равно не хватает контроля над потоком выполнения.
В большинстве случаев приложение следует предопределенному конвейеру (pipeline). Код решает:
- Когда использовать RAG.
- Когда вызывать LLM.
- Когда запускать функцию.
- Как вернуть ответ.
Это ограниченный рабочий процесс. Модель следует заданному пути, а затем останавливается. Она не планирует и не итерирует самостоятельно.
ИИ-агент работает иначе. Он не следует фиксированной последовательности. Он определяет свой следующий шаг на основе того, что происходит в процессе.
Разница проста:
- Неагентная система следует рабочему процессу.
- Агентная система преследует цель.
Агент определяется поведением, а не инструментами. Агент должен уметь:
- Выбирать следующее действие.
- Динамически выбирать инструменты.
- Выполнять несколько шагов в цикле.
- Менять свой план на основе новых результатов.
- Работать до тех пор, пока не достигнет цели.
Подумайте об ответственности.
В приложении на базе LLM система говорит модели, что делать.
В агенте система ставит перед моделью цель. Модель сама решает, как её достичь.
RAG улучшает контекст. Function calling позволяет совершать действия. LLM обеспечивают рассуждение. Ни один из этих компонентов сам по себе не создает агента.
Агент существует только тогда, когда модель контролирует собственную последовательность действий.
Источник: https://dev.to/rohith_kn/llm-rag-function-calling-is-not-an-ai-agent-5459
