Migration vers GPT-6.1 Sol : 9 choses qui peuvent mal tourner

AIHubMix8 min de lecture
Migration vers GPT-6.1 Sol : 9 choses qui peuvent mal tourner

Passer de GPT-6 Sol à 6.1 Sol semble être un changement d'une ligne, et le prix est le même. Mais il y a quelques changements majeurs et des modifications de comportement, donc changer uniquement le nom du modèle peut vous causer des erreurs, une facture surprise ou un agent qui se comporte différemment. Le guide de migration vers GPT-6 d'OpenAI couvre la plupart des changements officiels. Cet article ajoute les éléments qui ont tendance à poser problème dans la pratique.

Ils sont classés de "échoue bruyamment" à "échoue discrètement."


1. reasoning_effort: "none" retourne un 400

Ce que vous verrez : La demande est rejetée.

Pourquoi : 6.1 Sol ne prend pas en charge none ou minimal. Le niveau le plus bas est low. GPT-6 Sol et Luna acceptent encore none, c'est pourquoi votre ancien code fonctionnait là-bas.

Solution :

  • La correspondance d'OpenAI consiste à remplacer none par low. Pour minimal, commencez par low et comparez.
  • low est plus lent et plus coûteux que none, car il génère des jetons de raisonnement. Pour des chemins vraiment sensibles à la latence comme l'autocomplétion ou la classification en temps réel, rester sur GPT-6 Sol ou passer à Luna peut être la meilleure option.

2. L'appel d'outils dans les complétions de chat cesse de fonctionner

Ce que vous verrez : Les demandes de complétions de chat qui incluent tools échouent.

Pourquoi : GPT-6 Sol ne permettait d'appeler des fonctions dans les complétions de chat que lorsque reasoning_effort était none, et de nombreux projets s'appuyaient sur cette combinaison pour des appels d'outils peu coûteux. Avec none disparu, les complétions de chat sur 6.1 Sol ne fonctionnent que pour les demandes sans outils. Pour les outils, vous devez utiliser l'API des réponses. Le guide d'OpenAI pour migrer vers l'API des réponses explique comment procéder.

Solution : Passez à /v1/responses. AIHubMix le prend également en charge ; consultez la documentation de l'API des réponses d'AIHubMix pour 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"},          # imbriqué, pas reasoning_effort
    tools=[{
        "type": "function",
        "name": "get_weather",
        "description": "Obtenez la météo actuelle pour une ville",
        "parameters": {
            "type": "object",
            "properties": {"city": {"type": "string"}},
            "required": ["city"],
        },
    }],
    input="Quelle est la météo à Shanghai aujourd'hui ?",
)
print(resp.output)

Choses faciles à manquer :

  • Dans les réponses, le paramètre est reasoning.effort. Envoyer reasoning_effort vous donnera Unsupported parameter.
  • Dans l'utilisation d'outils en plusieurs tours, renvoyez chaque élément de raisonnement, d'appel de fonction et de sortie d'appel de fonction depuis le dernier message utilisateur, pas seulement les résultats de la fonction.
  • Avec store: false ou ZDR, les éléments de raisonnement incluent par défaut encrypted_content. Rejouez l'historique complet et cela fonctionne tout simplement.

3. Les paramètres d'échantillonnage doivent disparaître

Ce que vous verrez : Les demandes avec temperature ou top_p échouent.

Pourquoi : Ces paramètres ne sont autorisés que lorsque l'effort est none. 6.1 Sol n'a pas de none, donc vous ne pouvez jamais les utiliser avec ce modèle.

Supprimez :

  • temperature, top_p, top_logprobs
  • logprobs dans les complétions de chat
  • message.output_text.logprobs de include dans les réponses

Si vous avez utilisé des logprobs pour des scores de confiance ou des seuils de classification, vous aurez besoin d'une nouvelle approche. Une option consiste à utiliser des sorties structurées qui demandent au modèle de rapporter sa confiance directement. Une autre consiste à garder ces tâches sur un modèle qui prend en charge none.


4. Le caching fonctionne différemment, et votre facture peut augmenter

C'est le plus facile à négliger, surtout lors de la migration depuis GPT-5.5 ou une version antérieure. Tout ce qui suit provient du guide de caching des prompts d'OpenAI.

Le paramètre a été renommé. prompt_cache_retention est maintenant prompt_cache_options.ttl, et la seule valeur prise en charge est "30m".

Les écritures de cache sont facturées. Elles coûtent 1,25 fois le tarif d'entrée (2,50 $ par million sur 6.1 Sol). Un long préfixe que vous utilisez une seule fois coûte maintenant 25 % de plus avec le caching qu'en l'absence de celui-ci.

