Вызов инструментов (tool calling)
Вызов инструментов, он же вызов функций, — это возможность языковой модели попросить твою программу выполнить функцию и использовать результат в ответе. Сама модель ничего не запускает: она возвращает название инструмента и его аргументы, а работу делает твой код.
Обновлено 8 ноября 2026 г.
На этой странице
Читается только на твоих устройствах.
Твой чат можно прочитать на твоём устройстве и, если включена синхронизация, на других твоих устройствах. Больше нигде.
Мы прочитать не можем.
Сообщение проходит через нас, но нигде не записывается; твои чаты хранятся только в зашифрованном виде.
Модель не знает, кто ты.
Она получает вопрос — но не твою почту, аккаунт или IP-адрес.
По пути ничего не остаётся.
Ответ возвращается и сохраняется здесь в зашифрованном виде; даже при синхронизации твой ключ никогда не попадает к нам в открытом виде.
Как это работает
Сначала ты описываешь предлагаемые инструменты. У каждого есть имя, краткое описание и схема JSON с параметрами, например функция get_weather, которая принимает название города. Этот список отправляется вместе с перепиской. Если модель решает, что инструмент пригодится, вместо итогового текста она возвращает вызов инструмента: название и аргументы, записанные в JSON. Твоя программа выполняет функцию, добавляет сообщение с результатом и идентификатором вызова и отправляет всё обратно. Затем модель пишет окончательный ответ по этому результату. Представь официанта, который записывает твой заказ на листке и никогда не заходит на кухню. Типичные примеры — узнать статус заказа, пересчитать валюту, поискать в базе знаний или создать запись в календаре.
Большинство API позволяют управлять поведением. Можно оставить выбор за моделью, запретить инструменты, потребовать вызвать хотя бы один или указать конкретный. В одном ответе может прийти несколько вызовов, что экономит лишние обмены запросами, когда они не зависят друг от друга, а в потоковом ответе аргументы поступают частями под одним индексом. На том же механизме работают агенты, которые повторяют цикл вызова, результата и решения, и он же — надёжный способ извлекать структурированные данные из текста. У некоторых провайдеров есть строгий режим: он заставляет вывод точно соответствовать схеме и избавляет от многих некорректных вызовов.
Нужна осторожность. Модели могут выбрать не тот инструмент, выдумать аргумент или вызвать функцию с допустимыми, но вредными значениями, поэтому проверяй аргументы со своей стороны и никогда не запускай ничего мощнее, чем требует задача. Не все модели поддерживают эту возможность, а те, что поддерживают, по-разному надёжно следуют схеме. Проверяй на реальных случаях, делай описания краткими и точными и давай инструментам говорящие имена. Держи список инструментов коротким, потому что длинное меню путает модели и съедает окно контекста. Типичные сбои — неверно написанный город, пропущенное обязательное поле, число, отправленное как текст, дата в неверном формате или несуществующий инструмент.
В NeverNo
API NeverNo поддерживает вызов инструментов в /chat/completions. Передай tools — список функций со схемой JSON — и при желании tool_choice (auto, none, required или имя конкретной функции) и parallel_tool_calls. Когда модель вызывает инструмент, ответ содержит tool_calls, а finish_reason равен tool_calls; ты выполняешь функцию и отправляешь обратно сообщение tool с результатом и его tool_call_id. В потоке каждый вызов приходит в формате OpenAI.
Инструменты принимают только модели, у которых capabilities.tools равно true в списке /models; остальные возвращают понятную ошибку 400 с кодом tools_not_supported. GLM 5.2, приватная модель от Z.ai из платных тарифов, имеет окно контекста 200 000 токенов и необязательный режим рассуждения. Сверься со списком, прежде чем строить решение на конкретной модели. Страница об альтернативе ChatGPT объясняет, почему NeverNo выбирают за разнообразие моделей.
Что стоит запомнить
Модель просит инструмент по имени и аргументам; твоя программа запускает его и возвращает результат.
Каждый инструмент описывается именем, кратким описанием и JSON-схемой параметров.
Параметр tool_choice может оставить решение модели, запретить инструменты или заставить вызвать конкретный.
Проверяй каждый аргумент сам: корректно сформированный вызов не обязательно безопасен.
Инструменты принимают только модели, у которых заявлена эта возможность; остальные возвращают ошибку.
Частые вопросы
Выполняет ли модель функцию?
Нет. Она лишь формирует структурированный запрос с названием функции и её аргументами. Функцию запускает твой код, поэтому ты контролируешь, что на самом деле может произойти. Это разделение позволяет добавить журнал, лимиты частоты или подтверждение до запуска чего-либо.
Вызов инструментов и вызов функций — одно и то же?
На практике да. Function calling — первое название, которое использовала OpenAI; tool calling — более широкий термин, ведь инструментом может быть функция, поиск или другой сервис.
Как узнать, поддерживает ли модель инструменты?
Прочитай её возможности в списке моделей. В NeverNo GET /models показывает capabilities.tools для каждой модели, а модель без этой возможности отвечает ошибкой 400, а не молча игнорирует инструменты. Один небольшой запрос с простым инструментом — самый быстрый способ убедиться, что модель ведёт себя как надо.
Задай первый вопрос
Без аккаунта и без карты. Пиши на любом из 10 языков, на которых говорит NeverNo.
Открыть чат