Agent2Agent Protocol
Agent2Agent Protocol (A2A)によって、AIエージェントがUltralytics YOLO26を活用しながら、フレームワーク間で安全に相手を検出し、通信し、タスクを委任して連携する方法を学びます。
エージェント間プロトコル(A2A)は、独立したAIエージェントが互いを発見し、リクエストを交換し、作業を委任して、異なるフレームワーク、ベンダー、組織間で結果を返せるようにするオープンな通信標準です。エージェントの内部メモリ、推論プロセス、ツールを公開するのではなく、A2Aは連携のための共通インターフェースを提供します。これにより、専門化されたエージェントがそれぞれ独立して実装・運用されながら、より大きな目標に貢献する分散型のAIエージェントシステムの構築に役立ちます。
エージェント間プロトコルの仕組み#
A2Aプロトコルの公式概要では、作業を依頼するクライアントエージェントと、その作業を実行するリモートエージェント間のやり取りを定義しています。通信には、非公式なアプリケーション固有のメッセージではなく、HTTPベースのインターフェースと構造化されたプロトコルオブジェクトを使用します。(a2a-protocol.org)
一般的なやり取りには、次の要素が含まれます。
- エージェントカードと検出: エージェントカードは、エージェントのID、エンドポイント、サポートする機能、認証要件、スキルを記述したJSONです。クライアントエージェントはこれを使って、リモートエージェントがタスクを処理できるかどうかを判断します。
- メッセージ: リクエスト、指示、コンテキスト、応答は、テキスト、ファイル、または構造化データを含むメッセージとして表現されます。
- タスク: タスクは、識別子とステータスを持つステートフルな作業単位です。文書化されたA2Aタスクのライフサイクルでは、完了、失敗、追加情報の要求、キャンセルが発生する可能性のある作業に対応しています。
- アーティファクト: レポート、画像、動画、JSONレコードなどの具体的な出力は、会話テキストに混在させず、アーティファクトとして返されます。
- ストリーミングと非同期処理: 実行時間の長いエージェントは、段階的な更新をストリーミングしたり、ポーリングに対応したり、Webhookを通じてクライアントに通知したりできます。
基盤となるリクエスト形式は、JSON-RPC 2.0仕様に準拠しており、実装間で一貫したメソッド、パラメーター、応答、エラーの構造を提供します。
A2Aと関連エージェント技術の比較#
A2Aはエージェント間の通信を扱いますが、エージェント型システムのすべての要素を定義するものではありません。
- モデルコンテキストプロトコル: MCPは主に、エージェントをツール、データソース、リソースに接続します。A2Aは、ある自律型エージェントを別のエージェントに接続します。A2AとMCPに関する公式ガイダンスでは、2つのプロトコルを競合するものとして扱うのではなく、併用する方法を説明しています。(a2a-protocol.org)
- エージェントスキル: スキルは、エージェントが専門的な作業を実行するのに役立つ、再利用可能な指示と手順をまとめたものです。エージェントカードはリモート連携に利用できる機能を提示し、Ultralytics Agent Skillsは、互換性のあるコーディングエージェントを、文書化されたコンピュータービジョンのワークフローに沿ってガイドします。
- AIエージェントのオーケストレーション: オーケストレーションは、どのエージェントが、どの順番で、どのような制約のもとで動作するかを決定します。A2Aは、オーケストレーターが利用できる通信レイヤーを提供します。
- 関数呼び出しとツールの使用: 関数呼び出しは、特定の処理を実行します。A2Aリクエストでは、リモートエージェントが独自に計画して完了する、より広範な目標を委任できます。
実世界のAIとコンピュータービジョンへの応用#
製造検査: 調整役のエージェントは、生産画像を専門のコンピュータービジョンエージェントに送信できます。そのエージェントは欠陥検出を実行し、注釈付き画像と構造化された検出結果をアーティファクトとして返します。その後、調整役のエージェントは、確認済みの不具合を保守エージェントに委任し、不確実なケースを人間によるレビューに回すことができます。
小売在庫管理: 店舗運営エージェントは、ビジョンエージェントに棚の画像を確認し、商品を数え、空きスペースを特定するよう依頼できます。次に、その観察結果を在庫記録を確認する在庫エージェントと、補充依頼を作成する調達エージェントに送信できます。A2Aにより、エージェント間でモデル、ソースコード、非公開の内部コンテキストを共有する必要なく、相互運用性を確保できます。
これらのワークフローでは、チームはUltralytics Platformを使用して、ビジュアルデータセットにアノテーションを付け、モデルをトレーニングし、推論エンドポイントをデプロイし、エージェントが呼び出す認識サービスを監視できます。
コンピュータービジョンエージェントの例#
次に示す、文書化されたUltralytics YOLOの推論ワークフローは、リモートビジョンエージェント内の認識ステップを表しています。
from pathlib import Path
from ultralytics import YOLO
source = "https://ultralytics.com/images/bus.jpg"
output_path = Path("vision_artifact.jpg")
# リモートエージェントの画像分析を実行します
model = YOLO("yolo26n.pt")
results = model(source)
result = results[0]
result.save(filename=str(output_path))
print(output_path)ここでは、Ultralytics YOLO26が画像推論を実行し、注釈付き画像を作成します。A2Aサーバーは、その画像をアーティファクトとして返すと同時に、機械可読な検出結果を個別に返すことができます。プロトコルは結果を転送して追跡しますが、ビジョンモデルの代わりにはなりません。
設計とセキュリティに関する考慮事項#
A2Aによる相互運用性だけで、マルチエージェントシステムの安全性や信頼性が自動的に確保されるわけではありません。開発者は、エージェントカードを検証し、すべての呼び出し元を認証し、スキルごとにアクセスを認可し、委任する権限を制限し、リモート出力を信頼できない入力として扱う必要があります。このプロトコルのエンタープライズ実装ガイダンスでは、HTTPS、OAuthベースの認証、最小権限の原則に基づく認可、ログ記録、トレーシング、データ最小化など、確立されたWebセキュリティ対策を推奨しています。(a2a-protocol.org)
本番システムでは、タイムアウト、リトライポリシー、タスクのキャンセル、冪等な操作、影響の大きいアクションに対する人間の承認も定義する必要があります。Ultralytics Platformのデプロイ監視を通じてリクエストエラー、レイテンシ、エンドポイントの健全性を監視すると、ビジョンを活用したエージェントワークフローの障害が連携するエージェント間に波及する前に、チームが特定するのに役立ちます。









