# Редактор сценариев

Описание функционала для создания своих сценариев для голосового и чат-бота

# Перемещение в рабочем пространстве и интерфейс редактора

### Перемещение и масштабирование

Для перемещения в пространстве редактора есть 2 способа:

1\. Поместить курсор в пустое место рабочего пространства (белый фон с точками), **зажать левую кнопку мыши и потянуть** мышь в сторону, противоположную той, в которую вы хотите продвинуться.

[![перемещение.gif](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/peremeshhenie.gif)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/peremeshhenie.gif)

2\. Поместить курсор в пустое место рабочего пространства, **отдалиться** при помощи колесика мыши (проскроллить вниз), затем навести курсор на место в рабочем пространстве, в которое хотите переместиться, и **приблизить**, проскроллив колесиком мыши вверх.

[![перемещение2.gif](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/peremeshhenie2.gif)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/peremeshhenie2.gif)

Для масштабирования рабочего пространства помимо скролла колесиком мыши есть еще **панель масштабирования** справа сверху. Цифра, которая там отображена, показывает текущий масштаб элементов в рабочем пространстве.

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/scaled-1680-/WF9image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/WF9image.png)

Для открытия панели масштабирования, нужно кликнуть на ![scale](https://i.ibb.co/N7c3njc/scale.png) (У вас может быть показана другая цифра масштаба).

Вы увидите **4 элемента** для работы с масштабом:

1. Масштабирует рабочее пространство до **100%** к центру экрана
2. **Увеличивает масштаб** рабочего пространства
3. **Уменьшает масштаб** рабочего пространство
4. **Перемещает к началу координат** рабочего пространства (месту в рабочем пространстве, где создается автоматический начальный блок) **в масштабе 100%**. Можно размещать в этой области начальные блоки ваших сценариев для быстрой навигации к ним.

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/scaled-1680-/pRGimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/pRGimage.png)

### Интерфейс редактора сценариев

Для наглядности элементы интерфейса помечены цифрами на изображении ниже.

1 — Кнопка возвращения из редактора сценария к странице списка сценариев   
2 — Заголовок сценария, отображенного в редакторе. Здесь можно отредактировать заголовок ![edit](https://i.ibb.co/7VZCzkJ/edit.png) или открыть другой сценарий в редакторе, выбрав его из выпадающего списка ![errow-down](https://i.ibb.co/p4mT77s/errow-down.png)   
3 — Открывает поверх боковой панели (7) панель версий со списком сохраненных версий, а также изменений в них.   
4 — Открывает модальное окно со списком ошибок в сценарии, если такие есть. Здесь отображаются ошибки, которые делают работу сценария невозможной: отсутствие начального/завершающего блока, отсутствие исходящих связей.   
5 — Сохраняет текущую версию сценария, после чего новая сохраненная версия появляется на панели версий (3)   
6 — Делает опубликованной текущую версию сценария. Публикация возможна только для сохраненных версии, поэтому при наличии несохраненных изменений произойдет автоматическое сохранение текущей версии. Только опубликованная версия сценария используется в диалогах.  
7 — Аватар авторизованного пользователя, этот функционал пока в разработке.   
8 — Показывает текущий масштаб элементов в рабочем пространстве радактора (10), а при клике открывает панель масштабирования, функционал которой описан [выше на странице](https://docs.ai-assistant.is74.ru/link/19#bkmrk-%D0%94%D0%BB%D1%8F-%D0%BC%D0%B0%D1%81%D1%88%D1%82%D0%B0%D0%B1%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8F-).  
9 — боковая панель редактора сценариев с табами «Свойства» (9.1), «Переменные» (9.2), «Проверка» (9.3). По умолчанию открыт таб «Свойства»   
9.1 — Таб «Свойства», в котором отображается контент выделенного блока и инструменты для управления им. Для выделения блока нужно кликнуть по нему, на изображении ниже ни один блок не выделен. Подробнее про настройку блоков на странице [«Типы блоков в конструкторе диалогов»](https://docs.ai-assistant.is74.ru/link/4#bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B-%D0%B1%D0%BB%D0%BE%D0%BA)  
9.2 — Таб «Переменные». В нем осуществляется работа с переменными: просмотр списка переменных в сценарии, добавление, редактирование. См. инструкцию по [работе с переменными](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/rabota-s-peremennymi)  
9.3 — Таб «Проверка», в котором можно протестировать созданный сценарий в интерфейсе редактора. Подробнее на странице [«Тестирование сценария в конструкторе»](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/testirovanie-scenariia-v-redaktore)   
10 — Рабочее пространство редактора сценариев. В нем отображаются составляющие сценария: блоки (10.1) и связи (10.2)   
10.1 — Карточка блока в рабочем пространстве. Что такое блоки и как с ними работать вы узнаете по ходу [создания сценария](https://docs.ai-assistant.is74.ru/link/18#bkmrk-%D0%9D%D0%B0-%D0%BF%D0%BB%D0%B0%D1%82%D1%84%D0%BE%D1%80%D0%BC%D0%B5-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8) и на странице [«Типы блоков в конструкторе диалогов»](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/tipy-blokov-v-konstruktore-dialogov-old)   
10.2 — Связи. Тонкие серые линии, соединяющие блоки. Они также незаменимы для работы сценария и формируют пути, по которым может пройти диалог. Как построить связь, показано в [пошаговом руководстве по запуску голосового ассистента](https://docs.ai-assistant.is74.ru/books/3-saga-dlia-zapuska-golosovogo-assistenta), а именно на странице [«Шаг 1. Создание сценария»](https://docs.ai-assistant.is74.ru/link/18#bkmrk-%D0%9C%D1%8B-%D1%83%D0%B6%D0%B5-%D0%BF%D0%BE%D0%BD%D1%8F%D0%BB%D0%B8%2C-%D0%BA%D0%B0%D0%BA-%D0%B4)

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/scaled-1680-/5CAimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-09/5CAimage.png)

# Типы блоков в конструкторе диалогов

В платформе "Диалог" есть следующие типы блоков, необходимые для создания сценария любой сложности. Рассмотрим их в назывном порядке.

<div dir="ltr" id="bkmrk-%D0%9D%D0%B0%D0%B7%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B1%D0%BB%D0%BE%D0%BA%D0%B0-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0" style="text-align:left;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:#DBDBF8;"><colgroup><col style="width:27.2944%;"></col><col style="width:39.3325%;"></col><col style="width:33.3731%;"></col></colgroup><tbody><tr><td style="border-width:1px;border-color:rgb(219,219,248);background-color:#f6f6fd;">**Название блока**

</td><td style="border-width:1px;border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Описание**

</td><td style="border-width:1px;border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Вид**

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Начать сценарий

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Инициирует начало диалога и принимает на вход переданные параметры (не обязательно). Например, ФИО абонента

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/qEyimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/qEyimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Завершить сценарий

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Переводит звонок на оператора ИЛИ завершает звонок

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/kmIimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/kmIimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Завершить и переадресовать

</td><td style="border-width:1px;border-color:rgb(219,219,248);"></td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/Wfjimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/Wfjimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Поставить на удержание

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Позволяет поставить звонок на удержание и подождать ответа абонента (например, если абонент выполняет перезагрузку роутера)

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/nBMimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/nBMimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Диалог с LLM

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Блок, в котором LLM ведёт диалог с абонентом по заданным роли, задаче и контексту. Блок может завершить работу при выполнении одного из настроенных условий или после одного ответа абонента. При выходе LLM может записать результаты диалога в переменные сценария.

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/cPRimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/cPRimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Заполнить переменные с LLM

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Используется для того, чтобы LLM (большая языковая модель) автоматически заполнила указанные переменные на основании контекста всего диалога по описанию этих переменных. Этот блок может быть полезен, если нужно извлечь и структурировать данные, которые абонент упомянул в свободной форме.

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/OKZimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/OKZimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Озвучить текст

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Блок, которые озвучивает переданный в него текст

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/jisimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/jisimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Воспроизвести аудио

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Блок, который воспроизводит загруженное в него аудио

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/aCLimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/aCLimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Сравнить переменные

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Сравнивает значение двух переменных с помощью логических операторов (=, &gt;, &lt;)

И если условие пройдено перенаправляет диалог по нужной ветке

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/9Myimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/9Myimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Обработать ответ

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Обрабатывает ответы пользователей и в зависимости от ответа перенаправляет диалог по нужной ветке

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/5Fkimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/5Fkimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Отправить запрос в базу

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Отправляет запрос в базу данных и принимает вернувшиеся данные

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/KDiimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/KDiimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Отправить HTTP-запрос

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Отправляет HTTP-запрос и принимает вернувшиеся данные

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/yfuimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/yfuimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Изменить переменные

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Присваивает переменной любое значение, в том числе значение другой переменной

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/RmXimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/RmXimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Пройти по случайной ветке

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Случайным образом определяет по какой ветке пойдет сценарий (вариант 1 ИЛИ вариант 2)

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/jT1image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/jT1image.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Пустой блок

</td><td style="border-width:1px;border-color:rgb(219,219,248);">Служит для удобства создания сценария, трансформируется в любой блок

</td><td style="border-width:1px;border-color:rgb(219,219,248);"> [![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/TaVimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/TaVimage.png)

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">Перенаправить и вернуться

</td><td style="border-width:1px;border-color:rgb(219,219,248);"></td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/Rldimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/Rldimage.png)

</td></tr></tbody></table>

</div>Список со всеми блоками можно увидеть, нажав ПКМ (правой кнопкой мыши) по свободному участку поля в конструкторе.

### **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Описание работы блоков</span>**

<details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%9D%D0%B0%D1%87%D0%B0%D0%BB%D0%BE-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8"><summary>Блок «Начать сценарий»</summary>

**Блок «Начать сценарий»**

При создании нового сценария данный блок создается по умолчанию.

<div dir="ltr" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;height:691.968px;border-width:1px;border-color:rgb(219,219,248);"><colgroup><col style="width:28px;"></col><col style="width:372px;"></col><col style="width:200px;"></col></colgroup><tbody><tr style="height:35.3906px;"><td style="height:35.3906px;border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**№**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:35.3906px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Действие</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:35.3906px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Скрин</span>**

</td></tr><tr style="height:121.047px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:121.047px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:121.047px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Чтобы создать новый блок:</span>

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Нажмите ПКМ по рабочему пространству редактора и в появившемся списке выберите блок «Начало сценария»</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:121.047px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/4Upimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/4Upimage.png)

</td></tr><tr style="height:84.9219px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:84.9219px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">2</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:84.9219px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">В боковой панели справа откроются свойства блока</span>

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">В поле «Тип начального блока» оставляем вариант «Начало сценария» — по умолчанию</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:84.9219px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/Vz2image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/Vz2image.png)

</td></tr><tr style="height:132.672px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:132.672px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">3</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:132.672px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Если нам нужно передать какие-то данные на вход сценария (н-р, фио абонента, время записи и тп), то нажимаем на кнопку «Добавить параметр»</span>

  
<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Если мы создаем исходящий сценарий, то на вход он должен принимать как минимум номер телефона абонента</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:132.672px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/2UHimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/2UHimage.png)

</td></tr><tr style="height:111.078px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:111.078px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">4</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:111.078px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Добавим параметр и назовем его «phone». Потом при создании обзвона и при загрузке csv-файла, он должен обязательно иметь столбец «phone»</span>

  
</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:111.078px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/UqOimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/UqOimage.png)

</td></tr><tr style="height:139.109px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:139.109px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">5</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:139.109px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Выберем переменную сценария, в которую мы запишем переданный из csv-файла параметр «phone»:</span>

1. <span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Для этого давайте создадим одноименную переменную «phone». </span>[Как это сделать](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/rabota-s-peremennymi)
2. <span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Выберем в выпадающем списке новую созданную переменную «phone»</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:139.109px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/uYjimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/uYjimage.png)

