AIエージェントをフロントエンドに接続するための車輪の再開発を避ける方法
LangGraphやCrewAIで構築したエージェントをWebアプリケーションに接続しようとしたことがある方は、おそらく次の一連のアクションを覚えているでしょう。まず、LLMにリクエストを送信します。次に、Server-Sent EventsやWebSocket経由でトークンストリーミングを設定します。その後、エージェントがツールを呼び出すことを決めたら、インターフェースにプログレスバーを表示したり、ユーザーに許可を求めたりする必要があります。結局、コードベースの半分がWebSocketイベント、カスタムジェネレーター、JSONパーサーのごちゃごちゃになってしまいます。
CopilotKitチームと人気フレームワークの作者たちがこれに終止符を打つことを決めました。彼らはAG-UI(Agent-User Interaction Protocol)をリリースしました — WebインターフェースとAIエージェントバックエンドを接続するための、オープンでイベント駆動型のプロトコルです。

AG-UIは最新のアーキテクチャでどこに位置するか
AI搭載アプリケーションのアーキテクチャは徐々に標準化へと分かれていっています。責任の明確な分離が現れつつあります:
- MCP(Model Context Protocol)は、エージェントにデータベース、API、内部ツールへのアクセスを提供します。
- A2A(Agent-to-Agent)は、エージェント間の対話と調整を処理します。
- AG-UIは、エージェントの作業をユーザーインターフェースに接続します。

これにより、エンドツーエンドのフローが作成されます。エージェントはMCP経由でデータを取得し、A2Aで隣接するサービスと通信し、AG-UIで結果と実行プロセスをブラウザに届けます。
プロトコルの内部構造
基盤はイベントサブスクリプションです。エージェントバックエンドは16種類の標準イベントを生成し、クライアントインターフェースがそれらに応答します。トランスポートは任意です:SSE、WebSocket、または通常のHTTP Webhook。
プロトコルにはいくつかのコア機能が含まれています。
状態同期は双方向に動作します。実行中にエージェントの状態が変更された場合、更新はすぐにフロントエンドに届きます。ユーザーがUIで何かを変更した場合、更新された状態がエージェントに戻されます。
生成型UIは、干燥したテキスト応答の問題を解決します。エージェントは構造化されたデータを送信し、フロントエンドはそれをチャート、テーブル、入力フォームなどの使い慣れたReactコンポーネントに変換します。
Human-in-the-loopシナリオは最初からサポートされています。エージェントは実行を一時停止し、ユーザーがインターフェースでボタンをクリックしたり、重要なアクションを確認したりするまで待機します。
フロントエンドツールはバックエンドと直接通信します。エージェントはクライアントで直接関数を呼び出します。例えば、位置情報の取得やインターフェース内のタブの切り替えなどを行います。
サポートされているフレームワークとクライアントSDK
AG-UIの主な利点は、ゼロから統合を書く必要がないことです。開発者はすでにほとんどのフレームワーク用の готовые コネクターを用意しています。
バックエンドサポートには以下が含まれます:
- LangGraphとCrewAI
- Microsoft Agent FrameworkとGoogle ADK
- Pydantic AI、LlamaIndex、Agno、AG2
- Claude Agent SDK
クライアントの作成には、人気の言語でのSDKが提供されています:Kotlin、Go、Dart、Java、Rust、C++、Python。そしてCopilotKitライブラリは、React用のすぐに使えるUIコンポーネントを最初から提供します。
実際に試す方法
単一のターミナルコマンドでテストアプリケーションを作成できます:
npx create-ag-ui-app my-agent-app
このコマンドは、構成済みのフロントエンドとエージェント設定を持つ готовую プロジェクトを起動します。
AG-UI Dojoは特に注目に値します。50行から200行のミニマリストなコード例のコレクションです。そこでは、特定のインタラクションパターンの実装が見つかります:共有状態からエージェントの思考プロセスの段階的なストリーミングまで。
このツールの対象者
シンプルなテキストチャットボットを構築している場合、AG-UIはオーバースペックです。通常のテキストストリーミングには標準的なソリューションで十分です。
プロトコルが輝くのは、エージェントがインターフェースと積極的にやり取りする場合です:フォームの編集、ユーザーの確認が必要な場合、ウィジェットのレンダリング、ブラウザAPIの使用など такихプロジェクトでは、AG-UIはトランスポートプロトコルの記述に何週間も節約できます。
関連プロジェクト