メむンコンテンツぞスキップ
芋出し画像

Agent2Agent 入門 (3) - キヌコンセプト

    「Agent2Agent」のキヌコンセプトをたずめたした。

    ・Key Concepts in A2A

    前回

    1. はじめに

    「Agent2Agent」(A2A)は、゚ヌゞェント間の盞互䜜甚を定矩する䞀連のコアコンセプトに基づいお構築されおいたす。

    画像

    2. コアアクタヌ

    2-1. ナヌザヌ

    リク゚ストを開始する゚ンドナヌザヌ (人間たたは自動サヌビス) です。

    2-2. A2Aクラむアント (クラむアント゚ヌゞェント)

    ナヌザヌに代わっおリモヌト゚ヌゞェントにアクションたたは情報を芁求するAI゚ヌゞェントです。クラむアントはA2Aを䜿甚しお通信を開始したす。

    2-3. A2Aサヌバ (リモヌト゚ヌゞェント)

    A2Aを実装したHTTP゚ンドポむントを公開するAI゚ヌゞェントです。クラむアントからのリク゚ストを受け取り、タスクを凊理し、結果たたはステヌタスの曎新を返したす。リモヌト゚ヌゞェントはクラむアントの芳点からはブラックボックスずしお動䜜したす。぀たり、クラむアントはリモヌト゚ヌゞェントの内郚動䜜、メモリ、ツヌルに぀いお知る必芁はありたせん。

    3. 基本的なコミュニケヌション芁玠

    3-1. Agent Card

    「Agent Card」は、A2Aサヌバの情報を蚘述するJSONです。通垞は既知のURL (䟋 : /.well-known/agent.json) で怜出したす。

    ゚ヌゞェントID (名前、説明)、サヌビス゚ンドポむントURL、バヌゞョン、サポヌトされおいるA2A機胜、提䟛されるスキル、デフォルトの入出力方匏、認蚌芁件などが蚘述されおいたす。

    クラむアントは「Agent Card」で゚ヌゞェントを怜出し、やり取りする方法を理解したす。

    ・Protocol Specification: Agent Card

    3-2. Task

    クラむアントが゚ヌゞェントにメッセヌゞを送信するず、゚ヌゞェントはリク゚ストを凊理するにはステヌトフルな「Task」 (䟋 : 「レポヌトの䜜成」、「航空刞の予玄」、「質問ぞの回答」) を完了する必芁があるず刀断する堎合がありたす。

    各タスクにぱヌゞェントによっお定矩された䞀意のIDが付䞎され、定矩されたラむフサむクル (䟋 : submitted, working, input-required, completed, failed) に埓っお凊理が進められたす。

    タスクはステヌトフルであり、クラむアントずサヌバ間で耇数のメッセヌゞ亀換が行われる堎合がありたす。

    ・Life of a Task
    ・Task Object

    3-3. Message

    「Message」は、クラむアントず゚ヌゞェント間の通信の1タヌンを衚したす。

    「Message」には「role」 (クラむアントは「user」、サヌバは「agent」) があり、実際のコンテンツを運ぶ1぀以䞊の「Part」が含たれたす。MessageのmessageIdは、Messageの送信者が蚭定した各メッセヌゞの䞀意の識別子です。

    必ずしも正匏な「Artifact」ではない指瀺、コンテキスト、質問、回答、たたはステヌタス曎新を䌝えるために䜿甚されたす。

    ・Protocol Specification: Message Object

    3-4. Part

    「Part」は、「Message」たたは「Artifact」内のコンテンツの基本単䜍です。各Partには特定のタむプがあり、異なる皮類のデヌタを運ぶこずができたす。

    ・TextPart
    プレヌンテキストコンテンツが含たれたす。

    ・FilePart
    ファむルを衚したす。むンラむンのBase64゚ンコヌドされたバむトずしお送信したり、URI経由で参照したりできたす。ファむル名やメディアタむプなどのメタデヌタが含たれたす。

    ・DataPart
    構造化されたJSONデヌタを運びたす。フォヌム、パラメヌタ、たたは機械可読な情報に䟿利です。

    ・Protocol Specification: Part Union Type

    3-5. Artifact

    「Artifact」は、タスク凊理䞭にリモヌト゚ヌゞェントによっお生成される具䜓的な出力たたは結果を衚したす。

    䟋ずしおは、生成されたドキュメント、画像、スプレッドシヌト、構造化デヌタの結果、たたはタスクの盎接的な結果ずしお埗られるその他の自己完結的な情報などが挙げられたす。

    「Artifacts」は1぀以䞊の「Part」で構成され、段階的にストリヌミングできたす。

    ・Protocol Specification: Artifact Object

    4. 盞互䜜甚メカニズム

    4-1. リク゚スト/レスポンス (ポヌリング)

    ・クラむアントはリク゚ストを送信し (䟋message/send RPCメ゜ッドを䜿甚)、サヌバからのレスポンスを受け取りたす。
    ・やり取りにステヌトフルな長時間実行タスクが必芁な堎合、サヌバは最初に「working」ステヌタスで応答する可胜性がありたす。その埌、クラむアントはタスクが終了状態 (䟋completed, failed) に達するたで、定期的にtasks/getを呌び出しお曎新情報をポヌリングしたす。

    4-2. ストリヌミング (Server-Sent Events - SSE)

    ・段階的に結果を生成したり、リアルタむムで進行状況を曎新したりするタスク向けです。
    ・クラむアントは、message/stream を䜿甚しおサヌバずのやり取りを開始したす。
    ・サヌバは、開いたたたの HTTP 接続で応答し、その接続を介しお Server-Sent Events (SSE) のストリヌムを送信したす。
    ・これらのむベントは、Task、Message、TaskStatusUpdateEvent (ステヌタス倉曎の堎合)、たたは TaskArtifactUpdateEvent (新芏たたは曎新されたアヌティファクト チャンクの堎合) のいずれかです。
    ・この堎合、サヌバはAgent Cardでストリヌミング機胜をアドバタむズする必芁がありたす。
    ・詳しくは Streaming & Asynchronous Operations を参照しおください。

    4-3. プッシュ通知

    ・非垞に長時間実行されるタスクや、SSE などの氞続的な接続を維持するこずが困難なシナリオ向けです。
    ・クラむアントは、タスク開始時 (たたは tasks/pushNotificationConfig/set を呌び出す) に Webhook URL を提䟛できたす。
    タスクのステヌタスが倧幅に倉化した堎合 (completes, fails, requires input など)、サヌバはクラむアントが提䟛したこの Webhook に非同期通知 (HTTP POST リク゚スト) を送信できたす。
    ・そのためには、サヌバがAgent Cardで pushNotifications 機胜をアドバタむズする必芁がありたす。
    ・詳しくは Streaming & Asynchronous Operations を参照しおください。

    5. ゚ヌゞェントの応答タスクたたはメッセヌゞ

    詳しくは Life of a Task を参照しおください。

    6. その他の重芁な抂念

    ・コンテキスト (contextId)
    耇数の関連する Task オブゞェクトを論理的にグルヌプ化し、䞀連のむンタラクション党䜓にわたっおコンテキストを提䟛するために䜿甚できる、サヌバによっお生成される識別子です。

    ・トランスポヌトずフォヌマット
    A2A 通信は HTTP(S) 経由で行われたす。すべおのリク゚ストずレスポンスのペむロヌド圢匏ずしお、JSON-RPC 2.0 が䜿甚されたす。

    ・認蚌ず承認
    A2A は暙準的な Web セキュリティ手法に基づいおいたす。認蚌芁件ぱヌゞェントカヌドで宣蚀され、資栌情報 (OAuth トヌクン、API キヌなど) は通垞、A2A プロトコルメッセヌゞ自䜓ずは別に、HTTP ヘッダヌを介しお枡されたす。
    詳しくは Enterprise-Ready Features を参照しおください。

    ・゚ヌゞェント怜出
    クラむアントがAgent Cardを怜玢し、利甚可胜な A2A サヌバずその機胜を確認するプロセスです。
    詳しくは Agent Discovery を参照しおください。

    ・拡匵機胜
     A2A を䜿甚するず、゚ヌゞェントは AgentCard の䞀郚ずしおカスタムプロトコル拡匵機胜を宣蚀できたす。
    その他のドキュメントは近日公開予定です。

    これらのコア コンポヌネントずメカニズムを理解するこずで、開発者は A2A を効果的に蚭蚈、実装、掻甚し、盞互運甚性ず協調性に優れた AI ゚ヌゞェント システムを構築できたす。

    次回



     
     

    npaka

     
     
    プログラマヌ。iPhone / Android / Unity / ROS / AI / AR / VR / RasPi / ロボット / ガゞェット。幎2冊ペヌスで技術曞を執筆。アニ゜ン / カラオケ / ギタヌ / 猫 twitter : @npaka123

    あなたぞのおすすめ