Je dissèque ce schisme depuis une semaine — le harness managé d'Anthropic, le couloir manquant entre les vendors, la gravité tarifaire de Google, la fourche de coûts à trois branches. Tu connais déjà la chute : le modèle se remplace facilement, la couche d'orchestration non.
Anthropic a livré Managed Agents le 8 avril. OpenAI a poussé sa mise à jour Agents SDK le 3 avril. Google a lâché ses changements ADK aujourd'hui, le 11 avril — neuf jours, trois API de cycle de vie. Maintenant je peux enfin te montrer pourquoi les différences comptent, dans le seul langage qui ne ment pas : le code.
Google a abattu ses cartes
Google a publié deux articles de blog aujourd'hui — un amuse-bouche avant Cloud Next le 22 avril. L'Agent Development Kit supporte désormais Gemini 3 Pro/Flash et TypeScript. Open-source. Code-first. Tous les buzzwords qui font plaisir.
Mais « open-source » décrit la bretelle d'accès, pas l'autoroute. Déployer signifie Vertex Agent Engine. L'état signifie Vertex Sessions. La gouvernance des outils signifie Cloud API Registry. Six mois d'intégrations « pratiques » plus tard, migrer hors de Google revient à réécrire toute ton architecture d'agents. Ce n'est pas une décision isolée qui t'enferme — ce sont cent petites décisions, chacune trop insignifiante pour qu'on se batte dessus individuellement.
Avec l'annonce d'aujourd'hui, les trois vendors ont montré leur jeu. Place à la comparaison que personne ne va apprécier.
Trois appels create(), trois prisons
# Anthropic (8 avril) : ils possèdent ton état, tu loues l'accès
client = anthropic.Anthropic()
agent = client.agents.create(model="claude-sonnet-4-20250514", tools=[mcp_tool])
session = client.sessions.create(environment_id=env.id)
# Event log append-only sur leurs serveurs. Recovery : wake(session_id).
# Ils gèrent les conteneurs, le scaling, la persistence. Toi, tu gères la facture.
# OpenAI (mise à jour du 3 avril) : tu possèdes tout, y compris les alertes à 3h du mat
from agents import Agent, Runner
agent = Agent(name="reviewer", model="gpt-4.1", tools=[my_tool])
result = Runner.run_sync(agent, "Review this PR")
# État : ton SQLite. Recovery : ton code. Scaling : aussi ton code.
# Supporte 100+ modèles via AnyLLM. La liberté a une odeur très spécifique : la sueur des ops.
# Google ADK (11 avril) : hall d'entrée open-source, ascenseur propriétaire
from google.adk import Agent
agent = Agent(model="gemini-3-pro", tools=[vertex_tool])
# État : Vertex Sessions. Outils : Cloud API Registry. Déploiement : Agent Engine.
# « Portable » comme un arbre est portable — techniquement possible, en pratique un enterrement.
Trois extraits, trois réponses incompatibles à chaque question qui compte en production :
Où vit l'état ? Le log append-only d'Anthropic sur leurs serveurs. Le fichier SQLite que le SDK d'OpenAI a laissé sur ton portable. Les Vertex Sessions de Google. Ton histoire de debug, ta piste d'audit et ton plan de reprise après sinistre suivent tous ce choix dans le ravin — et tu le fais au jour un.
Comment les agents se passent le relais ? Anthropic spawne des agents enfants depuis les sessions (encore en « research preview », ce qui se traduit par « c'est ta faute si ça casse »). OpenAI utilise des handoffs locaux — l'agent A passe le témoin à l'agent B dans ton propre processus, comme une course de relais dans ta cave. Google route via l'orchestration ADK plus A2A pour les appels cross-vendor, ce qui sonne bien jusqu'à ce que tu réalises qu'A2A gère la communication, pas la synchronisation d'état.
Que se passe-t-il à 3h du matin ? Anthropic : wake(session_id), la plateforme reprend depuis son event log. OpenAI : tu as écrit ta logique de recovery, hein ? Tu l'as bien écrite ? Google : Vertex s'en occupe. Tu es sur Vertex. Évidemment que tu es sur Vertex.
Ce qui manque vraiment
Chaque fois que j'écris sur ce schisme, quelqu'un me répond « mais MCP résout ça » ou « A2A corrige tout ». Non. MCP standardise les connexions d'outils — fait, ça marche à merveille. A2A standardise la façon dont les agents se parlent entre vendors — la Linux Foundation l'a adopté en décembre, et plus de 150 organisations le soutiennent désormais. Aucun des deux standards ne touche à la façon dont les agents se créent, persistent leur état, délèguent des tâches ou se remettent d'un échec.
J'ai écrit sur ce fossé structurel il y a deux jours dans Every Vendor Built a Room. Nobody Built the Hallway. La comparaison au niveau du code ici ne fait qu'aiguiser le propos : le fossé n'est pas philosophique, il est mécanique. C'est la couche qui génère le verrouillage. Et personne ne construit de standard neutre pour ça, parce que les trois vendors profitent du vide. Standardiser les cycles de vie des agents reviendrait à commoditiser exactement la couche que chaque entreprise utilise pour te garder sur sa plateforme. N'y compte pas trop.
L'antisèche honnête
Anthropic : La plateforme managée la mieux conçue. Cette réduction de 60 % du TTFT dans leur blog d'ingénierie du 8 avril — découpler le cerveau et les mains — c'est de la vraie ingénierie, pas du slideware. Tu paies avec la dépendance vendor et des session-hours facturées même quand ton agent reste les bras croisés en attendant qu'un humain réponde.
OpenAI : Portabilité maximale, 100+ modèles depuis la release du 3 avril, zéro infrastructure managée. Parfait pour les équipes avec une culture ops solide. Un désastre au ralenti pour tous les autres.
Google : Si tu es déjà sur Google Cloud, l'attraction gravitationnelle est rationnelle. Compte juste tes dépendances Vertex chaque trimestre pour que l'inévitable conversation « on devrait migrer ? » commence avec des données, pas de la panique.
La chute que tu connais déjà
Les guerres de modèles, c'était la bande-annonce. Les guerres d'orchestration, c'est le film. Et le ticket d'entrée, c'est session.create() — un appel de fonction qui coûte un peu plus cher à annuler chaque jour que tu le fais tourner en production.
Choisis bien. Ou ne choisis pas — les trois vendors comptent justement là-dessus.




