Google、AIがUIを自動生成する時代に備えたプロトコル「A2UI」をオープンソース化 どのような仕組みなのか?UIをJSONで定義

Googleは「A2UI」プロジェクトをオープンソースで公開した。マルチエージェントメッシュの時代にエージェントが安全かつ効率的にUIを生成するためのプロトコルだ。

» 2026年01月13日 13時00分 公開
[@IT]

この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。

 Google A2UIチームは2025年12月15日(米国時間)、「A2UI」プロジェクトをオープンソース化したと発表した。

 同チームはGoogle製品向けにA2UIを開発してきた。A2UIは初期段階にあり、仕様の改良や、フォーマットと実装の洗練と進化、幅広いツールや技術との統合機能の拡充に向けて、広くコミュニティーからの参加と協力を募るために、このプロジェクトを公開したという。

 GoogleのA2UIチームは、「生成AI(人工知能)はテキスト、画像、コードの生成に優れているが、コンテキストに応じたインタフェースの生成にも使用される時代が来ている」との認識を示している。

エージェントがUIをJSON形式で定義し、送信

 A2UIは、「エージェントからのクロスプラットフォームで相互運用可能な、生成型UI(ユーザーインタフェース)またはテンプレートベースのUIによる応答」という課題に対処するために設計された。エージェントによって生成される更新可能なUIの表現に最適化されたフォーマットと、レンダラーの初期セットを備えている。

 エージェントはA2UIにより、対話中にその内容に最適なリッチUIを生成し、さまざまなフロントエンドアプリケーションに送信できる。それらはAngular、Flutterといった各種のUIフレームワーク(今後さらに追加予定)でレンダリングされ、アプリケーションで表示される。レンダラーは共通コンポーネントセットや、クライアントが宣言するカスタムコンポーネントセットをサポートする。

 クライアント側がレンダリングを管理することで、AIが生成するUIを自社ブランドのUX(ユーザー体験)にシームレスに統合できる点が特徴だ。オーケストレータエージェントやリモートA2A(Agent-to-Agent〈※〉)エージェントが、いずれもUIレイアウトを生成でき、それらは実行可能コードではなく、JSON形式で安全に伝達される。

※Agent-to-Agent:オープンなAIエージェント連携プロトコル

A2UIでレンダリングされたカードの例 A2UIは多様なUIを構成できるという(提供:Google) A2UIでレンダリングされたカードの例 A2UIは多様なUIを構成できるという(提供:Google)

A2UIが解決する課題

テキストのみのやりとりの非効率性

 ユーザーがレストラン予約のような単純なタスクをAIエージェントに任せる場合、「エージェントとユーザーがテキストだけで対話するため、やりとりが何回も必要になり、煩雑で効率が悪い」とGoogleは指摘する。

 A2UIを使用すれば、LLM(大規模言語モデル)がウィジェットのカタログからカスタムUIを構成し、日付ピッカーや時間セレクターなど、タスクに最適なUIを提供できるようになるという。

レストラン予約のA2UI表現のレンダリング例 A2UIにより、フロントエンドホストアプリがスタイルを大幅に制御できる(提供:Google) レストラン予約のA2UI表現のレンダリング例 A2UIにより、フロントエンドホストアプリがスタイルを大幅に制御できる(提供:Google)

境界を越えたレンダリングに対応

 「マルチエージェントメッシュ」の時代では、異なる組織が所有し、メモリ、ツール、コンテキストを共有していないリモートエージェント同士が、A2Aプロトコルを介してタスクを実行するためにコラボレーションする。

 こうしたリモートのやりとりでは、UIに関して相互に直接操作することはできず、実行可能なコードを送受信する必要がある。従来、リモートの信頼できないソースからのUIをレンダリングする場合、HTMLやJavaScriptを読み込み、iframe内で描画する必要があった。

 だが、この方法は動作が重く、視覚的に不統一になりがちであり(アプリのネイティブスタイルと一致することはほとんどない)、セキュリティ上の複雑さをもたらす。そのため、データのように安全でありながら、コードのように表現力が豊かなUIを伝送する方法が必要となっている。

メッセージシーケンスとしてのUI仕様

 そこでA2UIは、構造化出力として動的に生成したり、テンプレートとして使用し、値を注入したりできるUI生成のための標準フォーマットを提供する。

 JSONがA2AやAG UI(※)などのトランスポートを介してクライアントに送信され、クライアントは独自のネイティブUIコンポーネントを使ってレンダリングする。これにより、クライアントはスタイリングとセキュリティの完全な制御を保持し、エージェントの出力は常にネイティブに感じられるという。

※Agent-User Interaction Protocol。リッチなUIでエージェントがユーザーと直接会話することを標準化するオープンプロトコルおよびUIレイヤー。CopilotKitチームが開発、提供している。CopilotKitは、AG UIで動作するドロップインReactコンポーネントとフックのオープンソースライブラリ

A2UIの基本的な設計原則:安全、差分更新が可能、ポータブル

