AG-UI は、ユーザ向けアプリケーションと任意のエージェント型バックエンド間の汎用目的、双方向の接続として設計されています。
AI エージェントがユーザ向けアプリケーション接続する方法を標準化する、オープンで軽量なイベントベース のプロトコルです。
AG-UI : Get Started – AG-UI 概要
作成 : Masashi Okumura (@classcat.com)
作成日時 : 04/14/2026
バージョン : v0.0.52
* 本記事は docs.ag-ui.com の以下のページを参考にしています :
* サンプルコードの動作確認はしておりますが、必要な場合には適宜、追加改変しています。
AG-UI : Get Started – AG-UI 概要
AG-UI は、AI エージェントがユーザ向けアプリケーションに接続する方法を標準化する、オープン で 軽量 な イベントベース のプロトコルです。
AG-UI は、ユーザ向けアプリケーションと任意のエージェント型バックエンド間の汎用目的、双方向の接続として設計されています。
単純製と柔軟性を重視して構築されていて、モデル/エージェント・ランタイムとユーザ向けフロントエンド・アプリケーション間のエージェント状態、UI インテント、ユーザ・インタラクション・フローを標準化し、アプリケーション開発者はアプリケーションのニーズにフォーカスし、複雑な ad-hoc ワイヤリングを回避しながら、信頼性があり、デバッグ可能で、ユーザフレンドリーなエージェント型機能を素早くリリースできます。

エージェント型プロトコル
AG-UI は 3 つの主要なオープン・エージェント型プロトコル の一つです。
| レイヤー | プロトコル / 例 | 目的 |
|---|---|---|
| エージェント ↔ ユーザ・インタラクション | AG-UI | エージェントをユーザ向け app に接続し、リアルタイムでマルチモーダルなインタラクティブ・エクスペリエンスを可能にするオープンなイベントベースの標準 |
| エージェント ↔ ツール & データ | MCP | エージェントを外部システム (ツール、ワークフロー、データソース) に安全に接続させる (Anthropic 起案の) オープンな標準 |
| エージェント ↔ エージェント | A2A | 分散エージェント型システムでエージェントが作業を調整・共有する方法を定義する (Google 起案の) オープンな標準 |
ビルディング・ブロック (現在 & 近日公開予定)
- ストリーミング・チャット – キャンセル & 再開可能な、レスポンシブなマルチターン・セッションのためのライブトークン、イベント・ストリーミング。
- マルチモーダリティ – 入力された添付ファイルとリアルタイムメディア (ファイル、画像、音声、トランスクリプト) ; 音声、プレビュー、注釈、来歴 (provenance) をサポートします。
- 生成型 UI, 静的 – モデルの出力を、アプリの制御下にある安定した型付きコンポーネントとしてレンダリングします。
- 生成型 UI、宣言型 – 制約がありながらも自由度の高いエージェント UI のための、小さな宣言型言語 ; エージェントがツリーと制約を提案し、アプリケーションが検証してマウントします。
- 共有状態 – (読み取り専用 & 読み書き可能)。エージェントとアプリケーション間で共有される型付きストア、ストリーミングされたイベントソースの差分、及び迅速なコラボレーションのための競合解決機能を備えています。
- 思考ステップ – トレースとツールイベントからの中間的な推論を視覚化します; 生の (raw) 思考の連鎖は示されません。
- フロントエンド・ツール呼び出し – エージェントからフロントエンド実行アクションへの、そしてその逆の型付きハンドオフ。
- バックエンド・ツールのレンダリング – バックエンドツールの出力をアプリケーションとチャットで視覚化し、副作用をファーストクラス・イベントとして出力します。
- 割り込み (human in the loop) – フローの途中で、状態を失うことなく、一時停止、承認、編集、再試行、またはエスカレーションを行うことができます。
- サブエージェントと構成 (composition) – スコープ付き状態、トレース、キャンセル機能を備えたネストされた委譲 (delegation)。
- エージェントのステアリング (steering) – リアルタイムのユーザ入力によりエージェントの実行を動的にリダイレクトし、動作と結果をガイドします。
- ツール出力のストリーミング – ツールの結果とログをストリーミングすることで、UI は長時間実行されるエフェクトをリアルタイムでレンダリングできます。
- カスタムイベント – プロトコルでカバーされていないニーズのために自由度の高いデータ交換が可能です。
Why Agentic Apps need AG-UI
エージェントアプリケーションは、エージェント型以前の時代にフロントエンドとバックエンドの開発を支配していた単純なリクエスト/レスポンスモデルをブレイクします: クライアントがリクエストを送信し、サーバーがデータを返し、クライアントがそれをレンダリングして、インタラクションが終了するというものです。
ユーザー向けエージェントの要件
エージェントは単なるソフトウェアではあるものの、従来の REST/GraphQL API の裏でサービス提供させるには困難とする特性を備えています :
- エージェントは 長時間 実行され、中間的なワークを ストリーミング します – 複数ターンのセッションにわたる場合も多いです。
- エージェントは 非決定論的 であり、アプリケーションの UI を非決定論的に制御する ことができます。
- エージェントは、構造化された IO + 非構造化された IO(e.g. ツール呼び出しや状態更新と並行して、テキスト & 音声)を同時に混在させます。
- エージェントはユーザー・インタラクティブな 構成 を必要とします: e.g. サブエージェントを呼び出す可能性があり、多くの場合、再帰的に呼び出されます。
AG-UI は、エージェント型フロントエンドとバックエンド間の動的な通信を可能にするイベントベースのプロトコルです。Web の基盤となるプロトコル(HTTP、WebSocket)の上に、エージェント時代向けに設計された抽象化レイヤーとして構築されています – 従来のクライアント/サーバ・アーキテクチャと、AI エージェントの動的でステートフルな性質との間のギャップを橋渡しします。
以上