#
Описание действий в промпте
Действия позволяют боту получать и изменять данные во внешних системах: искать клиента, создавать запись, менять статус сделки, отправлять webhook или выполнять последовательность операций.
Чтобы бот вызывал действия предсказуемо, настройте не только карточку действия, но и правила его использования в системном промпте.
#
Перед написанием промпта
Сначала создайте действие по инструкции Как работают действия и заполните:
- Название действия — понятное название в интерфейсе;
- Кодовое название — уникальный идентификатор, по которому действие можно однозначно указать в промпте;
- Описание действия для бота — назначение, условия вызова и ограничения;
- Реакцию на выполнение — что бот должен сделать после получения результата;
- Что выполнить в результате — базовую или интеграционную операцию и её параметры.
Описание в карточке помогает модели понять отдельное действие. Системный промпт задаёт общий порядок работы: какие данные собрать, когда запросить подтверждение, в какой последовательности вызывать действия и как отвечать пользователю.
#
Что обязательно указать в промпте
#
1. Условие вызова
Опишите конкретную ситуацию, в которой действие разрешено использовать.
Используй действие `check_stock`, только когда клиент спрашивает о наличии конкретного товара.
Не используйте расплывчатые формулировки вроде «при необходимости вызывай действие». Укажите намерение пользователя и ожидаемый результат.
#
2. Обязательные данные
Перечислите значения, которые бот должен получить до вызова.
Перед вызовом `create_record` узнай услугу, имя клиента, телефон и желаемую дату.
Если хотя бы одного значения нет, задай уточняющий вопрос и не вызывай действие.
#
3. Проверка и подтверждение
Для создания, изменения, удаления, оплаты и других значимых операций запросите явное подтверждение.
Перед вызовом `create_order` покажи состав заказа и итоговую сумму.
Вызывай действие только после однозначного подтверждения клиента.
Не считайте вопрос или уточнение подтверждением операции.
#
4. Порядок нескольких действий
Если результат одной операции нужен другой, зафиксируйте последовательность.
1. Вызови `find_contact` и проверь, существует ли контакт.
2. Если контакт найден, используй его идентификатор в `create_deal`.
3. Если контакт не найден, сначала вызови `create_contact`, затем `create_deal`.
#
5. Ответ после выполнения
Опишите отдельно успешный результат, пустой ответ и ошибку.
После успешного `create_order` сообщи номер заказа из результата действия.
Если номер не вернулся, не придумывай его и сообщи, что заказ не удалось подтвердить.
При ошибке предложи повторить попытку или передай диалог менеджеру.
Бот должен использовать только фактические данные из результата и не подставлять вымышленные идентификаторы, даты, цены или статусы.
#
Использование превью результата
В карточке операции раскройте Превью результата. Оно показывает пример JSON, который действие вернёт боту, не выполняя операцию и не изменяя реальные данные.
По превью определите:
- какие поля доступны после выполнения;
- где находится нужный идентификатор, статус или сообщение;
- какие значения могут отсутствовать;
- как сформулировать ответ пользователю.
Превью не заменяет тестирование: фактический ответ внешней системы может зависеть от переданных данных и настроек интеграции.
#
Пример готового блока промпта
## Запись клиента
Используй действие `create_record`, когда клиент хочет записаться на услугу.
До вызова обязательно получи:
- услугу;
- имя клиента;
- телефон;
- дату и время.
Повтори клиенту все данные и запроси подтверждение.
Не вызывай действие до явного подтверждения.
После успешного выполнения сообщи дату, время и номер записи из результата.
Если слот недоступен, предложи выбрать другое время.
Если действие вернуло ошибку, не сообщай об успешной записи и предложи помощь менеджера.
#
Типичные ошибки
- действие упомянуто без кодового названия;
- не указано, какие данные обязательны;
- действие вызывается до подтверждения клиента;
- несколько действий перечислены без порядка выполнения;
- бот должен сообщить данные, которых нет в результате;
- отсутствует сценарий для ошибки или пустого ответа;
- финансовая или необратимая операция разрешена без дополнительной проверки.
#
Проверка настройки
Протестируйте как минимум четыре ситуации:
- Все данные собраны, пользователь подтвердил операцию.
- Одного обязательного значения не хватает.
- Пользователь изменил данные или отказался от подтверждения.
- Действие вернуло пустой результат или ошибку.
Для операций, изменяющих данные, используйте тестовые записи и аккаунты.