</td></tr><tr style="height:67.75px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:67.75px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">6</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:67.75px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Сохраним изменения</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:67.75px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/QiDimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/QiDimage.png)

</td></tr></tbody></table>

</div></details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%C2%AB%D0%94%D0%B8%D0%B0%D0%BB%D0%BE%D0%B3-%D1%81-llm%C2%BB-"><summary>Блок «Диалог с LLM»</summary>

> **Это краткая инструкция по настройке блока «Диалог с LLM».** Подробное описание всех настроек, примеры промптов и рекомендации по тестированию смотрите в [полной инструкции](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/nastroika-bloka-dialog-s-llm).

## Блок «Диалог с LLM»

Блок позволяет большой языковой модели вести диалог с абонентом по заданным роли, задаче и контексту. LLM самостоятельно формулирует реплики, задаёт уточняющие вопросы и завершает работу блока при выполнении одного из настроенных условий.

Для каждого условия создаётся отдельный выход. При выходе модель может записать полученные во время разговора данные в переменные сценария.

## Краткая настройка блока

Настраивайте блок, начиная с ожидаемого результата диалога, а не с первого поля в панели свойств.

1. **Определите результаты диалога.**  
    Решите, при каких результатах блок должен завершить работу. Например: тема обращения определена, запись подтверждена, абонент отказался.
2. **Добавьте условия для выхода.**  
    Для каждого результата укажите короткое название и критерии, по которым LLM должна понять, что условие выполнено.
3. **Добавьте переменные.**  
    Выберите данные, которые модель должна сохранить при выполнении каждого условия. Для переменных задайте понятные описания и допустимые значения, если их набор ограничен.
4. **Заполните промпт.**
    
    
    - **Задача** — что модель должна выяснить или озвучить — на основании этого модель определяет, какие вопросы задать абоненту.
    - **Контекст** — какие данные и обстоятельства учитывать.
    - **Роль** — от чьего имени отвечает модель и каких правил общения придерживается.
5. **При необходимости подключите базу знаний.**  
    Выберите знание, в контексте укажите, как модель должна использовать найденную информацию.
6. **Выберите модель.**  
    В дополнительных настройках рекомендуется выбрать Qwen 3 или Qwen 3.5 и изменить параметры генерации ответа. Разница между моделями описана на странице[ расширенных инструкций по настройке блока](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/nastroika-bloka-dialog-s-llm)
7. **Соедините выходы со следующими блоками** и сохраните изменения.

## Дополнительный выход после одного ответа

При необходимости включите опцию **«Выйти после одного ответа»**.

Сначала платформа проверит все заданные условия. Если ни одно из них не выполнено, сценарий продолжится по дополнительному выходу. По этой ветке можно проверить или обработать ответ в других блоках, а затем вернуться в блок «Диалог с LLM» и продолжить разговор.

## Рекомендации

- Один блок должен решать одну конкретную задачу.
- Сначала настраивайте условия для выхода, затем задачу.
- Передавайте модели только необходимый контекст.
- Важные сведения из предыдущих этапов сохраняйте в переменные.
- Не разрешайте LLM сообщать о выполнении действия, пока соответствующий блок сценария фактически его не выполнил.
- Перед публикацией проверьте все условия, переменные и ветки во вкладке **«Проверка»** и с помощью тестовых звонков.

</details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%C2%AB%D0%97%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5"><summary>Блок «Заполнить переменные с LLM»</summary>

Блок **«Заполнить переменные с LLM»** используется для того, чтобы LLM (большая языковая модель) автоматически заполнила указанные переменные на основании контекста диалога и описания этих переменных. Этот блок может быть полезен, если нужно извлечь и структурировать данные, которые абонент упомянул в свободной форме.

<div>---

</div>### Особенности блока

- **Переменные:** пользователь вручную выбирает переменные, которые необходимо заполнить. Каждая переменная может быть:
    
    
    - **Обязательной** — рекомендуется заполнить, но не гарантируется (см. ниже);
    - **Необязательной** — может остаться пустой.

> ⚠️ **Важно:** на текущий момент, из-за ограничений работы LLM, даже если переменная отмечена как обязательная, это не гарантирует её заполнение перед выходом из блока. Модель постарается её заполнить, но может не успеть или не найти нужную информацию в контексте.

<div>---

</div>### Как работает заполнение

LLM использует накопленный контекст всего диалога и описание переменных, чтобы попытаться:

- определить значение переменной;
- выбрать подходящее из допустимых значений (если они заданы);
- внести значение в переменную перед переходом к следующему блоку.

<div>---

</div>### Настройка переменных

В блоке можно:

- выбрать переменную из списка созданных в сценарии;
- задать флаг «Обязательная» — LLM постарается обязательно заполнить её;
- при необходимости — задать или изменить описание переменной (например, «город проживания абонента»);
- задать список допустимых значений (например, сезоны года или названия городов или темы обращений для дальнейшей обработки конкретных тем).

<div>---

</div>### Команда для LLM

Промт, который используется для заполнения переменных, можно изменить через кнопку **«Изменить команду для LLM»**. Но мы не рекомендуем делать этого. Сейчас в блоке оптимальный промт для качественного выполнения задачи блока.

### Рекомендации

- Добавляйте только те переменные, которые реально могут быть распознаны на текущем этапе диалога.
- Старайтесь писать лаконичные, но точные описания переменных.
- Если есть список допустимых значений, заполняйте его — это повысит точность распознавания.

Блок особенно полезен после блока **«Диалог с LLM»**, когда модель уже взаимодействовала с абонентом и получила достаточно контекста.

</details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA%D0%B8-%E2%80%9C%D0%9E%D0%B7%D0%B2%D1%83%D1%87%D0%B8%D1%82%D1%8C-%D1%82%D0%B5%D0%BA%D1%81"><summary>Блок «Озвучить текст»</summary>

В блоке «Озвучить текст» мы пишем текст, который голосовой ассистент озвучит во время разговора.

Начнем редактирование сценария с **добавления блока «Озвучить текст»**. Для этого:

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%9D" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:rgb(219,219,248);height:464.406px;"><colgroup><col style="width:4.62131%;"></col><col style="width:59.9513%;"></col><col style="width:35.4274%;"></col></colgroup><tbody><tr style="height:31.9062px;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">№</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Действие</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Скрин</span>**

</td></tr><tr style="height:70.7812px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:70.7812px;">1

</td><td>Нажмите ПКМ по полотну и в появившемся списке выберите блок **«Озвучить текст»**

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:70.7812px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/BX0image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/BX0image.png)

</td></tr><tr style="height:99.9062px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:99.9062px;">2

</td><td>**Введите текст** для озвучивания голосовым ассистентом в поле «Текст для озвучивания»

Необязательно: чтобы прослушать текст, можно нажать на кнопку «Синтезировать», а затем на значок плеера в появившейся ниже аудиозаписи

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:99.9062px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/9wXimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/9wXimage.png)

</td></tr><tr style="height:58.9062px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:58.9062px;">3

</td><td>Нажмите на кнопку **«Сохранить изменения»**

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);height:58.9062px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/tXtimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/tXtimage.png)

</td></tr></tbody></table>

</div>**Дополнительные свойства** блока «Озвучить текст»

