Scenario (сценарий) — определение одного типа звонка для одного проекта, исполняемое во время разговора. «Входящее бронирование», «исходящее напоминание о брони», «сбор отзывов после визита» — каждый из них отдельный сценарий. У проекта может быть сколько угодно сценариев.
Эта страница описывает модель с точки зрения пользователя. Внутренняя механика — валидаторы слотов, порядок интерцептов, диспетчеризация инструментов — работа платформы; она не всплывает, пока вы явно не откроете редактор скриптов.
Направление
Сценарий бывает входящим или исходящим.
- Входящие сценарии запускаются, когда звонок приходит на телефонный номер вашего проекта. Платформа выбирает подходящий сценарий по набранному номеру и маршрутам интентов проекта.
- Исходящие сценарии запускаются, когда вы инициируете звонок через API. Сценарий указывается явно при каждом запуске.
Один проект свободно совмещает оба типа. У ресторана может быть один входящий сценарий (приём броней) и один исходящий (подтверждение за 24 часа).
Цель
Каждый сценарий работает на Goal (цель) — результат, который определяет успех. Агент рассматривает каждый разговор как поиск этого результата.
Цель включает:
- Описание обычным языком — как выглядит успех
- Критерии успеха — чаще всего конкретный вызов инструмента с валидными аргументами (например, инструмент бронирования, вызванный с датой, временем, числом гостей, именем и телефоном) или набор слотов, которые должны быть заполнены
- Ограничения — правила, которым агент обязан следовать (например, «не бронировать компании больше 8 человек — эскалировать»)
- Правила эскалации — когда передавать разговор человеку
- Тон — одна образцовая реплика плюс уровень живости, задающие голос агента
- Приоритет — для проектов с несколькими целями: какая побеждает при конфликте
Индустриальные пакеты поставляются с целями, которые можно использовать как есть или отредактировать. Свою цель можно собрать и вместе с Copilot.
Слоты
Slot (слот) — типизированное структурированное значение, которое агент собирает во время звонка. Типы: string, integer, datetime, phone, email, boolean и enum. Типичные примеры: partySize: integer, bookingDate: datetime, customerName: string, phone: phone.
Слоты объявляются в сценарии. Агент заполняет их в любом порядке, который естественен для разговора, — это не жёсткая анкета. Валидаторы (опциональные) проверяют каждое значение по мере получения; когда значение не проходит валидацию, слот возвращается в состояние «ожидает» с причиной отклонения, и агент переспрашивает. Этот сценарий переспроса вы не пишете.
Слот бывает обязательным (агент не завершит работу без него) или опциональным (агент фиксирует его, если звонящий упомянул, иначе пропускает). Обязательные слоты блокируют достижение цели.
Шаги и промпты
Сценарий состоит из шагов (Steps) — slot_collection, say и branch. Большинство простых сценариев — один шаг slot_collection, владеющий всеми слотами; агент заполняет их в одном плавном разговоре.
Каждый шаг несёт фрагмент промпта, который включается в рабочий промпт агента на этом шаге. Полный промпт платформа собирает за вас — вашу цель, слоты, базу знаний, историю разговора, список инструментов — поэтому фрагмент остаётся коротким и сосредоточенным на специфике шага.
Интерцепты
События-интерцепты — именованные моменты разговора, в которых может выполниться обработчик-скрипт. Самые полезные:
- Тишина — звонящий давно молчит; по умолчанию агент вежливо напоминает о себе; поведение можно переопределить.
- Перебивание — звонящий начинает говорить, пока агент не договорил; по умолчанию агент уступает.
- До / после вызова инструмента — выполняется вокруг любого вызова инструмента; полезно для финальной валидации или логирования.
- Слот заполнен — срабатывает, когда конкретный слот получает значение; полезно для побочных эффектов дальше по цепочке.
- Начало / конец сессии — рамки звонка.
- Получен вебхук — внешняя система отправила событие в живую сессию (см. Вебхуки).
Интерцепты объявлены платформой, а индустриальные пакеты идут с разумными значениями по умолчанию. Вы трогаете их только тогда, когда нужно обработать конкретный частный случай.
Голос и тон
Настройки голоса живут на проекте и на целях:
- Голос — женский или мужской, задаётся на уровне проекта. Платформа сопоставляет его с подходящим голосом того провайдерского тира, на котором работает сценарий.
- Стиль голоса — свободная инструкция на уровне проекта («спокойный и неторопливый», «энергичный, но профессиональный»).
- Тон и живость — на уровне цели: одна образцовая реплика, на которую агент должен быть похож, плюс уровень живости (формальный / нейтральный / тёплый). Одна конкретная реплика задаёт регистр куда лучше, чем набор прилагательных.
Агент выдерживает эти настройки на протяжении всего звонка.
Тир
Каждый сценарий работает на тарифном тире — Economy, Standard, Premium или Enterprise, — который выбирает стек провайдеров для этого сценария и соответственно масштабирует стоимость звонка. Проект задаёт тир по умолчанию (Standard, если вы не поменяли); сценарий может его переопределить. См. Биллинг и страницу тарифов с прайс-листом.
Большинство проектов остаются на Standard и переводят сценарии выше или ниже только по конкретной причине — Economy для массовых FAQ, Premium или Enterprise для продаж с высокими ставками. Enterprise также включает enterprise-level support и SLA.
Тестирование
Каждый созданный сценарий можно протестировать в браузере до подключения телефонного номера. Карточка Test call на странице Overview проекта поднимает WebRTC-сессию с текущим сценарием; можно прогнать граничные случаи, а каждый тестовый звонок записывается и доступен для прослушивания. Тестовые звонки бесплатны во время триала и никогда не требуют пополнения кошелька.
После тестового звонка откройте запись сессии: транскрипт и трассировка вызовов инструментов показывают, что именно сделал агент, а Discuss with AI помогает превратить увиденное в конкретное изменение конфигурации.
Что дальше
- Плагины — интеграции, которые вызывает ваш сценарий
- База знаний — данные, на которые агент опирается в ответах
- Исходящие звонки — как запускать сценарии программно
- Вебхуки — как подписаться на события сценария