La raison la plus courante de laisser l’IA produire un retournement JSON n’est pas qu’elle « ne comprend pas le JSON », mais que la cible que vous donnez est trop large, les champs trop lâches et la tolérance aux fautes n’est pas compensée. Un modèle peut apprendre à parler structurellement, mais ce n’est pas un programme de sérialisation naturellement fiable. Vous ne demandez que « veuillez retourner JSON » sans restreindre les champs, les types ni la gestion des valeurs manquantes, et à la fin, il y a une explication, une citation de moins, et le nom du champ est soudainement réécrit, ce qui est tous des résultats à haute fréquence.
Les points de roulement courants se trouvent généralement ici
| Question | Phénomène de surface | Source plus probable |
|---|---|---|
| Sous-titres de sortie multiple | JSON contient plus de langage naturel avant et après | Tu n’as pas explicitement autorisé à ne retourner que les strucs |
| Le champ fluctue entre plus et moins | Parfois, la clé manque, parfois le nom est changé | Les définitions des champs et les règles requises ne sont pas claires |
| Le type est instable | Les nombres deviennent des chaînes, les tableaux deviennent des valeurs uniques | Il n’y a pas de types de contraintes ni de politiques nulles |
| Le contenu semble légitime mais inutilisable | Le format est correct, mais la valeur est sale | Répétitions manquantes de somme de contrôle commerciales |
Une approche plus stable n’est pas un mot prompt, mais un petit ensemble de contraintes
- Premièrement, réduisez le champ, ne gardez que les clés que vous souhaitez vraiment utiliser, et ne laissez pas le modèle générer plus d’une douzaine de couches d’objets imbriqués.
- Chaque champ est clairement écrit sur le type, s’il est requis et ce qu’il faut remplir en cas d’absence, comme une chaîne vide, un tableau vide ou un nul.
- Dites clairement au modèle : ne retournez que le JSON, n’expliquez pas, ne faites pas de markdown, ne bloquez pas le code.
- Fais une vérification d’analyse syntaxique côté accès, renvoyez le message d’erreur s’il échoue, puis laissez-le réessayer comme une erreur, au lieu de croire directement le premier résultat.
Ne confondez pas « sortie JSON » avec « données fiables »
La structure est correcte, juste que la coque est comme JSON ; Ce qui détermine vraiment si le champ est manquant, si la valeur est sale, et si le sens est erroné. Pour les processus automatisés, les invites ne constituent que la première couche, suivies de vérifications de schéma, de politiques par défaut et de tentatives ratées. La clé pour rendre l’IA stable n’est pas de l’encourager à être « plus prudente », mais de compenser simultanément les contraintes de format et la vérification des programmes.