Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
A2A においてエージェント同士はどのようにやりとりしているのか
Search
ryu-ki
February 07, 2026
380
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
A2A においてエージェント同士はどのようにやりとりしているのか
ryu-ki
February 07, 2026
More Decks by ryu-ki
See All by ryu-ki
AgentCore Harness × AgentCore Browser × Live View
ryuki0947
1
110
VPCとも向き合いたい2026(年度)
ryuki0947
0
330
Strands Agents × AWS DevOps Agent 〜自作エージェントに組み込んでみた〜
ryuki0947
0
88
AI-DLCを試してみて困ったことを共有したい
ryuki0947
0
470
Claude Codeに要件をヒアリングしてもらった体験がかなり良かった(2026年版)
ryuki0947
0
500
Qiita 週1投稿を1年間完走した感想
ryuki0947
0
64
AWS × LINE で始める FinOps ~Terraform を添えて~
ryuki0947
0
160
A2A のトレース事情 〜親子エージェントの動きをLangfuseで可視化してみる〜
ryuki0947
1
640
継続してアウトプットするヒントになる...かもしれない話
ryuki0947
0
120
Featured
See All Featured
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.3k
Become a Pro
speakerdeck
PRO
31
6.2k
Making the Leap to Tech Lead
cromwellryan
135
10k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
32
4.3k
Test your architecture with Archunit
thirion
1
2.3k
Ruling the World: When Life Gets Gamed
codingconduct
0
300
WENDY [Excerpt]
tessaabrams
11
39k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9.2k
HDC tutorial
michielstock
2
790
The Invisible Side of Design
smashingmag
301
52k
Measuring & Analyzing Core Web Vitals
bluesmoon
9
960
Abbi's Birthday
coloredviolet
3
9.3k
Transcript
〜10分でおおまかに理解する〜 2026/02/09 JAWS-UG 栃木 オフライン #6 -1周年感謝祭- A2A においてエージェント同士はどのように やりとりしているのか
A2A というプロトコルを 聞いたことがありますか? 2
今日お話しすること 3
今日お話しすること A2A について そもそもどういったものなのか – A2A におけるエージェント間のやりとりの仕組み 大まかな概要 – Strands
Agents で実装する際の仕組み – デモ Langfuse を用いたトレースの様子を確認 – 4
A2A の概要 5
A2A(Agent2Agent) とは ※詳細は A2A Protocol をご参照ください AIエージェント間の通信プロトコル 2025年4月にGoogleが発表 – 現在は
Linux Foundation のプロジェクトに – 目的 異なるフレームワークで作られたエージェント同士の通信を実現 – 主な要素 AgentCard、Task、Message、Part、Artifact の5つ – 6
やりとりの仕組み 7
A2Aプロトコルは 2ステップ 8
A2Aプロトコルは 2ステップ Phase やること HTTP Discovery 相手を知る GET /.well-known/agent.json Message
仕事を頼む POST / Agent Card(名刺)でエージェントの情報を取得 HTTP で JSON メッセージを送り合う 9
Agent Card = エージェントの名刺 { "name": "Strands Agent専門エージェント", "description": "Strands
Agentsフレームワークに関する質問に回答する", "url": "http://localhost:9001/", "skills": [ { "name": "search_docs", "description": "公式ドキュメントを検索する" } ], "default_input_modes": ["text"], "default_output_modes": ["text"] } name , description → LLM が「このエージェントに聞くべきか」を判断する材料 skills → エージェントが持つツールから自動生成される 10
Strands Agents で実装すると? 11
今日のデモ構成 12
子エージェントの実装(A2A Server 側) # child_agent_strands.py agent = Agent( model=model, system_prompt=SYSTEM_PROMPT,
tools=[mcp_client], name="Strands Agent専門エージェント", description="Strands Agentsフレームワークに…", ) a2a_server = A2AServer(agent=agent, port=9001, ...) app.mount("/", a2a_server.to_fastapi_app()) name と description を書くだけで Agent Card が自動生成される A2AServer が Agent を HTTP エンドポイントに変換 13
親エージェントの実装(A2A Client 側) # parent_agent.py agent_urls = [ "http://localhost:9001", #
Strands Agent専門エージェント "http://localhost:9002", # LangChain専門エージェント ] a2a_tool_provider = A2AClientToolProvider(known_agent_urls=agent_urls) agent = Agent( model=model, system_prompt=SYSTEM_PROMPT, tools=a2a_tool_provider.tools, # ← A2Aツールが渡される ) A2Aツール a2a_list_discovered_agents → 名刺を取りに行く – a2a_send_message → メッセージを送る – 14
実際の通信シーケンス 15
実際に確認してみる(デモ) 16
Langfuse について ※詳細は Langfuse -日本語ガイド- をご参照ください LLM アプリ開発に特化したオープンソースの観測・分析プラットフォーム 主な機能 モニタリング
– アナリティクス – デバッグ – その他、プロンプトの管理などもいい感じにできます – 17
まとめ 18
まとめ A2A について そもそもどういったものなのか – A2A におけるエージェント間のやりとりの仕組み 大まかな概要 – Strands
Agents で実装する際の仕組み – デモ Langfuse を用いたトレースの様子を確認 – 19
まとめ A2A について (フレームワークによらない)AIエージェント間の通信プロトコル – A2A におけるエージェント間のやりとりの仕組み Agent Card でエージェントの情報を取得・HTTPでやり取り
– A2AServer , A2AClientToolProvider により簡単に実装できる – デモ 説明した通りの仕組みであることを確認できた – ※トレースの詳細は 2/17 Bedrock Night で話す予定です – 20
ご清聴ありがとうございました 質問・フィードバックお待ちしています 21