AI: SGR

SGR (Schema-Guided Reasoning) — это подход к проектированию AI-агентов, который заставляет LLM мыслить строго по заданному шаблону, объединяя  🎀AI: Structured Output  и Chain-of-Thought ( ✍️AI: Промптинг ) .


Принцип

  • Chain-of-Thought: если заставить модель пошагово размышлять, ответ получается умным, но его трудно парсить в коде, т.к. это просто полотно текста.
  • Structure Output: если заставить модель выдать финальный ответ в формате JSON, парсить легко, но ИИ часто ошибается, т.к. нет предварительных размышлений.
  • SGR:
  • Создаётся строгая схема (например, JSON Schema), в которой явно прописаны шаги рассуждения как обязательные поля, предшествующие финальному ответу.
  • ИИ физически не может выдать результат, пока не заполнит поля с анализом.


Устройство

SGR опирается на Constrained Decoding (см.  🎀AI: Structured Output  ).
Специфика SGR:
  • Порядок полей имеет решающее значение. К моменту, когда ИИ генерирует поле с итоговым решением, в только что сгенерированных верхних полях уже лежат все необходимые факты и логические выводы.
  • Разработчик задает правильные названия полей и емкие описания к ним. Эти описания служат микро-инструкциями для каждого шага размышления.


Преимущества

  • Предсказуемость: Модель не может пропустить важный шаг анализа.
  • Прозрачность: Каждое решение агента содержит исчерпывающую информацию о том, почему оно было принято.
  • Эффективность малых моделей: SGR позволяет добиваться высокой точности от локальных и небольших моделей, компенсируя их размер строгим процессом рассуждения.


Применение

  • Tool Calling: Агент сначала оценивает состояние среды, формирует план, и только потом генерирует параметры для вызова функции.
  • Извлечение данных из сложных документов: Юридические контракты, финансовые отчеты, медицинские карты.
  • Модерация и комплаенс: Системы, которые должны проверять контент на соответствие десяткам строгих бизнес-правил.


Использование

    Создаете структуру данных, которая шаг за шагом ведет модель к выводу.
    Передаете эту схему в модель через параметры вроде response_format или response_schema.
    Получив ответ от API, ваш код берет параметры из tool_parameters и выполняет действие, а содержимое поля reasoning сохраняет в логи для мониторинга.
Пример схемы ответа агента:
    analyzed_context (строка): Краткая выжимка ключевых фактов из запроса пользователя.
    applicable_rules (список строк): Перечень бизнес-правил или ограничений, которые применимы к данной ситуации.
    reasoning (строка): Логическое сопоставление фактов (поле 1) и правил (поле 2).
    tool_to_use (строка): Выбор конкретного инструмента.
    tool_parameters (объект JSON): Необходимые данные для выбранного инструмента.