
Agent2Agent å ¥é (3) - ããŒã³ã³ã»ãã
ãAgent2Agentãã®ããŒã³ã³ã»ããããŸãšããŸããã
åå
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ãã§ãšãŒãžã§ã³ããæ€åºããããåãããæ¹æ³ãçè§£ããŸãã
3-2. Task
ã¯ã©ã€ã¢ã³ãããšãŒãžã§ã³ãã«ã¡ãã»ãŒãžãéä¿¡ãããšããšãŒãžã§ã³ãã¯ãªã¯ãšã¹ããåŠçããã«ã¯ã¹ããŒããã«ãªãTaskã (äŸ : ãã¬ããŒãã®äœæãããèªç©ºåžã®äºçŽããã質åãžã®åçã) ãå®äºããå¿ èŠããããšå€æããå ŽåããããŸãã
åã¿ã¹ã¯ã«ã¯ãšãŒãžã§ã³ãã«ãã£ãŠå®çŸ©ãããäžæã®IDãä»äžãããå®çŸ©ãããã©ã€ããµã€ã¯ã« (äŸ : submitted, working, input-required, completed, failed) ã«åŸã£ãŠåŠçãé²ããããŸãã
ã¿ã¹ã¯ã¯ã¹ããŒããã«ã§ãããã¯ã©ã€ã¢ã³ããšãµãŒãéã§è€æ°ã®ã¡ãã»ãŒãžäº€æãè¡ãããå ŽåããããŸãã
3-3. Message
ãMessageãã¯ãã¯ã©ã€ã¢ã³ããšãšãŒãžã§ã³ãéã®éä¿¡ã®1ã¿ãŒã³ã衚ããŸãã
ãMessageãã«ã¯ãroleã (ã¯ã©ã€ã¢ã³ãã¯ãuserãããµãŒãã¯ãagentã) ããããå®éã®ã³ã³ãã³ããéã¶1ã€ä»¥äžã®ãPartããå«ãŸããŸããMessageã®messageIdã¯ãMessageã®éä¿¡è ãèšå®ããåã¡ãã»ãŒãžã®äžæã®èå¥åã§ãã
å¿ ãããæ£åŒãªãArtifactãã§ã¯ãªãæç€ºãã³ã³ããã¹ãã質åãåçããŸãã¯ã¹ããŒã¿ã¹æŽæ°ãäŒããããã«äœ¿çšãããŸãã
3-4. Part
ãPartãã¯ããMessageããŸãã¯ãArtifactãå ã®ã³ã³ãã³ãã®åºæ¬åäœã§ããåPartã«ã¯ç¹å®ã®ã¿ã€ãããããç°ãªãçš®é¡ã®ããŒã¿ãéã¶ããšãã§ããŸãã
ã»TextPart
ãã¬ãŒã³ããã¹ãã³ã³ãã³ããå«ãŸããŸãã
ã»FilePart
ãã¡ã€ã«ã衚ããŸããã€ã³ã©ã€ã³ã®Base64ãšã³ã³ãŒãããããã€ããšããŠéä¿¡ããããURIçµç±ã§åç §ãããã§ããŸãããã¡ã€ã«åãã¡ãã£ã¢ã¿ã€ããªã©ã®ã¡ã¿ããŒã¿ãå«ãŸããŸãã
ã»DataPart
æ§é åãããJSONããŒã¿ãéã³ãŸãããã©ãŒã ããã©ã¡ãŒã¿ããŸãã¯æ©æ¢°å¯èªãªæ å ±ã«äŸ¿å©ã§ãã
3-5. Artifact
ãArtifactãã¯ãã¿ã¹ã¯åŠçäžã«ãªã¢ãŒããšãŒãžã§ã³ãã«ãã£ãŠçæãããå ·äœçãªåºåãŸãã¯çµæã衚ããŸãã
äŸãšããŠã¯ãçæãããããã¥ã¡ã³ããç»åãã¹ãã¬ããã·ãŒããæ§é åããŒã¿ã®çµæããŸãã¯ã¿ã¹ã¯ã®çŽæ¥çãªçµæãšããŠåŸããããã®ä»ã®èªå·±å®çµçãªæ å ±ãªã©ãæããããŸãã
ãArtifactsãã¯1ã€ä»¥äžã®ãPartãã§æ§æãããæ®µéçã«ã¹ããªãŒãã³ã°ã§ããŸãã
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 ãšãŒãžã§ã³ã ã·ã¹ãã ãæ§ç¯ã§ããŸãã