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