Что такое вызов инструментов (tool calling) и агенты?
- Как LLM вызывает функции?
- Чем агент отличается от обычного чат-бота?
- Как дать модели доступ к API или базе данных?
Модель получает описания инструментов (имя, параметры по схеме) и вместо текста может вернуть запрос на вызов; вызывает их код приложения и отдаёт результат обратно модели.
- Агент — цикл: модель решает, какой инструмент вызвать, видит результат, решает дальше, пока задача не решена
- Нужны лимиты шагов, логирование, проверка аргументов и подтверждение опасных действий
А ещё Сама модель ничего не выполняет — все права и риски на стороне вашего кода
Подробно
Как работает tool calling:
- Приложение передаёт модели запрос пользователя и список инструментов с JSON-схемами параметров:
get_order_status(order_id),search_docs(query). - Модель решает, нужен ли инструмент, и возвращает его имя и аргументы.
- Приложение проверяет аргументы, выполняет функцию и добавляет результат в диалог.
- Модель формирует ответ или запрашивает следующий инструмент.
Агент — когда этот цикл продолжается несколько шагов и модель сама планирует: найти документ → вытащить данные → посчитать → записать результат.
Что важно в продакшене:
- лимиты — число шагов, время, бюджет токенов, иначе агент может зациклиться;
- минимальные права — инструмент делает только необходимое, с правами текущего пользователя;
- проверка аргументов и подтверждение человеком для необратимых действий (оплата, удаление, отправка писем);
- логирование каждого шага для отладки;
- понятные описания инструментов — модель выбирает их по описанию.
Чем меньше инструментов и шагов, тем надёжнее. Часто фиксированный конвейер (сначала поиск, потом ответ) лучше полностью свободного агента.
Что хотят услышать
- Механика: описание, запрос вызова, выполнение кодом, результат обратно.
- Определение агента как цикла.
- Риски и меры: лимиты, права, подтверждения, логи.
Частые ошибки
- Считать, что модель сама выполняет код или запросы.
- Давать агенту широкие права без подтверждения действий.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Модель сама выполняет функции на серверах провайдера
- ✓Модель просит вызов по схеме, а выполняет его код приложения
- ✗Для вызова инструментов модель нужно дообучить на каждой функции
- ✗Проверять аргументы вызова не нужно — модель всегда передаёт верные
Что спросят дальше
Разбор темы
- Инструменты, агенты и безопасность
Как модель вызывает функции, когда нужен агент, что такое MCP и почему prompt injection — главная угроза агентам.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.