Skip to main content
ExodeUI

EXODEUI DESKTOP

A little space for good ideas.

Choose your platform to get the official ExodeUI installer.

Looking for Intel Mac or other builds? Explore the web studio or check all download options.

Prefer the browser? Try for free in your browser →
Interfaces IA7 minutes de lecture·Updated octobre 2026·Par l’équipe ExodeUI

A2UI expliqué : ce que fait (et ne fait pas) le protocole agent-vers-interface utilisateur

A2UI est un protocole déclaratif JSON qui permet aux agents IA de décrire les interfaces à restituer par un client. Comment cela fonctionne, quels moteurs de rendu existent et ce qu'il ne fait pas.

Résumé et définition

À retenir

A2UI (Agent to UI) est un protocole JSON ouvert et déclaratif créé par Google. Un agent IA envoie une description d'une interface et un client la restitue avec ses propres composants natifs au lieu d'exécuter le code de l'agent. Il s'agit d'un moyen de déplacer la structure et les données de l'interface utilisateur au-delà d'une limite de confiance, et non d'un système d'animation, d'une bibliothèque de composants ou d'un moteur de rendu fini. ExodeUI n'est pas un moteur de rendu A2UI et n'est pas affilié à Google.

Qu'est-ce que A2UI ?

A2UI est un protocole pour les interfaces pilotées par agent. Au lieu de renvoyer un mur de texte ou d'exécuter du code généré, un agent IA envoie un flux de messages JSON décrivant une interface utilisateur : quelle surface créer, quels composants elle contient et quelles données les remplissent. Le client reçoit ces messages et restitue le résultat avec des composants auxquels il fait déjà confiance. A2UI a été créé par Google et est sous licence Apache 2.0, avec les contributions de CopilotKit et de la communauté open source. En octobre 2026, la spécification de production actuelle était la v0.9.1 et la v1.0 était une version candidate.

Le problème que A2UI essaie de résoudre

Les agents sont doués pour produire une réponse utile et mauvais pour la fournir sous forme d'interface. Une réponse textuelle ne peut pas afficher un tableau comparatif, un bon de commande ou un tableau de bord. La génération arbitraire de HTML ou JavaScript résout le problème de présentation et crée un problème de sécurité, car le client exécute maintenant du code qu'il n'a pas écrit. A2UI emprunte une troisième voie : l'agent décrit l'interface utilisateur dans un format contraint et le client décide comment la restituer. L'agent ne peut utiliser que les composants approuvés par le client et le résultat est constitué de données plutôt que de code exécutable.

Comment est construite une surface A2UI

Le protocole utilise un petit ensemble de types de messages. Le schéma exact change d'une version à l'autre, vérifiez donc la spécification avant d'en implémenter une, mais la forme est stable.

  • createSurface : indique au moteur de rendu de créer une nouvelle surface, qui est une région de l'interface que l'agent peut mettre à jour
  • updateComponents : ajoute ou modifie les définitions de composants sur cette surface
  • updateDataModel : modifie les données affichées par les composants, sans renvoyer la structure
  • deleteSurface : supprime une surface lorsqu'elle n'est plus nécessaire

Rendus et transports

A2UI est indépendant du transport. La spécification décrit les messages, pas la manière dont ils voyagent. Le projet répertorie les implémentations de moteur de rendu pour Angular, Flutter, Lit, React et Markdown, ainsi que les liaisons de transport pour AG-UI, A2A et MCP, avec WebSockets, SSE et REST également utilisables. C'est cette flexibilité qui est importante : la même réponse d'agent peut être rendue par un client Web, une application mobile ou une application de bureau, chacun utilisant son propre système de conception.

Ce que A2UI ne fait pas

A2UI est facile à lire. Il ne fournit pas de bibliothèque de composants que vous pouvez déposer dans une application, et il ne restitue rien par lui-même : vous avez besoin d'un moteur de rendu et d'un catalogue de composants contrôlés par le client. Cela ne décide pas de la manière dont l’interface utilisateur se déplace. Il ne remplace pas MCP, qui expose les outils et les données à un modèle, ni AG-UI, qui transporte les événements d'interaction entre un agent et un frontend. Et cela ne supprime pas la nécessité d’une révision technique : les interfaces générées doivent toujours gérer le chargement, les états vides et d’erreur, les autorisations et l’accessibilité.

A2UI contre AG-UI contre MCP

Ces trois éléments sont souvent mentionnés ensemble car ils résolvent différentes couches du même problème. Un raccourci utile : A2UI décrit l'interface, AG-UI transporte l'interaction et MCP donne à l'agent les outils et les données. La propre documentation de A2UI décrit AG-UI comme une liaison de transport pour A2UI, et A2UI peut également voyager via MCP. Ce sont des normes complémentaires et non concurrentes. Si vous choisissez une intégration, partez de ce que votre client peut restituer et du transport qu'il prend déjà en charge, et non du protocole le plus dynamique.

Où l’animation et l’interaction s’intègrent

A2UI décrit la structure et les données. Le mouvement est une préoccupation du client : le moteur de rendu décide si une surface apparaît instantanément, apparaît en fondu ou passe d'un état précédent. C'est une bonne nouvelle pour les équipes produit, car cela conserve le système d'animation dans le client où il peut respecter le système de conception et les paramètres d'accessibilité. Cela signifie également qu'une implémentation de A2UI n'est pas automatiquement animée. Si une interface générée nécessite une pression sur un bouton, une transition d'état ou une réaction de mascotte, le client doit fournir ce comportement. ExodeUI peut lire un mouvement interactif dans un client et dispose d'un serveur MCP pour les outils de codage d'IA, mais ce n'est pas un moteur de rendu A2UI et ne doit pas être décrit comme tel.

Extrait d’implémentation en production

Implémentation du composant interactif
// Simplified shape of an A2UI message stream (schema differs by version).
{ "createSurface":    { "surfaceId": "cart" } }
{ "updateComponents": { "surfaceId": "cart", "components": [ /* ... */ ] } }
{ "updateDataModel":  { "surfaceId": "cart", "data": { /* ... */ } } }
{ "deleteSurface":    { "surfaceId": "cart" } }

Principes clés à retenir

  • A2UI est un protocole JSON pour les interfaces décrites par agent, créé par Google et sous licence Apache 2.0.
  • Le client effectue le rendu avec ses propres composants ; l'agent n'exécute pas de code d'interface utilisateur arbitraire
  • Il définit les messages et laisse le rendu, le transport et le mouvement au client
  • Ce n'est pas un système d'animation ou une bibliothèque de composants déroulante
  • ExodeUI n'est pas un moteur de rendu A2UI et n'a aucune affiliation avec Google

Questions fréquentes

Guides et exemples associés

Concevez l’UI interactive une fois. Livrez le même fichier.

Créez états, physique des ressorts et logique visuellement dans ExodeUI, et lisez le même fichier dans React, SwiftUI, Flutter et plus. Gratuit pour commencer.

Essayer gratuitement