AI-ассистент на первой линии

Последние изменения: 25.08.2026

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

Задача: передать общение на первой линии AI-ассистенту.

Для реализации логики у вас должна быть подключена интеграция с OpenAI — Responses API.

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

На схеме отражена логика срабатывания правил. Для ее настройки вам понадобится создать 6 правил: 1 для входящих, 4 для измененных и 1 для текущих обращений.

932eef8cf9c10af8c2f5c90c21a3ba87.png

Шаг 1: настройте ассистента

В примере используется интеграция «OpenAI — Responses API», которую при подключении мы назвали «AI-ассистент "ТвойПолет"». Подробнее о ее настройке и работе в Омнидеске — тут.

df964336dfb670713419f2dc88741e02.png

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

1) В форме подключения / редактирования интеграции добавьте инструкцию для ассистента и определите его поведение. Наш тестовый ассистент для придуманного сервиса по продаже билетов «ТвойПолет» получил такие указания:

Пример инструкции для ассистента
#1. Роль
Вы — сотрудник поддержки компании «ТвойПолет». Ваша задача — предоставлять точные ответы на основе данных из Vector Store, а также с учетом контекста и информации, предоставленной пользователем в ходе текущего диалога.
Имя пользователя: [user_full_name]
---
#2. Основные правила
2.1. Формулируйте один четкий и исчерпывающий ответ, без альтернативных версий.
2.2. НЕ начинайте с приветствия и краткого представления. Приветствие уже было озвучено. 
2.3. Держите тон вежливым и профессиональным.
2.4. Всегда учитывайте контекст переписки: умейте связывать короткие или недописанные вопросы пользователя с темой, которая обсуждалась в предыдущих сообщениях текущей сессии.
2.5. Периодически обращайтесь к пользователю по имени [user_full_name], если имя передано. Делайте это естественным образом внутри ответа (не в каждом сообщении, а ненавязчиво и к месту), чтобы сохранять персональный и вежливый тон.
---
#3. Алгоритм работы
3.1. Получение вопроса от пользователя.
3.2. Проверка формата сообщения:
— Если сообщение состоит исключительно из файла неподдерживаемого формата, который ассистент не может обработать — ответьте фразой: К сожалению, не могу ответить на ваш вопрос.
3.3. Используйте историю диалога, чтобы учитывать предыдущие сообщения пользователя, понимать контекст текущего вопроса и отвечать на вопросы о самом диалоге. Информацию о компании, услугах и других предметных данных берите только из Vector Store.
3.4. Формирование ответа:
— Если вопрос относится к предыдущей переписке — используйте историю диалога для ответа.
— Если вопрос требует информации о компании, услугах и других предметных данных — используйте данные из Vector Store, учитывая историю диалога для понимания контекста вопроса.
— Если вопрос пользователя слишком краток или неясен и его смысл невозможно восстановить из контекста — задайте уточняющий вопрос исключительно данной фразой: Сформулируйте вопрос как можно подробнее, пожалуйста, чтобы я смог предоставить исчерпывающий ответ.
— Если вопрос пользователя содержателен и ясен, но данных нет ни в Vector Store, ни в истории диалога — сообщите об этом исключительно данной фразой: К сожалению, не могу ответить на ваш вопрос.
— Если вы дважды подряд ответили пользователю фразой «К сожалению, не могу ответить на ваш вопрос» и на следующий его вопрос данных в Vector Store или истории диалога недостаточно — сообщите об этом исключительно данной фразой: Кажется, я не справляюсь. Лучше позовите человека!
— Никогда не отвечайте фразами вида: ...в предоставленных данных нет информации...
---
#4. Примеры
Пример 1 (работа с Vector Store):
Вопрос:
«Сохраняется ли в моем личном кабинете информация по приобретенным билетам?»
Ответ:
«Да, полная информация по приобретенным билетам доступна в личном кабинете».
Пример 2 (связывание контекста и уточнений):
Предшествующий диалог:
Пользователь: «Могу ли я отменить бронирование за 14 дней до вылета?»
Ассистент: «Да, отмена за 14 дней до вылета осуществляется без штрафов с полным возвратом стоимости».
Новый вопрос пользователя:
«А за 7?»
Ответ:
«При отмене бронирования за 7 дней до вылета удерживается сбор в размере 20% от стоимости билета, остаток возвращается на карту».

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

