01_cover
出典: developers.googleblog.com

GoogleのA2UIチームは2026年11月11日、AIエージェントがフォームやグラフなどの対話型画面を返すためのオープンプロトコル「A2UI」1.0を公開しました。初の安定版となる1.0では、エージェントと画面の描画側が互いの関数を呼び出せるようになりました。

依頼に応じてアプリ内の画面を構成

A2UIはGoogleが開発したオープンソースプロジェクトで、CopilotKitやコミュニティも開発に貢献しています。ソースコードはApache License 2.0の下で公開されています。利用者の依頼に応じ、エージェントが画面の構成と表示内容を記述する仕組みです。

アプリの開発者は、ボタンや入力欄などのUI部品をあらかじめ用意します。エージェントは利用可能な部品を組み合わせ、その構成とデータをJSON形式でアプリへ送ります。アプリ側の描画処理であるレンダラーが、受け取ったデータを基に画面を表示します。

航空便予約の例では、利用者が行き先や日程、人数をチャットで伝えます。エージェントは便の情報に、人数を変更するボタンと予約を確認するボタンを組み合わせて返します。利用者が確認ボタンを押すと、指定された便や人数などの情報がエージェントへ送られます。

双方向の関数呼び出しと複数カタログに対応

1.0ではエージェントとレンダラーが互いの関数を呼び出し、実行結果やエラーを受け取れます。レンダラーがエージェント側の関数を呼び出し、航空便の空き状況を調べることもできます。開発者は関数を呼び出せる側と戻り値の型を定義します。

使える部品や関数は、エージェントとレンダラーが共有する「カタログ」に定義します。1.0では、複数のカタログに含まれる部品や関数を一つの画面で組み合わせられます。組み合わせるカタログは、同じA2UI仕様のバージョンに対応している必要があります。

アクセシビリティでは、画面の変化を読み上げるための属性などが追加されました。部品や操作に追加情報を渡すための拡張メタデータにも対応しています。0.9系からの移行に向けた変更点は移行ガイドにまとめられています。

利用できる部品と関数を制限

カタログは、エージェントが使えるUI部品、関数、部品の使い方に関する指示を定めます。エージェントはレンダラーが組み立てられる部品の種類と属性を送ります。HTMLやCSS、実行可能なスクリプトをそのまま送る方式ではありません。

カタログには、部品をどこに配置できるかという制約も定義できます。関数については、引数や戻り値の型に加え、レンダラーとエージェントのどちらから呼び出せるかを設定します。1.0では、関数の呼び出し元と戻り値の型が実行時に検証されます。

エージェント側のSDKはカタログを読み取り、モデルに画面の記述方法を伝える指示を生成します。モデルの出力が定義に合っているかを検証し、アプリへ送るメッセージに変換します。レンダラー側では、定義された部品や関数をアプリの実装と対応付けます。

描画用SDKとエージェント開発用SDKを提供

1.0対応の描画用SDKは、Web向けにReact、Angular、Lit用が提供されています。Flutter用はモバイル、Web、デスクトップに対応し、iOS向けにはSwiftUI用があります。Android向けのJetpack Composeレンダラーは0.9.1に対応しており、1.0への対応は今後予定されています。

エージェント開発用SDKには、従来のPython用に加えてTypeScript用とDart用が用意されました。モデルがJSONより短くUIを記述できるExpress形式を使うと、出力するトークン数を減らせます。SDKがその出力をJSON形式のA2UIメッセージへ変換するため、アプリ側の描画処理をそのまま使えます。

Python用SDKのMacrosでは、繰り返し使うUIを組み立てる関数をサーバー側に定義できます。モデルが関数を呼び出す記述を出力すると、SDKが関数を実行して描画用の部品の記述を生成します。Googleは、すでにA2UIを使うエージェントを利用できるGemini Enterpriseについて、1.0への対応を進めています。

MCP Appsとの連携と導入例

MCP Appsは、AIアシスタントの会話内に対話型UIを表示する仕組みです。A2UIのWeb向けレンダラーなどをMCP Appに組み込むと、対応するアシスタント内でA2UIの画面を表示できます。反対に、A2UIの画面内へ外部のMCP Appを組み込むこともできます。

A2UI内にMCP Appを組み込む場合、外部のHTMLウィジェットは隔離された領域で実行されます。開発者は、ウィジェットが呼び出せるMCPツールを指定できます。指定されていないツールの呼び出しは拒否されます。

企業向けデータカタログなどを提供するAlationは、指標カードやグラフをClaudeの会話内に表示しています。同じ情報はAlationのアプリ内でも、ほぼ同じレイアウトで表示できます。Atlassianも、業務管理ツールJiraの作業項目内で、エージェントがチームに追加情報や判断を求めるカードへのA2UI導入を進めています。