Системный промпт: как написать (с примерами)
Коротко
Системный промпт — это постоянная инструкция, которая один раз задаёт модели роль, правила и формат ответа на весь диалог; пользовательский промпт — это конкретный запрос «здесь и сейчас». Системный промпт пишет разработчик или владелец ассистента, и пользователь его обычно не видит. Рабочая структура — пять блоков: роль, функция, правила поведения, формат ответа и границы («чего не делать»). Ниже — определение простыми словами, готовые примеры для пяти ролей (бот поддержки, редактор, код-ревьюер, аналитик, наставник), таблица «плохой vs хороший» и честный разбор отличий между Claude, ChatGPT и Gemini. Нужны шаблоны обычных запросов — они в полном гайде по промптам и в арсенале готовых карточек.
Что такое системный промпт и чем он отличается от пользовательского?
Системный промпт (system prompt, системная инструкция) — это текст, который отправляется модели до диалога и действует всё время, пока сессия жива. Он отвечает на вопрос «кто ты и по каким правилам работаешь», а не «что сделать прямо сейчас».
Пользовательский промпт — это то, что человек пишет в поле ввода: вопрос, задача, данные. Он меняется от сообщения к сообщению, системный остаётся неизменным.
Простая аналогия: системный промпт — это должностная инструкция сотрудника, пользовательский — конкретная заявка, которая пришла сегодня. Инструкцию пишут один раз, заявки идут потоком.
Технически модель видит оба текста вместе, и системный имеет приоритет: если система говорит «не давай медицинских диагнозов», а пользователь просит диагноз — модель откажет или перенаправит. Но приоритет — не броня. Промпт-инъекция — это когда хитро составленный пользовательский запрос обходит системные правила. Поэтому системный промпт — инструмент поведения, а не средство безопасности: секреты, ключи и пароли в него класть нельзя.
Из чего состоит системный промпт: структура
Системную инструкцию удобно собирать из пяти блоков — от общего к частному:
- Роль — кто отвечает и в какой области. Не «полезный ассистент», а «бот поддержки хостинга, отвечает по тарифам и настройке».
- Функция — что ассистент делает и для кого. Одна-две фразы про главную задачу.
- Правила поведения — 3–5 явных правил: чего держаться, чего избегать, как вести себя при незнании.
- Формат ответа — длина, структура, язык, markdown или чистый текст. Самый недооценённый блок: без него модель выбирает формат сама.
- Границы — что запрещено и что делать в спорных случаях («не знаешь — скажи, не выдумывай»).
Пользовательские запросы после этого становятся короче: всё постоянное уже вынесено в систему. Подробный разбор каркаса обычного запроса — в гайде «Как поставить задачу, чтобы агент понял».
Плохой и хороший системный промпт: в чём разница?
Разницу проще увидеть по строкам. Слева — типичные ошибки, справа — как надо:
| Что смотрим | Плохой системный промпт | Хороший системный промпт |
|---|---|---|
| Роль | «Ты полезный ассистент» | «Ты бот поддержки сервиса X, отвечаешь по тарифам и настройке» |
| Правила | Нет или общие слова | 3–5 явных правил: что делать и чего не делать |
| Формат | Не задан | «Ответ ≤ 4 предложений, без markdown» |
| При незнании | Модель выдумывает | «Не знаешь — скажи и верни к оператору» |
| Тон | Капс, «ОБЯЗАТЕЛЬНО!!!» | Спокойные формулировки без крика |
| Данные | Ключи и секреты прямо в тексте | Только роль и правила, секреты — вне промпта |
Главный вывод из таблицы: хороший системный промпт конкретен и проверяем. «Будь полезным» модель понять не может, «отвечай ≤ 4 предложений и не выдумывай факты» — может.
Примеры системных промптов для пяти ролей
Ниже — компактные заготовки. Подставьте своё в квадратные скобки. Все примеры на русском: модели уверенно с ним работают.
1. Бот поддержки
Ты — бот поддержки сервиса [название]. Помогаешь с тарифами, оплатой
и базовой настройкой.
Правила:
- Отвечай только по теме сервиса. Не по теме — вежливо верни к теме.
- Не знаешь ответ или вопрос про деньги на счёте — не выдумывай,
предложи связаться с оператором.
- Тон дружелюбный, ответ ≤ 4 предложений, без воды.
2. Редактор текстов
Ты — редактор, который вычищает канцелярит и ИИ-штампы.
При правке любого текста:
- Запрещены «в современном мире», «важно отметить», «давайте разберёмся».
- Короткие предложения, факты вместо оценок.
- Сначала верни правку, потом 2–3 строки: что и почему изменил.
3. Код-ревьюер
Ты — строгий код-ревьюер. Проверяешь код по порядку:
безопасность → логические ошибки → производительность → читаемость.
- На каждую находку: строка, суть, как починить, серьёзность high/medium/low.
- Код целиком не переписываешь. Проблем нет — так и говоришь, не выдумываешь.
4. Аналитик данных
Ты — аналитик данных. Работаешь только с тем, что есть в данных.
- Выводы подкрепляй конкретными цифрами из таблицы.
- Значения не додумываешь: данных мало — прямо об этом пишешь.
- Формат: вывод → цифра-подтверждение → что проверить дальше.
5. Наставник
Ты — наставник по [предмету] для новичка.
- Объясняешь простым языком, каждый термин — с примером.
- Не выдаёшь готовое решение сразу: сначала наводящий вопрос.
- После объяснения даёшь одну маленькую задачу на закрепление.
Больше готовых ролей и приёмов — в арсенале промптов и в подборке готовых промптов для нейросетей; теория промптинга собрана в хабе базы знаний.
Чем отличаются системные промпты в разных моделях?
Каркас «роль → функция → правила → формат → границы» универсален, но детали различаются. Актуальные факты на июль 2026:
| Модель | Как задаётся | Особенность |
|---|---|---|
| Claude (Anthropic) | Параметр system в API; проекты и стили в чате |
Буквальное следование, любит XML-разметку блоков |
| ChatGPT (OpenAI) | Роль system/developer в API; Custom Instructions |
Терпимее к «усилителям», markdown-разметка |
| Gemini (Google) | Поле system_instruction в API; Gems в чате |
Отдельное поле специально под системную инструкцию |
Отдельно про Claude: актуальные модели (на июль 2026 — Sonnet 5 и Opus 4.8) следуют инструкциям буквально, поэтому капс и «CRITICAL!!!» скорее вредят — модель выполняет написанное даже там, где не нужно. Блоки лучше размечать XML-тегами. Подробнее — в статье «Промпты для Claude».
Для Claude Code и Cursor роль системного промпта играет файл CLAUDE.md — это память проекта: стек, команды, запреты, которые читаются в каждой сессии. По сути это системная инструкция уровня репозитория. Мы упаковали такие правила — план перед кодом, проверяемые критерии, память проекта — в движок Quest, чтобы не настраивать их вручную каждый раз.
Частые ошибки в системных промптах
- Слишком общая роль. «Ты умный ассистент» не сужает поведение. Чем конкретнее роль, тем предсказуемее ответы.
- Нет формата и границ. Без «сколько», «в каком виде» и «что при незнании» модель импровизирует — и заполняет пробелы правдоподобными выдумками.
- Секреты в тексте. API-ключи, пароли, внутренние данные в системном промпте — риск утечки через инъекцию. Держите их вне промпта.
- Капс и усилители. «ОБЯЗАТЕЛЬНО!!!», тройные восклицания. На буквальных моделях это перекашивает ответ, а не усиливает его.
- Противоречия. «Отвечай кратко» и «объясняй максимально подробно» в одном промпте — модель выберет вариант случайно.
- Раздувание. Две страницы правил модель держит хуже, чем пять чётких. В систему — только постоянное; остальное — в пользовательский запрос.
Частые вопросы
Чем системный промпт отличается от пользовательского простыми словами?
Системный — это правила игры на весь диалог (кто ты, как отвечаешь), пользовательский — конкретный ход (вопрос или задача). Первый задают один раз, второй меняется каждое сообщение. При конфликте приоритет у системного, но полной защиты он не даёт.
Где задать системный промпт в ChatGPT, Claude и Gemini?
В интерфейсах это отдельные настройки (на июль 2026): в ChatGPT — Custom Instructions и инструкции внутри GPTs, в Claude — проекты и стили, в Gemini — Gems. В API системный промпт передаётся отдельным полем: у Anthropic — параметр system, у OpenAI — роль system/developer, у Google — system_instruction.
Можно ли писать системный промпт на русском?
Да. Claude, ChatGPT и Gemini уверенно понимают русский и следуют русскоязычным инструкциям без потери качества. Технические термины — названия библиотек, функций, паттернов — лучше оставлять как есть.
Защищает ли системный промпт от обхода правил?
Нет, это не средство безопасности. Приоритет над пользовательским запросом есть, но промпт-инъекция способна его обойти. Критичные ограничения дублируйте на уровне приложения, а секреты не храните в тексте промпта.
Какой длины должен быть системный промпт?
Ровно настолько, чтобы уместить роль, ключевые правила, формат и границы — обычно 5–15 строк. Работает не длина, а плотность: лишние правила размывают главные. Начните с минимума и добавляйте пункт только когда видите повторяющуюся ошибку.