Содержание
1. Зачем LLM-модели нужны инструменты
2. Инструмент - это программная функция
Инструменты AI-агента, или tools, - одна из важных тем для того, чтобы разобраться, как делать автоматизацию с помощью LLM-моделей. Это вводное теоретическое видео: посмотрим, что такое инструменты и зачем они нужны AI-агенту.
Зачем LLM-модели нужны инструменты
Когда LLM-модели задают вопрос, например «назови столицу Франции», она смотрит по своей базе знаний - по тем данным, на которых её обучали. Если данных достаточно, модель отвечает.
Но бывает так, что на какие-то вопросы у модели нет ответов. Например, это вопросы, которые относятся к специфике вашего проекта: что хранится у вас в базе данных и так далее. Об этих деталях модель не знает, и чтобы ей об этом сообщить, существует возможность использовать инструменты, или tools.
Инструменты - это возможность добавить LLM-модели новые способности. Мы можем дать ей возможность:
- обращаться к базе данных;
- найти заказ клиента по номеру;
- выполнить SQL-запрос;
- выполнить запрос к таблице;
- сделать запрос к API стороннего сервиса и получить данные;
- записать строку в таблицу;
- найти свежие данные в интернете;
- выполнить поиск по локальному компьютеру;
- отправить письмо.
А также другие задачи, которые только можно представить и которые можно выполнить с помощью языков программирования.
Инструмент - это программная функция
Нужно понимать, что tool - это просто вызов некой программной функции, которая написана на каком-то языке программирования. Чаще всего это Python. Именно эта функция идёт в базу данных, делает запрос к API, обращается к почтовому ящику и возвращает результат.
Важный момент: обращение к этим инструментам происходит не напрямую к базе данных, а с помощью программной функции, которую вы будете выполнять. Именно поэтому tool calling ещё называют function calling, то есть вызов функции.
Что на самом деле делает модель, а что harness
Со стороны это может казаться так: пользователь делает запрос к программе, а LLM, которая находится в облаке, сама выполняет запросы в интернет, в базу данных, в Google Таблицы, во внешние API. Но на самом деле LLM-модель всё это не делает самостоятельно. Это делает harness - программа-оболочка, которая стоит перед LLM. Именно она добавляет модели возможность таких функций.
На самом деле работа с инструментами происходит так. Пользователь задаёт вопрос harness, нашей программе, а программа отдаёт LLM-модели сам вопрос и список инструментов, которые у неё есть. Это важный момент: благодаря этой информации модель знает, какие инструменты она может вызывать, чтобы ответить на вопрос пользователя.
Напрямую она эти функции выполнять не будет, она будет говорить нашей программе, что надо вызвать такую-то функцию. В этом весь смысл. Например, модель посчитала, что для ответа нужно вызвать определённую функцию. Она говорит об этом программе, и уже программа делает запрос к инструменту.
Инструмент возвращает какой-то результат, допустим строки таблицы. Этот результат передаётся LLM-модели как результат вызова инструмента. Модель смотрит на него, само выполнение токенов не тратит.
Agent Loop: агентский цикл
Исходя из результата, модель принимает решение: либо вызывать дальше какие-то инструменты, если информации оказалось недостаточно, либо выдать ответ пользователю, если информации хватает.
Так она делает до тех пор, пока все доступные инструменты и знания, которые у неё есть, не окажутся исчерпанными. Этот процесс постоянных запросов и вызова необходимых инструментов называется Agent Loop, или агентский цикл. По сути, этот цикл и есть AI-агент, которого мы можем написать и использовать.
Циклы и вызовы инструментов живут в нашем коде, а не в LLM-модели. LLM только принимает и выдаёт токены, входные и выходные. В этом основной смысл.
Это теоретическая часть, и многие моменты сейчас могут оказаться непонятными. В практических уроках, которые будут дальше, мы подробнее разберёмся на конкретных примерах, где у нас программная часть, где LLM-модель и как они взаимодействуют между собой.

Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти