Schema Guided Reasoning

SGR (Schema-Guided Reasoning) — приём, в котором структура полей схемы задаёт шаги рассуждения модели. Вместо текстовой просьбы «рассуждай по шагам» порядок полей BaseModel сам ведёт модель через нужные этапы и валидирует каждый. Это структурная форма Chain of Thought.

Суть

Схема не только проверяет результат — она направляет процесс. Модель заполняет поля в заданном порядке, и этот порядок есть неявная цепочка рассуждения: сначала промежуточные выводы, затем итоговое решение.

Зачем это нужно

Обычный промпт «проанализируй и дай вывод» даёт произвольный текст: нет структуры, каждый раз другой формат, нельзя обработать автоматически. Жёсткая схема рассуждения делает результат предсказуемым и сразу пригодным для пайплайна.

Как работает

  • Поля схемы располагаются в порядке рассуждения. Пример для скрининга: brief_summaryskill_match: intexperience_fit: intdecision: Literal["hire","reject","hold"]. Модель обязана пройти все шаги.
  • Каждый шаг типизирован и валидируется (Structured Output) — это отличает SGR от текстового рассуждения, где промежуточные шаги ничем не ограничены.
  • Типовые паттерны SGR:
    • Classification — category: Literal[...], confidence: float, reasoning: str (тикеты, намерения, контент).
    • Extraction — вложенные модели на каждую сущность (Person, Company, Date, Amount): модель извлекает и структурирует одновременно.
    • Planning — поля как этапы плана.
  • Эффект (кейс HR-скрининга): время на кандидата 4 мин → 40 сек, доля падавших запросов 1 из 8 → 0 форматных ошибок, 300 резюме/день.

Связано с

  • Chain of Thought — SGR = структурная, типизированная форма CoT
  • Structured Output — механизм, на котором держится SGR
  • PydanticAI — где SGR описывается через BaseModel

Открытые вопросы

  • когда SGR хуже свободного CoT (жёсткая схема может «зажать» рассуждение на нестандартной задаче)
  • как порядок полей влияет на качество вывода