Перейти к основному содержимому

🧠 AI-блоки в сценариях

В конструкторе сценариев AI доступен как отдельный пакет блоков — «ИИ». Каждый блок берёт данные из полей и переменных сценария (синтаксис {{…}}), выполняет AI-операцию и сохраняет результат в переменную для следующих шагов.

Всего таких блоков 12: девять работают в сценариях любого типа, три — только в сценариях типа «Поддержка», потому что им нужен текущий чат. Отдельно от них стоит блок «AI-агент»: он не делает один вызов модели, а ведёт разговор целиком — см. Агентский режим.

Кому доступно. Добавлять и настраивать блоки может участник проекта с ролью «Редактор» и выше.

Выбор модели

Модель выбирается не по имени, а тиром — поле «Модель» со значениями «Быстрая», «Базовая», «Точная» и подписью «Скорость vs качество ответа». Какая именно нейросеть стоит за тиром, решает платформа; она может смениться без изменений в вашем сценарии. Подробнее — AI-возможности.

Поле есть не у всех блоков. Там, где его нет, тир зафиксирован разработчиками и изменить его нельзя.

БлокПоле «Модель»Значение по умолчанию
ИИ — генерацияестьБазовая
ИИ — JSON по схемеестьБазовая
ИИ — извлечение данныхестьБазовая
ИИ — классификацияестьБыстрая
ИИ — тональностьестьБыстрая
ИИ — язык текстаестьБыстрая
ИИ — переводнет
ИИ — модерациянет
ИИ — выбор вариантанет
ИИ — ответ по базенет
ИИ — сводка чатанет
ИИ — классификация чатанет

У блоков свободной генерации рядом с «Моделью» есть «Температура» — насколько модель вольна в формулировках. Рекомендуемый диапазон — 0,2–0,4: выше ответы становятся разнообразнее и менее предсказуемыми.

Порог уверенности и ветка «Не уверена»

У блоков «ИИ — классификация», «ИИ — тональность», «ИИ — ответ по базе» и «ИИ — классификация чата» есть поле «Порог уверенности» — число от 0 до 1, по умолчанию 0.6. Подпись поля объясняет логику: если уверенность модели ниже порога — сценарий уходит в ветку «Не уверена».

У таких блоков на канве появляется дополнительный выход. Если модель не уверена в ответе, сценарий уходит именно туда — это штатный путь эскалации на человека вместо неверного автоответа. Типовая схема: основной выход ведёт в автоматический ответ, выход «Не уверена» — в передачу чата сотруднику или в уведомление.

Уверенность дополнительно записывается в переменную <имя>_confidence, где <имя> — имя переменной результата. Её можно проверить условием и построить более сложную логику.

Как подбирать порог

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

Системный промпт

У блоков «ИИ — генерация», «ИИ — JSON по схеме» и «ИИ — ответ по базе» есть необязательное поле системного промпта: в нём задают роль, тон и правила — например, «Отвечай как поддержка Fixorix: профессионально, но тепло, не обещай возвраты и сроки». Поле поддерживает шаблоны {{…}}.

Для «ИИ — ответ по базе» этот текст подмешивается перед базовым RAG-промптом: правила безопасности и запрет выдумывать факты остаются в силе.

Подпись поля не переведена

У этого поля пока нет русской подписи, поэтому в интерфейсе оно подписано автоматически сформированным именем system_prompt.

Блоки для сценариев любого типа

ИИ — генерация

Генерирует свободный текст по описанию.

ПолеНазначение
Шаблон промптаИнструкция для модели, поддерживает переменные {{…}}
Сохранить ответ вИмя переменной для результата
МодельТир (по умолчанию «Базовая»)
Системный промптРоль, тон и правила (необязательно)

Выход один — «Далее». Пример: персональное приветствие по имени клиента.

ИИ — JSON по схеме

Генерирует структурированный JSON заданного вида — когда результат нужен не текстом, а объектом с полями.

ПолеНазначение
Шаблон промптаЧто нужно сформировать, поддерживает переменные
JSON-схема ответаСтруктура ожидаемого JSON, например {"name": "string"}
Сохранить результат вИмя переменной; в неё кладётся объект
МодельТир (по умолчанию «Базовая»)
Системный промптРоль, тон и правила (необязательно)

Выход один — «Далее». Пример: собрать из свободного текста карточку заявки с полями «тема», «срочность», «контакт».

ИИ — классификация

Относит значение переменной к одной из заданных категорий.

ПолеНазначение
Что классифицируемИмя переменной, значение которой разбираем
КатегорииСписок названий категорий — от 2 до 30
Сохранить категорию вИмя переменной для результата
МодельТир (по умолчанию «Быстрая»)
Порог уверенности0–1, по умолчанию 0.6

Выходы: «Далее» и «Не уверена». Дополнительно заполняется <имя>_confidence. Если AI-сервис ответил ошибкой, блок уходит по ветке «Далее» и заполняет error_message — при важной маршрутизации это стоит проверять условием.

Пример: отнести обращение к «оплата / доставка / возврат».

ИИ — извлечение данных

Достаёт из текста структурированные данные по JSON-схеме.

ПолеНазначение
Что обрабатываемИмя переменной с исходным текстом
JSON-схемаЧто именно нужно извлечь
Сохранить результат вИмя переменной для результата
МодельТир (по умолчанию «Базовая»)

Выход один — «Далее». Пример: вытащить номер заказа и email из сообщения клиента.

ИИ — выбор варианта

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

