К содержимому
Claude Code с 0:полный курс
Уровень 1 · Разговор и управление ответом 4 мин Проверено автором · 3 июл. 2026 г.

System prompt: задаём роль и правила

System prompt — это поле system с ролью и правилами модели. С ним один и тот же вопрос даёт другой ответ.

Уровень 1 · 0 / 4 уроков0%

Зачем нужен system

Каждый запрос к Claude — это массив messages с сообщениями пользователя. Но есть отдельное верхнеуровневое поле system: туда выносят роль, тон и правила, по которым модель отвечает. Сами вопросы остаются в messages, а system задаёт рамку для всех них.

Представь бота поддержки интернет-магазина. Без system на вопрос «где мой заказ?» Claude ответит общими словами. С system — заговорит как ваш оператор: вежливо, по правилам, не выдумывая номера заказов.

Как это выглядит в запросе

{
  "model": "claude-opus-4-8",
  "max_tokens": 1024,
  "system": "Ты — оператор поддержки магазина «Полка». Отвечай вежливо и кратко. Если не знаешь номер заказа — попроси его, не придумывай.",
  "messages": [
    {"role": "user", "content": "Где мой заказ?"}
  ]
}

system — это одна строка на верхнем уровне тела запроса, а не сообщение с ролью system внутри messages. Это не обязательное поле: без него модель просто отвечает как ассистент по умолчанию.

Совет

Держи в system стабильные правила, а конкретику (имя клиента, номер заказа) передавай в messages. Так промпт легче переиспользовать и кэшировать.

Мини-проверка

Почему лучше держать номер заказа в messages, а роль оператора в system?

Порепетируй

Ниже — один и тот же вопрос с system-промптом и без него. Почувствуй разницу.

Практика в терминале

Теперь собери такой запрос сам в тренажёре ниже: добавь в тело поле system с ролью оператора поддержки — на верхнем уровне, рядом с messages, — и получи ответ сервера.

Проверь себя

Отвечено 0/3
Режим:

Где в теле запроса находится system-промпт?

Что лучше держать в system, а что — в messages?

Обязательно ли поле system?

Выполни задание в терминале и ответь на вопросы, чтобы завершить урок.

📝 Мои заметки

Сохраняется автоматически в этом браузере · видно на странице «Заметки».

Задание

Отправь запрос с полем system: задай модели роль оператора поддержки. Помни — system лежит на верхнем уровне тела, рядом с messages, а не внутри.

Tab дополнить · прошлые · Ctrl+L очистить · help команды

  • Не выполнено: Передай в теле запроса поле system
  • Не выполнено: Сервер принял запрос с system

Вопросы и ответы по уроку

Где в теле запроса находится system-промпт?

system — это отдельный top-level параметр тела запроса (строка), а не сообщение внутри messages.

Что лучше держать в system, а что — в messages?

Стабильная рамка (роль, тон, ограничения) идёт в system; меняющаяся конкретика — в messages.

Обязательно ли поле system?

system опционально. Обязательны model, max_tokens и messages; без system модель отвечает как ассистент по умолчанию.

Почему лучше держать номер заказа в messages, а роль оператора в system?

Постоянная рамка (role, правила) в system не меняется между запросами, поэтому её удобнее переиспользовать и кэшировать; конкретика (номер заказа, имя) кладётся в messages, где она меняется.

Почитать по теме в блоге

Листай уроки клавишами · поиск по ⌘K