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
390
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
北海道の地名をAIは読めるのか
ryuki0947
1
150
AgentCore Harness × AgentCore Browser × Live View
ryuki0947
1
120
VPCとも向き合いたい2026(年度)
ryuki0947
0
340
Strands Agents × AWS DevOps Agent 〜自作エージェントに組み込んでみた〜
ryuki0947
0
90
AI-DLCを試してみて困ったことを共有したい
ryuki0947
0
490
Claude Codeに要件をヒアリングしてもらった体験がかなり良かった(2026年版)
ryuki0947
0
510
Qiita 週1投稿を1年間完走した感想
ryuki0947
0
65
AWS × LINE で始める FinOps ~Terraform を添えて~
ryuki0947
0
170
A2A のトレース事情 〜親子エージェントの動きをLangfuseで可視化してみる〜
ryuki0947
1
640
Featured
See All Featured
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
Code Review Best Practice
trishagee
74
20k
Measuring Dark Social's Impact On Conversion and Attribution
stephenakadiri
2
260
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.5k
The browser strikes back
jonoalderson
0
1.5k
Docker and Python
trallard
47
4.1k
Building a Scalable Design System with Sketch
lauravandoore
463
34k
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
620
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
380
Ecommerce SEO: The Keys for Success Now & Beyond - #SERPConf2024
aleyda
1
2.1k
The Curious Case for Waylosing
cassininazir
1
480
Abbi's Birthday
coloredviolet
3
9.5k
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