Upgrade to Pro — share decks privately, control downloads, hide ads and more …

A2Aのクライアントを自作する

 A2Aのクライアントを自作する

2025/06/25
#さくらのAI Meetup「Agent2Agent(A2A)」

Avatar for Ryunosuke Iwai

Ryunosuke Iwai

June 25, 2025
Tweet

More Decks by Ryunosuke Iwai

Other Decks in Technology

Transcript

  1. Ryunosuke Iwai / @ryunosuke
 経歴
 株式会社メルカリ、Cloudbase株式会社
 現在、フリーランスとして活動中
 技術領域 
 SRE

    / インフラ / バックエンド / アーキテクチャ
 主にデータパイプラインの設計など
 Go, Python, terraform, Datadog, Cloud, Github Actions
 趣味
 LLMにFactorioを遊ばせてみた

  2. 広義のA2Aクライアント
 • Agent to Agent、User to Agentの双方を含む
 • A2Aサーバーに対して接続を行うクライアントの立場を表す言葉
 •

    ツールキットが公式SDKによって提供されている
 ◦ https://github.com/a2aproject/a2a-python
 A2Aの設計思想 

  3. a2a.Part
 • A2Aでは3つのデータ型が用意されている
 ◦ TextPart: text
 ◦ DataPart: json
 ◦

    FilePart (FileWithBytes, FileWithUri): 画像などその他全て
 • ユーザーからのメッセージを適切なPartに変換し、メッセージにして返す
 ◦ 画像のダウンロードなど
 A2Aに送るメッセージを作る 

  4. イベントの処理
 • streamで流れてくるイベントは次の4つ
 ◦ Message
 ◦ TaskStatusUpdateEvent
 ◦ TaskArtifactUpdateEvent
 ◦

    Task
 • それぞれについて、適切に処理する
 ◦ 多くの場合、メッセージを変換してユーザーに送信すること
 U2Aクライアントを実装する 
 

  5. 考えるべきことまとめ
 • エージェントに送るメッセージを作る
 ◦ トリガーとメッセージの変換
 • スレッディング
 ◦ task_idとcontext_id
 •

    エージェントからのイベントを適切に処理する
 ◦ 4つのイベント (Message / TaskStatusUpdateEvent / TaskArtifactUpdateEvent / Task) の適切なハンドリング
 イベントの処理 

  6. A2Aは、次世代のサーバー規格になる
 • これまでのサーバーがHTMLを配信していたように、これからはサーバーがエー ジェントを配信するようになる
 ◦ エージェント時代のindex.html = Agent Card
 •

    A2Aは、「エージェントのインターネット」を実現する技術
 ◦ ネットサーフィンは、エージェントサーフィンへ
 ◦ いろんなエージェントに「聞き込み」をしながら情報を集める
 A2Aの未来