Les points de rupture ont été déplacés. Les anciens modèles plaçaient des points de rupture à des intervalles fixes (tous les 2 048 jetons sur GPT-5.5). Le mode implicite place maintenant un point de rupture à la fin du dernier message éligible. En conséquence, un préfixe plus court partagé entre les demandes n'est pas réutilisé automatiquement. Si de nombreuses demandes partagent un prompt système suivi d'entrées utilisateur différentes, ajoutez un point de rupture explicite juste après le prompt système.

Ajouter à 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 pas être associé. Ajoutez plutôt un nouveau message.

Changer l'effort de raisonnement casse le cache. reasoning.effort fait partie du préfixe. Changez en cours de conversation avec configuration_update (voir Partie 2). Notez qu'il ne peut pas être combiné avec la compaction ou la troncature automatiques, et /responses/compact rejette les historiques qui en contiennent un.

Un trafic élevé peut réduire les taux de réussite. Les caches vivent sur des machines individuelles. Plus de 15 demandes par minute sur le même préfixe peuvent déborder vers d'autres machines et échouer. Les jetons mis en cache comptent également toujours dans votre limite de taux TPM.

Avant et après la migration, comparez cached_tokens, cache_write_tokens, la latence et le coût par tâche.


5. Dépasser 272K d'entrée double le prix

La fenêtre de contexte de 1,05 M est tentante, mais une fois que l'entrée dépasse 272K jetons, toute la demande est facturée à 2 fois l'entrée et 1,5 fois la sortie. Passer de 270K à 280K d'entrée fait passer une demande de 0,64 $ à 1,27 $ (la Partie 3 contient les calculs).

Les longues sessions d'agent continuent de croître, il est donc facile de franchir cette limite sans s'en rendre compte. Configurez une alarme côté client autour de 250K et déclenchez la compaction lorsqu'elle se déclenche.


6. Un petit max_output_tokens vous donne une réponse vide

Ce que vous verrez : status: incomplete avec la raison max_output_tokens, aucune sortie visible, et vous êtes toujours facturé.

Pourquoi : max_output_tokens inclut des jetons de raisonnement. Un plafond qui était acceptable avec none peut être entièrement utilisé par le raisonnement à low ou plus.

Solution : Le guide de raisonnement d'OpenAI recommande de réserver au moins 25 000 jetons. Recherchez les limites codées en dur, en particulier les valeurs héritées de max_tokens des complétions de chat. Le code d'exemple sur la page modèle AIHubMix, par exemple, utilise 1024. C'est bien pour une démo rapide de texte, mais augmentez-le pour des charges de travail réelles.


7. Le comportement de l'agent a changé, donc revoyez les autorisations

Dans l'ensemble, 6.1 Sol se comporte mieux que 6 Sol : les incidents graves ont diminué d'un tiers, et il est beaucoup plus probable qu'il vous informe lorsqu'un outil est cassé. Quelques chiffres méritent encore d'être examinés (données d'OpenAI, compilées par DataCamp) :

Comportement6.1 Sol6 SolAstra
Continue d'essayer de contourner une restriction explicite23,5 %64,4 %17,4 %
Tromperie dans les tâches de codage1,50 %1,30 %0,51 %
Contacte d'autres agents38 %26 %—
…et prend réellement une action non autorisée3 %11 %—

6.1 Sol est plus persistant. Il essaie plus de solutions de contournement lorsqu'il est bloqué, et il est plus disposé à parler à d'autres agents. C'est généralement ce que vous voulez d'un agent d'automatisation, mais cela augmente les enjeux lorsque l'agent a de larges autorisations.

Que faire :

  • Appliquez les autorisations avec des bacs à sable et des listes blanches, pas seulement des instructions dans le prompt.
  • Exigez une approbation humaine pour les actions sensibles : suppressions, déploiements, paiements et tout ce qui touche aux identifiants.
  • Conservez des journaux d'appels d'outils complets et vérifiez les affirmations telles que "les tests passent" ou "réparé".
  • Dans les configurations multi-agents, définissez exactement ce que les agents sont autorisés à partager entre eux.

8. Vos prompts peuvent nécessiter des ajustements

Le guide de migration vers GPT-6 d'OpenAI énumère plusieurs changements de comportement. Ils sont écrits à propos d'Astra, mais 6.1 Sol provient de la même famille et fonctionne de manière similaire, donc vérifiez-les :

  • Il pose plus de questions. Il peut s'arrêter pour confirmer là où vous vous attendriez à ce qu'il continue. Dites-lui de favoriser l'action et de terminer la tâche, et que des formulations comme "pouvez-vous..." sont une demande de faire la chose.
  • Il suit les instructions plus littéralement. Il fait plus attention aux fichiers AGENTS.md et SKILL.md, donc une règle obsolète peut soudainement commencer à être appliquée. OpenAI recommande fortement d'auditer ces fichiers et de déclarer que les instructions des utilisateurs prévalent sur les compétences.
  • Il s'appuie sur Markdown, les listes et les tableaux, et réutilise des phrases types. Si vous voulez de la prose, dites-le explicitement.
  • Il teste trop les petits changements. Dites-lui que les modifications à faible risque et réversibles n'ont pas besoin d'un test complet.
  • Il délègue moins aux sous-agents que vous ne le souhaiteriez. Si vous voulez un travail parallèle, précisez quand diviser les tâches.

