Raisonnement guidé par schéma et structured outputs pour les LLMs

Traduction automatique

Cet article a été traduit automatiquement depuis la version originale en anglais.

Utilisez les structured outputs lorsque votre programme a besoin de champs dont la structure est définie. Ajoutez le raisonnement guidé par schéma (SGR) lorsque le programme ou une personne chargée de la revue a également besoin d’enregistrements intermédiaires, comme les éléments de preuve issus des sources et une décision proposée. Le SGR utilise les structured outputs pour exprimer ces étapes ; il ne constitue pas une garantie distincte que la réponse est correcte.

Si le consommateur a uniquement besoin d’une catégorie et d’un ID de source, conservez ces champs. N’ajoutez des champs d’analyse que si vous pouvez expliquer comment ils seront vérifiés ou utilisés.

Dernière révision : 2026-09-08.

Rôle de chaque couche

CoucheCe qu’elle fournitCe qu’elle ne peut pas établir
Prompt de formatage JSONDes instructions pour renvoyer du JSONQue la réponse respecte un schéma
Sortie contrainte par un schémaUne réponse qui respecte le schéma pris en charge lorsque la génération s’achève avec succèsQue les valeurs sont exactes
Schéma SGRDes champs intermédiaires nommés et une décision proposéeQu’un champ a été correctement dérivé d’un autre
Contrôles applicatifsDes tests sur les éléments de preuve issus des sources, les calculs et les actions autoriséesLes faits que l’application ne vérifie jamais

La description du SGR par Rinat Abdullin utilise les schémas comme une liste de contrôle du travail renvoyé par le modèle. Dans une configuration auto-hébergée, les structured outputs de vLLM peuvent imposer un JSON Schema via un backend de décodage tel que XGrammar. La simple définition d’un modèle Pydantic en Python n’active pas le constrained decoding sur le serveur.

Vérifiez le sous-ensemble de schémas pris en charge par le fournisseur sélectionné ainsi que l’état de la génération. Un refus, une réponse tronquée ou une requête échouée nécessite son propre traitement d’erreur. Le guide de Gemini sur les structured outputs souligne également la limite essentielle : une structure JSON correcte ne garantit pas l’exactitude des valeurs des champs.

Une proposition de remise illustre la différence

Supposons qu’un outil de support puisse proposer une remise maximale de 10 %. Une réponse structurée minimale pourrait contenir discount_percent et customer_message. Si une personne chargée de la revue interne a besoin d’éléments de preuve, une réponse SGR pourrait également contenir policy_source_id et eligibility_evidence.

Ces champs supplémentaires donnent à la personne chargée de la revue des éléments à examiner. Ils ne rendent pas valide une remise proposée de 15 %. Même un schéma qui limite le pourcentage à 10 ne peut pas prouver que ce client est éligible.

Avant d’utiliser l’offre, le code applicatif doit charger la politique applicable et la fiche client, vérifier l’éligibilité et calculer le montant autorisé. Considérez l’explication du modèle comme une affirmation à vérifier. Si une étape ultérieure du modèle a besoin de faits approuvés, validez-les avant d’effectuer cet appel. L’ordre des champs au sein d’un même objet JSON ne crée pas une étape de validation.

Quand les champs intermédiaires sont utiles

Le SGR est utile lorsqu’une mauvaise réponse nécessite un diagnostic plus précis. Par exemple, un classifieur de documents peut renvoyer un passage source et une catégorie. Les personnes chargées de la revue peuvent alors distinguer un mauvais choix de passage d’une catégorie incorrecte malgré des éléments de preuve pertinents.

Il est moins utile lorsque chaque résultat reçoit une longue explication que personne ne lit ni n’évalue. Les sorties supplémentaires consomment des tokens, et une explication convaincante peut malgré tout être fausse.

Comparez le petit schéma et le schéma SGR sur les mêmes cas annotés et avec le même modèle. Évaluez séparément la décision finale, l’étayage par la source et la validité des champs. Conservez les champs intermédiaires s’ils améliorent la décision ou rendent la revue suffisamment utile pour justifier la sortie supplémentaire. Ne supposez pas un gain d’exactitude en vous fondant uniquement sur le nom du schéma.

Pour approfondir