Глава 6

Универсальный контракт prompt

Идеального шаблона под все модели не существует - существует набор инженерных вопросов, на которые отвечает контракт. Секцию имеет смысл включать, только если она меняет поведение или делает результат проверяемым; всё остальное - лишний шум.

Вот вопросы, по которым собирается любой prompt.

  • Цель - какой пользовательский результат нужен?
  • Границы - что система делает и, главное, чего не делает?
  • Роли данных - какие поля доверенные, какие пользовательские?
  • Контекст - какие факты допустимо использовать?
  • Правила решения - какие эвристики и приоритеты нужны?
  • Tools - когда вызывать, когда уточнять, когда нельзя?
  • Output - текст, schema, citations, язык и длина?
  • Done - что считать успехом, что blocked, что escalate и каков лимит усилия?

Собранные вместе, они дают скелет, который повторяется от задачи к задаче.

# Цель
{{что должен получить пользователь}}

# Границы
- Делай: {{разрешённая область}}
- Не делай: {{что относится к другому процессу}}

# Контекст и источники истины
{{данные, приоритеты, свежесть, доверие}}

# Правила принятия решения
{{только правила, которые нельзя надёжно вывести из контекста}}

# Tools
{{когда вызывать, обязательные параметры, подтверждение}}

# Результат
{{schema или чёткое описание формата}}

# Неопределённость и завершение
{{когда уточнить, отказаться, эскалировать, остановиться}}

Чтобы почувствовать, как секции складываются под конкретный сценарий, соберите контракт в конструкторе.

Интерактивная лаборатория 2

Конструктор prompt-контракта

# Цель
Дать grounded answer по переданным источникам

# Scope
Опишите разрешённое и явно исключённое.

# Контекст
retrieved sources с source_id и effective_date

# Правила решения
Добавьте только правила, исправляющие наблюдаемые ошибки.

# Output
Строгая schema + доменная валидация

# Risk control
Timeout, validation и обычный fallback

# Done
answer, clarify, not_found или conflict

И про роль отдельно - она полезна ровно настолько, насколько несёт контракт.

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

Ссылки