<div dir="ltr" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%AD%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-1." style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;border:1px none #DBDBF8;"><colgroup><col style="width:402px;"></col><col style="width:197px;"></col></colgroup><tbody><tr style="height:0pt;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Описание</span>**

</td><td style="background-color:rgb(246,246,253);">**Элементы**

</td></tr><tr style="height:345.75pt;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);">1\. Добавление **цели** на блок для отображения его **в аналитике**

  
2\. Добавление в текст **переменных**. Например, при добавлении переменной «name»: «Добрый день, {{name}}», бот обратится к пользователю следующим образом: “Добрый день, Иван”

  
3\. Чтобы **прослушать,** как голосовой ассистент озвучит введенный текст, можно нажать на кнопку **«Синтезировать»**, а затем на значок плеера в появившейся ниже аудиозаписи

  
4\. Добавление **альтернативного варианта** текста. При прохождении диалога блок будет случайным образом озвучивать один из вариантов текста

  
5\. При добавлении галочки объединяет содержимое этого блока выдачи ответа со следующим блоком выдачи ответа (озвучить текст или воспроизвести аудио).

  
Объединенное содержимое будет озвучено в том блоке выдачи ответа, где эта опция не включена. В нем же обработается ответ абонента.

Это удобно, когда нужно **воспроизвести содержимое нескольких блоков выдачи ответа без пауз и показать в расшифровке единой фразой ассистента**.

  
6\. В этом блоке не будет обрабатываться ответ абонента. **Содержимое будет озвучено и сценарий продолжит работу без ожидания ответа**.  
  
Это удобно, например, когда нужно сообщить абоненту о необходимости подождать из-за обработки больших объемов данных или когда ответ абонента неважен.

  
7\. Позволяет автоматически **остановить воспроизведение** содержимого блока и **обработать ответ абонента**, если он произнес что-то в момент воспроизведения. Например:

Р: Вас записать на мастер-класс, где вы …

А: Да

Р: Хорошо, ждем вас

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1px solid rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/M1kimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/M1kimage.png)

</td></tr></tbody></table>

</div></details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%92%D0%BE%D1%81%D0%BF%D1%80%D0%BE%D0%B8%D0%B7%D0%B2%D0%B5%D1%81%D1%82%D0%B8-"><summary>Блок «Воспроизвести аудио»</summary>

В блоке «Воспроизвести аудио» мы **загружаем аудиосообщение** для воспроизведения во время разговора.

Интерфейс свойств блока «Воспроизвести аудио» такой же, как у блока «Озвучить текст»

</details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%9E%D0%B1%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0-%D0%BE%D1%82%D0%B2%D0%B5"><summary>Блок «Обработать ответ»</summary>

Блок «Обработать ответ» обрабатывает ответы абонента на вопросы и в зависимости от ответа ведет диалог по нужной ветке сценарии. Например, если ответ «да», то по одной ветке, если «нет», то по другой.

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%9D-1" style="text-align:left;"><table style="border-collapse:collapse;width:100%;border-color:rgb(219,219,248);height:1383.55px;"><colgroup><col style="width:43px;"></col><col style="width:357px;"></col><col style="width:200px;"></col></colgroup><tbody><tr style="height:35.3906px;"><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:35.3906px;">**№**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:35.3906px;">**Действие**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:35.3906px;">**Скрин**

</td></tr><tr style="height:95.4062px;"><td style="border-color:rgb(219,219,248);height:95.4062px;">1

</td><td style="border-color:rgb(219,219,248);height:95.4062px;">Нажмите ПКМ по полотну и в появившемся списке выберите блок **«Обработать ответ»**

</td><td style="border-color:rgb(219,219,248);height:95.4062px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/w6kimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/w6kimage.png)

</td></tr><tr style="height:71.8906px;"><td style="border-color:rgb(219,219,248);height:71.8906px;">2

</td><td style="border-color:rgb(219,219,248);height:71.8906px;">В боковом меню нажмите на кнопку **«Добавить пользовательский интент»**

</td><td style="border-color:rgb(219,219,248);height:71.8906px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/zlDimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/zlDimage.png)

</td></tr><tr style="height:181.141px;"><td style="border-color:rgb(219,219,248);height:181.141px;">3

</td><td style="border-color:rgb(219,219,248);height:181.141px;">В открывшемся модальном окне вы можете **создать новый** интент для добавления в блок или **использовать существующий** общедоступный или шаблонный интент. Подробнее о добавлении интента на странице [«Добавление интента в блок»](https://docs.ai-assistant.is74.ru/books/instrukcii-po-razdelam/page/dobavlenie-intenta-v-blok)

</td><td style="border-color:rgb(219,219,248);height:181.141px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/B50image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/B50image.png)

</td></tr><tr style="height:147.344px;"><td style="border-color:rgb(219,219,248);height:147.344px;">4

</td><td style="border-color:rgb(219,219,248);height:147.344px;">Вы можете **отредактировать** добавленный в блок интент, кликнув на иконку карандаша справа от названия добавленного интента.

Для **созданных интентов с нуля** (не на основе другого интента), это сделать необходимо, потому что именно ключевые фразы влияют на попадание/не попадание ответа под интент

</td><td style="border-color:rgb(219,219,248);height:147.344px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/5Nuimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/5Nuimage.png)

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/yUCimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/yUCimage.png)

</td></tr><tr style="height:214.094px;"><td style="border-color:rgb(219,219,248);height:214.094px;">4.1

</td><td style="border-color:rgb(219,219,248);height:214.094px;">В открывшемся окне редактирования можно добавить/удалить/отредактировать ключевые и исключающие фразы, протестировать интент, изменить название  
  
Для общедоступных и шаблонных интентов доступна еще отвязка от общедоступного/шаблонного.

[Подробнее про редактирование интента на странице ](https://docs.ai-assistant.is74.ru/link/33#bkmrk-%D0%A0%D0%B5%D0%B4%D0%B0%D0%BA%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D0%B8%D0%BD%D1%82%D0%B5%D0%BD)

</td><td style="border-color:rgb(219,219,248);height:214.094px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/mD6image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/mD6image.png)

</td></tr><tr><td style="border-color:rgb(219,219,248);">4.2

</td><td style="border-color:rgb(219,219,248);">Также вы можете **изменить порядок** добавленных интентов стрелками слева от названия интентов. Ответ абонента отнесется к тому интенту, с ключевыми словами которого произойдет совпадения первым, поэтому очередность важна.

Для **удаления** интента кликните на иконку крестика справа от названия интента.

</td><td style="border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/aTuimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/aTuimage.png)

</td></tr><tr style="height:191.391px;"><td style="border-color:rgb(219,219,248);height:191.391px;">5

</td><td style="border-color:rgb(219,219,248);height:191.391px;">После добавления нужных интентов, можете **протестировать блок**, чтобы проверить на тестовых фразах, как он будет отрабатывать с текущими настройками

[Инструкции по тестированию интентов и блоков](https://docs.ai-assistant.is74.ru/books/instrukcii-po-razdelam/page/testirovanie-intenta-testirovanie-bloka)

</td><td style="border-color:rgb(219,219,248);height:191.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/bcqimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/bcqimage.png)

</td></tr><tr style="height:153.219px;"><td style="border-color:rgb(219,219,248);height:153.219px;">6

</td><td style="border-color:rgb(219,219,248);height:153.219px;">Для удобства редактирования блока можете перейти на отдельную страницу **«Настройка интентов в блоке»**, кликнув на кнопку **«Открыть страницу настройки блока»**. Инструкция по работе с этой страницей [здесь.](https://docs.ai-assistant.is74.ru/books/instrukcii-po-razdelam/page/nastroika-intentov-v-bloke)

</td><td style="border-color:rgb(219,219,248);height:153.219px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/B0Eimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/B0Eimage.png)

</td></tr><tr style="height:66.9062px;"><td style="border-color:rgb(219,219,248);height:66.9062px;">7

</td><td style="border-color:rgb(219,219,248);height:66.9062px;">Не забудьте **сохранить изменения** при редактировании блока в редакторе сценариев.

</td><td style="border-color:rgb(219,219,248);height:66.9062px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/SAdimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/SAdimage.png)

</td></tr><tr style="height:226.766px;"><td style="border-color:rgb(219,219,248);height:226.766px;">8

</td><td style="border-color:rgb(219,219,248);height:226.766px;">После сохранения настроек добавленные интенты отобразятся в карточке блока в рабочем пространстве. Для каждого интента будут добавлены **исходящие порты**, из которых необходимо **вывести связи** к другим блокам.

</td><td style="border-color:rgb(219,219,248);height:226.766px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/63Kimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/63Kimage.png)

</td></tr></tbody></table>

</div>Дополнительные свойства блока «Обработать ответ»

<div dir="ltr" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%AD%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-1.-1" style="text-align:left;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:#DBDBF8;"><colgroup><col style="width:402px;"></col><col style="width:197px;"></col></colgroup><tbody><tr><td style="border-width:1px;border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Описание**

</td><td style="border-width:1px;border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Элементы**

</td></tr><tr><td style="border-width:1px;border-color:rgb(219,219,248);">1\. Добавление **цели** на блок для отображения его в **аналитике**

2.<span style="color:rgb(0,0,0);"> Добавление **системного интента**: «Молчание по умолчанию» проведет по определенной ветке в случае молчания абонента.</span>

  
3-4. **Определение количества переспросов** и снятие ограничения на количество переспросов. То есть определение, сколько раз робот будет переспрашивать абонента, если его вариант не попадает под добавленные интенты (варианты ответов).

Например, есть выставлено 2 повтора:

Р: Вы придете?

Ч: Что-что?

Р: Вы придете?

Ч: Хммм

Р: Вы придете?

Ч: бебебе

Р: Переходит к следующему блоку

  
5\. **Превышен лимит** — это когда робот повторил вопрос заданное количество раз, но не получил нужного ответа. Далее он отправит диалог из варианта «Превышен лимит»

</td><td style="border-width:1px;border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/RYQimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/RYQimage.png)

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/LJCimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/LJCimage.png)

</td></tr></tbody></table>

</div></details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%A1%D1%80%D0%B0%D0%B2%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5-%D0%BF%D0%B5%D1%80%D0%B5"><summary>Блок «Сравнить переменные»</summary>

**Блок «Сравнить переменные»** позволяет сравнивать одну переменную с другой с помощью логических операторов: =, &gt;,&lt;, …

В зависимости от выполнения условия сценарий идет по одной или другой ветке.

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%9D-2" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:rgb(219,219,248);height:892.796px;"><colgroup><col style="width:43px;"></col><col style="width:357px;"></col><col style="width:200px;"></col></colgroup><tbody><tr style="height:31.9062px;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">№</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Действие</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Скрин</span>**

</td></tr><tr style="height:91.7031px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:91.7031px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1</span>

</td><td style="height:91.7031px;border-color:rgb(219,219,248);">Нажмите ПКМ по полотну и в появившемся списке **выберите блок «Сравнить переменные»**

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:91.7031px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/1Mqimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/1Mqimage.png)

</td></tr><tr style="height:292.609px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:292.609px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">2</span>

</td><td style="height:292.609px;border-color:rgb(219,219,248);">В боковом меню в поле Переменная 1 **выберите первую переменную**, которую хотите сравнить

  
Как создать переменную, читайте в разделе [«Работа с переменными»](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/rabota-s-peremennymi)

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:292.609px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/g9mimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/g9mimage.png)

