Agent-User Interaction Protocol(AG-UI)は、AI エージェントをフロントエンドにつなぐためのプロトコルである。AI エージェントプロトコルのための開発者ガイド はこれを、エージェントフレームワークの生のイベントを標準化された Server-Sent Events(SSE)のストリームに変換するミドルウェアとして説明している。これによりフロントエンドは、どのエージェントフレームワークがイベントを生成したかを気にすることなく、型付きのイベント — 例として TEXT_MESSAGE_CONTENT や TOOL_CALL_START が挙げられている — を待ち受けることができる。

用法

このガイドが AG-UI を必要とする理由は、エージェントが従来の REST API とどう違うかという点から始まる。REST の呼び出しはレスポンスを返せば終わりだが、エージェントはテキストを少しずつストリーミングし、レスポンスの途中でツールを呼び出し、ときには人間の入力を待つために一時停止する。開発者はこれを直接扱うこともできる。ガイドは、Agent Development Kit(ADK) がネイティブの /run_sse エンドポイントを提供しており、数十行のフロントエンドコードでストリームを解析できると述べている。しかし同時に、その解析コードを、イベント形式が変わるたびに壊れるボイラープレートと呼んでいる。AG-UI はそのボイラープレートを取り除く。

ガイドの例では、ADK のエージェントを ag_ui_adk パッケージでラップし、FastAPI アプリのエンドポイントとしてマウントしている。その結果得られるストリームは、実行開始イベントで始まり、各ツール呼び出しを開始・結果・終了のイベントで報告し、テキストを一連のメッセージ内容の差分として配信し、実行終了イベントで閉じる。

ガイドは AG-UI を Agent-to-User Interface Protocol(A2UI) と区別している。A2UI は何をレンダリングするかを定義し、AG-UI はそれをどのようにストリーミングするかを定義する。

関連用語