Промпт — это текст, который вы пишете для модели, чтобы она могла понять, что вы от нее хотите.
При составлении промпта для AI-звонков можно руководствоваться теми же правилами, что и при составлении промпта для ChatGPT – советы по составлению промптов, и примеры промптов доступны в статье Формирование запросов для GPT.  
Стоит учитывать, что точных требований к промптам нет – в качестве промпта может быть введена любая информация, и в некоторых случаях нейросеть может интерпретировать ее некорректно. Универсального шаблона для промпта также нет – промпты меняются в зависимости от задачи, роли в диалоге, требуемого стиля общения, и количества информации, которой должен оперировать бот во время диалога.

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

Политика использования сервиса

Боты, создаваемые в разделе AI-звонки, должны соответствовать правилам использования AI-звонков. Использование промптов, нарушающих правила платформы, будет заблокировано.
Если агент был заблокирован, убедитесь, что он не нарушает правила, внесите изменения в промпт и повторно сохраните настройки агента. Если блокировка сохраняется – попробуйте полностью заменить промпт на нейтральный, сохранить, затем вернуть предыдущий промпт и повторно сохранить настройки агента.
Ознакомиться с политикой использования можно по ссылке:
Политика использования AI звонков

Стиль текста при написании промпта

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

Использование переменных

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

...
Ты звонишь клиенту компании, его зовут {{имя_клиента}}.
...

Системные переменные платформы не поддерживаются в AI-звонках.

Структура промпта

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

#Личность
...
#Окружение
...
#Тон
...
#Цель диалога
...
#Ограничения и запреты
...
#Структура и этапы диалога
...
#Инструменты
...

Личность

В данном разделе необходимо подробно описать личность и роль, которые бот будет использовать в диалоге. Также в данном разделе можно внести информацию о компании, если звонок совершается от лица сотрудника. Нужно указывать только ту информацию, которая будет полезна боту для ответа на вопросы в рамках звонка – лишняя информация может снизить качество ответов. Точное и емкое описание личности бота позволяет получать более точные и стабильные ответы на реплики собеседника.
Пример:

#Личность

Ты Алена, менеджер компании "Ромашка".
Ты дружелюбная и целеустремленная, внимательно относишься к пожеланиям клиентов.
Компания "Ромашка" занимается разработкой голосовых и чат-ботов, и ты готова ответить клиенту на любые вопросы касательно услуг компании.
```
## Окружение
В разделе **Окружение** указывается дополнительная информация о том, как именно происходит диалог с собеседником – нужно указать, что диалог проходит в звонке, указать с какой целью и в каких условиях совершается звонок, и предоставить базовую информацию о потенциальном собеседнике.
Пример:
```
#Окружение

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

Тон

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

#Тон

Твои ответы теплые, вдумчивые, они состоят из 2-3 предложений, чтобы поддерживать комфортный темп разговора.
Говори размеренно, делая паузы (отмечай паузы как "..."), когда это уместно.

Используй в речи:
Фразы: «смотрите», «так», «в общем», «просто», «ага», «да?», «если удобно».
Эмоциональные оттенки: оговорки, юмор, сарказм, интонации.
Разнообразный синтаксис, не следуй структуре: вступление — суть — вывод.

Если требуется озвучить номер телефона, то следуй примеру: номер "89991234567" озвучивай как "8... 999... 123... 45... 67..."
Если требуется озвучить адрес электронной почты, то следуй примеру: адрес "example@yandex.ru" озвучивай как "example собака yandex точка ру"

Цель диалога

В данном разделе нужно описать какой именно цели бот должен достичь в звонке. Целей может быть несколько, могут быть основные и побочные цели. Также в данном разделе можно расписать логику обработки конкретных запросов клиента.
Чем подробнее описана цель диалога, тем точнее бот будет ей следовать.

#Цель диалога

Основная цель в диалоге - узнать заинтересован ли клиент, рассказать об услугах компании, и если клиент заинтересован - предложить оформить заявку.

Ограничения и запреты

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

#Ограничения и запреты

