【A2UI】AIエージェントがUIを生成する時代。Googleが公開した新しいオープンプロジェクト

| 4 min read

📝 記事について: 本記事は、50近辺のくたびれた貧乏なおっさんの筆者が、「新しい技術」「このサービスおもしろいな~~」「このアプリおもしろいな~~」「ほしいな~~」「かいたいな~~」と思った製品・サービスについて、公開情報を調べてまとめたものです。実際に製品やサービスを使用・体験したわけではありません。内容の正確性については、必ず公式情報やデータソースをご確認ください。

AIエージェントがテキストだけでなく、ユーザーインターフェースそのものを生成する時代が来ました。Googleが2025年12月15日に公開したA2UI(Agent-Driven User Interfaces)は、エージェントが状況に応じて最適なUIを動的に作成するオープンソースプロジェクトです。

この技術のすごいところ

  • セキュアなUI生成: 宣言的なデータ形式(JSON)を使用するため、コードインジェクションなどのセキュリティリスクを低減。実行可能コードではなく、信頼済みコンポーネントカタログから選択する仕組み。
  • マルチフレームワーク対応: Flutter、Angular、Web Components(Lit)など複数のUIフレームワークに対応。同じA2UI JSONが異なるプラットフォームでレンダリング可能。
  • マルチエージェント対応: A2A(Agent-to-Agent)プロトコルと統合され、複数のエージェントが協調してUIを構築できる。信頼境界を越えた安全なUI生成が可能。

AIエージェントがUIを「話す」時代

これまで、AIエージェントとの対話は主にテキストベースでした。レストランを予約したい場合、「何名ですか?」「何時ですか?」と何度もやり取りする必要がありました。

A2UIを使えば、エージェントが状況を理解して、日付ピッカー、時間セレクター、送信ボタンを含む専用のフォームを自動生成できます。ユーザーは一つの画面で全ての情報を入力でき、効率的にタスクを完了できます。

なぜ新しい技術が必要なのか

マルチエージェントの時代になり、GoogleのエージェントがCisco、IBM、SAP、Salesforceのエージェントと協調して複雑なタスクを解決するようになりました。しかし、この分散化により、UIの問題が発生します。

リモートで動作するエージェントは、直接UIを操作できません。従来の方法では、HTMLやJavaScriptを送信してiframeでサンドボックス化する必要がありましたが、これは重く、視覚的に不統一で、セキュリティ境界が複雑になります。

A2UIは「データのように安全で、コードのように表現力がある」解決策を提供します。エージェントはJSON形式でUI構造を記述し、クライアントアプリケーションが自身のネイティブコンポーネントでレンダリングします。これにより、クライアントはスタイリングとセキュリティを完全に制御できます。

セキュリティが最優先

A2UIの最大の特徴は、セキュリティを最優先していることです。LLMが生成した任意のコードを実行することは重大なセキュリティリスクがあります。A2UIは宣言的なデータ形式を使用し、実行可能なコードではありません。

クライアントアプリケーションは、信頼済みのUIコンポーネント(Card、Button、TextFieldなど)のカタログを維持します。エージェントはそのカタログからのみコンポーネントを要求でき、これによりUIインジェクションやその他の脆弱性のリスクを低減します。

フレームワークに依存しない設計

A2UIはUI構造とUI実装を分離しています。エージェントはコンポーネントツリーとデータモデルの抽象的な記述を送信し、クライアントアプリケーションがWeb Components、Flutterウィジェット、Reactコンポーネント、SwiftUIビューなど、任意のネイティブウィジェットにマッピングします。

現在、Flutter、Web Components(Lit)、Angularの初期実装が提供されています。同一のA2UI JSONレスポンスが、これらの異なるフレームワーク上でネイティブにレンダリング可能です。

LLMに最適化された設計

A2UIは、大規模言語モデル(LLM)が効率的に生成・解析できるように設計されています。フラットなJSON構造と隣接リストモデルを採用しており、LLMがトークン単位で段階的にUIを生成・更新できます。

これにより、ストリーミングによるプログレッシブレンダリングが可能になります。エージェントがUIを生成している最中でも、クライアントは受信した部分から順にレンダリングを開始でき、ユーザーは即座にインターフェースが構築される様子を体験できます。

実際に使われている場所

A2UIは既に実世界で使用されています。GoogleのOpalでは、AIミニアプリの構築に活用されています。Gemini Enterpriseでは、エンタープライズエージェントがリッチなインタラクティブUIを生成するために使用されています。FlutterのGenUI SDKも、リモートエージェントとの通信にA2UIを採用しています。

また、CopilotKit(AG UI)はday-zero互換性を提供し、開発者がA2UIとAG UIを組み合わせて、より強力なエージェントアプリケーションを構築できるようになっています。

まだ進化の途中

A2UIは現在v0.8の仕様で、Apache 2.0ライセンスのオープンソースプロジェクトです。2025年12月15日に公開され、多くの実戦テストを経て、初期ユースケースでは安定していますが、さらなる進化と発見の余地があります。

Googleはコミュニティと協力して、仕様の洗練、より多くのクライアントライブラリへの接続、より堅牢で有用なツールの構築を目指しています。開発者はGitHubリポジトリや公式サイト(a2ui.org)からコードを探索し、クイックスタートガイドやデモを試し、特にコントリビューションを歓迎されています。

Artist's Perspective

「3Dアート制作でも、AIが状況に応じて操作パネルや設定UIを生成できれば、制作体験が大きく変わります。A2UIは、そんな未来のインタラクションの基盤になり得る技術です。WebGLやThree.jsを使った作品でも、ユーザーの操作に応じてUIが動的に変化する、より直感的なインターフェースが実現できるかもしれません。」

データソース・参考リンク

本記事は以下の情報源を参考にしています。内容の正確性については、必ず元のデータソースをご確認ください。