Agent-to-User Interface Protocol(A2UI)は、AI エージェントが結果を単なるテキストではなくインターフェースとして提示できるようにするためのプロトコルである。AI エージェントプロトコルのための開発者ガイド の説明によれば、エージェントは、行、列、テキストフィールドなど 18 種類の安全なコンポーネントプリミティブからなる宣言的な JSON 形式を用い、固定のカタログから新しいレイアウトを動的に組み立てる。そしてクライアント側のレンダラーが、Lit、Flutter、Angular などのフレームワークを使ってその JSON をネイティブ UI に変換する。

用法

このガイドが動機として挙げる事例は、在庫ダッシュボード、注文フォーム、サプライヤー比較を表示する必要のあるエージェントである。本来であれば、それぞれに専用のフロントエンドコンポーネントを手作りしなければならない。A2UI は UI の構造とデータを分離する。エージェントはまずレンダリング用のサーフェスを作成し、次にコンポーネントツリーを、入れ子にするのではなく ID で互いを参照するコンポーネントのフラットなリストとして送り、その後に別途データのペイロードを送る。コンポーネントはパスによってそのペイロード内の値にバインドされるため、コンポーネントを送り直すことなくデータを更新できる。ガイドの例では、同じエージェントに対する 3 つのプロンプトが、同じプリミティブから在庫チェックリスト、注文フォーム、サプライヤー比較を生成しており、追加のフロントエンドコードは一切必要ない。

開発中は、Agent Development Kit(ADK) の Web インターフェース(adk web)が A2UI コンポーネントをネイティブにレンダリングできるため、独自のレンダラーを書かずにエージェントの UI 出力をテストできる。

ガイドは A2UI を Agent-User Interaction Protocol(AG-UI) と区別している。A2UI は何をレンダリングするかを定義し、AG-UI はエージェントのイベントをどのようにフロントエンドへストリーミングするかを定義する。

関連用語