Блог NAVYK LAB

Function calling и инструменты AI-агента: как модель вызывает функции и API

Модель не должна напрямую иметь секретный доступ к API. Обычно она выбирает описанный инструмент и формирует структурированные аргументы, а настоящий вызов выполняет ваш код после проверки параметров.

Опишите инструмент как контракт

У функции должно быть понятное имя, назначение и схема параметров. Чем конкретнее описание, тем меньше вероятность, что модель выберет её не по назначению. Не объединяйте десяток разных действий в один универсальный инструмент с неясными аргументами.

Модель предлагает вызов, код исполняет

После tool call приложение получает имя функции и параметры. Затем server-side код проверяет типы, права пользователя и бизнес-правила и только после этого обращается к API или базе. Такой слой нельзя заменять доверием к модели.

Возвращайте компактный результат

Инструмент должен отдавать модели только необходимые данные. Огромные ответы увеличивают стоимость и мешают рассуждению. Если API возвращает сотни полей, нормализуйте их перед передачей в контекст.

Ошибки являются частью протокола

API может быть недоступен, параметр — неверным, а объект — не найденным. Возвращайте структурированную ошибку, чтобы модель могла объяснить проблему или выбрать другой шаг. Не скрывайте техническую ошибку под фиктивным успешным результатом.

Тестируйте инструмент отдельно от агента

Сначала убедитесь, что функция правильно работает с валидными и ошибочными параметрами без LLM. Затем тестируйте, когда модель должна её выбрать и когда не должна. Это упрощает поиск причины: проблема в интеграции или в выборе инструмента.

Практика: сделайте контракт функции, который сложно вызвать неправильно

Возьмите одну функцию, например получение карточки заказа, и опишите минимальную JSON-схему параметров. Добавьте валидацию несуществующего ID, отсутствующих прав и ошибки внешнего API. Сначала протестируйте функцию напрямую, затем дайте её модели вместе с другим похожим инструментом. Проверьте не только правильные вызовы, но и ситуации, когда модель обязана отказаться от tool call.

Освойте направление «AI-агенты» на практике

Посмотрите программу практикума и откройте первый модуль бесплатно, прежде чем оформлять доступ.