Source: https://aiprimetech.io/ru/docs/api-reference/tool-use/ [Главная](/ru/) / [Документация](/ru/docs/) / Использование инструментов и вызов функций # Использование инструментов и вызов функций Дайте модели возможность вызывать ваши функции — цикл запросов, оба формата и ошибки, которые расходуют токены. Копировать страницу [ Посмотреть в формате Markdown](/ru/docs/api-reference/tool-use.md) [ Спросить ChatGPT](https://chatgpt.com/?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) [ Спросить в Claude](https://claude.ai/new?q=Read%20https%3A//aiprimetech.io/docs/api-reference/tool-use.md%20and%20answer%20questions%20about%20it.%20Start%20with%20a%20short%20summary.) Использование инструментов позволяет модели попросить вас выполнить функцию, а затем продолжить работу с её результатом. На этом механизме основан каждый агент для программирования. ## Цикл работы - Вы отправляете messages и tools с описанием доступных возможностей. - Модель отвечает stop_reason: tool_use и tool_use блоком с названием инструмента и его аргументами. - Вы выполняете его — шлюз никогда не запускает ваш код. - Вы отправляете обратно всю историю вместе с tool_result блоком. - Модель формирует окончательный ответ или запрашивает другой инструмент. ## Определение инструментов (формат Messages) ``` Copy{ "model": "claude-sonnet-4-6", "max_tokens": 1024, "tools": [{ "name": "get_weather", "description": "Current weather for a city. Use when the user asks about weather.", "input_schema": { "type": "object", "properties": {"city": {"type": "string", "description": "City name"}}, "required": ["city"] } }], "messages": [{"role": "user", "content": "Weather in Paris?"}] } ``` ## Возврат результата ``` Copy{ "role": "user", "content": [{ "type": "tool_result", "tool_use_id": "toolu_01ABC...", "content": "18C, light rain" }] } ``` tool_result помещается в сообщение с ролью userи tool_use_id должен в точности совпадать с идентификатором из запроса модели. Запросы с несовпадающими идентификаторами отклоняются как недопустимые. ## Формат OpenAI В /v1/chat/completions эндпоинт принимает формат OpenAI tools / tool_calls вместо этого, а результаты возвращаются в виде сообщений с ролью tool. ## Стоимость использования инструментов - Определения повторно отправляются на каждом шаге. Двадцать подробных схем инструментов могут составить основную часть входных токенов ещё до начала диалога. - Результаты становятся контекстом. Если инструмент возвращает 200 строк JSON, все они попадают в следующий запрос и в каждый последующий. - Каждый цикл запроса и ответа оплачивается как отдельный вызов. Задача с пятью инструментами требует как минимум шести запросов. - Ограничивайте длину вывода инструмента и сокращайте результаты перед возвратом. Сокращение результата до того, что действительно нужно модели, — самое эффективное изменение в большинстве циклов работы агента. Схемы инструментов не меняются между шагами, что делает их хорошим [кэширование промптов](/ru/docs/guides/prompt-caching/) кандидатом наряду с системным промптом. [API сообщенийОсновной справочник](/ru/docs/api-reference/messages/)[Контроль затратНа что расходуются токены агента](/ru/docs/guides/cost-control/)[Серверы MCPГотовые инструменты для Claude Code](/ru/docs/guides/mcp-servers/) [НазадОграничения частоты запросов](/ru/docs/api-reference/rate-limits/)[ДалееРаспознавание изображений и передача изображений на вход](/ru/docs/api-reference/vision/)