Как описать инструмент для модели и обработать цикл «вызов — результат — ответ»?
- Как подключить функцию к LLM?
- Как выглядит описание инструмента?
Инструмент описывают именем, описанием (когда его вызывать) и JSON-схемой параметров. Цикл: отправить запрос с описаниями инструментов → модель вернула запрос на вызов с аргументами → код приложения проверяет аргументы и выполняет функцию → результат отправляют модели отдельным сообщением с идентификатором вызова → модель формирует ответ или вызывает следующий инструмент. Цикл ограничивают максимумом шагов.
- Описание инструмента — это промпт: от него зависит, вызовет ли модель нужный
- Аргументы проверяют в коде — модель может передать неверный тип или чужой идентификатор
- Ошибку инструмента возвращают модели понятным текстом, а не падением
А ещё Модель может вызвать несколько инструментов сразу — их выполняют и возвращают все результаты
Подробно
Описание:
{"name": "get_order_status",
"description": "Статус заказа клиента по номеру. Вызывай, когда спрашивают, где заказ.",
"parameters": {"type": "object",
"properties": {"order_id": {"type": "string"}},
"required": ["order_id"]}}
Цикл (схематично):
for _ in range(MAX_STEPS):
resp = llm(messages, tools)
if not resp.tool_calls:
return resp.text
for call in resp.tool_calls:
result = run_tool(call.name, call.args, user)
messages.append(tool_result(call.id, result))Что хотят услышать
- Имя, описание, схема параметров.
- Цикл с выполнением в коде приложения.
- Проверка аргументов и обработка ошибок.
- Лимит шагов.
Проверьте себя
Один верный вариант. Подумайте, потом откройте ответ.
Показать варианты и ответ
- ✗Модель сама выполняет функцию и сразу возвращает пользователю результат
- ✓Имя, описание и схема; код проверяет аргументы и выполняет
- ✗Описание инструмента не влияет на то, вызовет ли его модель
- ✗При ошибке инструмента нужно сразу завершить диалог исключением
Разбор темы
- Инструменты, агенты и безопасность
Как модель вызывает функции, когда нужен агент, что такое MCP и почему prompt injection — главная угроза агентам.
Связанные вопросы
Разбор собеседования с sotto
После собеседования sotto разбирает разговор: оценка, каждый вопрос — хорошо, частично или слабо, чего не хватило в ответе и над чем поработать к следующему разу. Первые 30 минут бесплатно.