Upgrade to Pro — share decks privately, control downloads, hide ads and more …

AIエージェントがUIを生成する「Generative UI」を広く浅く理解したい

Avatar for たけのこ たけのこ
April 03, 2026
92

AIエージェントがUIを生成する「Generative UI」を広く浅く理解したい

Avatar for たけのこ

たけのこ

April 03, 2026
Tweet

Transcript

  1. 宮崎 健太 ( たけのこ) 業務:  ・最近はクラウドエンジニア(AWS / IoT 系) 所在地:

     ・札幌 趣味:  ・ゲーム ( ぽこあボケもんから抜け出せない)  ・お酒 ( ビール、クラフトジンとか) その他:  ・AWS Community Builders 2026 (AI Engineering) X :@K5ARULtkUA4594 自己紹介 2
  2. 1. Generative UI とは 2. 3 つのアプローチ 3. アプローチ1 :静的型

    4. アプローチ2 :宣言型 5. アプローチ3 :オープンエンド型 6. まとめ アジェンダ 4
  3. アプローチ1 :静的型 フロントエンドで事前定義したUI コンポーネントをAI エージェントが選択する アプローチ2 :宣言型 AI エージェントが構造化された仕様(カード・フォーム等)でUI を定義し、フロントエンド

    側で組み立てる アプローチ3 :オープンエンド型 MCP サーバーが事前定義したHTML リソースをAI エージェントがツール経由で選択し、 iframe として表示する 3 つのアプローチの全体像 12
  4. 3 つのアプローチの違いは「誰がどこでUI を定義するか」 観点 / アプローチ 静的型 宣言型 オープンエンド型 UI

    を定義する場所 フロントエンド AI エージェント MCP サーバー AI エージェント の役割 UI を意識しない ツールを選ぶ UI 構造まで定義する UI を意識しない MCP ツールを選ぶ フロントエンド の役割 UI コンポーネント を表示 JSON を解釈して UI を組み立てる iframe で埋め込み表示 3 つのアプローチの違い 13
  5. CopilotKit は AI エージェントとフロントエンドを繋ぐフレームワーク CopilotKit を使用することで、簡単にGenerativeUI を実装可能 補足:CopilotKit は AG-UI

    にも対応 エージェントとフロントエンドをつなぐ通信プロトコル。 CopilotKit Runtime とフロントエンドはこのプロトコルでSSE/HTTP 通信を行う。 静的型の代表例:CopilotKit 16
  6. Generative UI における様々なユースケースにも対応 下表はユースケースごとに提供されたReact Hooks の抜粋 ユースケース React Hooks バックエンド側でツールを実行してUI

    を表示したい useRenderTool フロントエンド側でツールを実行してUI を表示したい useFrontendTool ユーザーの承認・入力を挟みたい(Human-in-the-Loop ) useHumanInTheLoop ツールに紐づけずエージェントの判断でUI を表示したい useComponent アプローチ1 の代表例:CopilotKit でGemerativeUI 17
  7. Open-JSON-UI (OpenAI 規定) UI をJSON で宣言的に記述するOpenAI が定めた仕様 json-render (Vercel Labs

    ) AI がZod スキーマで定義されたJSON 仕様を生成し、フロントエンドが解釈してUI を組み立て るフレームワーク A2UI (Google 、2025 年12 月発表) Google が提唱する動的UI 生成の標準プロトコル。 アプローチ2 :関連技術 20
  8. Google が2025 年12 月に発表したAI エージェントが動的にUI を生成するための 標準プロトコル 特徴 ・JSON Lines

    形式でUI の定義をストリーミング配信 ・フロントエンドはその定義を受け取り、UI を組み立てる 宣言型の代表例:A2UI 21
  9. コンポーネントを宣言的に定義 → フロントエンドが解析・レンダリング {"surfaceUpdate": {"surfaceId": "booking", "components": [ { "id":

    "datetime", "component": { "DateTimeInput": {"value": {"path": "/booking/date"}} } }, { "id": "submit-btn", "component": { "Button": {"action": {"name": "confirm_booking"}} } } ]}} 宣言型:A2UI JSON Lines 形式の例 22
  10. Vercel Labs 公開した、AI がJSON 仕様でUI を生成するフレームワーク 特徴 ・Zod スキーマのカタログでLLM の出力を制約

    ・A2UI と互換性があり、A2UI のJSON フォーマットを統合することも可能 アプローチ2 の代表例:json-render 23
  11. MCP のツール実行結果にHTML リソースを指定し、iframe として任意のUI を表示する 特徴 ・MCP サーバーとして、UI を複数のAI エージェントで共有できる

    ・逆にいうとMCP サーバーの構築が必要 MCP とは? AI とツール・データを繋ぐ標準プロトコル。 MCP Apps は、MCP サーバーの Tools と Resources 活用した仕組み アプローチ3 :オープンエンド型とは 25
  12. ツールとリソースを拡張し、チャットUI 上に動的なUI をiframe として表示できる仕組み 1. フロントエンド(MCP ホスト) がツールを呼び出す 2. ツールの実行結果に

    _meta.ui.resourceUri でUI リソースを指定する 3. フロントエンドがUI リソース(HTML )を取得し、iframe として埋め込み表示する アプローチ3 の代表例:MCP Apps 26
  13. ・静的型(CopilotKit) は、フロントでUI 実装が完結して良い。自由度は下がるが... ・宣言型は(A2UI 、json-render) は、慣れるまでのハードルが高い & 使い分けが複雑.... ・オープンエンド(MCP Apps)

    の強みは、UI をMCP として共通化できるところ  → 新規はMCP サーバーを建てるのが手間、既存ならMCP ツールをUI 化するのはあり 静的型 宣言型 オープンエンド型 代表例 CopilotKit A2UI 、json-render MCP Apps UI の定義 フロントが事前定義 AI がJSON 仕様で定義 MCP サーバーがHTML を配信 自由度 低い 中程度 高い デザイン一貫性 担保しやすい 仕様依存 保ちにくい 実装コスト フレームワーク活用 フレームワーク活用 MCP サーバー構築が必要 3 つのアプローチ比較 27
  14. Generative UI とは ・AI エージェントが動的にUI を生成する仕組み。テキスト回答より直感的なUX を実現可能 3 つのアプローチが存在する ・静的型:事前定義したコンポーネントをAI

    が選択(例: CopilotKit ) ・宣言型:構造化仕様でUI を定義(例: A2UI 、json-render ) ・オープンエンド型:MCP サーバーを経由してHTML をiframe として配信(例:MCP Apps) 現状と展望 ・Generative UI の仕様策定はまさに戦国時代。ツール・プロトコルを1つ1つ理解する  のが難しい ・競合が乱立というよりは、アプローチによってレイヤーや視点が異なるため、  まずは概念を整理することが重要 まとめ 29