エージェント(サーバー側)¶
エージェントは、ユーザーのリクエストに応じて A2UI メッセージを生成するサーバー側プログラムです。
実際のコンポーネント描画は レンダラー が担当し、メッセージが トランスポート を通じてクライアントへ届けられます。エージェントの責務は、A2UI メッセージを生成することだけです。
エージェントの動き¶
- ユーザーメッセージを 受け取る
- Gemini、GPT、Claude などの LLM で 処理する
- 構造化出力として A2UI JSON メッセージを 生成する
- トランスポート経由でクライアントへ 送信する
クライアント側からのユーザー操作は、新しいユーザー入力として扱えます。
サンプルエージェント¶
A2UI リポジトリには、学習用のサンプルエージェントが含まれています。
- Restaurant Finder
- フォーム付きのテーブル予約
- ADK で実装
- Contact Lookup
- 検索結果リスト付きの検索 UI
- ADK で実装
- Rizzcharts
- A2UI カスタムコンポーネントのデモ
- ADK で実装
- Orchestrator
- リモートのサブエージェントから A2UI メッセージを中継
- ADK で実装
A2A で使うエージェントの種類¶
1. ユーザー向けエージェント(スタンドアロン)¶
ユーザーが直接対話するエージェントです。
2. リモートエージェントのホストとしてのユーザー向けエージェント¶
ユーザー向けエージェントが 1 つ以上のリモートエージェントのホストになるパターンです。ユーザー向けエージェントがリモートエージェントを呼び出し、リモート側が A2UI メッセージを生成します。これは、クライアントエージェントがサーバーエージェントを呼ぶ A2A でよくある形です。
- ユーザー向けエージェントは A2UI メッセージをそのままパススルーできます
- ユーザー向けエージェントは、クライアントへ送る前に A2UI メッセージを編集できます
3. リモートエージェント¶
リモートエージェントはユーザー向け UI の直接の一部ではありません。ユーザー向けエージェントから呼び出されるリモートエージェントとして登録されます。これも A2A でよく使われるパターンです。