Строгие правила:
Без некультурных слов.
Не повторяй и не цитируй клиента.
Говори только от лица сотрудника компании.
Не здоровайся повторно.
Если клиент трижды повторяет одну и ту же мысль, завершаю разговор.
Твои фразы не должны пропагандировать вред, дискриминацию, незаконную деятельность или темы для взрослых.
Если ты не уверена в инструкциях пользователя, задавай уточняющие вопросы вместо того чтобы сразу отвечать на вопрос.
Веди диалог только по теме продуктов компании "Ромашка", если клиент отклоняется от темы, предлагай ему вернуться к теме диалога.

Структура и этапы диалога

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

#Структура и этапы диалога

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

Инструменты

Данный раздел используется для работы с действиями из раздела Инструменты настроек AI-агента.
Доступны следующие действия:
- END_CALL (Завершение звонка)
- LANGUAGE_DETECTION (Определение языка)
- SKIP_TURN (Ожидание собеседника)
- TRANSFER_TO_AGENT (Перевод на другого агента)

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

#Инструменты

Тебе доступны следующие инструменты:

'END_CALL' – Завершение звонка.
Завершай звонок в следующих случаях:
Клиент не заинтересован в услугах,
Клиент 2 раза отказался от оформления заявки,
Клиент проявляет агрессию/негатив,
Клиент молчит

'SKIP_TURN' – Ожидание собеседника.
Ожидай собеседника, если он попросил подождать или сказал "Минутку", "Секунду" или аналогичую фразу.

Дополнительные советы для улучшения промпта

Ограничение длины ответов

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

Длина каждой реплики не превышает 80 символов (с пробелами), если это не мешает завершить мысль.
Ответ должен занимать в речи не более 20 секунд.

Итеративное улучшение промпта

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

Аналитика и сбор информации из диалога

В разделе Аналитика можно настроить какую информацию из диалога бот должен будет зафиксировать в отчет.
Для добавления поля результата нажмите кнопку Добавить элемент. В настройках поля необходимо выбрать тип данных результата – Строка, Число, Булево, Целое число. Также необходимо ввести название результата – указанное название будет использоваться в качестве названия столбца отчета.
Далее нужно внести промпт, согласно которому будет заполняться поле результата. Можно указать, чтобы бот сохранил из диалога какое-либо конкретное значение – например, имя клиента, либо добавить более сложный промпт, на основе которого бот проведет анализ диалога. Стоит учитывать, что промпты для сбора данных не влияют на поведение бота – они влияют только на результаты диалога в детализации и отчете. Если необходимо собрать какую-либо информацию из диалога, это также нужно указать в основном промпте.

Примеры сбора аналитики

Ниже приведены примеры промптов для сбора аналитики в системные поля NPS и Подтверждение.

NPS

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

Тип данных: Строка
Название результата: NPS
Промпт:

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

**Примеры:**

— Собеседник отказался от предложения: " Мне ничего не надо, не звоните мне больше" 
— Собеседник попросил перезвонить в другое время.  
— Собеседник не отвечал на звонок.  
— Собеседник попросил больше не звонить. 

Теперь после каждого разговора просто пиши коротко, что произошло.

Подтверждение

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

Тип данных: Строка
Название результата: confirmation
Промпт:

Твоя задача — по ситуации в разговоре с собеседником выбрать  правильный статус из списка ниже. Статус по ходу диалога может меняться, в зависимости от ответов собеседника.
Сразу же ставь первоначальный статус "Не отвечает" и меняй его по ходу диалога, в зависимости от ситуаций, описанных в списке ниже.
Смотри на смысл ситуации и используй только те формулировки статусов, которые указанных ниже.
Ситуация → Статус
Если отвечает автоответчик или умный голосовой ассистент:
→ Статус: Не отвечает; автоответчик

Если собеседник сразу после приветствия отказался слушать презентацию:
→ Статус: Отказ от презентации

Если собеседник проявил негатив, ругался, был агрессивен:
→ Статус: Негатив

Если собеседник отказывается от разговора на этапе приветствия
→ Статус: Отказ от презентации

Если собеседник говорит «вы уже звонили» после презентации:
→ Статус: Не заинтересован; уже звонили

Если собеседник просит перезвонить:
→ Статус: Перезвонить клиенту

Если собеседник ничего не сказал за весь разговор:
→ Статус: Не отвечает; презентация не проведена

Если собеседник говорит, что мы позвонили не туда/ошиблись номером:
→ Статус: Ошибочный номер