Доступно

Вызов инструментов: безопасный цикл выполнения

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

API Токенмоста работает

Базовый адрес — https://tokenmost.ru/v1. Создайте ключ в личном кабинете, выберите модель в каталоге и отправьте первый запрос. Методы, которые ещё не доступны, отмечены отдельно.

Как это устроено

Модель только предлагает имя инструмента и аргументы. Токенмост не исполняет функцию: приложение проверяет схему, права и бизнес-ограничения, выполняет разрешённое действие и возвращает результат с исходным идентификатором вызова.

Что потребуется

  • Модель и API-контракт с подтверждённой поддержкой tools.
  • Узкая JSON Schema без произвольных административных аргументов.
  • Серверный обработчик с авторизацией, таймаутом и аудитом.

Порядок работы

  1. Опишите функцию, назначение и обязательные аргументы.
  2. Отправьте tools и разрешённый tool_choice вместе с запросом.
  3. Проверьте имя, JSON, типы, границы и права пользователя в полученном вызове.
  4. Выполните действие один раз либо запросите подтверждение для необратимой операции.
  5. Верните результат с тем же call_id/tool_use_id и запросите итоговый ответ.

Готовая конфигурация

Описание функции

{
  "type": "function",
  "function": {
    "name": "get_order_status",
    "description": "Получить статус заказа текущего пользователя",
    "parameters": {
      "type": "object",
      "properties": {"order_id": {"type": "string"}},
      "required": ["order_id"],
      "additionalProperties": false
    }
  }
}

Что учесть

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

Доверие

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

Идентификатор вызова

Результат должен ссылаться на исходный call_id или tool_use_id. Не смешивайте результаты параллельных функций и не повторяйте необратимое действие при сетевом таймауте.

Подтверждение

Платёж, удаление, публикация и отправка сообщения требуют отдельного подтверждения в вашем продукте. Текст модели не заменяет согласие пользователя.

Ошибки и диагностика

Модель отвечает текстом

Проверьте поддержку tools, описание функции и допустимый tool_choice.

Аргументы невалидны

Отклоните вызов или верните безопасную ошибку инструмента; не исправляйте критичные значения догадкой.

Результат не связывается

Передайте исходный call_id/tool_use_id и формат результата выбранного API.

Инструмент вызывается повторно

Ограничьте число шагов и сделайте обработчик идемпотентным для необратимых действий.

Источники и связанные инструкции

Читайте дальше

← Все инструкции