Ограничения и правила через системный промпт
Ограничения и правила через системный промпт
Роль говорит модели, КЕМ быть. Ограничения — чего НЕ делать. Вместе они создают «русло», по которому течёт общение: достаточно широкое, чтобы модель была полезной, но достаточно узкое, чтобы не выходить за рамки.
Зачем нужны явные ограничения
Модель по умолчанию старается быть полезной и ответить на любой запрос. В production-сценариях это может быть проблемой:
- Клиент просит у чат-бота магазина рецепт борща — модель отвечает, хотя должна консультировать только по товарам.
- Пользователь задаёт провокационный вопрос — модель вступает в спор вместо того, чтобы вежливо уйти от темы.
- Модель даёт советы по здоровью, не имея на это ни компетенции, ни права.
Ограничения в системном промпте предотвращают эти ситуации ДО того, как они возникнут.
Типы ограничений
1. Тематические границы — о чём можно и нельзя говорить:
Ты консультируешь только по ассортименту книжного магазина.
Если вопрос не про книги — вежливо отвечаешь: «Я консультирую
только по книгам. Чем могу помочь с выбором?»
2. Поведенческие правила — как реагировать в конкретных ситуациях:
Если клиент использует нецензурную лексику — ответь:
«Я готов помочь, когда разговор станет конструктивным».
Не вступай в перепалку.
3. Ограничения формата — как должен выглядеть ответ:
Твои ответы всегда:
- Не длиннее 100 слов.
- Без маркированных списков (только абзацы).
- Без эмодзи.
4. Запрет на выдумки — когда модель не должна импровизировать:
Если точной информации нет в базе знаний, ответь:
«У меня нет этой информации. Уточните, пожалуйста, в службе
поддержки по телефону ...».
Не придумывай ответ, даже если вопрос кажется простым.
Пример: как ограничения спасают диалог
Системный промпт (чат-бот магазина электроники):
Ты — консультант интернет-магазина «Электроник». Твои правила:
1. Консультируешь только по товарам из нашего каталога. Если
товара нет в каталоге — не придумывай его характеристики.
2. Не сравниваешь наш магазин с конкурентами. На вопрос «А в X
дешевле?» отвечаешь: «Цены устанавливаются динамически. Давайте
я расскажу о преимуществах покупки у нас».
3. Не даёшь советов по ремонту или самостоятельной разборке
устройств — это нарушает гарантию.
4. Если клиент сообщает о дефекте — не пытайся диагностировать
сам, а предлагаешь оформить возврат или обмен.
5. Не обсуждаешь политику, религию и футбол — меняешь тему
на товары.
Теперь представим опасные запросы:
Пользователь: «Как думаешь, кто победит в чемпионате?»
Модель: «Я здесь, чтобы помочь с выбором электроники! Расскажите, что вас интересует — может, новый телевизор для просмотра матчей?»
Пользователь: «У меня сломался телефон, как его разобрать и починить экран?»
Модель: «Разборка устройства аннулирует гарантию. Я рекомендую оформить возврат или обмен. Хотите, я расскажу, как это сделать?»
Пользователь: «А в DNS этот ноутбук дешевле на 5 тысяч!»
Модель: «Цены на рынке меняются. Давайте я расскажу о преимуществах покупки у нас: бесплатная доставка за 2 часа и расширенная гарантия на 3 года.»
Каждый раз ограничения удерживают модель в безопасном русле.
Как формулировать ограничения
Плохо (размыто): «Не говори лишнего.»
Хорошо (конкретно): «Если вопрос не про товары из каталога — отвечай: "Я консультирую только по ассортименту магазина". Не импровизируй.»
Плохо (отрицание без альтернативы): «Не груби клиентам.»
Хорошо (позитивная альтернатива): «Если клиент грубит, ответь вежливо: "Я понимаю ваше недовольство. Давайте я помогу решить проблему".»
Типичная ошибка: слишком жёсткие ограничения
Если задать слишком много запретов, модель станет «парализованной» — будет бояться ответить даже на нормальные вопросы:
(плохой системный промпт)
- Не давай советов.
- Не приводи примеров.
- Не используй списки.
- Не пиши больше 30 слов.
- Не упоминай конкурентов.
- Не шути.
- Не используй слова "очень", "отличный", "лучший".
Результат: модель отвечает односложно и бесполезно. Ограничения должны быть защитными перилами, а не смирительной рубашкой.
Проверь себя
Ты делаешь чат-бота для банка. Какие ограничения добавишь в системный промпт? Напиши 3–5 правил.
Пример ответа: 1) Не запрашивай и не храни ПИН-коды, пароли, CVV. 2) Не давай инвестиционных советов — направляй к персональному менеджеру. 3) Если клиент сообщает о мошеннической операции — немедленно дай инструкцию заблокировать карту и телефон поддержки. 4) Не комментируй решения банка (одобрение/отказ в кредите).
Итог
- Ограничения в системном промпте создают «русло» для модели — она полезна, но не выходит за рамки.
- Четыре типа ограничений: тематические границы, поведенческие правила, формат ответа, запрет на выдумки.
- Формулируй ограничения конкретно, с позитивной альтернативой.
- Не перегружай системный промпт запретами — модель может стать «парализованной».
- Хороший тест: представь худший возможный запрос и проверь, спасёт ли ограничение.
Что дальше
Роль и ограничения задают поведение. Теперь добавим последний элемент системного промпта — стиль и тон. Как сделать так, чтобы модель говорила не только правильно, но и «вкусно» — с нужной интонацией, энергией и характером.