はじめに
七尾百合子さん、お誕生日 306日目 おめでとうございます! nikkieです。
世は大LLM時代にして、大プロトコル時代!
日々新たなプロトコルが提案されている感がありますが、プロトコル群を少し遡って AG-UI を素振りします。
目次
- はじめに
- 目次
- Agent–User Interaction (AG-UI) Protocol
- ADK のエージェントを AG-UI をサポートしたサーバにする
- CopilotKit で Chat UI を用意する
- AG-UI プロトコルで Chat UI から ADK のエージェント呼び出し
- 終わりに
Agent–User Interaction (AG-UI) Protocol
最初の提案は2025年5月のようです。
Introducing AG-UI: The Protocol Where Agents Meet Users | Blog | CopilotKit
この半年で主要なエージェントフレームワークがサポートしていって(「Supported Integrations」)、2026年1月時点では無視できない感があります。
この記事では以下の組合せで触ります。
Quickstart1 に沿って、Chat UI を作成します。
Turn your ADK Agents into an agent-native application in 10 minutes.
ADK のエージェントを AG-UI をサポートしたサーバにする
uvicorn で FastAPI アプリをサーブすればよさそうだったので、inline script metadata を使ったスクリプトで実装しました。
動きを理解したかったので、ロギングのコードを追加2しています。
環境変数GOOGLE_API_KEY(またはGEMINI_API_KEY)を指定して起動します。
uv run --python 3.13 main.py
2つのエンドポイントが ag-ui-adk によって追加されていました。

ADKAgentのパラメタは、以下で解説されてそうでした(積ん読)
https://github.com/ag-ui-protocol/ag-ui/blob/5d68c0feeab702e870ea70f0d79146d6bfdfe484/integrations/adk-middleware/python/USAGE.md
CopilotKit で Chat UI を用意する
% node --version v25.2.1 % npm --version 11.6.2 % npx --version 11.6.2
フロントエンドは Quickstart に沿って進めました。
npx create-next-app@latest my-copilot-appmy-copilot-app/ディレクトリ下に Next.js アプリが作られる
npm install @copilotkit/react-ui @copilotkit/react-core @copilotkit/runtime @ag-ui/client@0.0.42ag-ui/clientの最新 0.0.43 が入ると、CopilotRuntimeに渡すエージェントの型が合わなかったので、バージョン指定しました(gpt-5.2-codex 調査による)
- 3つのファイル編集
app/api/copilotkit/route.ts追加- ADK 製エージェントのサーバの URL を指定
/api/copilotkitエンドポイントを追加
app/layout.tsx編集<CopilotKit runtimeUrl="/api/copilotkit" agent="my_agent">
app/page.tsx編集(Home関数を消してPage関数追加)
以上をやって npm run dev し、 http://localhost:3000 をブラウザで開くと、
ChatGPT のような UI が用意されています!
AG-UI プロトコルで Chat UI から ADK のエージェント呼び出し
Quickstart にある例を送ります3。
Can you tell me a joke?

ADK 製エージェント側のログ
LLM Request:
-----------------------------------------------------------
System Instruction:
Be helpful and fun!
You are an agent. Your internal name is "assistant".
-----------------------------------------------------------
Config:
{'http_options': {'headers': {'x-goog-api-client': 'google-adk/1.22.1 gl-python/3.13.8', 'user-agent': 'google-adk/1.22.1 gl-python/3.13.8'}}}
-----------------------------------------------------------
Contents:
{"parts":[{"text":"Can you tell me a joke?"}],"role":"user"}
-----------------------------------------------------------
Functions:
-----------------------------------------------------------
LLM Response: ----------------------------------------------------------- Text: Okay, you got it! Why did the scarecrow win an award? ...Because he was outstanding in his field! 🏆🌾 Ba-dum-tss! Hope that brought a smile to your face! 😄 ----------------------------------------------------------- Function calls: ----------------------------------------------------------- Raw response: (略) -----------------------------------------------------------
終わりに
ADK (Python)・CopilotKit という構成で、Chat UI から ADK のエージェントを呼び出すことができました!
Next.js が初見で理解が追いついていないところが多々あるのですが、高機能な Chat UI が少ないタイプ量で作れていると感じます。
これは一歩目ですが、ADK のところは AG-UI をサポートする別のフレームワークに置き換えられるわけで、なかなか可能性を感じさせます!
- ADK の機能で Agent Engine へのデプロイ4を過去にやったが、ag-ui-adk で FastAPI アプリとしてデプロイするという選択肢もありそう(要検証)
- PydanticAI や Strands Agents5 も触っているが、UI の部分は AG-UI が有力かも(※Strands は対応中)
- エージェントに UI を操作させられる??
コードの全体像はこちらです