</td></tr><tr style="height:307.422px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:307.422px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">3</span>

</td><td style="height:307.422px;border-color:rgb(219,219,248);">Затем **выберите логический оператор** и **вторую переменную** для сравнения

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:307.422px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/KNbimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/KNbimage.png)

</td></tr><tr style="height:169.156px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:169.156px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">4</span>

</td><td style="height:169.156px;border-color:rgb(219,219,248);">Кликните на **кнопку «Сохранить изменения»**. Вы получите блок следующего вида

  
Если переменная 1 будет, например, больше переменной 2, то условие выполнится и сценарий пойдет из точки «Условие 1». Если не выполнится, то диалог выйдет из точки «Не пройдено»

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:169.156px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/kLFimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/kLFimage.png)

</td></tr></tbody></table>

</div>**Дополнительные свойства** блока «Сравнить переменные»

<div dir="ltr" id="bkmrk-%D0%9E%D0%BF%D0%B8%D1%81%D0%B0%D0%BD%D0%B8%D0%B5-%D0%AD%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82%D1%8B-1.-2" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:#DBDBF8;"><colgroup><col style="width:402px;"></col><col style="width:197px;"></col></colgroup><tbody><tr style="height:0pt;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);">**Описание**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);">**Элементы**

</td></tr><tr style="height:345.75pt;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);">1\. Добавление **цели** на блок для отображения его в **аналитике**

  
2\. При нажатии на кнопку **«Добавить условие»** появляется раздел, где можно добавить еще одно сравнение переменных

  
Если условий несколько, то они проверяются **последовательно** (сверху вниз). То есть, сначала проверяется условие 1 и, если оно выполнится, то условие 2 даже не будет проверятся

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/resimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/resimage.png)

</td></tr></tbody></table>

</div></details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%98%D0%B7%D0%BC%D0%B5%D0%BD%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5%D0%BC"><summary>Блок «Изменить переменную»</summary>

### Блок «Изменить переменную»

Используется для изменения значений переменных в сценарии

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%9D-3" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;height:378.172px;border-width:1px;border-color:rgb(219,219,248);"><colgroup><col style="width:43px;"></col><col style="width:357px;"></col><col style="width:200px;"></col></colgroup><tbody><tr style="height:36.7031px;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:36.7031px;">**№**

</td><td style="background-color:rgb(246,246,253);border-color:rgb(219,219,248);height:36.7031px;">**Действие**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:36.7031px;">**Скрин**

</td></tr><tr style="height:95.5781px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:95.5781px;">1

</td><td style="border-color:rgb(219,219,248);height:95.5781px;">Нажмите ПКМ по полотну и в появившемся списке выберите блок «Изменить переменную»

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:95.5781px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/8CEimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/8CEimage.png)

</td></tr><tr style="height:245.891px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:245.891px;">2

</td><td style="border-color:rgb(219,219,248);height:245.891px;">В боковом меню выберите переменную, которой хотите присвоить новое значение и в поле «Значение переменной» введите новое значение

  
Как создать переменную, читайте в разделе [«Работа с переменными»](https://docs.ai-assistant.is74.ru/books/redaktor-scenariev/page/rabota-s-peremennymi)

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:245.891px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/XJnimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/XJnimage.png)

</td></tr></tbody></table>

</div>##### Системные переменные

{{serv\_\_request\_text}} – текст, который озвучил абонент

</details><details id="bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%E2%80%9C%D0%9A%D0%BE%D0%BD%D0%B5%D1%86-%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D1%8F"><summary>Блок «Завершить сценарий»</summary>

### Блок «Завершить сценарий»

Завершающий блок обязателен для работы сценария. Для завершения сценария используйте блок «Завершить сценарий» или «Завершить и переадресовать»

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%A7-1" style="text-align:left;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:#DBDBF8;"><colgroup><col style="width:28px;"></col><col style="width:372px;"></col><col style="width:200px;"></col></colgroup><tbody><tr><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**№**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Действие**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);">**Скрин**

</td></tr><tr><td style="border-color:rgb(219,219,248);">1

</td><td style="border-color:rgb(219,219,248);">Чтобы создать новый блок:

Нажмите ПКМ по полотну и в появившемся списке выберите блок «Завершить сценарий»

</td><td style="border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/Usfimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/Usfimage.png)

</td></tr><tr><td style="border-color:rgb(219,219,248);">2

</td><td style="border-color:rgb(219,219,248);">В боковой панели справа откроются свойства блока.

У нас есть четыре типа завершения сценария:

1 – Положить трубку. Звонок просто завершится со стороны голосового ассистента

2 – Перевести на оператора. Звонок будет переведен на оператора

3 – Перенаправление. Диалог будет перенаправлен в другой сценарий платформы "Диалог"  
4 – Вернуть диалог обратно. Возвращает сценарий обратно в блок «Перенаправить и вернуться»

</td><td style="border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/Ipbimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/Ipbimage.png)

</td></tr><tr><td style="border-color:rgb(219,219,248);">3

</td><td style="border-color:rgb(219,219,248);">Выбираем нужный тип и нажимаем на кнопку «Сохранить изменения», если изменения были внесены

</td><td style="border-color:rgb(219,219,248);">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/rYGimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/rYGimage.png)

</td></tr></tbody></table>

</div></details>---

# Работа с переменными

Переменные играют в создании сценария важную роль и используются в следующих ситуациях:

- В них передаются поступающие на **вход в сценарий** данные (параметры, добавляемые в блок «Начать сценарий»). Например, если мы передаем в сценарий ФИО пациента, то мы должны записать эти входящие параметры в **заранее созданные переменные**, например, в переменную «fio»
- Мы записываем в переменные те данные, которые получаем **из SQL/HTTP–запросов**. Например, если запрос возвращает данные по наличию записи на прием у пациента, то мы запишем эту информацию в переменные «date», «time», «doctor» и т. д. В дальнейшем информацию из этих переменных мы также сможем использовать
- Переменные также используются **для сравнения** их с другими переменными и для проверки различных условий. Например, чтобы сравнить переменную «age» c 18, нам нужно создать еще одну переменную «age\_18» со значением по умолчанию «18» и сравнить ее с переменной «age».
- Мы можем зафиксировать информацию, озвученную пользователем в переменную при помощи блока "[**Заполнить переменные с LLM**](https://docs.ai-assistant.is74.ru/link/4#bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%C2%AB%D0%97%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5)", а затем использовать ее, в том числе, в HTTP и SQL-запросах. Например, мы можем выяснить адрес абонента, а затем произвести поиск по адресу в базе данных для получения информации об объекте, которая может понадобиться для консультации.

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%A7" style="text-align:left;"><table style="border-collapse:collapse;width:100%;border-width:1px;border-color:rgb(219,219,248);height:2275.38px;"><colgroup><col style="width:34px;"></col><col style="width:330px;"></col><col style="width:306px;"></col></colgroup><tbody><tr style="height:29.7969px;"><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:29.7969px;">**№**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:29.7969px;">**Действие**

</td><td style="border-color:rgb(219,219,248);background-color:rgb(246,246,253);height:29.7969px;">**Скрин**

</td></tr><tr style="height:237.266px;"><td style="border-color:rgb(219,219,248);height:237.266px;">1

</td><td style="border-color:rgb(219,219,248);height:237.266px;">Чтобы создать/отредактировать/посмотреть переменные – перейдем в боковом меню на **вкладку <span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Переменные<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**

</td><td style="border-color:rgb(219,219,248);height:237.266px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/b09image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/b09image.png)

</td></tr><tr style="height:199.391px;"><td style="border-color:rgb(219,219,248);height:199.391px;">2

</td><td style="border-color:rgb(219,219,248);height:199.391px;">Чтобы создать новую переменную, нажмем на кнопку **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Добавить переменную<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**

  
  
