Les frameworks d'agent sur la JVM jouaient le rattrapage. La plupart des features SDK Python intéressantes, de LangChain à Pydantic AI à l'ADK de Google lui-même, arrivent Python-first, pis les équipes Java ont soit roulé les leurs, soit avalé la latence inter-langages en appelant des services Python. L'Agent Development Kit de Google pour Java vient de passer 1.0, pis l'écart s'est rétréci de manière significative dans cette release. InfoQ résume les ajouts, et la forme du kit est maintenant assez proche de l'ADK Python pour que les builders Java puissent s'en servir comme plateforme primaire, pas comme couche de traduction.
Le changement structurel est une nouvelle classe App et une base Plugins. App est un conteneur de haut niveau pour les apps agentiques : il héberge l'agent racine, la configuration globale, et l'intégration des plugins. La couche Plugins livre trois builtins qui méritent d'être nommés — LoggingPlugin pour les logs d'exécution structurés, ContextFilterPlugin pour élaguer les tours de conversation plus vieux hors de la fenêtre de contexte, et GlobalInstructionPlugin pour appliquer des instructions partagées entre agents. La gestion du contexte gagne aussi la compaction d'événements, qui garde une fenêtre glissante d'événements récents et résume les plus vieux, avec intervalle configurable, seuil de tokens, taille de chevauchement, rétention, et choix de résumeur. Le human-in-the-loop est modélisé directement : les outils peuvent appeler requestConfirmation() sur le ToolContext pour pauser l'exécution, pis le framework nettoie les événements intermédiaires et injecte l'appel confirmé dans la requête LLM suivante.
Côté outillage, 1.0 livre des intégrations qui comptent pour les vraies charges de travail d'agent. GoogleMapsTool et UrlContextTool couvrent deux chemins de récupération communs. ContainerCodeExecutor et VertexAICodeExecutor te donnent l'exécution de code en sandbox via Docker ou Vertex AI. ComputerUseTool enveloppe Playwright pour le contrôle de navigateur et d'ordinateur, correspondant à la surface du computer use d'Anthropic et des équivalents d'OpenAI. La communication multi-agent se fait par le protocole Agent2Agent : un A2A AgentExecutor enveloppe ton agent ADK et l'expose comme un endpoint JSON-RPC REST, ce qui est une histoire d'interop plus propre que les APIs HTTP ad-hoc. L'écart Python-Java n'a pas disparu. Le contributeur Guillaume Laforge est explicite : les nouvelles features et expériences commencent habituellement en Python, pis sont progressivement portées en Java. Mais le tampon 1.0 côté Java est significatif.
Si tu construis des agents dans un shop Java, la lecture pragmatique est directe. ADK Java 1.0 te donne les primitives standards dont t'as besoin (agents, outils, HITL, contrôle de contexte, multi-agent) plus l'interop A2A, sans avoir à proxier à travers un sidecar Python. Si t'as déjà une stack d'agent Python, l'A2A AgentExecutor est la pièce intéressante : tu peux exposer tes agents Java comme endpoints JSON-RPC pis laisser les agents Python les appeler, c'est une vraie option pour les déploiements multi-langages. Surveille que les nouvelles features continueront d'atterrir en Python d'abord. Cette asymétrie est une politique énoncée, pas un accident.
