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
320
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-DLCを試してみて困ったことを共有したい
ryuki0947
0
360
Claude Codeに要件をヒアリングしてもらった体験がかなり良かった(2026年版)
ryuki0947
0
450
Qiita 週1投稿を1年間完走した感想
ryuki0947
0
55
AWS × LINE で始める FinOps ~Terraform を添えて~
ryuki0947
0
150
A2A のトレース事情 〜親子エージェントの動きをLangfuseで可視化してみる〜
ryuki0947
1
600
継続してアウトプットするヒントになる...かもしれない話
ryuki0947
0
100
AWS re:Invent 2025 振り返り 〜初海外が re:Invent な私の感想〜
ryuki0947
0
1.5k
AWS DevOps Agent 入門 〜プレビュー期間に触ってみる〜
ryuki0947
2
110
気軽に始めるアウトプット活動
ryuki0947
1
510
Featured
See All Featured
Tell your own story through comics
letsgokoyo
1
950
Effective software design: The role of men in debugging patriarchy in IT @ Voxxed Days AMS
baasie
0
390
A Soul's Torment
seathinner
6
2.9k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
840
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
360
30k
DBのスキルで生き残る技術 - AI時代におけるテーブル設計の勘所
soudai
PRO
65
55k
The Cult of Friendly URLs
andyhume
79
6.9k
Designing for Performance
lara
611
70k
Producing Creativity
orderedlist
PRO
348
40k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
220
Visual Storytelling: How to be a Superhuman Communicator
reverentgeek
2
550
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