</td><td style="border-color:rgb(219,219,248);height:199.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/hn2image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/hn2image.png)

</td></tr><tr style="height:276.969px;"><td style="border-color:rgb(219,219,248);height:276.969px;">3

</td><td style="border-color:rgb(219,219,248);height:276.969px;">1\. Выберем **тип переменной**: число или текст

2\. Введем **название**, например, <span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Сезон<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>

3\. Необязательно: установим значение по умолчанию

</td><td style="border-color:rgb(219,219,248);height:276.969px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/01himage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/01himage.png)

</td></tr><tr style="height:135.391px;"><td style="border-color:rgb(219,219,248);height:135.391px;">3.1

</td><td style="border-color:rgb(219,219,248);height:135.391px;">4\. Необязательно: Введем описание переменной для llm. Именно на это описание будет ориентироваться llm при подстановке значения переменной при помощи блока "[Заполнить переменные с ллм](https://docs.ai-assistant.is74.ru/link/4#bkmrk-%D0%91%D0%BB%D0%BE%D0%BA-%C2%AB%D0%97%D0%B0%D0%BF%D0%BE%D0%BB%D0%BD%D0%B8%D1%82%D1%8C-%D0%BF%D0%B5%D1%80%D0%B5)"  
  
Например: время года, в которое обратился абонент.

или: город абонента  
или: тема обращения абонента.  
  
Чем точнее вы опишете желаемый результат, тем точнее окажется значение переменной при заполнении.  
  
Например, для определения темы обращения подойдет такое описание:  
  
*Основной запрос абонента. Определи основную тему обращения по запросу абонента, охарактеризуй ёмко. Например:*  
*"Проблемы с интернетом", "Узнать расписание".*

</td><td style="border-color:rgb(219,219,248);height:135.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/Up3image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/Up3image.png)

</td></tr><tr style="height:353.391px;"><td style="border-color:rgb(219,219,248);height:353.391px;">3.2

</td><td style="border-color:rgb(219,219,248);height:353.391px;">5\. Необязательно: добавьте допустимые значения, из которых llm в блоке "Заполнить переменные с ллм" должна будет выбрать одно наиболее подходящее по контексту диалога.

6\. Нажмите на кнопку "Сохранить"

</td><td style="border-color:rgb(219,219,248);height:353.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/c5dimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/c5dimage.png)

</td></tr><tr style="height:333.391px;"><td style="border-color:rgb(219,219,248);height:333.391px;">4

</td><td style="border-color:rgb(219,219,248);height:333.391px;">Теперь в списке с переменными появится наша новая переменная «fio».

Для **редактирования переменной** нажмите на поле с названием переменной в списке

</td><td style="border-color:rgb(219,219,248);height:333.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/1O1image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/1O1image.png)

</td></tr><tr style="height:459.391px;"><td style="border-color:rgb(219,219,248);height:459.391px;">5

</td><td style="border-color:rgb(219,219,248);height:459.391px;">При редактировании вы можете изменить поля, настраиваемые при добавлении переменной.  
  
После внесения изменений нажмите на кнопку **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Сохранить<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**. Для сброса изменений и возвращения к списку переменных, нажмите на кнопку **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Назад к списку переменных<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**

