Системный промпт — инструкция, которая исполняется в каждом диалоге агента. Разбираем разделы инструкции, настройку «Случайность» и лимит токенов в Савви.
Системный промпт — это постоянная инструкция ИИ-агента, которая исполняется в каждом диалоге с каждым клиентом. В Савви она пишется разделами с заголовками, хранится в настройках агента и дополняется переменными на Liquid. Настройка «Случайность» решает, насколько буквально агент держится текста, а лимит токенов ограничивает длину ответа.
Два клиента почти одновременно написали одну и ту же фразу: «а если заказ на послезавтра успеете?». Один получил короткое «да, успеем, подтвердите адрес». Второй получил развёрнутый ответ: агент объяснил, почему сроки обычно короче суток, и спросил про удобное время доставки. Инструкция агента у обоих клиентов была одна и та же строка в строку, а разница получилась в том, насколько буквально модель её исполнила.
Системный промпт — это текст, который задаёт поведение ИИ-агента на весь диалог: роль, цель разговора и то, как агент отвечает.
От сообщения, которое пишет клиент в чат, системный промпт отличается по роли, а не по формату. Сообщение клиента — разовая реплика внутри разговора, агент читает её один раз и отвечает. Инструкция — фоновый текст, который модель держит перед собой при каждом ответе на протяжении всего диалога, сколько бы сообщений в нём ни было. Инструкции клиент не видит вовсе: она работает на стороне агента, до того как ответ придёт в переписку.
Проверьте на своих диалогах.Регистрация без карты, 500 ₽ на тест по промокоду BLOG500
Собрать агентаИнструкция хранится в настройках агента, в разделе основных настроек с отдельной вкладкой под системный промпт. Базовая версия появляется сама в момент создания агента, дальше её правят обычным текстом.
Рекомендуемая структура делит инструкцию заголовками со знаком #, и это не оформление для красоты: по такому разделению модель точно понимает, где кончается один смысловой блок и начинается следующий. В руководстве Савви названы разделы #ОБЩИЕ СВЕДЕНИЯ, #ЦЕЛИ И ЗАДАЧИ, #ПРИВЕТСТВИЕ, #ЯЗЫК ОТВЕТОВ и #СТИЛЬ ОТВЕТА — каждый под свой кусок поведения, а под конкретные сценарии добавляются такие же разделы со своими заголовками. Как писать содержимое каждого блока и по каким семи правилам инструкция остаётся рабочей, показывает статья «Инструкция для ИИ-агента».
Два ползунка в дополнительных настройках отвечают за то, насколько точно модель исполняет инструкцию и сколько текста может вернуть за один ответ.
«Случайность» — это аналог температуры модели: чем выше значение, тем свободнее и разнообразнее формулировки, чем ниже — тем точнее ответ повторяет заготовленный текст. У настройки три готовых режима.
| Режим | Значение | Когда выбирать |
|---|---|---|
| Стабильность | 0 | точный сценарий: запись, цена, пошаговая квалификация |
| Сбалансированность | 10 | обычный диалог, где нужна и точность, и немного живости |
| Креативность | 20 | свободное общение, где важнее разнообразие формулировок |
Тот случай с двумя клиентами и разными ответами на одну фразу объясняется именно этим ползунком: чем он выше, тем больше свободы у модели в выборе слов при формально одной и той же инструкции.
Рядом стоит «Максимальное количество токенов в ответе агента» — лимит на длину одного ответа модели. При превышении лимита в диалоге появляется ошибка. Большинству агентов трогать значение не нужно, но у моделей с режимом размышлений расход токенов на сам ответ выше, и значение иногда приходится увеличивать. Итоговую цифру подбирают опытным путём на тестовых диалогах.
У моделей с размышлением часть токенов уходит на внутренние рассуждения до того, как появится финальный ответ. Если такой агент упирается в лимит на коротких, казалось бы, репликах, причина обычно именно здесь, а видимая длина ответа клиенту тут ни при чём.
Инструкция в Савви — не просто статичный текст, в него можно вставлять условия и переменные на языке шаблонов Liquid.
Переменные из диалога подставляются фигурными скобками: {customer_phone} вставит телефон клиента прямо в инструкцию, если канал его передал, и агенту не придётся спрашивать то, что уже известно. Отдельно работают теги Liquid для условий и присвоений: {% assign %} сохраняет значение один раз, а {% case %} с блоками {% when %} выбирает нужный кусок текста в зависимости от канала или другого условия диалога. Например, один и тот же промпт может подставлять разные артикулы товара для Wildberries, Ozon и Яндекс.Маркета — вместо трёх копий инструкции под три площадки остаётся один текст с веткой выбора внутри. Полный список встроенных переменных и синтаксис шаблонов — в руководстве Савви.
Пропишите пять разделов из второго блока этой статьи для своего агента, даже если сейчас у вас один сплошной абзац без заголовков: #ОБЩИЕ СВЕДЕНИЯ, #ЦЕЛИ И ЗАДАЧИ, #ПРИВЕТСТВИЕ, #ЯЗЫК ОТВЕТОВ, #СТИЛЬ ОТВЕТА.
Дальше откройте дополнительные настройки и проверьте значение «Случайности» — если агент ведёт запись или называет цены, а не просто поддерживает разговор, значение ближе к нулю обычно надёжнее того, что стоит по умолчанию. Проверить эффект можно сразу в тестовом чате: задайте один и тот же вопрос два-три раза подряд и посмотрите, насколько сильно расходятся формулировки. Разница на глазах понятнее любого описания того, что делает этот ползунок. Как проверить инструкцию целиком до того, как её увидят клиенты, показывает статья «Какую модель выбрать для ИИ-агента»: разные модели читают один и тот же промпт по-разному, и «Случайность» стоит проверять заново при каждой смене модели.
Системный промпт — это постоянная инструкция, по которой ИИ-агент ведёт каждый диалог с каждым клиентом, а не текст, написанный под один конкретный вопрос. Его читают перед каждым сообщением, и он определяет роль агента, порядок действий и стиль ответа на всё время работы бота.
В настройках агента, в разделе основных настроек с вкладкой инструкции. Базовая инструкция создаётся автоматически вместе с агентом, а дальше её редактируют текстом: разделы отмечаются заголовками со знаком решётки, без кода и без специального языка разметки.
Регулирует, насколько буквально агент следует тексту инструкции. Значение «Стабильность» держит ответ ближе к заготовленным формулировкам, «Креативность» разрешает модели больше вариативности в словах. Для сценариев с точным порядком вопросов и записью на услугу подходит низкое значение, для свободного общения — более высокое.
Эта настройка ограничивает длину одного ответа модели: превышение лимита в диалоге показывает ошибку. Большинству агентов менять значение не требуется, но моделям с режимом размышлений иногда нужен запас побольше — подбирается опытным путём на тестовых диалогах.
Язык шаблонов, на котором в инструкции работают условия и переменные: конструкции `{% assign %}` и `{% case %}` подставляют разные куски текста в зависимости от канала или данных диалога, а фигурные скобки `{{ }}` выводят значение переменной. Один текст инструкции так обслуживает разные сценарии без копий под каждый канал.
Одна и та же инструкция при высоком значении «Случайности» допускает разные формулировки ответа на одинаковый вопрос — это заложенное поведение модели, а не сбой. Если разница мешает, значение стоит понизить в сторону «Стабильности».