Системный промпт
Системный промпт — это «настройки личности и правил» модели на весь диалог.
Системный промпт — инструкция, которая задаёт модели роль, тон, ограничения и формат, действуя на протяжении всего разговора, а не только на одну реплику.
Чем системный промпт отличается от user-сообщения
User-сообщение — это конкретный запрос «здесь и сейчас». Системный промпт — рамка, в которой модель отвечает на все запросы. Туда выносят то, что не должно меняться: «ты — ассистент службы поддержки», «отвечай только на русском», «не давай юридических советов», «верни ответ в JSON».
# Anthropic: system — отдельный параметр
client.messages.create(
model="claude-opus-4-8",
max_tokens=512,
system=(
"Ты — технический ассистент сервиса доставки. "
"Отвечай кратко и по-русски. "
"Если вопрос не о доставке — вежливо откажись."
),
messages=[{"role": "user", "content": "Где мой заказ?"}],
)
# OpenAI: system — первое сообщение в массиве
client.chat.completions.create(
model="gpt-4o",
messages=[
{"role": "system", "content": "Ты — технический ассистент. Отвечай кратко и по-русски."},
{"role": "user", "content": "Где мой заказ?"},
],
)
Что хорошо класть в системный промпт
- Роль: кто модель и для кого работает.
- Тон и язык: формальность, длина, язык ответа.
- Границы: чего делать нельзя, на что не отвечать.
- Формат: «верни маркированный список», «только JSON по схеме».
- Контекст: справочные факты, актуальные на весь диалог.
Как писать системный промпт
Будьте конкретны и позитивны: «делай так», а не только «не делай так». Приводите пример желаемого ответа, если формат важен. Не перегружайте — слишком длинный и противоречивый системный промпт сбивает модель и съедает токены в каждом запросе.
Важный нюанс безопасности
Системный промпт — не абсолютная защита. Пользователь может попытаться «переубедить» модель (промпт-инъекция, см. раздел 6). Поэтому критичные правила дублируют проверками в коде, а не полагаются только на текст инструкции.
Итог
- Системный промпт задаёт роль, тон, границы и формат на весь диалог.
- Anthropic: параметр
system; OpenAI: первое сообщение с рольюsystem. - Пишите конкретно, давайте примеры, не перегружайте.
- Это инструкция, а не гарантия — критичные правила проверяйте кодом.