ПолеНазначение
Критерий выбораПо чему выбираем, поддерживает переменные
Список кандидатовИмя переменной со списком вариантов
Сохранить результат вИмя переменной для результата
Сколько выбратьОт 1 до 50, по умолчанию 1
ЯзыкКод языка или auto

Выходы: «Далее» и «Пусто» (ничего не подошло). В переменную кладётся список объектов с полями id, content, score и metadata, отсортированный по убыванию релевантности; краткое обоснование выбора — в <имя>_rationale.

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

ИИ — перевод

Переводит текст на указанный язык. Подробное описание и примеры: Перевод текста.

ПолеНазначение
ТекстЧто переводим, поддерживает переменные
Целевой языкКод языка: 2–3 строчные буквы, опционально регион (en, pt-BR)
Исходный языкКод языка или auto (по умолчанию auto)
Сохранить перевод вИмя переменной для результата

Поля «Модель» нет. Выход один — «Далее». Определённый исходный язык записывается в <имя>_detected.

ИИ — тональность

Определяет эмоциональную окраску текста и сам маршрутизирует сценарий.

ПолеНазначение
ТекстЧто оцениваем, поддерживает переменные
Сохранить тональность вИмя переменной (необязательно)
МодельТир (по умолчанию «Быстрая»)
Порог уверенности0–1, по умолчанию 0.6

Выходов четыре: «Позитивный», «Нейтральный», «Негативный» и «Не уверена». Если AI-сервис недоступен, блок мягко уходит в ветку «Нейтральный» и заполняет error_message.

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

ИИ — модерация

Проверяет текст на запрещённый контент.

ПолеНазначение
ТекстЧто проверяем, поддерживает переменные
Сохранить вердикт вИмя переменной (необязательно)

Поля «Модель» нет — проверка всегда идёт на быстром тире. Выходов два: «Безопасно» и «Помечено». В переменную кладётся объект с полями flagged (нарушение найдено или нет), severity (насколько серьёзное), categories (какие категории сработали) и rationale (пояснение). Текст считается нарушением, если хотя бы одна категория набрала 0,5 и выше.

Блок «падает закрыто»

Если проверить текст не удалось — сервис недоступен, запрос упал, — блок уходит по ветке «Помечено», а не пропускает сообщение дальше. Это сделано намеренно: при сбое безопаснее задержать сомнительный текст, чем пропустить. Разводите эту ветку так, чтобы она была безопасна и для ложного срабатывания: например, на передачу диалога сотруднику.

Этой же проверкой пользуется блок «AI-агент», когда включено «Проверять ответы агента модерацией».

ИИ — язык текста

Определяет язык текста и сохраняет его код.

ПолеНазначение
ТекстЧто анализируем, поддерживает переменные
Сохранить код языка вИмя переменной для кода языка
МодельТир (по умолчанию «Быстрая»)

Выход один — «Далее». Удобно ставить перед блоком «ИИ — перевод», чтобы переводить только чужие языки.

Блоки только для сценариев «Поддержка»

Этим блокам нужен текущий чат, поэтому в палитре они появляются только в сценариях типа «Поддержка».

ИИ — ответ по базе

Готовит обоснованный ответ по базе знаний проекта с учётом истории текущего чата (RAG). Возвращает не список статей, а готовый текст ответа.

ПолеНазначение
ЗапросВопрос для поиска по базе, поддерживает переменные
Сохранить ответ вИмя переменной для текста ответа
Кол-во результатовСколько релевантных фрагментов учесть: 1–50, по умолчанию 5
ЯзыкКод языка или auto
Порог уверенности0–1, по умолчанию 0.6
Системный промптРоль, тон и правила (необязательно)

Поля «Модель» нет. Выходов три:

  • «Далее» — ответ получен, уверенность не ниже порога;
  • «Не уверена» — ответ получен, но уверенность ниже порога (например, подходящих документов в базе не нашлось и модель отвечала по переписке);
  • «Не найдено» — ответа нет: чат не определился, сервис вернул пустой текст или произошла ошибка (тогда заполняется error_message).

Уверенность записывается в <имя>_confidence. Наполнение базы знаний: База знаний.

ИИ — сводка чата

Делает краткую сводку по всей переписке текущего чата и кладёт её в переменную.

ПолеНазначение
Сохранить сводку вИмя переменной для текста сводки
ЯзыкКод языка или auto

Выход один — «Далее». Если чат не определился или сервис ответил ошибкой, блок всё равно идёт по этой ветке и заполняет error_message.

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

ИИ — классификация чата

Определяет намерение (интент) и тональность текущего чата по его истории.

ПолеНазначение
Сохранить результат вИмя переменной; в неё кладётся объект целиком
Порог уверенности0–1, по умолчанию 0.6

Выходы: «Далее» и «Не уверена». Дополнительно заполняются <имя>_intent (код намерения), <имя>_sentiment (тональность) и <имя>_confidence. Для маршрутизации удобно поставить следом блок «Условие» или «Переключатель» по <имя>_intent.

Ограничения

  • Не больше 200 AI-вызовов на один запуск сценария — это общий бюджет на все AI-блоки и на блок «AI-агент». При превышении запуск прерывается. Один разговор агента съедает заметную часть бюджета, поэтому два агента в одном сценарии в лимит уже не помещаются.
  • Результат зависит от качества входных данных, формулировки промпта и выбранного тира.
  • Блоки «ИИ — ответ по базе», «ИИ — сводка чата» и «ИИ — классификация чата» доступны только в сценариях типа «Поддержка».
  • AI-ответ — это данные, а не решение: для ответственных шагов оставляйте ветку эскалации на человека.

AI-возможности · Агентский режим · Создание и изменение сценария через ИИ · Улучшение промпта