Passer de GPT-6 Sol à 6.1 Sol semble ne nécessiter qu’une modification d’une ligne, et le prix est identique. Mais quelques changements incompatibles et certaines évolutions de comportement font qu’un simple changement de nom de modèle peut entraîner des erreurs, une facture surprise ou un agent qui se comporte différemment. Le guide de migration GPT-6 d’OpenAI couvre la plupart des changements officiels. Cet article ajoute les pièges les plus fréquents en pratique.
Ils sont classés de « l’échec évident » à « l’échec silencieux ».
1. reasoning_effort: "none" renvoie une erreur 400
Ce que vous verrez : La requête est rejetée.
Pourquoi : 6.1 Sol ne prend pas en charge none ni minimal. Le niveau le plus bas est low. GPT-6 Sol et Luna acceptent toujours none, ce qui explique pourquoi votre ancien code y fonctionnait.
Solution :
- La correspondance recommandée par OpenAI consiste à remplacer
noneparlow. Pourminimal, commencez parlowet comparez. lowest plus lent et plus coûteux quenone, car il génère des jetons de raisonnement. Pour les traitements vraiment sensibles à la latence, comme la saisie automatique ou la classification en temps réel, mieux vaut peut-être rester sur GPT-6 Sol ou passer à Luna.
2. Les appels d’outils dans Chat Completions cessent de fonctionner
Ce que vous verrez : Les requêtes Chat Completions qui incluent tools échouent.
Pourquoi : GPT-6 Sol n’autorisait les appels de fonctions dans Chat Completions que lorsque reasoning_effort était réglé sur none, et de nombreux projets s’appuyaient sur cette combinaison pour effectuer des appels d’outils à moindre coût. Comme none n’est plus disponible, Chat Completions avec 6.1 Sol ne fonctionne que pour les requêtes sans outils. Pour utiliser des outils, vous devez passer par l’API Responses. Le guide d’OpenAI sur la migration vers l’API Responses explique la marche à suivre.
Solution : Passez à /v1/responses. AIHubMix la prend également en charge ; consultez la documentation de l’API Responses d’AIHubMix pour connaître les paramètres.
from openai import OpenAI
import os
client = OpenAI(
api_key=os.environ["AIHUBMIX_API_KEY"],
base_url="https://aihubmix.com/v1",
)
resp = client.responses.create(
model="gpt-6.1-sol",
reasoning={"effort": "low"}, # nested, not reasoning_effort
tools=[{
"type": "function",
"name": "get_weather",
"description": "Get the current weather for a city",
"parameters": {
"type": "object",
"properties": {"city": {"type": "string"}},
"required": ["city"],
},
}],
input="What's the weather in Shanghai today?",
)
print(resp.output)
Quelques détails faciles à manquer :
- Dans Responses, le paramètre est
reasoning.effort. Si vous envoyezreasoning_effort, vous obtiendrez l’erreurUnsupported parameter. - Pour les appels d’outils sur plusieurs tours, renvoyez tous les éléments reasoning, function_call et function_call_output depuis le dernier message utilisateur, pas seulement les résultats des fonctions.
- Avec
store: falseou ZDR, les éléments de raisonnement incluent par défautencrypted_content. Renvoyez l’historique complet et tout fonctionnera.
3. Il faut supprimer les paramètres d’échantillonnage
Ce que vous verrez : Les requêtes contenant temperature ou top_p échouent.
Pourquoi : Ces paramètres ne sont autorisés que lorsque le niveau d’effort est none. 6.1 Sol ne propose pas none, donc vous ne pouvez jamais les utiliser avec ce modèle.
À supprimer :
temperature,top_p,top_logprobslogprobsdans Chat Completionsmessage.output_text.logprobsdeincludedans Responses
Si vous utilisiez logprobs pour calculer des scores de confiance ou définir des seuils de classification, il vous faudra une autre approche. Vous pouvez notamment utiliser des sorties structurées pour demander au modèle d’indiquer directement son niveau de confiance. Autre possibilité : conserver ces tâches sur un modèle qui prend en charge none.
4. La mise en cache fonctionne différemment, et la facture peut augmenter
C’est le problème le plus facile à négliger, surtout si vous migrez depuis GPT-5.5 ou une version antérieure. Toutes les informations ci-dessous proviennent du guide d’OpenAI sur la mise en cache des prompts.
Le paramètre a été renommé. prompt_cache_retention est désormais prompt_cache_options.ttl, et la seule valeur prise en charge est "30m".
Les écritures dans le cache sont facturées. Elles coûtent 1.25× le tarif des entrées (2,50 $ par million avec 6.1 Sol). Un préfixe long que vous n’utilisez qu’une seule fois coûte désormais 25 % de plus avec la mise en cache que sans.
Les points de rupture ont changé. Les anciens modèles plaçaient les points de rupture à intervalles fixes (tous les 2,048 jetons avec GPT-5.5). Le mode implicite en place désormais un à la fin du dernier message admissible. Par conséquent, un préfixe plus court partagé entre plusieurs requêtes n’est pas réutilisé automatiquement. Si de nombreuses requêtes partagent un prompt système suivi d’une entrée utilisateur différente, ajoutez un point de rupture explicite juste après le prompt système.
Ajouter du contenu à un message existant casse le cache. Le point de terminaison mis en cache se retrouve au milieu d’un message plus long et ne peut plus correspondre. Ajoutez plutôt un nouveau message.
Modifier le niveau d’effort de raisonnement casse le cache. reasoning.effort fait partie du préfixe. Pour le modifier en cours de conversation, utilisez configuration_update (voir la partie 2). Notez que cela ne peut pas être combiné avec la compaction automatique ni la troncature, et que /responses/compact rejette les historiques qui en contiennent un.
Un trafic élevé peut réduire le taux de réussite du cache. Les caches résident sur des machines individuelles. Au-delà d’environ 15 requêtes par minute avec le même préfixe, le trafic peut être redirigé vers d’autres machines et ne pas bénéficier du cache. Les jetons mis en cache sont également comptabilisés dans votre limite TPM.
Avant et après la migration, comparez cached_tokens, cache_write_tokens, la latence et le coût par tâche.
5. Au-delà de 272K jetons en entrée, le prix double
La fenêtre de contexte de 1.05M est tentante, mais dès que l’entrée dépasse 272K jetons, l’ensemble de la requête est facturé au double pour les entrées et à 1.5× pour les sorties. Passer de 270K à 280K jetons en entrée fait grimper le coût d’une requête de 0,64 $ à 1,27 $ (la partie 3 présente le calcul).
Les longues sessions d’agent continuent de s’allonger, et il est donc facile de franchir ce seuil sans s’en rendre compte. Configurez une alerte côté client autour de 250K et déclenchez une compaction lorsqu’elle se manifeste.
6. Une valeur faible de max_output_tokens renvoie une réponse vide
Ce que vous verrez : status: incomplete avec le motif max_output_tokens, aucune sortie visible, et vous êtes quand même facturé.
Pourquoi : max_output_tokens inclut les jetons de raisonnement. Une limite suffisante avec none peut être entièrement consommée par le raisonnement avec low ou un niveau supérieur.
Solution : Le guide d’OpenAI sur le raisonnement recommande de réserver au moins 25,000 jetons. Recherchez les limites définies en dur, notamment celles reprises du paramètre max_tokens de Chat Completions. Par exemple, le code d’exemple de la page du modèle AIHubMix utilise 1024. C’est suffisant pour une petite démonstration textuelle, mais augmentez cette valeur pour les charges de travail réelles.
7. Le comportement de l’agent a évolué : revoyez les autorisations
Dans l’ensemble, 6.1 Sol se comporte mieux que 6 Sol : les incidents graves ont diminué d’un tiers, et le modèle signale bien plus souvent lorsqu’un outil est défaillant. Quelques chiffres méritent toutefois votre attention (données d’OpenAI compilées par DataCamp) :
| Comportement | 6.1 Sol | 6 Sol | Astra |
|---|---|---|---|
| Continue à essayer de contourner une restriction explicite | 23.5% | 64.4% | 17.4% |
| Tromperie lors de tâches de programmation | 1.50% | 1.30% | 0.51% |
| Contacte d’autres agents | 38% | 26% | — |
| Effectue l’action non autorisée | 3% | 11% | — |
6.1 Sol est plus persévérant. Il tente davantage de solutions de contournement lorsqu’il est bloqué et se montre plus enclin à communiquer avec d’autres agents. C’est généralement ce qu’on attend d’un agent d’automatisation, mais cela augmente les risques lorsque l’agent dispose de larges autorisations.
Que faire :
- Appliquez les autorisations à l’aide de bacs à sable et de listes d’autorisation, plutôt que de vous fier uniquement aux instructions du prompt.
- Exigez une approbation humaine pour les actions sensibles : suppressions, déploiements, paiements et toute opération touchant aux identifiants.
- Conservez les journaux complets des appels d’outils et vérifiez ponctuellement les affirmations telles que « les tests réussissent » ou « c’est corrigé ».
- Dans les configurations multi-agents, définissez précisément les informations que les agents sont autorisés à partager entre eux.
8. Vos prompts pourraient nécessiter des ajustements
Le guide de migration GPT-6 d’OpenAI répertorie plusieurs changements de comportement. Ils sont décrits pour Astra, mais 6.1 Sol appartient à la même famille et obtient des résultats proches des siens : vérifiez donc si ces changements s’appliquent à votre cas.
- Il pose davantage de questions. Il peut s’arrêter pour demander confirmation là où vous vous attendriez à ce qu’il continue. Indiquez-lui de privilégier l’action et de terminer la tâche, et précisez que des formulations comme « peux-tu… » constituent une demande d’exécuter l’action.
- Il suit les instructions plus à la lettre. Il accorde davantage d’attention aux fichiers
AGENTS.mdet SKILL.md, si bien qu’une règle obsolète peut soudainement être appliquée. OpenAI recommande vivement de vérifier ces fichiers et de préciser que les instructions de l’utilisateur ont priorité sur les compétences. - Il privilégie Markdown, les listes et les tableaux, et réutilise des formulations toutes faites. Si vous préférez du texte suivi, indiquez-le explicitement.
- Il effectue trop de tests pour les petits changements. Indiquez-lui que les modifications réversibles à faible risque ne nécessitent pas une batterie complète de tests.
- Il délègue moins aux sous-agents que vous ne le souhaiteriez. Pour travailler en parallèle, précisez les situations où il doit répartir les tâches.
9. Disponibilité et limites de déploiement
- Pas encore disponible dans les conversations ChatGPT classiques. Uniquement dans ChatGPT Work et Codex. Les administrateurs Enterprise et Edu doivent l’activer.
- Le mode rapide n’est pas compatible avec la résidence des données dans l’UE. Ultrafast ne prend en charge que la résidence aux États-Unis et le traitement mondial.
- La date limite des connaissances est le 30 avril 2026. Pour les bibliothèques, les API ou les actualités plus récentes, utilisez la recherche Web ou la RAG.
- Non pris en charge : le réglage fin, Predicted Outputs, les entrées audio et vidéo, ainsi que les API Realtime et Assistants.
- Les limites de débit sont les mêmes que pour 6 Sol : de 500 RPM / 500K TPM au niveau Tier 1 à 15,000 RPM / 40M TPM au niveau Tier 5. Sur AIHubMix, les requêtes peuvent passer par OpenAI ou Azure, avec une nouvelle tentative automatique auprès de l’autre fournisseur en cas de défaillance ou de ralentissement de l’un d’eux.
Liste de contrôle de migration
- [ ] Remplacer
noneetminimalparlow, puis vérifier la latence - [ ] Déplacer les requêtes avec appels d’outils de Chat Completions vers l’API Responses
- [ ] Utiliser le paramètre imbriqué
reasoning.effort - [ ] Supprimer
temperature,top_petlogprobs, puis revoir toute logique reposant sur logprobs - [ ] Remplacer
prompt_cache_retentionparprompt_cache_options.ttl: "30m" - [ ] Ajouter un point de rupture explicite après les préfixes partagés et vérifier qu’ils comptent au moins 1,024 jetons
- [ ] Utiliser
configuration_updatepour modifier le niveau d’effort en cours de conversation - [ ] Ajouter une alerte au seuil de 272K jetons en entrée
- [ ] Définir
max_output_tokensà au moins 25,000 - [ ] Vérifier
AGENTS.md, SKILL.md et les invites système - [ ] Examiner les autorisations du bac à sable, les étapes d’approbation et la journalisation des outils
- [ ] Comparer le taux de réussite,
cached_tokens,reasoning_tokenset le coût par tâche avant et après
Si vous utilisez Codex, exécuter $openai-docs migrate this project to the GPT-6 model family prendra en charge la plupart des modifications mécaniques. Passez tout de même vous-même en revue la liste de contrôle.
FAQ
Quel est le minimum à modifier pour passer de GPT-6 Sol à 6.1 Sol ? Trois choses : le nom du modèle ; remplacer none et minimal par low ; et supprimer temperature, top_p et tout ce qui concerne logprobs. Si vous appelez des outils via Chat Completions, vous devrez également passer à l’API Responses.
Puis-je toujours utiliser Chat Completions pour du texte brut ? Oui. Tant que la requête ne contient pas de tools, Chat Completions fonctionne. L’exemple sur la page du modèle AIHubMix est exactement ce type d’appel.
AIHubMix prend-il en charge l’API Responses ? Oui. Définissez base_url sur https://aihubmix.com/v1 et appelez client.responses.create.
Mon taux de succès du cache a baissé après la mise à niveau. Que dois-je vérifier ? Trois choses : si les préfixes partagés comportent un point de rupture explicite après eux, si vous ajoutez du contenu aux messages existants et si vous modifiez reasoning.effort en cours de conversation. Comparez ensuite cached_tokens et cache_write_tokens avant et après.
La latence a augmenté après la mise à niveau. Est-ce normal ? Si vous utilisiez none, oui. low génère tout de même des jetons de raisonnement. Pour les parcours où la latence est cruciale, restez sur GPT-6 Sol ou Luna, ou demandez au modèle de produire un court préambule afin d’obtenir le premier jeton plus rapidement.
6.1 Sol est-il plus susceptible que 6 Sol d’outrepasser ses autorisations ? Globalement, non. Les incidents graves ont diminué d’un tiers, et le taux d’actions non autorisées réellement exécutées est passé de 11% à 3%. Le modèle est un peu plus susceptible de contacter d’autres agents et d’être trompeur dans les tâches de programmation ; imposez donc les autorisations au moyen d’un bac à sable plutôt que de vous fier aux invites.
Mes fichiers AGENTS.md et mes invites système existants fonctionneront-ils toujours ? Ils seront pris en compte, mais vérifiez-les. La famille GPT-6 suit les instructions plus strictement : des règles obsolètes ou contradictoires peuvent donc inciter le modèle à s’arrêter plus souvent pour poser des questions, ou à faire quelque chose que vous n’aviez pas prévu.
À lire aussi : la série GPT-6.1 Sol
- Vous ne savez pas si le changement en vaut la peine ? Découvrez les domaines où 6.1 Sol surpasse 6 Sol et ceux où il reste à la traîne d’Astra : GPT-6.1 Sol vs GPT-6 Sol : une mise à niveau d’une semaine qui rattrape presque Astra.
- Vous avez remplacé
noneparlow. Et pour tout le reste ? Recommandations par cas d’usage et méthode de réglage : Choisir un niveau d’effort de raisonnement pour GPT-6.1 Sol : de low à max. - Vérifiez votre facture après la migration. Succès du cache, seuil de 272K et jetons de raisonnement expliqués : Ce que coûte vraiment GPT-6.1 Sol : au-delà du tarif de $2 / $10.



