Après Claude Opus 5.5, à quelle étape en sont les agents de code IA ? JSON, Tool Calling et exécution (2026)
Le 22 septembre 2026, Anthropic a publié Claude Opus 5.5, identifiant claude-opus-5-5. Le positionnement officiel est le coding agentique long. Ce texte ne refait pas « qu’est-ce qu’un agent de code ». Il sépare la requête, le JSON d’outil et ce qui casse en quittant Opus 5.
Avant de lire
| Objet | Fait officiel | Qui exécute |
|---|---|---|
| Model | claude-opus-5-5 / 2026-09-22 | Le modèle remplit du JSON ; il ne touche pas au disque |
| Thinking | Toujours on ; effort=medium par défaut | Couper thinking renvoie 400 |
| Tools | input_schema + tool_use | L’hôte valide, puis exécute |
| Cost | 4 $ / 20 $ par million de tokens | Anthropic : environ 40 % moins cher qu’Opus 5 en charge typique |
Faits issus de la page Anthropic et des docs Opus 5.5. Les benches sont déclarés par l’éditeur, pas un classement.
Les agents de code entrent dans une phase longue moins chère. Le modèle n’édite pas le dépôt.
Opus 5.5 est le premier modèle de la famille Claude 5.5. Anthropic écrit : niveau de Claude Fable 5.1 sur la plupart des travaux, charge typique environ 40 % moins chère qu’Opus 5. Entrée / sortie 4 / 20 dollars par million de tokens ; lecture cache 0,20. Contexte 1 M, sortie max 128 K. Ces chiffres changent combien de temps et à quel coût tourne une boucle. Les couches restent : le modèle remplit les arguments ; l’hôte exécute les effets de bord.
- Modèle : remplit
lookup_orderetA-1042. Il ne voit pas la socket et ne lance aucun processus. - Thinking reste allumé : on ne peut pas le couper. La profondeur est
effort, défautmedium. Dans les tests Anthropic, medium égale ou dépasse Opus 5 en high sur du travail de dépôt, avec moins d’étapes et de tokens. - Tâches longues : le texte de lancement parle de migrations, d’audits, de jobs de plusieurs heures peu supervisés. L’hôte a encore besoin d’un arrêt, de droits et d’un état rejouable.
Comment les outils intégrés remplissent le JSON : Agents de code IA et appels d’outils JSON. Comment s’empilent boucle, porte et état : Agent Harness et JSON State. Pourquoi le Schema est une porte : Pourquoi l’IA a besoin de JSON Schema. Ce texte n’écrit que les champs qui ont bougé après Opus 5.5.
Écrire le modèle et la table d’outils comme objets
Claude API, Google Cloud et Microsoft Foundry utilisent claude-opus-5-5. Amazon Bedrock utilise anthropic.claude-opus-5-5. Recherche fictive — pas de secrets réels :
{
"model": "claude-opus-5-5",
"max_tokens": 16000,
"effort": "medium",
"tools": [{
"name": "lookup_order",
"description": "Look up an order by ID. Confirm before any refund.",
"input_schema": {
"type": "object",
"properties": {
"order_id": { "type": "string", "pattern": "^[A-Z]-\\d{4}$" }
},
"required": ["order_id"],
"additionalProperties": false
}
}],
"messages": [{
"role": "user",
"content": "Look up order A-1042 and say if it is paid."
}]
}
effort est le bouton officiel par défaut. Mettez-le sur la requête pour rejouer « cette session était medium ». Chaque outil a besoin d’input_schema. Un object large invite des clés inventées. Une recherche ne porte pas de champs de remboursement.
Un Tool Call reste du JSON. L’hôte exécute le code.
Le modèle dit à l’hôte « cherche A-1042 ». Ce n’est ni HTTP ni MCP tools/call. C’est un bloc tool_use dans la réponse Messages :
{
"type": "tool_use",
"id": "call_3c91",
"name": "lookup_order",
"input": { "order_id": "A-1042" }
}
Après le Schema, l’hôte exécute et renvoie un objet. Les échecs sont aussi des objets. Le modèle lit le retour, pas une barre de terminal :
{
"type": "tool_result",
"tool_use_id": "call_3c91",
"content": "{\"order_id\":\"A-1042\",\"status\":\"paid\"}"
}
La doc dit aussi : le texte entre appels d’outils va dans des blocs thinking ; au display par défaut ce texte est vide. Si vous le streamiez comme barre de progrès, changez le parseur hôte. Le modèle n’est pas devenu muet. Saut MCP : Comment les agents de code appellent MCP. Droits en règles : Modèle de droits des agents de code. Un job long a besoin d’un état de boucle, pas d’une fenêtre de chat :
{
"model": "claude-opus-5-5",
"effort": "medium",
"session_id": "sess_7f2a",
"task": "migrate_lookup_order",
"pending_tool": "lookup_order",
"immutable": {
"tools": ["lookup_order", "Read", "Bash"]
},
"mutable": {
"turn": 4,
"max_turns": 40,
"last_order_id": "A-1042"
}
}
Quatre cassures en quittant Opus 5
What’s new liste quatre changements cassants. Les trois premiers valent aussi sur Claude Fable 5.1. Renommer le modèle n’est pas une migration :
| Changement | Ce que l’hôte doit faire |
|---|---|
| Thinking ne se coupe pas | Couper thinking ou poser un budget manuel donne 400. Utilisez effort. |
| Forced tool use en erreur | Forcer un outil nommé échoue. Laissez le modèle choisir dans le Schema, ou changez la boucle. |
| Les blocs thinking lient modèle et conversation | Modifier la table d’outils plus tard change le préfixe et invalide le thinking antérieur. Déclarez les outils dès la première requête. |
| Ancien computer use | Claude API et Google Cloud refusent computer_20251124. Passez à computer_toolset_20260801. Bedrock accepte encore l’ancien outil. |
Un autre changement de forme ne fait pas échouer : le texte entre outils entre dans thinking. Les barres de streaming doivent lire les nouveaux blocs. C’est du travail hôte. Un prompt ne le recouvre pas.
Cinq pas pour brancher Opus 5.5 sur la boucle dépôt
Ne commencez pas par « c’est plus fort, donc on ouvre les droits ». Écrivez des objets :
- Changer l’ID modèle. Envoyez
claude-opus-5-5(Bedrock ajoute le préfixe). Notez effort. - Retirer thinking off et forced tool use. Les deux échouent sur 5.5.
- Geler la table d’outils au premier tour. Chaque ligne a un Schema et
additionalProperties: false. Ajouter un outil plus tard jette le thinking antérieur. - Écrire une condition d’arrêt.
max_turnsou un budget. Les jobs longs officiels ne sont pas des boucles infinies. - Garder l’état en JSON. tool_use, tool_result, session_id, effort. Si
call_3c91s’aligne, la chaîne vit.
Comment le Schema est une porte : Agents API + JSON Schema. Ce texte n’exige qu’une chose : après le changement de modèle, la porte et la boucle existent encore, et l’hôte exécute les effets de bord.
Pour rejouer un job long, étaler quatre objets JSON
La plupart des échecs sont un ID, un effort, une table d’outils ou un retour mal alignés — pas « 5.5 n’est pas assez malin ».
- formater
input_schemaetinput, puis valider Schema pour les champs manquants et les clés en trop. - extrait JSONPath pour
$.model,$.effort,$.input.order_id. - JSON Diff un bon retour contre un 400. Corriger thinking off / forced-tool avant de réécrire le prompt.
- Vérifier que
call_3c91est le même id sur tool_use et tool_result. - Ne pas coller journaux, jetons ou chemins de dépôt dans un formateur public. JSONSort tourne dans le navigateur.
Si ces quatre objets se reconstruisent contre le Schema, vous avez la chaîne 5.5 — pas « il semblait éditer le dépôt pendant la nuit ».
Pièges courants
- Lire Opus 5.5 comme un nouveau produit agent de code. C’est un modèle. Claude Code, Cursor et votre boucle restent l’hôte.
- Lire les benches éditeur comme « qui gagne ». Terminal-Bench et CursorBench sont déclarés ou liés à un harness. Ce texte les cite pour le coût et la durée, pas un classement.
- Couper thinking pour économiser. 5.5 l’interdit. Contrôlez le coût avec effort, cache et max_turns.
- Utiliser forced tool_choice comme stabilisateur. Forced tool use échoue. La stabilité est le Schema, pas un nom forcé.
- Lancer un job long sans état. Une session de 18 h sans session JSON ne se rejoue pas. La fenêtre de chat n’est pas un état.
- Lire le texte vide entre outils comme un bug modèle. La forme de réponse a changé. Corrigez le parseur hôte.
FAQ
Opus 5.5 édite-t-il les fichiers tout seul ?
Non. Le modèle ne remplit que le JSON d’outil. Lectures, écritures, shell et MCP sont le travail de l’hôte. Sans hôte, le dépôt ne change pas.
Faut-il monter effort au-dessus de medium ?
Anthropic dit que medium par défaut suit déjà Opus 5 en high sur le code. Fixez d’abord Schema et arrêt. Montez effort sur les jobs ratés. Ne mettez pas max par défaut.
Est-ce la même chose que l’Agents API ?
Non. Agents API est la ressource de session OpenAI. Opus 5.5 est le modèle Anthropic. Les deux sont « le modèle remplit du JSON, l’hôte exécute ». Ne mélangez pas les noms de champs.
computer_toolset est-il Read / Bash ?
Non. Computer use est un jeu bureau / écran. Read et Bash sont une autre table. Ne migrez vers computer_toolset_20260801 que si vous envoyez encore l’outil computer de 2025-11.
Sonnet 5.5 et Haiku 5.5 sont-ils sortis ?
Le texte de lancement disait « coming weeks ». Cet article ne traite que Opus 5.5, sorti le 2026-09-22. Les ID non publiés ne sont pas des faits.
Conclusion
Après Opus 5.5, les agents de code entrent dans une phase longue moins chère, thinking toujours allumé. Les couches n’ont pas bougé : le modèle remplit du JSON ; l’hôte vérifie Schema et droits, exécute et réécrit l’état.
Écrivez quel outil A-1042 entre, à quel tour, dans quelle session. Si vous pointez model, effort, tool_use et tool_result, vous êtes sur 5.5. Ne remplissez pas DevDay de conjectures. Ne transformez pas les benches éditeur en classement.
Pour aller plus loin
- Comment les agents de code appellent les outils en JSON JSON des outils intégrés, avant Opus 5.5
- Agent Harness et JSON State Boucle, porte, état — pas liés à un modèle
- Comment les agents de code appellent MCP L’hôte envoie du JSON-RPC ; le modèle remplit les arguments
- Pourquoi les agents de code ont besoin de droits Portes Shell / Git / système de fichiers
- Agents API + JSON Schema Stable, vérifiable, exécutable
- Pourquoi l’IA a besoin de JSON Schema Le Schema est une porte, pas « veuillez sortir du JSON »
- Boîte à outils locale JSONSort Formater, valider, Diff, Schema
- Tous les articles Autres notes JSON et développement IA
Journal : Première publication