2) Загрузите  материалы в векторное хранилище. Мы для нашего тестового бота добавили этот файл: https://gist.github.com/cissav/de0f3295c2cfb08b9e6ae9f8b8d4b033

3) Включите учет контекста. В интеграции «OpenAI — Responses API» отметьте чекбокс «Учитывать контекст...».

Шаг 2: группы и доступ

Заранее создайте группу, в которую будете помещать обращения для ассистента — мы назвали ее «AI работает». Также создайте группу, куда будут перемещаться обращения, решенные ассистентом без привлечения сотрудника — мы назвали ее «Решено AI». Если используете рабочее время и SLA, исключите эти группы из настроек.

Ответы AI в статистике

Ответы, отправляемые AI-ассистентом через правила, в Омнидеске рассматриваются как обычные автоответы, то есть не учитываются при расчете показателей скорости в статистике и при расчете SLA. Подробнее

  • Группу «AI работает» сделайте группой по умолчанию в каналах, где на первой линии будет отвечать ассистент. Если планируете передавать ассистенту не все обращения, то перемещать обращения в группу можно правилом 1 для входящих: в этом случае укажите в правиле ваши специфические условия.

  • Группа «Решено AI» нужна, чтобы перемещать в нее обращения, на которые ассистент ответил без помощи сотрудника: так будет проще анализировать работу AI и исключать такие обращения из общей статистики.

  • Правила, которые будут передавать сообщения клиента ассистенту, выставляют в обращении статус «в ожидании», так что отвлекать сотрудников они не будут. Но при желании можете полностью закрыть сотрудникам доступ к группам «AI работает» и «Решено AI» или настроить доступ к ним только в режиме просмотра.

62a8529131acbf8d1a4e0cfb72701dd4.png

Шаг 3: настройте правила

В нашем примере мы рассматриваем правила для чатов — в условиях за них отвечает опция «Канал — равен — любому синхронному каналу». Наши правила будут срабатывать без учета рабочего времени — как будто и бот, и сотрудники работают 24/7. Если вам нужна другая логика, учтите ее в условиях через указание нужного набора рабочих часов в блоке «Все заданные условия». Если вам нужна разная логика для рабочего и нерабочего времени, потребуется настроить отдельные правила для каждого периода.

1) Правило для входящих будет передавать первое сообщение клиента ассистенту, а его ответ — отправлять клиенту.

ebc04d46deeb4fc031f4d64230936a24.png

Первое сообщение пользователя в обращении передается через переменную [case_description]. Ответ ассистента фиксируется через переменную [ai_response_by_text_request], но вы можете также добавить в поле для отправки ответа свой текст, который всегда будет отправляться вместе с его ответом. Мы добавили:

  • приветствие;

  • пояснение для клиента, что с ним общается AI-ассистент, и инструкцию, как позвать человека.

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

a3cb2105f41bc8555ab4d719faf47f37.png

Последующие ответы клиента в обращении передаются через переменную [last_message], а для ответа ассистента переменная прежняя — [ai_response_by_text_request]. Помимо нее мы оставили в поле ответа пояснение для клиента, что с ним общается AI-ассистент, и инструкцию, как позвать человека.

3) Правило для измененных подключает к общению сотрудника, когда клиент зовет его указанным в ответе ассистента способом.

d8ee2724691d121d17550b5864bc962c.png
Клиент не следует инструкции