</td><td style="border-color:rgb(219,219,248);height:459.391px;">[ ![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/BY7image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/BY7image.png)

</td></tr><tr style="height:250.391px;"><td style="border-color:rgb(219,219,248);height:250.391px;">6

</td><td style="border-color:rgb(219,219,248);height:250.391px;">Для использования переменных в блоках "Озвучить текст", "Отправить сообщение" и "Отправить в телеграм", начните вводить название переменной в фигурных скобках {{ и система сама предложит вам подставить одну из созданных в сценарии переменную

</td><td style="border-color:rgb(219,219,248);height:250.391px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/scaled-1680-/veoimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2025-04/veoimage.png)

</td></tr></tbody></table>

</div>

# Тестирование сценария в редакторе

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Когда у вас есть готовый сценарий, вы можете его **протестировать**, не выходя из редактора сценариев. Это будет тестовый звонок прямо в интерфейсе сценария, в котором вы сможете поучаствовать как обычный абонент, используя микрофон, подключенный к устройству, на котором вы используете платформу.</span>

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">В готовом сценарии должно быть выполнено 3 условия:   
</span>

- <p class="callout success">Наличие начального блока</p>
- <p class="callout success">Наличие завершающего блока</p>
- <p class="callout success">Наличие связей между блоками</p>

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">При попытке тестирования с **невыполненными условиями,** интерфейс выдаст Ошибку сценария с описанием ошибки. </span>

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/t8cimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/t8cimage.png)

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">**Для тестирования** выполните следующие действия:</span>

<div dir="ltr" id="bkmrk-%E2%84%96-%D0%94%D0%B5%D0%B9%D1%81%D1%82%D0%B2%D0%B8%D0%B5-%D0%A1%D0%BA%D1%80%D0%B8%D0%BD-1-%D0%92" style="text-align:left;margin-left:0pt;"><table style="border-collapse:collapse;width:100%;height:1015.36px;"><colgroup><col style="width:5.06706%;"></col><col style="width:49.1803%;"></col><col style="width:45.6036%;"></col></colgroup><tbody><tr style="height:31.9062px;"><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">№</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Действие</span>**

</td><td style="vertical-align:top;background-color:rgb(246,246,253);padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:31.9062px;">**<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Скрин</span>**

</td></tr><tr style="height:239.922px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:239.922px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">1</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:239.922px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">В правом верхнем углу боковой панели переходим на таб **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Проверка<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:239.922px;">[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/scaled-1680-/JRPimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2023-10/JRPimage.png)

</td></tr><tr style="height:137.906px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:137.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">2</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:137.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Выбираем **стартовый блок**</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:137.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span style="border:none;display:inline-block;overflow:hidden;width:235px;height:119px;">![44D6OFgzufwTD9ZzVJuvjsMvzHiQ404dFH0FpRrGCyF4NHIc1jVfLYFCdH63HV10j1swaS_XYUnDq8RJzzoo3b__ha7VAiJpofLpvNS3pni07FL289QVCspU1fLdQrrCYbQAO8jnAXt6c4iQeK2TiFA](https://lh5.googleusercontent.com/44D6OFgzufwTD9ZzVJuvjsMvzHiQ404dFH0FpRrGCyF4NHIc1jVfLYFCdH63HV10j1swaS_XYUnDq8RJzzoo3b__ha7VAiJpofLpvNS3pni07FL289QVCspU1fLdQrrCYbQAO8jnAXt6c4iQeK2TiFA)</span></span>

</td></tr><tr style="height:134.906px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:134.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">3</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:134.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Альтернативно (может быть этот шаг, может не быть)</span>

<span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Вбиваем тестовые параметры для звонка. Например, это может быть номер телефона, фио пациента и т.п.</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:134.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span style="border:none;display:inline-block;overflow:hidden;width:235px;height:116px;">![7Ix4lDBZ_XTllJwk1wlRJ56cPb2vlOUsK7MzT-sIoX4RXdvovO4a_eUCDWtuzSjE9UYg5aOMPE5i-9MLFgi9y80Rz-0ovVCFBRGQIXYI5zM1PSDb5xR-u54oHEO_RJKrwuqumQqWgnJKABl2wKtOfUk](https://lh3.googleusercontent.com/7Ix4lDBZ_XTllJwk1wlRJ56cPb2vlOUsK7MzT-sIoX4RXdvovO4a_eUCDWtuzSjE9UYg5aOMPE5i-9MLFgi9y80Rz-0ovVCFBRGQIXYI5zM1PSDb5xR-u54oHEO_RJKrwuqumQqWgnJKABl2wKtOfUk)</span></span>

</td></tr><tr style="height:77.9062px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:77.9062px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">4</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:77.9062px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Нажимаем на кнопку **<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">«</span>Звонок<span style="font-size:11pt;font-family:Arial, sans-serif;color:rgb(0,0,0);background-color:transparent;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">»</span>**</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:77.9062px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span style="border:none;display:inline-block;overflow:hidden;width:224px;height:59px;">![V6NRH4cseZy6fy8fkoItllmj-mpI6Qk6sSPHhJxwwkTmsDaJNQQdvTSk3qBjgZNXpXgNyo99RSjBbfZEN7-u4s5xdJY1mx7vZIXgYH99Cb753DmqYLaiVUQCm8DCDJTveDKe8dzwAfKheAi0gTYcfg8](https://lh3.googleusercontent.com/V6NRH4cseZy6fy8fkoItllmj-mpI6Qk6sSPHhJxwwkTmsDaJNQQdvTSk3qBjgZNXpXgNyo99RSjBbfZEN7-u4s5xdJY1mx7vZIXgYH99Cb753DmqYLaiVUQCm8DCDJTveDKe8dzwAfKheAi0gTYcfg8)</span></span>

</td></tr><tr style="height:146.906px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:146.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">5</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:146.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">Разрешаем **использование микрофона**</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:146.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span style="border:none;display:inline-block;overflow:hidden;width:292px;height:128px;">![Ol8cF1ahepo6gdtceMxD6uDFS6EBwYwwrZVW3kGa8ksYo0_cs_hZvhRBcmxcJheiUIfDjNKD-Fi4dvoxeMNEiyFEmpkMwVpWbgm4xS3WG3g7bibVDTQ5ppavpi7c2_h8sx6Lla_xAB0qyuaIE8hmEGE](https://lh4.googleusercontent.com/Ol8cF1ahepo6gdtceMxD6uDFS6EBwYwwrZVW3kGa8ksYo0_cs_hZvhRBcmxcJheiUIfDjNKD-Fi4dvoxeMNEiyFEmpkMwVpWbgm4xS3WG3g7bibVDTQ5ppavpi7c2_h8sx6Lla_xAB0qyuaIE8hmEGE)</span></span>

</td></tr><tr style="height:245.906px;"><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:245.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">6</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:245.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;">**Разговариваем с роботом** и наблюдаем за прохождением диалога с помощью логов в правой боковой панели</span>

</td><td style="vertical-align:top;padding:5pt;overflow:hidden;border:1pt solid rgb(219,219,248);height:245.906px;"><span style="font-size:11pt;font-family:Arial, sans-serif;color:#000000;background-color:transparent;font-weight:400;font-style:normal;font-variant:normal;text-decoration:none;vertical-align:baseline;white-space:pre-wrap;"><span style="border:none;display:inline-block;overflow:hidden;width:292px;height:227px;">![pBa27uEAl3xoIr6UZtcLMD17gZxUj3_LSPiCQUprNeBFQv0cowlL98dTCEIM2GxlGq2ccNLxupiQlvr4D4_9XgHnHWLrNTXnecTBFwnKQplKE6CdnKcS0U1CYMc1HzKgbxJBowI4XNWW5GbwuIt1iMs](https://lh5.googleusercontent.com/pBa27uEAl3xoIr6UZtcLMD17gZxUj3_LSPiCQUprNeBFQv0cowlL98dTCEIM2GxlGq2ccNLxupiQlvr4D4_9XgHnHWLrNTXnecTBFwnKQplKE6CdnKcS0U1CYMc1HzKgbxJBowI4XNWW5GbwuIt1iMs)</span></span>

</td></tr></tbody></table>

</div>

# Настройка блока «Диалог с LLM»

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/PqFimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/PqFimage.png)

Блок «Диалог с LLM» позволяет большой языковой модели вести разговор с абонентом внутри сценария.

В отличие от блоков с заранее написанными репликами, LLM самостоятельно формулирует ответы и следующие вопросы на основании:

- настроек промпта;
- предыдущих реплик диалога;
- значений переменных, добавленных в промпт;
- подключённых знаний;
- заданных условий для выхода;
- системных указаний и настроек выбранной модели.

Блок подходит для ситуаций, в которых заранее невозможно перечислить все варианты ответов абонента. Например, с его помощью можно уточнить причину обращения, собрать несколько связанных сведений, проконсультировать абонента или определить тему запроса.

**LLM** — большая языковая модель, способная понимать и генерировать текст на естественном языке.

## Как работает блок

После перехода сценария в блок модель получает инструкцию и начинает вести диалог с абонентом.

Инструкция состоит из нескольких элементов:

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/Gweimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/Gweimage.png)

<table id="bkmrk-%D0%AD%D0%BB%D0%B5%D0%BC%D0%B5%D0%BD%D1%82-%D0%A7%D1%82%D0%BE-%D0%BE%D0%BF%D1%80%D0%B5%D0%B4%D0%B5%D0%BB%D1%8F"><thead><tr><th>Элемент</th><th>Что определяет</th></tr></thead><tbody><tr><td>Роль</td><td>От чьего имени отвечает модель и каких правил общения придерживается</td></tr><tr><td>Задача</td><td>Что модель должна выяснить или выполнить — дает понимание модели, какие вопросы для этого задавать</td></tr><tr><td>Контекст</td><td>Какие данные и обстоятельства необходимо учитывать</td></tr><tr><td>Условие для выхода</td><td>Какой результат означает, что работа блока завершена</td></tr></tbody></table>

После каждой реплики абонента LLM продолжает выполнять задачу и проверяет настроенные условия для выхода.

Когда одно из условий выполнено:

1. модель определяет значения связанных с условием переменных;
2. записывает полученные значения в переменные;
3. сценарий выходит из блока;
4. диалог продолжается по выходу, соответствующему выполненному условию.

В одном блоке можно создать несколько условий. Для каждого из них на блоке появляется отдельный выход.

> Фраза модели о том, что действие выполнено, сама по себе не выполняет это действие в сценарии. Например, если после разговора необходимо отправить HTTP-запрос, создать запись или сформировать заявку, операция должна выполняться соответствующим следующим блоком.

Не разрешайте LLM сообщать абоненту, что запись создана, заявка отправлена или другое действие успешно выполнено, пока сценарий фактически не выполнил эту операцию.

## Когда использовать блок

Блок подходит, когда необходимо:

- вести разговор со свободными формулировками;
- последовательно уточнить несколько связанных сведений;
- определить тему или причину обращения;
- собрать данные, которые абонент может сообщить в произвольном порядке;
- сформировать ответ с учётом контекста;
- использовать информацию из подключённых знаний;
- привести диалог к одному из нескольких возможных результатов.

Для простых вопросов с ограниченным набором ответов лучше использовать более предсказуемые блоки сценария, например «Обработать ответ» или «Сравнить переменные».

Не стоит поручать LLM критически важное действие только на основании её собственного решения, если результат нельзя дополнительно проверить средствами сценария.

# Рекомендуемый порядок настройки блока

Не рекомендуется заполнять настройки блока сверху вниз в том порядке, в котором они расположены в панели свойств.

Начните с результата, к которому должен прийти диалог, и только после этого описывайте поведение модели.

## 1. Определите возможные результаты диалога

Сформулируйте для себя, при каких результатах блок должен завершить работу.

Например:

- абонент подтвердил запись;
- абонент отказался от записи;
- причина обращения определена;
- необходимые данные получены;
- вопрос абонента решён;
- требуется отдельная обработка обращения.

## 2. Создайте условия для выхода

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/if0image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/if0image.png)

Для каждого результата настройте отдельное условие.

Укажите:

- что именно должно произойти;
- по каким признакам результат считается достигнутым;
- какие ответы подходят под условие;
- какие неоднозначные или похожие ответы не должны приводить к выходу.

При необходимости добавьте примеры.

В одном блоке можно создать несколько условий. Каждое условие:

- настраивается отдельно;
- может иметь собственные переменные;
- создаёт отдельный выход на блоке;
- может вести в отдельную ветку сценария.

Например, в блоке подтверждения записи можно создать условия:

- «Запись подтверждена»;
- «Абонент отказался»;
- «Абонент хочет перенести запись».

#### Добавление условия

1. В разделе **«Выход из блока»** нажмите **«Добавить условие для выхода»**.
2. В редакторе промпта откроется новая вкладка условия.
3. В поле **«Название условия»** укажите короткое и понятное название результата.
4. В поле **«Описание условия»** опишите критерии его выполнения.
5. При необходимости добавьте переменные, которые нужно заполнить при выходе.
6. Нажмите **«Сохранить изменения»**.

Новое условие появится:

- в списке настроек блока;
- в редакторе промпта;
- на блоке в рабочем пространстве;
- как отдельный выход для создания связи.

#### Название условия

Название отображается на блоке и используется как подпись выхода. Поэтому оно должно быть коротким и понятным.

Подходящие примеры:

- «Назван номер полиса»;
- «Запись подтверждена»;
- «Абонент отказался»;
- «Тема обращения определена».

Не рекомендуется оставлять названия вроде «Условие для выхода 1» в готовом рабочем сценарии.

#### Описание условия

В описании укажите конкретные признаки, по которым модель должна понять, что условие выполнено.

Недостаточно конкретно:

> Вопрос решён.

Точнее:

> Условие выполнено, если абонент назвал причину обращения и подтвердил, что определённая моделью тема сформулирована верно.

Ещё один пример:

> Условие выполнено, если абонент однозначно подтвердил, что придёт на приём. Подтверждением считаются ответы «да», «приду», «буду», «подтверждаю» и аналогичные по смыслу ответы. Неопределённые ответы и уточняющие вопросы не считаются подтверждением.

Для сложных условий добавляйте:

- обязательные критерии;
- примеры подходящих ответов;
- исключения;
- действия модели при неоднозначном ответе.

Условие должно быть согласовано с задачей:

- задача объясняет, как прийти к результату;
- условие определяет, как понять, что результат достигнут.

Не нужно полностью дублировать один и тот же текст в задаче и условии.

#### Редактирование и удаление условия

Чтобы изменить условие, нажмите значок карандаша рядом с его названием.

Чтобы удалить условие, нажмите значок минуса.

После удаления условие перестанет отображаться в свойствах и исчезнет с блока как отдельный выход.

#### Дополнительный выход после одного ответа

При необходимости в разделе **«Дополнительные настройки»** можно включить опцию **«Выйти после одного ответа»**.

Эта опция не заменяет настроенные условия.

После ответа абонента платформа сначала проверит все условия для выхода:

- если одно из условий выполнено, сценарий продолжится по выходу этого условия;
- если ни одно условие не выполнено, сценарий продолжится по дополнительному выходу **«Выйти после одного ответа»**.

Такой выход можно использовать, чтобы:

1. получить ответ абонента;
2. выполнить точную проверку или обработку ответа в других блоках;
3. сохранить или преобразовать данные;
4. вернуться в блок «Диалог с LLM»;
5. продолжить разговор и снова попытаться выполнить одно из условий.

Например, LLM просит назвать номер полиса. Если после ответа ни одно условие не выполнилось, сценарий выходит в блок проверки номера. После проверки сценарий возвращается в «Диалог с LLM», где модель сообщает результат или просит повторить номер.

При выборе опции становится доступен переключатель **«Не записывать ответ абонента»**. Включите его, если реплику, после которой произошёл дополнительный выход, не нужно сохранять для дальнейшей работы блока.

## 3. Настройте переменные

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/tYOimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/tYOimage.png)

Для каждого условия можно выбрать переменные, которые LLM должна заполнить при выходе из блока.

Переменные разных условий настраиваются отдельно.

Например, для условия «Тема обращения определена» можно добавить переменные:

- `request_topic`;
- `request_details`;
- `dialog_status`.

#### Добавление переменной

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/fE4image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/fE4image.png)

