Ризонинг по схеме и structured outputs для LLMs
Автоматический перевод
Эта статья была автоматически переведена с оригинальной английской версии.
Используйте structured outputs, когда программе нужны поля с заданной структурой. Добавляйте ризонинг по схеме (SGR), когда программе или ревьюеру также нужны промежуточные записи — например, подтверждение из источника и предлагаемое решение. SGR использует structured output для представления этих шагов; это не отдельная гарантия корректности ответа.
Если потребителю нужны только категория и ID источника, оставьте только эти поля. Добавляйте поля анализа лишь в том случае, если можете объяснить, как их будут проверять или использовать.
Последняя проверка: 2026-09-08.
Что делает каждый уровень
| Уровень | Что он предоставляет | Чего он не может установить |
|---|---|---|
| Промпт для форматирования JSON | Инструкции вернуть JSON | Что ответ соответствует схеме |
| Выходные данные с ограничениями схемы | Ответ, соответствующий поддерживаемой схеме, если генерация успешно завершена | Что значения истинны |
| SGR-схема | Именованные промежуточные поля и предлагаемое решение | Что одно поле корректно выведено из другого |
| Проверки в приложении | Проверки подтверждения из источника, вычислений и разрешённых действий | Факты, которые приложение никогда не проверяет |
Описание SGR Рината Абдуллина использует схемы как контрольный список для результатов работы модели. При развёртывании на собственной инфраструктуре structured outputs в vLLM могут обеспечить соблюдение JSON Schema через бэкенд декодирования, например XGrammar. Одного определения Pydantic-модели в Python недостаточно, чтобы включить constrained decoding на сервере.
Проверьте, какие возможности схемы поддерживает выбранный провайдер, а также статус завершения. Для отказа, усечённого ответа или неудачного запроса нужен отдельный путь обработки ошибки. В руководстве по structured outputs в Gemini также обозначено ключевое ограничение: корректная структура JSON не гарантирует корректность значений полей.
Предложение скидки показывает разницу
Предположим, инструмент поддержки может предложить скидку не более 10%. Минимальный структурированный ответ может содержать discount_percent и customer_message. Если внутреннему ревьюеру нужно подтверждение, SGR-ответ может также содержать policy_source_id и eligibility_evidence.
Эти дополнительные поля дают ревьюеру материал для проверки. Но они не делают предлагаемую скидку 15% допустимой. Даже схема, ограничивающая процент значением 10, не может доказать, что этот клиент соответствует условиям.
Перед использованием предложения код приложения должен загрузить применимую политику и данные клиента, проверить соответствие условиям и вычислить разрешённую сумму. Считайте объяснение модели утверждением, которое нужно проверить. Если следующему шагу модели требуются подтверждённые факты, проверьте их до этого вызова. Порядок полей внутри одного JSON-объекта не создаёт этап проверки.
Когда промежуточные поля помогают
SGR полезен, когда неправильный ответ требует более точной диагностики. Например, классификатор документов может вернуть фрагмент источника и категорию. Тогда ревьюеры смогут отличить неудачный выбор фрагмента от неверной категории при корректном подтверждении.
SGR менее полезен, когда каждый результат получает длинное объяснение, которое никто не читает и не оценивает. Дополнительный вывод расходует токены, а убедительное объяснение всё равно может быть ложным.
Сравните небольшую схему и SGR-схему на одном и том же наборе размеченных примеров и на одной и той же модели. Оценивайте окончательное решение отдельно от подтверждения источником и допустимости значений полей. Оставляйте промежуточные поля, если они улучшают решение или делают ревью достаточно полезным, чтобы оправдать дополнительный вывод. Не предполагайте прирост точности только из-за названия схемы.
Дополнительные материалы
- Ризонинг по схеме с vLLM объясняет схемы, XGrammar и проверки политик на стороне приложения.
- Память агента по схеме применяет типизированные записи и историю источников к долговременному состоянию.
- Выбор NER-моделей отделяет буквальные фрагменты текста от экстракции, требующей инференса.