セキュリティ最優先

 A2UIは実行可能なコードではなく、宣言的なデータフォーマットだ。

 クライアントは、信頼できる事前承認済みのUIコンポーネント(カード、ボタン、テキストフィールドなど)のカタログを保持し、エージェントはそのカタログ内のコンポーネントのレンダリングのみを要求できる。これにより、UIインジェクションなどの脆弱(ぜいじゃく)性リスクが軽減される。

LLMフレンドリーで差分更新が可能

 UIは、ID参照を持つコンポーネントのフラットリストとして表現される。そのため、LLMは容易に差分を生成可能で、プログレッシブレンダリングと応答性の高いユーザー体験を実現する。エージェントは会話の進行に伴い、効率的にUIを差分更新できる。

フレームワーク非依存でポータブル

 A2UIは、UIの構造と実装を分離する。エージェントは、コンポーネントツリーとその関連データモデルの説明を送信する。クライアントアプリケーションは、それらの抽象的な記述をネイティブウィジェット(Webコンポーネント、Flutterウィジェット、Reactコンポーネント、SwiftUIビューなど)にマッピングする責任を負う。エージェントからの同じA2UI JSONペイロードが、異なるフレームワークで構築された複数の異なるクライアントでレンダリングされる。

A2UIの仕組み(提供:Google) A2UIの仕組み(提供:Google)

エージェントUIエコシステムのさまざまなツールとの連携

 エージェントUIの領域は急速に進化しており、スタックのさまざまな部分を解決する優れたツールが登場している。Google A2UIチームはA2UIを、それらのツールの代替ではなく、クロスプラットフォームで相互運用可能な、生成型またはテンプレートベースの応答という課題を解決するためのプロトコルと位置付けている。

 A2UIは、Google内外の以下のようなツールや技術と連携する。

AG UI/CopilotKit

 AG UIは、エージェントバックエンドとエージェントフロントエンドを接続する。リッチなフルスタックエージェントアプリケーション(ユーザーが直接操作するホストUIを提供)を構築するためのビルディングブロックを開発者に提供する。AG UI/CopilotKitチームとGoogle A2UIチームは協力して開発を進めており、AG UIとA2UIは互換性が確保されている。

GoogleのノーコードAIアプリ開発ツール「Opal」

 自然言語でAIアプリケーションを構築できるプラットフォーム。Google OpalチームはA2UIのコア貢献者であり、今後数週間でOpal内でA2UIが動作するようになる。

「Gemini Enterprise」

 企業が強力なカスタムAIエージェントを構築することを可能にする。A2UIは、こうしたエンタープライズエージェントがホストアプリケーション内でリッチなインタラクティブUIをレンダリングできるようにするために、Gemini Enterpriseとの統合が進められている。

 「この統合により、データ入力フォームから承認ダッシュボードまで、多種多様なタスクに必要なカスタムUIをエージェントに動的に生成させ、ワークフロー自動化を劇的に加速可能になる」(A2UIチーム)

「Flutter」および「GenUI SDK」

 Googleが開発したモバイルアプリ開発用オープンソースフレームワークであるFlutterとそのGenUI SDK(ソフトウェア開発キット)は、Geminiまたは他のLLMを用いて動的でパーソナライズされたUIを生成し、生成AIやエージェントベースのユーザー体験の使いやすさと満足度を大幅に向上させる。

 生成されるUIは、ユーザー企業のブランドガイドラインに準拠し、ユーザー企業独自のウィジェットカタログを使用したものになる。A2UIは、リモートのサーバ側エージェントとアプリ間のUI宣言フォーマットとして、GenUI SDKで使用されている。

A2UIを試すには

 A2UIのWebサイトでクイックスタートガイドとドキュメントなどが提供されており、ドキュメントの「Agents(Server-side)」セクションの「Sample Agents」から、サンプルエージェント(レストラン検索など)を試すことができる。

 GenUI SDK for FlutterでA2UIの動作を確認することもできる。GitHubリポジトリにA2UIを使用するクライアントサーバサンプルが用意されている。

 Google A2UIチームは、A2UIプロジェクトが現在サポートしている統合と、サポートを目指している統合を以下のように示している。

A2UIプロジェクトがサポートしている統合とサポートを目指している統合(提供:Google) A2UIプロジェクトがサポートしている統合とサポートを目指している統合(提供:Google)

Copyright © ITmedia, Inc. All Rights Reserved.

アイティメディアからのお知らせ

スポンサーからのお知らせPR

注目のテーマ

Microsoft & Windows最前線2026
人に頼れない今こそ、本音で語るセキュリティ「モダナイズ」
4AI by @IT - AIを作り、動かし、守り、生かす
AI for エンジニアリング
ローコード/ノーコード セントラル by @IT - ITエンジニアがビジネスの中心で活躍する組織へ
Cloud Native Central by @IT - スケーラブルな能力を組織に
システム開発ノウハウ 【発注ナビ】PR
あなたにおすすめの記事PR

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。