1. Откройте нужное условие.
2. В разделе **«Переменные, которые нужно заполнить при выходе из блока»** нажмите **«Добавить переменную»**.
3. Выберите переменную сценария.
4. При необходимости откройте её настройки с помощью значка шестерёнки.
5. Добавьте остальные переменные.
6. Сохраните условие.

Когда условие срабатывает, LLM определяет значения переменных на основании:

- прошедшего разговора;
- описания условия;
- названия и описания переменной;
- списка допустимых значений, если он настроен.

Для каждой переменной необходимо указать понятное описание.

Недостаточно точное описание:

> Тема.

Подробное описание:

> Основная тема обращения абонента. Одно из значений: запись, отмена записи, перенос записи, стоимость, другое.

Переменные можно использовать:

- в следующих блоках сценария;
- для выбора ветки;
- в HTTP- и SQL-запросах;
- для аналитики и фильтрации диалогов;
- для передачи важной информации в следующий LLM-блок.

> Даже переменная, отмеченная как обязательная, может остаться незаполненной, если модель не смогла определить значение или условие настроено неоднозначно.

Критически важные значения рекомендуется дополнительно проверять после выхода из блока.

## 4. Сформулируйте задачу

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/BOIimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/BOIimage.png)

Задача определяет, что именно LLM должна получить от абонента, чтобы привести диалог к одному из условий для выхода. Именно по задаче LLM определяет, какие вопросы необходимо задавать абоненту, чтобы дойти до одного из условий выхода.

В задаче рекомендуется указать:

- какой результат нужно получить;
- какие данные необходимо уточнить;
- в каком порядке их лучше собирать;
- что делать при неполном или неоднозначном ответе;
- нужно ли подтвердить полученные данные;
- какие действия модель не должна выполнять самостоятельно.

Пример:

> Выясни причину обращения абонента. При необходимости задай уточняющие вопросы. Определи одну основную тему обращения из допустимого списка. Получи подтверждение абонента, что тема определена верно.

Недостаточно точная задача:

> Определи тему обращения.

Такой инструкции может быть недостаточно, потому что она не объясняет модели, какие вопросы нужно задавать, если информации пока нет.

Содержимое задачи должно помогать модели понять, **как прийти к условиям для выхода**.

## 5. Добавьте контекст

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/trfimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/trfimage.png)

Контекст содержит информацию, которой модель должна пользоваться при выполнении текущей задачи.

В контекст можно добавить:

- описание текущей ситуации;
- данные об услуге;
- правила обработки обращения;
- ограничения;
- сведения, полученные на предыдущих шагах;
- значения переменных сценария;
- инструкцию по использованию подключённых знаний.

Переменные добавляются в промпт в двойных фигурных скобках.

Пример:

<div id="bkmrk-1-2-3-%D0%98%D0%BC%D1%8F-%D0%B0%D0%B1%D0%BE%D0%BD%D0%B5%D0%BD%D1%82%D0%B0%3A-"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1p"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div></div></div><div class="cm-content"><div class="cm-line">Имя абонента: {{client_name}}</div><div class="cm-line">Тема предыдущего обращения: {{request_topic}}</div><div class="cm-line">Доступные варианты записи: {{available_slots}}</div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div>В контекст следует помещать только ту информацию, которая необходима для текущей задачи.

> Помимо текста, указанного в поле «Контекст», модели передаётся предыдущий текст диалога абонента с роботом.

Если в сценарии последовательно используется несколько блоков «Диалог с LLM», накопленный контекст может стать слишком большим. В таком случае модель может:

- смешивать задачи разных этапов;
- учитывать уже неактуальные инструкции;
- игнорировать задачу текущего блока;
- генерировать нерелевантные ответы;
- продолжать разговор вместо требуемого выхода.

Поэтому важную информацию из предыдущих этапов лучше:

1. сохранить в переменные;
2. передать в новый блок только необходимые значения;
3. явно описать текущую ситуацию;
4. ограничить задачу блока одним конкретным результатом.

При необходимости перед актуальным контекстом можно добавить указание:

<div id="bkmrk-1-2-3-4-%D0%97%D0%B0%D0%B1%D1%83%D0%B4%D1%8C-%D0%B2%D0%B5%D1%81%D1%8C-"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1q"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div><div class="cm-gutterElement">4</div></div></div><div class="cm-content"><div class="cm-line">Забудь весь предыдущий контекст. Используй только информацию ниже.</div><div class="cm-line">  
</div><div class="cm-line">Проконсультируй абонента на тему {{theme}}.</div><div class="cm-line">После завершения консультации уточни, остались ли у него вопросы.</div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div>Динамические сведения при этом следует передавать через переменные.

## 6. Задайте роль

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/Ut6image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/Ut6image.png)

Роль определяет, кем является модель во время разговора и в какой манере она общается.

В роли можно указать:

- от имени какой организации отвечает модель;
- какую функцию выполняет;
- каким должен быть стиль общения;
- какие темы она может обсуждать;
- какие ограничения должна соблюдать;
- какую информацию запрещено придумывать или озвучивать.

Пример:

> Ты — голосовой помощник медицинского центра. Общайся вежливо и нейтрально. Не ставь диагнозы, не придумывай информацию, которой нет в контексте, и не сообщай персональные данные других пациентов.

## 7. Подключите знания и настройте модель

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/SRlimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/SRlimage.png)

Выберите знание, которое содержит необходимые документы с нужной информацией.

В поле **«Контекст»** объясните модели, как использовать найденную информацию.

Пример инструкции в контексте:

> Отвечай на вопросы абонента только на основании информации, полученной из базы знаний. Если в найденных фрагментах нет ответа, не придумывай его. Уточни вопрос или сообщи, что для ответа недостаточно информации.

### Выбор модели

Модели, которые наиболее точно следуют заданному промпту:

- **`local-qwen3-30B-A3B-Instruct-2507-FP8`** — формирует ответ сразу на основании промпта и контекста. Подходит для задач с понятной логикой и ожидаемым результатом.
- **`local-qwen3.5-35b-a3b`** — может автоматически выполнять дополнительные итерации размышления перед ответом. Это помогает при более сложных задачах, но может увеличить время ожидания реплики.

Для голосовых сценариев автоматическое размышление Qwen 3.5 рекомендуется отключать, если оно не требуется для задачи блока. Для этого добавьте в поле **«Специализированные параметры»**:

<div id="bkmrk-1-2-3-4-5-%7B-%22chat_te"><div class="cm-editor ͼ1 ͼ2 ͼ4 ͼ1r"><div class="cm-announced">  
</div><div class="cm-scroller" tabindex="-1"><div class="cm-gutters cm-gutters-before"><div class="cm-gutter cm-lineNumbers"><div class="cm-gutterElement">  
</div><div class="cm-gutterElement">1</div><div class="cm-gutterElement">2</div><div class="cm-gutterElement">3</div><div class="cm-gutterElement">4</div><div class="cm-gutterElement">5</div></div></div><div class="cm-content"><div class="cm-line"><span class="cm-matchingBracket">{</span></div><div class="cm-line">"chat_template_kwargs": {</div><div class="cm-line">"enable_thinking": false</div><div class="cm-line">}</div><div class="cm-line"><span class="cm-matchingBracket">}</span></div></div><div class="cm-layer cm-layer-above cm-cursorLayer">  
</div><div class="cm-layer cm-selectionLayer">  
</div></div></div></div><div class="relative w-full mt-4 mb-1" id="bkmrk--10"><div><div class="contents"><div class="border border-token-border-light border-radius-3xl corner-superellipse/1.1 rounded-3xl"><div class="relative h-full w-full border-radius-3xl bg-(--code-block-surface) corner-superellipse/1.1 overflow-clip rounded-3xl [--code-block-surface:var(--bg-elevated-secondary)] dark:[--code-block-surface:var(--composer-surface-primary)] lxnfua_clipPathFallback"><div class="relative"><div class="h-full min-h-0 min-w-0"><div class="h-full min-h-0 min-w-0"><div><div class="relative"><div><div class="relative z-0 flex max-w-full"><div class="q9tKkq_viewer cm-editor z-10 light:cm-light dark:cm-light flex h-full w-full flex-col items-stretch ͼd ͼr" dir="ltr" id="bkmrk--11"></div></div></div></div></div></div></div></div></div></div></div></div></div>### Расширенные настройки модели

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/7y4image.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/7y4image.png)

- **`temperature`** — вариативность ответов. Чем ниже значение, тем стабильнее формулировки.
- **`top_p`** — ограничивает набор вариантов, из которых модель выбирает продолжение.
- **`max_new_tokens`** — максимальная длина ответа. Слишком большое значение увеличивает время генерации, слишком маленькое может привести к обрыву реплики.
- **`stop sequences`** — последовательности символов, при появлении которых генерация прекращается.
- **Специализированные параметры** — дополнительные настройки выбранной модели в формате JSON.

Чтобы восстановить исходные рекомендуемые значения, нажмите **«Вернуть настройки по умолчанию»**.

## 8. Подключите выходы и протестируйте блок

