ジェネラティブエージェンツの大嶋です。
「AIエージェントキャッチアップ #61 - AG-UI」という勉強会を開催しました。
generative-agents.connpass.com
アーカイブ動画はこちらです。
AG-UI
今回は、AIエージェントをUIに接続する方法を標準化する「AG-UI」をキャッチアップしました。
AG-UIのGitHubリポジトリはこちらです。
公式ドキュメントはこちらです。
今回のポイント
AG-UIとは
AG-UIは、AIエージェントがユーザー向けアプリケーション(UI)に接続する方法を標準化するオープンなプロトコルです。
MCPがエージェントとツールを接続し、A2Aがエージェント同士を接続するのに対して、AG-UIはエージェントとUIを接続します。

画像引用元:https://github.com/ag-ui-protocol/ag-ui/blob/main/README.md
AG-UIは、イベントベースのプロトコルであり、WebSocketやSSEなどのトランスポート層に依存しない設計になっているとのことです。
AG-UIが解決する課題
AG-UIのコンセプトは、AIエージェントの開発でよくある悩みを解決するものになっています。
AIエージェントの開発では、SDKやフレームワークごとに入出力の形式が異なり、UIと接続する部分のインターフェース設計が必要になるという課題があります。
たとえば、AIエージェントのプラットフォームを開発していて、Claude CodeもLangChain/LangGraphで自作したエージェントも動くようにしたいといった場合、これらのエージェントに共通するインターフェースを設計する必要が出てきます。
AG-UIはこのような課題を想定していると考えられます。
AG-UIによりエージェントの入出力のインターフェースを標準化すると、AIエージェント側はAG-UIに対応すればよく、UI側もAG-UIに対応すればよい、ということになります。
AG-UIのインテグレーション対応状況
AG-UIのインテグレーションとして、エージェント側は以下のフレームワークがサポートされています。
- LLM直接
- LangGraph
- CrewAI
- Microsoft Agent Framework
- Google ADK
- AWS Strands Agents
- Mastra
- PydanticAI
- Agno
- LlamaIndex
- AG2
- Vercel AI SDK
クライアント側では、以下がサポートされています。
- CopilotKit
- Terminal
AG-UIのイベント
AG-UIでは、エージェントの動作におけるイベントが定義されています。
エージェントはAG-UIに従ってイベントを発行し、UI側のクライアントはイベントを購読してレンダリングしたりする動作になります。
RunStarted・RunFinishedなどのライフサイクルイベント、TextMessageStart・TextMessageContent・TextMessageEndなどのテキストメッセージイベント、ToolCallStart・ToolCallArgs・ToolCallEndなどのツール呼び出しイベントなどがあります。
Human-in-the-LoopのためのInterruptについてもドラフトとして検討されています。
CopilotKitとの関係
AG-UIは、CopilotKitのチームによって開発・発表されました。
CopilotKitは現在、AG-UIを使用するようになっているようです。
現状では、AG-UIがクライアント側でサポートしているのは実質CopilotKitのみとなっています。
今後AG-UIに対応したクライアント側の実装が増えると、利便性が増していくかもしれません。 たとえば、AG-UI対応のSlackアプリ開発フレームワークなどが登場すると面白そうです。
次回のご案内
以上、今回は「AG-UI」をキャッチアップしました。
次回は「AIエージェントキャッチアップ #62 - Mem0」ということで、AIアシスタント・AIエージェントのメモリーレイヤー「Mem0」がテーマです!
generative-agents.connpass.com
ご興味・お時間ある方はぜひご参加ください!
また、その次の回以降のテーマも募集しているので、気になるエージェントのOSSなどあれば教えてください!