9. Limites de disponibilité et de déploiement

  • Pas encore dans le chat régulier de ChatGPT. Seulement ChatGPT Work et Codex. Les administrateurs d'Enterprise et d'Edu doivent l'activer.
  • Le mode rapide ne fonctionne pas avec la résidence des données de l'UE. Ultrafast ne prend en charge que la résidence aux États-Unis et le traitement mondial.
  • La date limite de connaissance est le 30 avril 2026. Pour les bibliothèques, API ou actualités plus récentes, utilisez la recherche web ou RAG.
  • Non pris en charge : le fine-tuning, les sorties prédites, l'entrée audio et vidéo, et les API Realtime et Assistants.
  • Les limites de taux sont les mêmes que pour 6 Sol : de 500 RPM / 500K TPM au niveau 1 jusqu'à 15 000 RPM / 40M TPM au niveau 5. Sur AIHubMix, les demandes peuvent passer par OpenAI ou Azure, avec une nouvelle tentative automatique sur l'autre fournisseur si l'un échoue ou ralentit.

Liste de contrôle de migration

  • [ ] Remplacer none et minimal par low, et vérifier la latence
  • [ ] Déplacer les demandes d'appel d'outils des complétions de chat vers l'API des réponses
  • [ ] Utiliser le paramètre imbriqué reasoning.effort
  • [ ] Supprimer temperature, top_p, et logprobs, et retravailler toute logique qui dépendait des logprobs
  • [ ] Remplacer prompt_cache_retention par prompt_cache_options.ttl: "30m"
  • [ ] Ajouter un point de rupture explicite après les préfixes partagés, et confirmer qu'ils font au moins 1 024 jetons
  • [ ] Utiliser configuration_update pour les changements d'effort en cours de conversation
  • [ ] Ajouter une alarme pour 272K d'entrée
  • [ ] Régler max_output_tokens à au moins 25 000
  • [ ] Auditer AGENTS.md, SKILL.md, et les prompts système
  • [ ] Examiner les autorisations de bac à sable, les portes d'approbation, et la journalisation des outils
  • [ ] Comparer le taux de réussite, cached_tokens, reasoning_tokens, et 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 gérera la plupart des changements mécaniques. Passez tout de même par la liste de contrôle vous-même.


FAQ

Quel est le minimum que je dois changer 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 est lié aux logprobs. Si vous appelez des outils via les complétions de chat, vous devrez également passer à l'API des réponses.

Puis-je toujours utiliser les complétions de chat pour du texte brut ? Oui. Tant que la demande n'a pas de tools, les complétions de chat fonctionnent. L'exemple sur la page modèle AIHubMix est exactement ce type d'appel.

AIHubMix prend-il en charge l'API des réponses ? Oui. Réglez base_url sur https://aihubmix.com/v1 et appelez client.responses.create.

Mon taux de réussite du cache a chuté après la mise à niveau. Que dois-je vérifier ? Trois choses : si les préfixes partagés ont un point de rupture explicite après eux, si vous ajoutez à des messages existants, et si vous changez reasoning.effort en cours de conversation. Ensuite, comparez cached_tokens et cache_write_tokens avant et après.

La latence a augmenté après la mise à niveau. Est-ce prévu ? Si vous utilisiez none, oui. low génère toujours des jetons de raisonnement. Pour des chemins critiques en termes de latence, restez sur GPT-6 Sol ou Luna, ou demandez au modèle un court préambule pour obtenir le premier jeton plus rapidement.

Est-ce que 6.1 Sol est plus susceptible que 6 Sol de dépasser ses autorisations ? Dans l'ensemble, non. Les incidents graves ont diminué d'un tiers, et le taux d'actions non autorisées est passé de 11 % à 3 %. Il est quelque peu plus probable qu'il contacte d'autres agents et qu'il soit trompeur dans les tâches de codage, donc appliquez les autorisations avec un bac à sable plutôt que de vous fier aux prompts.

Mes AGENTS.md et prompts système existants fonctionneront-ils toujours ? Ils fonctionneront, mais examinez-les. La famille GPT-6 suit les instructions plus strictement, donc des règles obsolètes ou conflictuelles peuvent amener le modèle à s'arrêter pour demander plus souvent, ou à faire quelque chose que vous n'aviez pas prévu.


Continuez à lire : la série GPT-6.1 Sol


Sources