Accueil → Aide

Le prompt système se comporte différemment selon les modèles

Les API de style OpenAI transmettent l'instruction système comme premier message du tableau messages. Les API de style Anthropic la reçoivent comme un paramètre system distinct, au niveau supérieur. Une couche de traduction qui convertit l'une en l'autre doit la déplacer, et certaines le font en la transformant en tour utilisateur.

Ce que vous voyez

Pourquoi cela arrive

Comme chaque forme est un JSON valide pour l'autre, les erreurs produisent rarement un échec. La requête réussit et l'instruction a simplement moins de poids, ce qui ressemble à un modèle moins bon plutôt qu'à un problème de câblage.

Les messages système multiples sont une autre divergence. Certaines implémentations les concatènent, d'autres ne gardent que le premier, et quelques-unes refusent la requête.

Les modèles de raisonnement ajoutent une troisième variante : certains traitent les instructions du développeur séparément du texte système visible, donc l'endroit où vous placez une instruction détermine si elle survit jusqu'à l'étape de raisonnement.

Comment le corriger

  1. Un seul message système, en premierUn message système au début du tableau fonctionne partout. C'est en répartissant les instructions sur plusieurs messages que les implémentations divergent.
  2. Testez l'instruction, pas le code de réponseQuand vous changez de fournisseur, demandez au modèle de répéter son instruction. Un 200 ne prouve rien quant au fait que l'instruction soit bien arrivée.
  3. Ne comptez pas sur le seul rôle system pour les règles strictesSi une contrainte compte vraiment, répétez-la aussi dans le tour utilisateur. Cela coûte quelques tokens et survit à toutes les couches de traduction.
APICLAN expose les deux formes avec la même clé : /v1/chat/completions pour la forme OpenAI et /v1/messages pour la forme Anthropic. Utilisez l'endpoint qui correspond à la famille du modèle et l'instruction système n'a besoin d'aucune traduction.

Voir aussi

Unexpected token '<' lors d'un appel à une API compatible OpenAI401 invalid API key : quand la clé semble correcte mais échoue quand même

Dernière vérification le 2026-10-01. Rédigé à partir de problèmes diagnostiqués sur une passerelle compatible OpenAI en production, pas compilé à partir d'autres sites.