В этом материале
Client tool calling передаёт приложению предложение вызвать функцию. Приложение проверяет запрос, выполняет разрешённую операцию и возвращает результат модели; имя инструмента не является разрешением на любое действие.
Tool calling через OpenRouter позволяет модели запросить функцию вашего приложения. В клиентском сценарии модель сама не выполняет функцию: она возвращает структурированное предложение, которое обрабатывает ваш код. Это принципиально для доступа к базе, вычислениям и любым операциям с внешним результатом.
Разбор относится к client tools, описанным в официальной документации на 1 ноября 2026 года. Серверные инструменты платформы имеют отдельную схему и условия использования.
Начните с безопасной функции
В OpenRouter Client Tools показана последовательность вызова. Для пилота выберите функцию без внешних изменений: например, чтение заранее подготовленной записи о GPU по внутреннему идентификатору. Так проще проверить протокол независимо от ошибок реальной инфраструктуры.
Опишите имя, назначение и схему аргументов. Не передавайте модели административную командную строку вместо ограниченной функции. Если требуется получить состояние узла, инструмент должен возвращать предусмотренный набор данных, а не произвольный доступ к операционной системе.
Проверьте четыре этапа цикла
| Этап | Ответственный компонент |
|---|---|
| Объяснить модели доступные функции | Приложение формирует описание tools |
| Предложить вызов и аргументы | Модель возвращает tool call |
| Проверить права и выполнить функцию | Код приложения |
| Объяснить результат пользователю | Следующий модельный ответ с результатом инструмента |
Сохраните идентификаторы вызовов, чтобы связать каждую функцию с её результатом. Не заменяйте структурированный ответ инструмента случайным пользовательским сообщением: выбранный протокол определяет, как должна продолжаться история.
Подтвердите поддержку маршрута
Доступность инструмента зависит от модели и endpoint. Provider Routing описывает ограничения выбора исполнителей и поддержку параметров. Если tools обязательны, проверьте маршрут именно с ними, а не только обычной текстовой репликой.
Условный тест: модель сначала должна запросить состояние вымышленного узла, затем ответить на основе возвращённой записи. Если она выдумывает состояние без функции, интеграция не прошла вашу проверку, даже когда HTTP-запрос был успешным и ответ хорошо оформлен.
Проверяйте аргументы перед выполнением
Схема помогает ограничить структуру, но не заменяет авторизацию. Идентификатор узла должен быть доступен текущему пользователю. Числовые поля проверяются по диапазонам. Неизвестное имя функции отклоняется. Запрос на изменение ресурсов требует правил, соответствующих последствиям операции.
Для нескольких функций определите порядок и допустимый параллелизм. Например, два чтения могут быть независимыми, а изменение конфигурации после её проверки — зависимым. Техническая поддержка параллельных вызовов не доказывает, что любые действия можно запускать одновременно.
Ограничьте длину агентного цикла
Назначьте предел числа шагов, времени и расходов на всю задачу. Ошибка инструмента должна возвращаться в контролируемом формате, чтобы система не повторяла бесполезную операцию бесконечно. Сохраните отдельно модельный расход и время работы функции: они относятся к разным частям инфраструктуры.
Проверьте неизвестный GPU, неверный аргумент, отказ доступа и временно недоступный источник. Для генерации структур пригодится статья о JSON Schema, а для общего бюджета — полная стоимость роутинга.