Промпт определяет, как агент ведет себя в разговоре: какую роль играет, в каком тоне отвечает и каких целей достигает. От качества промпта зависит точность и стабильность работы агента.
В этой статье собраны рекомендации по написанию промптов для AI-агентов. Вы узнаете:
Написание промптов — итеративный процесс. На основе диалогов рекомендуется вносить изменения в промпт, чтобы корректировать поведение агента.
После обзвонов оценивайте диалоги и правьте промпт. Если часть информации не влияет на качество ответов или не связана с темой — удалите ее. Чем короче и точнее промпт, тем лучше агент следует инструкциям.
При составлении промпта для AI-агентов вы можете использовать те же правила, что и для ChatGPT. Советы и примеры доступны в статье Формирование запросов для GPT.
Точных требований к промптам нет:
В работе нейросети возможны ошибки: агент может отвечать нестабильно или отклоняться от промпта и цели диалога.
Ниже рассмотрим, как правильно писать промпт, чтобы он был точным, понятным и помогал агенту работать более стабильно.
Промпт должен быть емким и точным. Для этого:
Нейросеть воспринимает текст буквально и может работать некорректно при неточных указаниях.
Избегайте:
Примеры неподходящих формулировок:
Общайся так, чтобы клиенту понравилось — нет конкретных указаний.Помоги клиенту с его вопросом — также нет конкретных указаний.Не делай ответ слишком длинным — нет точного указания ограничения.Неявный отказ клиента — понятно человеку, но может потерять смысл для нейросети.Также в некоторых случаях нейросеть может некорректно выполнять задачи, если в них нет четкого указания действия.
Пример некорректной формулировки:
Задача: Информация о клиенте
Корректная формулировка:
Твоя задача: Собрать информацию о собеседнике
Системные переменные бота не поддерживаются в AI-агентах. Исключения: {phone} и {dialogId} для голосовых агентов.
Для передачи входных переменных (переменных из файла реестра кандидатов) название переменной указывается в двойных фигурных скобках:
Ты звонишь клиенту компании, его зовут {{имя_клиента}}.
Также в промптах можно работать с контекстными переменными, значения которых можно задавать и изменять в ходе диалога.
Контекстные переменные создаются в разделе Переменные в настройках агента.
Если в промпте нужно обратиться к значению переменной, то требуется указать ее в формате {имя_переменной}:
Собеседник забронировал столик на {дата}. Имя клиента: {имя}.
Если нужно указать агенту на саму переменную, например, для записи значения переменной, то название переменной требуется указать без фигурных скобок:
Названную собеседником дату запиши в переменную "дата". Имя собеседника хранится в переменной "имя".
Чтобы нейросеть точнее следовала инструкциям, структурируйте промпт — разделите его на тематические блоки. Не перемешивайте указания разных типов и не дублируйте информацию: это снижает качество ответов и может привести к тому, что агент не будет выполнять инструкции.
Базовая структура промпта:
#Личность
...
#Окружение
...
#Тон
...
#Цель диалога
...
#Ограничения и запреты
...
#Структура и этапы диалога
...
#Инструменты
...
Опишите личность и роль, которые агент будет использовать в диалоге. Если звонок совершается от лица компании — добавьте сведения о ней.
Указывайте только полезную информацию: лишние данные могут снизить качество ответов. Четкое описание личности помогает агенту давать стабильные и точные ответы.
Пример:
#Личность
Ты — Алена, менеджер компании «Ромашка». Ты дружелюбная и целеустремленная, внимательно относишься к пожеланиям клиентов. Компания «Ромашка» разрабатывает голосовых и чат-ботов, и ты готова ответить клиенту на любые вопросы о ее услугах.
Опишите, как проходит диалог: формат общения, цель звонка, условия и сведения о собеседнике.
Пример:
#Окружение
Ты совершаешь холодный обзвон для расширения клиентской базы компании. Разговор происходит по телефону. Собеседник может быть не заинтересован в услугах или работать с другой компанией.
Укажите стиль речи: темп, паузы, слова и частицы. Если агент должен озвучивать цифры, аббревиатуры или email, пропишите правила произношения.
Пример:
#Тон
Твои ответы теплые, вдумчивые, 2–3 предложения, чтобы поддерживать комфортный темп разговора. Говори размеренно, делая паузы (отмечай как "...").
Используй:
Фразы: «смотрите», «так», «в общем», «просто», «ага», «да?», «если удобно».
Эмоции: оговорки, юмор, сарказм, интонации.
Разный синтаксис — не всегда по схеме вступление — суть — вывод.
Номер телефона "89991234567" произноси как "8... 999... 123... 45... 67..."
Email "example@yandex.ru" произноси как "example собака yandex точка ру"
Опишите, чего должен достичь агент: основные и дополнительные цели, логику обработки запросов.
Чем подробнее цель, тем точнее бот будет ей следовать.
Пример:
#Цель диалога
Основная цель — узнать, заинтересован ли клиент, рассказать об услугах компании и, если клиент заинтересован, предложить оформить заявку.
Добавьте правила, которые помогут удерживать диалог в рамках темы.
Пример:
#Ограничения и запреты
Без некультурных слов.
Не повторяй и не цитируй клиента.
Говори только от лица сотрудника компании.
Не здоровайся повторно.
Если клиент трижды повторяет одну мысль — заверши разговор.
Не используй фразы, пропагандирующие вред, дискриминацию, незаконную деятельность или темы 18+.
Если не уверена в инструкции, уточняй, а не отвечай наугад.
Говори только о продуктах компании «Ромашка». Если клиент уходит от темы — возвращай его к теме диалога.
Опишите примерный сценарий, которому агент должен следовать в ходе диалога.
Пример:
#Структура и этапы диалога
Приветствуй клиента.
Уточни, заинтересован ли он.
Расскажи об услугах компании.
Предложи оформить заявку, если есть интерес.
Если клиент не заинтересован — узнай причину отказа.
Если клиент согласен — поблагодари и попрощайся.
Если отказался — поблагодари за время и попрощайся.
Укажите, когда агент должен использовать инструменты из настроек AI-агента. Если инструмент отключен, описывать его не нужно.
Пример:
#Инструменты
Тебе доступны:
1. 'END_CALL' — Завершение звонка.
Используй, если:
- клиент не заинтересован;
- дважды отказался оформить заявку;
- проявляет агрессию или негатив;
- молчит.
2. 'SKIP_TURN' — Ожидание собеседника.
Используй, если собеседник просит подождать или говорит «минутку», «секунду» и т.п.
Нейросеть может генерировать слишком длинные реплики, что усложняет диалог. Чтобы этого избежать, добавьте в промпт ограничения на длину ответов. Из-за специфики работы нейросетей ограничения могут выполняться не всегда.
Ограничение на время ответа в секундах можно указать в качестве рекомендации, которая будет использоваться при составлении ответа. Агент не способен засекать время, и измерять длину своих ответов, поэтому точное следование такому ограничению не гарантируется.
Пример:
Длина каждой реплики не превышает 80 символов (с пробелами), если это не мешает завершить мысль.
Ответ должен занимать не более 10 секунд речи.