Как работает Tool Calling
Обычная LLM генерирует ответ на основе запроса и доступного контекста. Но без подключённых инструментов она не может самостоятельно прочитать файл на компьютере пользователя, выполнить команду или получить свежие данные из API. Для таких задач и используют tool calling — также встречаются названия Tool Use и Function Calling («вызов функций»).
Обычно взаимодействие выглядит так:
- Приложение передаёт модели описания доступных инструментов: их названия, назначение и формат аргументов.
- Модель определяет, нужен ли инструмент, и формирует структурированный запрос на его использование.
- Приложение проверяет запрос и запускает соответствующую функцию или сервис с учётом разрешений.
- Полученный результат при необходимости добавляется в контекст модели, после чего она продолжает выполнение задачи или формирует ответ.
Важно различать запрос и исполнение. Модель не выполняет произвольный код одним лишь текстом ответа. Если она предложила вызвать run_tests, это ещё не означает, что тесты запущены: действие должен обработать и разрешить внешний исполнитель. Некоторые платформы исполняют встроенные инструменты на своей стороне, но принцип разделения модели и среды выполнения сохраняется.
Где используется вызов инструментов
В AI-агентах и AI-IDE механизм позволяет переходить от обсуждения задачи к работе с проектом. В зависимости от выданных прав агент может:
- искать информацию в документации или интернете;
- читать файлы и находить обращения к функциям;
- выполнять команды сборки и запускать тесты;
- обращаться к API, базам данных или другим подключённым сервисам.
Например, на запрос «Почему упал тест авторизации?» агент может получить вывод тестового запуска, найти связанный обработчик и сопоставить ошибку с недавними изменениями. Для этого он последовательно вызывает инструменты, а не пытается угадать состояние проекта по формулировке вопроса.
Чем Tool Calling отличается от MCP
Tool Calling описывает сам механизм запроса и использования инструмента. MCP — протокол, с помощью которого AI-приложение может получать сведения об инструментах и подключаться к внешним источникам и сервисам. Инструменты могут вызываться и без MCP: например, когда функции определены непосредственно в коде приложения.
Поскольку инструменты способны изменять файлы и запускать команды, система должна ограничивать их права, проверять аргументы и при необходимости запрашивать подтверждение опасных действий. Наличие Tool Calling не делает агента автоматически автономным или безопасным.