Agent2Agent Protocol
Ultralytics YOLO26を使用して、Agent2Agent Protocol (A2A) がAIエージェントの発見、通信、タスクの委任、およびフレームワーク間での安全な協調動作をどのように実現するかを学びます。
Agent2Agent Protocol (A2A) は、独立したAIエージェント同士が異なるフレームワーク、ベンダー、組織の間で互いを検出し、リクエストを交換し、作業を委任し、結果を返すことを可能にするオープンな通信標準です。エージェントの内部メモリ、推論プロセス、またはツールを外部に公開する代わりに、A2Aは協調のための共有インターフェースを提供します。これにより、専門化されたエージェントが、それぞれ独立して実装および運用されながら、より大きな目標に貢献する分散型 AI agent システムを構築する際に役立ちます。
Agent2Agent Protocolの仕組み#
公式の A2A Protocol overview では、作業をリクエストするクライアントエージェントと、それを実行するリモートエージェントの間のやり取りが定義されています。通信には、非公式なアプリケーション固有のメッセージではなく、HTTPベースのインターフェースと構造化されたプロトコルオブジェクトが使用されます。(a2a-protocol.org)
一般的なやり取りには、以下の要素が含まれます。
- Agent Cards and discovery: エージェントカードは、エージェントのアイデンティティ、エンドポイント、サポートされている機能、認証要件、およびスキルを記述したJSONファイルです。クライアントエージェントはこれを使用して、リモートエージェントがタスクを処理できるかどうかを判断します。
- メッセージ: リクエスト、指示、コンテキスト、および応答は、テキスト、ファイル、または構造化データを含むメッセージとして表現されます。
- タスク: タスクは、識別子とステータスを持つステートフルな作業単位です。ドキュメント化されている A2A task lifecycle は、完了、失敗、追加の入力の要求、またはキャンセルが行われる可能性のある作業をサポートします。
- 成果物: レポート、画像、動画、JSONレコードなどの具体的な出力は、会話テキストに混入させるのではなく、成果物として返されます。
- Streaming and asynchronous operations: 長時間実行されるエージェントは、インクリメンタルな更新のストリーミング、ポーリングのサポート、またはウェブフックを通じたクライアントへの通知を行うことができます。
基礎となるリクエスト形式は JSON-RPC 2.0 specification に準拠しており、実装に対して一貫したメソッド、パラメータ、レスポンス、およびエラー構造を提供します。
関連するエージェント技術と比較したA2A#
A2Aはエージェント間の通信に対処しますが、エージェントシステムのすべての部分を定義するわけではありません。
- Model Context Protocol: MCPは主に、エージェントをツール、データソース、およびリソースに接続します。A2Aは1つの自律型エージェントを別のエージェントに接続します。公式の A2A and MCP guidance では、これら2つのプロトコルを競合するものとして扱うのではなく、どのように組み合わせて使用できるかを説明しています。(a2a-protocol.org)
- Agent Skills: スキルは、エージェントが専門的な作業を実行するのを助ける再利用可能な指示と手順をパッケージ化します。エージェントカードはリモート協調のための機能を宣伝し、一方 Ultralytics Agent Skills はドキュメント化されたコンピュータービジョンワークフローを通じて互換性のあるコーディングエージェントをガイドします。
- AI agent orchestration: オーケストレーションは、どのエージェントが、どのような順序で、どのような制約のもとで行動すべきかを決定します。A2Aは、オーケストレータが使用できる通信層を提供します。
- Function calling and tool use: 関数呼び出しは特定のエージェント操作を起動します。A2Aリクエストは、リモートエージェントが独自に計画して完了する、より広範な目標を委任することができます。
現実世界のAIおよびコンピュータービジョンのアプリケーション#
製造検査: コーディネーターエージェントは、生産画像を専門の computer vision エージェントに送信できます。そのエージェントは欠陥検出を実行し、注釈付き画像と構造化された調査結果を成果物として返します。その後、コーディネーターは確認された障害をメンテナンスエージェントに委任し、不確実なケースを人間によるレビューにルーティングすることができます。
小売在庫管理: 店舗運営エージェントは、ビジョンエージェントに棚の画像を検査し、製品を数え、空きスペースを特定するように依頼できます。次に、それらの観察結果を、在庫記録を確認する在庫エージェントや補充リクエストを準備する調達エージェントに送信できます。A2Aは、モデル、ソースコード、またはプライベートな内部コンテキストを共有することを要求せずに、これらのエージェントの相互運用性を維持します。
これらのワークフローにおいて、チームは Ultralytics Platform を使用して視覚データセットのアノテーション、モデルのトレーニング、推論エンドポイントのデプロイ、およびエージェントによって呼び出される認識サービスの監視を行うことができます。
コンピュータービジョンエージェントの例#
以下のドキュメント化された Ultralytics YOLO prediction workflow は、リモートビジョンエージェント内の認識ステップを表しています。
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("vision_artifact.jpg")
# Perform the remote agent's visual analysis
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))
print(output_path)ここでは、 Ultralytics YOLO26 が視覚的推論を実行し、アノテーション付き画像を作成します。A2Aサーバーは、その画像を成果物として返す一方で、マシンリーダブルな検出結果を個別に返すことができます。プロトコルは結果を転送および追跡しますが、ビジョンモデルを置き換えるわけではありません。
設計とセキュリティに関する考慮事項#
A2Aの相互運用性は、マルチエージェントシステムを自動的に安全または信頼性の高いものにするわけではありません。開発者は、エージェントカードの検証、すべての呼び出し元の認証、スキルごとのアクセスの承認、委任された権限の制限、およびリモート出力を信頼できない入力として扱う必要があります。プロトコルの enterprise implementation guidance では、HTTPS、OAuthベースの認証、最小特権の承認、ログ記録、トレーシング、データの最小化などの確立されたウェブコントロールが推奨されています。(a2a-protocol.org)
本番システムでは、タイムアウト、リトライポリシー、タスクのキャンセル、べき等操作、および重要なアクションに対する人間の承認も定義する必要があります。Ultralytics Platform deployment monitoring を通じてリクエストのエラー、レイテンシ、およびエンドポイントの正常性を監視することは、チームがビジョン有効化されたエージェントワークフローにおける障害が協調エージェント全体に伝播する前に特定するのに役立ちます。