Для ситуации, когда ассистент не справляется, мы отдельно указали в инструкции на стороне OpenAI фразу, которую нужно использовать, если дважды подряд не удалось дать клиенту полезный ответ. Если после фразы «Кажется, я не справляюсь. Лучше позовите человека!» клиент снова напишет боту, а не позовет сотрудника указанным вами способом, вы можете подключать сотрудника через правило.

Логика работы правила базируется на том, что условие «Тема или содержание — содержат — ...» проверяет текст темы обращения и трех последних сообщений в обращении. Триггер для срабатывания правила — сообщение, отправленное клиентом после ответа ассистента «Кажется, я не справляюсь. Лучше позовите человека!»

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

88a4eca6fadef31a0646f95cfed2fd03.png

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

4) Правило для измененных подключает сотрудника, если вместо ответа ассистент отвечает ошибкой.

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

a777bb3d4be4edc96f394f867b863bab.png

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

aa29107a2d4c521a1c4190188ee9cf92.png

Подробнее об ошибках при работе AI-ассистента тут.

6242aab2e66183217b02476bd09fb725.png

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

Активация чата через API

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

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

Инструкция по настройке вебхука для активации чата

Вебхук в адрес API Омнидеска добавит сообщение от лица клиента и эмулирует активацию чата.

  • Выберите в правиле действие «Отправить вебхук»;

  • Выберите метод POST;

  • В поле «URL для отправки запроса» укажите:

https://[domen].omnidesk.ru/api/cases/[case_id]/messages.json 

Если у вас подключен собственный домен, можете использовать его:

https://[name].[domen]/api/cases/[case_id]/messages.json 
  • Отметьте чекбокс «требуется аутентификация через», выберите опцию «логин-пароль». В поле «Логин» нужно прописать логин (email-адрес) сотрудника с полным уровнем доступа, а в поле «Пароль» — API-ключ, который можно создать по пути: аккаунт администратора — раздел «Настройки» — подраздел «API»;

  • Выберите «Кастомный запрос» в формате JSON и в поле «Ваш кастомный запрос» укажите такой текст запроса:

{ 
  "message" : {
    "user_id" : "[user_id]", 
    "content" : "Ваш текст"
  }
}
    
  • Подробная информация по вебхукам тут (статья и видеоруководство).
  • Документация API тут.

Пример правил

6a372c9758bec2222051f3d59f6a4034.png

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

88807576220de2269719773c75a3a64a.png

5) Правило для измененных возвращает обращение в работу ассистенту в ситуациях, когда сотрудник считает, что диалог может продолжить AI. Чтобы ассистент снова подключился, сотруднику нужно вернуть в обращение метку «ассистент».

9bd77c9538c1d18ef6e8d8ae114f9739.png

Логика работы предполагается следующая:

Когда клиент зовет человека или вместо ответа ассистента мы получаем ошибку, к обращению подключается сотрудник. Если при проверке сотрудник понимает, что его вмешательство не требуется (например, ошибка была временной), он добавляет к обращению метку «ассистент» без ответа клиенту. После этого обращение автоматически возвращается в работу AI.

Если есть необходимость в участии человека, сотрудник может сам пообщаться с пользователем. К примеру, помочь с решением вопроса, с которым не справился ассистент. Но если очередной вопрос клиента уже будет по зубам (или что там у него?) ассистенту, вместо ответа сотрудник добавляет метку «ассистент» — и последний вопрос пользователя отправляется ассистенту.

6) Правило для текущих будет закрывать обращение, если клиент ничего больше не пишет — в этом случае мы предполагаем, что его вопрос успешно решил ассистент. Поскольку в нашем примере мы настраиваем правила для чатов, где общение ведется в режиме реального времени, мы указали условие «Часов в статусе «в ожидании» — более — 0,5». Такое правило будет закрывать обращения в диапазоне от 30 до 80 минут после последнего отправленного ответа AI. Подробнее о логике работы правил для текущих обращений тут.

005775403b3439fbecb7a701c121f1bc.png

Помогла ли вам статья?