Инструменты
Инструмент — это ваш HTTP-эндпоинт, который агент вызывает прямо во время разговора: проверить статус заказа, найти клиента, создать заявку. Агент решает сам, когда инструмент нужен, — по вашему описанию.
Как это работает
Инструмент не привязан к конкретной реплике. Вы описываете словами, что он делает, и агент вызывает его в тот момент разговора, когда это описание совпало с происходящим. Собеседник назвал номер заказа — агент обратился к вашей системе, дождался ответа и продолжил разговор уже с этими данными.
Есть и явный способ: шаг «Действие» в сценарии вызывает нужный инструмент по имени в заданной точке маршрута.
Поля инструмента
«Инструменты» → «Создать инструмент». Все поля кроме описания — про вашу систему; описание — единственное, что читает агент.
- Названиелатиницей, без пробелов
- Имя функции:
get_order_status,create_lead. Под этим именем инструмент вызывается из шага «Действие» в сценарии. - Описание для LLMрешающее поле
- Фраза, по которой агент понимает, когда инструментом пользоваться: «Получить статус заказа по его номеру». Пишите с точки зрения ситуации в разговоре, а не реализации. Плохое описание — самая частая причина того, что агент инструмент не вызывает или вызывает не к месту.
- Endpoint URL
- Адрес, который вызовет агент. Должен быть доступен из среды, где работает агент, и отвечать быстро — разговор в этот момент идёт.
- МетодGET / POST / PUT / DELETE
- HTTP-метод запроса. По умолчанию POST.
- Parameters (JSON Schema)
- Какие данные агент должен собрать в разговоре и передать вам. Схема описывает объект с полями и их назначением — см. пример ниже.
- Активен
- Выключенный инструмент остаётся в списке, но агент его не вызывает. Так его отключают на время, не удаляя и не теряя настройки.
Схема параметров
Схема заполняется в формате JSON Schema. Значение description у каждого поля агент читает так же внимательно, как описание самого инструмента: по нему он понимает, что именно спросить у собеседника.
{
"type": "object",
"properties": {
"order_id": {
"type": "string",
"description": "Номер заказа, который назвал клиент"
}
},
"required": ["order_id"]
}Поля из required агент постарается получить обязательно — переспросит, если собеседник ответил невнятно. Всё, что не обязательно, он передаст, только если это прозвучало само.
Держите набор полей коротким
Требования к вашему эндпоинту
- Быстрый ответ. Пока ваш сервис думает, в трубке тишина. Всё, что дольше пары секунд, собеседник слышит как зависшего оператора.
- Короткий и предсказуемый результат. Агент пересказывает ответ голосом — возвращайте готовые к произнесению значения, а не вложенные структуры на сотню полей.
- Осмысленная ошибка. Если заказ не найден, ответьте об этом явно: агент скажет собеседнику, что заказ не найден, вместо того чтобы замолчать.
Эндпоинт вызывается от лица агента