Скилл: инструменты
Выполнение функций и возврат результата
Полный цикл
- Передай модели описания разрешённых функций
- Получи вызов и полные аргументы
- Разбери JSON и проверь схему, имя функции и права
- Выполни функцию в приложении
- Верни результат с исходным ID
- Получи продолжение модели или следующий вызов
Ответ с tool_calls не означает, что функция уже выполнена
Связь сообщений
| Формат | Вызов | Результат |
|---|---|---|
| Chat Completions | message.tool_calls | Сообщение tool с tool_call_id |
| Messages | Блок tool_use | Блок tool_result с tool_use_id |
| GenerateContent | functionCall | functionResponse |
Сохраняй исходное сообщение ассистента в истории. Не заменяй ID вызова новым ID
Ограничения
Установи предел шагов, времени и расходов. Несколько вызовов в одном ответе не обязательно независимы
Не повторяй функцию с побочным эффектом после таймаута без проверки её состояния или механизма идемпотентности
Встроенные серверные инструменты имеют отдельную схему. Их поддержка не следует из поддержки обычных функций
Примеры запросов и истории: вызов инструментов