[МСК]

Что такое системный промпт и почему он решает всё до первого слова

Системный промпт — это инструкция, которую модель получает до первого слова пользователя. Он не виден в чате, но определяет всё: роль, тон, границы дозволенного. Один и тот же запрос «расскажи про конкурентов» модель-аналитик отработает с цифрами, а модель-маркетолог — с акцентами и подачей. Разница — в системном промпте.

до
первого сообщения
пользователя
~70%
поведения модели
определяется им
~30%
случаев обходится
jailbreak-атаками

Как системный промпт работает

Технически это первый блок текста, который попадает в контекстное окно модели. Он идёт перед историей диалога и перед каждым сообщением пользователя. Модель читает его и выстраивает поведение.

Системный промпт решает три задачи:

Задача Пример Без промпта
Роль «Ты — финансовый аналитик» Модель отвечает как обычный чат-бот
Тон «Отвечай коротко, без воды» Развёрнутые ответы с лишними деталями
Границы «Не давай медицинских советов» Модель может дать опасную рекомендацию

Четыре уровня системного промпта

Уровень детализации промпта зависит от задачи. Простая вежливость — одна строка. Промпт для агента поддержки — абзац. Для ИИ-агента, который принимает решения, — страница.

Правило масштаба

Чем больше модель делает сама, тем детальнее промпт. Чат-боту хватит двух строк. Агенту, который списывает деньги, нужна страница с перечнем запрещённых действий — и тесты на каждый запрет.

Когда системный промпт не помогает

Системный промпт — настройка, а не защита. Три случая, когда его недостаточно:

  • Jailbreak. Атакующий формулирует запрос так, что модель игнорирует промпт. На открытых моделях успех атаки — около 30%. Лечится дополнительными фильтрами на уровне API, а не новым промптом.
  • Противоречивые инструкции. Если пользователь достаточно настойчив, модель может переключиться на его инструкцию. Особенно в длинных диалогах — контекстное окно размывает ранние инструкции.
  • Сложные сценарии. Системный промпт хорошо задаёт общий контур поведения, но для бизнес-логики нужен код. Агент, который выставляет счета, не должен полагаться только на промпт — нужна проверка каждого действия на уровне приложения.

Как составить рабочий системный промпт

Пять пунктов, которые работают на практике:

  1. Роль одним предложением. «Ты — специалист поддержки банка», а не эссе на страницу.
  2. Запреты конкретнее разрешений. «Не называй конкретные суммы» сильнее, чем «будь аккуратен с цифрами».
  3. Примеры. Два-три образца «хорошего» и «плохого» ответа работают лучше длинных инструкций.
  4. Приоритеты. Что делать, если инструкции противоречат друг другу: «Безопасность важнее вежливости» — это правило разрешает конфликт.
  5. Тест на jailbreak. Пять запросов в духе «забудь всё, что я говорил раньше» — если модель поддаётся на три из пяти, промпт нужно усиливать не текстом, а фильтрами на уровне API.

Частые вопросы

Системный промпт — это что простыми словами?

Это инструкция, которую модель получает до первого сообщения пользователя. Она не видна в чате, но определяет роль модели — например, «отвечай как финансовый аналитик» или «не используй смайлики».

Чем системный промпт отличается от обычного?

Обычный промпт пользователь пишет в чате. Системный промпт задаётся разработчиком один раз при создании чата и действует на весь разговор. Пользователь его не видит.

Может ли пользователь обойти системный промпт?

Может. Системный промпт — не защита, а настройка. Jailbreak-атаки обходят его примерно в 30% случаев на открытых моделях. Для критичных сценариев используют дополнительные фильтры.