Соедините каждый выход с соответствующей веткой сценария и проверьте все возможные варианты диалога.

Основной принцип настройки:

> **Условия для выхода определяют результат. Задача описывает путь к этому результату. Контекст предоставляет необходимые данные. Роль задаёт поведение модели.**

# Добавление блока в сценарий

1. Откройте сценарий в редакторе.
2. Нажмите правой кнопкой мыши на свободный участок рабочего пространства.
3. Выберите блок **«Диалог с LLM»**.
4. Подключите вход блока к предыдущему шагу сценария.
5. Откройте вкладку **«Свойства»**.
6. При необходимости измените заголовок блока.
7. Добавьте условия для выхода.
8. Настройте связанные с условиями переменные.
9. Заполните задачу, контекст и роль.
10. При необходимости подключите знания.
11. Выберите модель и настройте системные указания.
12. Соедините выходы блока со следующими шагами сценария.
13. Нажмите **«Сохранить изменения»**.

Блок нельзя сохранить, если у него нет ни одного выхода.

Для сохранения необходимо:

- добавить хотя бы одно условие для выхода;
- либо включить дополнительную опцию **«Выйти после одного ответа»**.

Если у блока нет выходов, в нижней части панели появится сообщение:

[![image.png](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/scaled-1680-/x0rimage.png)](https://docs.ai-assistant.is74.ru/uploads/images/gallery/2026-07/x0rimage.png)

После добавления выхода сообщение исчезнет, а кнопка **«Сохранить изменения»** станет доступной.

# Заголовок блока

В поле **«Заголовок блока»** укажите название, по которому блок можно будет отличить от других блоков в сценарии.

Название должно отражать задачу блока.

Например:

- «Определение темы обращения»;
- «Подтверждение записи»;
- «Консультация по оплате»;
- «Сбор данных для заявки».

Не рекомендуется оставлять автоматически созданные названия в крупных сценариях с несколькими LLM-блоками.

# Добавление контрольной точки

При необходимости добавьте блоку контрольную точку.

Контрольная точка фиксирует факт прохождения блока в аналитике. С её помощью можно отслеживать путь диалога, определять, до какого этапа дошёл абонент, и анализировать конверсию сценария.

В названии цели рекомендуется описывать результат или этап сценария.

Например:

- «Начало консультации»;
- «Тема обращения определена»;
- «Данные собраны»;
- «Запись подтверждена».

# Рекомендации по безопасности

LLM может формировать убедительно звучащие, но неверные ответы. Поэтому при настройке блока необходимо заранее ограничить возможные риски.

Модель не должна:

- придумывать отсутствующую в контексте информацию;
- сообщать абоненту неподтверждённые сведения;
- озвучивать персональные данные других людей;
- использовать нецензурную лексику;
- сообщать о выполнении действия, которое сценарий ещё не выполнил;
- самостоятельно принимать критически важные решения без проверки;
- выходить за пределы заданной роли;
- использовать сведения, достоверность которых невозможно проверить.

Если внешняя система передала явно противоречивые или нелогичные данные, не поручайте модели автоматически озвучивать их абоненту. Добавьте проверку данных отдельными блоками сценария.

# Тестирование блока

Перед использованием блока в рабочих диалогах протестируйте его на разных вариантах разговора.

Проверьте:

- прямой и полный ответ;
- неполный ответ;
- неоднозначную формулировку;
- ответ сразу на несколько вопросов;
- отказ отвечать;
- смену темы;
- молчание;
- перебивание;
- фоновую речь;
- просьбу перевести на оператора;
- противоречивые данные;
- попытку заставить модель нарушить роль;
- попытку получить закрытую информацию;
- выполнение каждого условия для выхода;
- заполнение всех переменных;
- переход по правильному выходу;
- дополнительный выход после одного ответа, если он включён;
- возврат в блок после дополнительной обработки;
- работу подключённых знаний;
- поведение при отсутствии информации в базе знаний;
- выполнение следующими блоками фактических действий.

Рекомендуемый порядок тестирования:

1. Несколько раз пройдите блок во вкладке **«Проверка»**.
2. Проверьте каждое условие для выхода.
3. Проверьте дополнительные и ошибочные варианты ответов.
4. Выполните тестовые звонки без подключения сценария к рабочей линии.
5. Подключайте сценарий к рабочим диалогам только после стабильных результатов.

После запуска периодически просматривайте расшифровки диалогов.

Технически завершённый сценарий не всегда означает, что вопрос абонента был решён, а прерванный диалог не всегда означает неуспешный результат: абонент мог получить необходимую информацию и завершить звонок до перехода в следующий блок.

# Практические рекомендации

- Используйте один блок для решения одной конкретной задачи.
- Сначала настройте условия для выхода, а затем формулируйте задачу.
- Описывайте условия через проверяемые критерии.
- Добавляйте примеры для неоднозначных условий.
- Не передавайте модели больше контекста, чем требуется.
- Сохраняйте важные результаты предыдущих этапов в переменные.
- Передавайте в следующий LLM-блок только необходимые значения.
- Добавляйте допустимые значения переменных, если их набор ограничен.
- Дополнительно проверяйте критически важные переменные после выхода.
- Объясняйте в контексте, как использовать подключённые знания.
- Не разрешайте модели сообщать об успешном действии до его фактического выполнения.
- Не используйте неподтверждённые сведения.
- Не передавайте модели персональные данные, которые она не должна озвучивать.
- Не изменяйте расширенные настройки модели без необходимости.
- Проверяйте все условия и ветки сценария перед публикацией.
- После публикации регулярно анализируйте реальные диалоги и корректируйте промпт на основании найденных ошибок.

---

## Пример настройки промпта

Ниже приведён пример настройки блока, который определяет тему обращения абонента и сохраняет результат в переменную.

Пример основан на реальном кейсе, реализованном нашим главным разработчиком сценариев. Все персональные данные обезличены или условны.

### Роль

> Ты — доброжелательный и внимательный оператор контакт-центра компании — провайдера связи. Говори спокойно, чётко и понятно, не используй сложные термины. Помоги абоненту сформулировать вопрос и определи основную тему обращения.

### Задача

> Проанализируй реплики абонента и отнеси его обращение к одной из тем:
> 
> - офис;
> - баланс;
> - тариф;
> - лицевой счёт;
> - способы оплаты;
> - услуги и условия.
> 
> Если абонент говорит сразу о нескольких темах, выбери основную по значимости.
> 
> Примеры:
> 
> - если абонент спрашивает о балансе и тарифе, выбери тему «Баланс»;
> - если абонент спрашивает об оплате и адресе офиса, выбери тему «Способы оплаты».
> 
> Используй только информацию из контекста. Не придумывай сведения, которых в нём нет.

### Контекст

> Ты работаешь в контакт-центре компании — провайдера связи. Компания предоставляет услуги интернета, кабельного и интерактивного телевидения, домофонии и видеонаблюдения.
> 
> Для маршрутизации обращения определи одну из следующих тем.
> 
> **Офис** — адреса и время работы офисов обслуживания, способы добраться до офиса, возможность личного посещения, приём документов.
> 
> **Баланс** — текущий баланс лицевого счёта, пополнение, списание средств, задолженность, детализация начислений, сроки и способы оплаты, автоплатёж, бонусные баллы.
> 
> **Тариф** — вопросы о текущем тарифном плане абонента: стоимость, состав тарифа, дата списания платы, скидки и условия действующего тарифа.
> 
> Вопросы о других доступных тарифах, подключении новых услуг или составе услуг компании относятся к теме «Услуги и условия».
> 
> **Лицевой счёт** — номер договора или лицевого счёта, привязка и отвязка услуг, восстановление доступа, авторизация, передача счёта другому лицу.
> 
> **Способы оплаты** — варианты оплаты, места и способы пополнения счёта, оплата через приложение или банковские сервисы.
> 
> **Услуги и условия** — подключение и использование услуг, приостановка и возобновление обслуживания, стоимость подключения, состав услуг и технические возможности.
> 
> Если вопрос абонента не относится ни к одной из перечисленных тем, не придумывай ответ и используй условие для перевода на оператора.

### Условие для выхода «Тема определена»

**Описание условия**

> Условие выполнено, когда абонент сформулировал вопрос или описал проблему, а модель однозначно определила одну основную тему обращения.
> 
> После определения темы не продолжай консультацию в этом блоке. Заполни переменную `theme` одним из допустимых значений и выйди из блока.

**Переменная**

`theme`

**Описание переменной**

> Основная тема обращения абонента.

**Допустимые значения**

- `office`;
- `balance`;
- `tariff`;
- `personal_account`;
- `payment_methods`;
- `services`.

### Условие для выхода «Перевод на оператора»

**Описание условия**

> Условие выполнено, если:
> 
> - абонент прямо просит соединить его с оператором, диспетчером или другим сотрудником;
> - вопрос не относится ни к одной из тем, перечисленных в контексте;
> - информации в контексте недостаточно для определения темы;
> - абонент использует оскорбления или нецензурную лексику.
> 
> Не сообщай, что перевод уже выполнен. После выхода из блока перевод должен выполнить следующий блок сценария.

### Как работает пример

1. LLM анализирует обращение абонента.
2. При необходимости задаёт уточняющий вопрос.
3. Если тема определена, заполняет переменную `theme` и выходит по условию **«Тема определена»**.
4. Если определить тему невозможно или абонент просит оператора, сценарий выходит по условию **«Перевод на оператора»**.
5. Следующие блоки используют значение `theme` для маршрутизации обращения или выполняют перевод на сотрудника.