145 Views
January 24, 26
スライド概要
2026年1月24日開催された.NETラボ 勉強会 2026年1月の登壇資料です。
https://dotnetlab.connpass.com/event/374748/
A2Aについて解説しつつ、A2Aを使ったアプリケーションを提供するにはどうすれば良いか説明しました。
スライド内にあるリンク
会社公式プロフィール
https://www.iret.co.jp/topengineer/member/yamada/?award=google-cloud-partner-top-engineer
Dapr Durable AI Agent Workflow Framework
https://www.youtube.com/watch?v=VLRg4TKtLBc
Building Agent-to-Agent (A2A) Applications on Azure App Service
https://techcommunity.microsoft.com/blog/appsonazureblog/building-agent-to-agent-a2a-applications-on-azure-app-service/4433114
Azure Kubernetes Service (AKS) を使用したポッドのサンドボックス化
https://learn.microsoft.com/ja-jp/azure/aks/use-pod-sandboxing
GKE Sandbox
https://docs.cloud.google.com/kubernetes-engine/docs/concepts/sandbox-pods?hl=ja
Building AI Agents with the A2A .NET SDK | Microsoft Foundry Blog
https://devblogs.microsoft.com/foundry/building-ai-agents-a2a-dotnet-sdk/
A2A 統合 | Microsoft Learn
https://learn.microsoft.com/ja-jp/agent-framework/user-guide/hosting/agent-to-agent-integration?tabs=dotnet-cli%2Cuser-secrets
Implementing A2A protocol in NET: A Practical Guide
https://techcommunity.microsoft.com/blog/azuredevcommunityblog/implementing-a2a-protocol-in-net-a-practical-guide/4480232
AIによる要約
本資料では、AIエージェント間の連携を実現するA2Aプロトコルと、従来のMCPとの違いを説明します。A2Aはツール中心ではなく、ワークフロー中心の対話的なアプローチを提供し、大規模マルチエージェントシステムの課題に対応します。プロトコルの主な機能としてエージェントオーケストレーション、Discovery、JSON‑RPC over HTTP、タスク分解による専門性の分担、宣言的定義などがあります。また、Kubernetes と Azure の各 PaaS(App Service、Container Apps、Functions)を組み合わせることで、スケーラブルかつ観測可能なシステムを構築できることを示しています。.NET エコシステムは Aspire、Dapr、A2A SDK などを通じて必要な機能を備えており、マイクロサービスアーキテクチャ上で A2A を最大限活用できる環境が整っています。
Cloud Developer,404ニキ,Microsoft MVP,LINE API Expert,PagerDuty Ambassador,Google Cloud PTE/Tech Influencer,AWS Community Builder, #AIDD #AI駆動開発 #dotnetlab 投稿は個人の見解, #AzPoC
.NETとA2Aプロトコルの現在地 .NETラボ 勉強会 2026年1月 1
自己紹介 山田顕人(Kento.Yamada) @ymd65536 仕事:クラウドインテグレーション開発 ロール:マルチクラウドデベロッパー 活動:.NETラボ勉強会の運営、AI運用勉強会の運営 受賞歴(9つある。最近の受賞だけ掲載) New! 初代PagerDutyアンバサダー Google Cloud Partner Top Engineer 2026 Serverless App Depolyment Google Cloud Partner Tech Influencer Challenge 2025 マルチメディア 賞 2
余談:公式の会社プロフィールができました https://www.iret.co.jp/topengineer/member/yamada/?award=google-cloud-partner-top-engineer 3
余談: nanoFrameworkを使ってスタックチャンを作りました。 4
前回の話(2025年12月 ラボのLTにて) 3行で要約: ● A2AやるならAIエージェントをオーケストレーションしなよ ● AIエージェント間の通信はサービスメッシュ、マイクロサービスになるやろ? ● 本格的にやるならKubernetesでやるべきなんじゃね?そうに違いない! ついでに.NETが10になったこととGoogle GenAI SDKに.NETが出た話 6
2026年こそA2Aをやるべきだ! いまだに 全人類がMCPをやっている。。。 気がする!! ※MCP is “Model Context Protocol” 7
結論:A2Aって難しくね? A2A is difficult A2Aによるエージェント運用って 難しくないですか?←今日はこの話 8
A2Aの概要(3行で説明) ● MCPを補完するAIエージェント用のプロトコル ● 大規模なマルチエージェント システム導入の課題に対応するよう設計 ● 現在はLinux Foundation 傘下 英語では以下のように説明 Open standard designed to enable seamless communication and collaboration between AI agents. 引用: https://a2a-protocol.org/latest/ 9
どうしてA2Aなんですか?MCPでよくないですか? 結論: MCPではAIエージェントに対話・組織中心的な考え方を与えられない。 ● MCPはAIエージェントに道具を与える(ツール中心的な考え方) ● A2AはAIエージェントにワークフローを与える(対話・組織中心的な考え方) (次のスライドで図解しつつ、プロトコルにおける課題も見てみよう) 10
MCPはAIエージェントに道具を与える (ツール中心的な考え方) 修理 購入 AIエージェント 掃除 AIエージェントに機能を持たせて役割を担う。足りないならばMCPで追加する。 接点はツールのエンドポイント。しかし、この構造には課題がある。 11
MCP(ツール中心的な考え方)における課題 修理 購入 AIエージェント 掃除 ツールをたくさん持つことでAIエージェントの性能評価・試験は難しくなる。 AIエージェントがいくつのツールを持っているのかを観測できない。 12
補足:AIエージェントの性能検証にはツールに関するこ とも含まれる 抜粋:さまざまなAgent FrameworkとAIエージェントの評価(P20) https://www.docswell.com/s/ymd65536/5VMNWL-ms-agent-framework-eval-2025-10-25#p20 13
A2AはAIエージェントにワークフローを与える (対話・組織中心的な考え方) 修理エージェント 購入エージェント AIエージェント (司令塔) 掃除エージェント 司令塔となるAIエージェントは道具を持たない。他のエージェントが役割を担う。 接点はツールのエンドポイントではなく、AIエージェント。しかし、この構造にも課題がある。 14
A2A(対話・組織中心的な考え方)における課題 修理エージェント 購入エージェント AIエージェント (司令塔) 掃除エージェント 司令塔のAIエージェントがエージェントを呼ぶだけでなく、他のエージェントが他のエージェントを呼 ぶという複雑さもある。それはまるでマイクロサービスをテストするときのような難しさ! 15
いずれにしてもマイクロサービス的なアプローチが必要 16
A2Aの特徴にフォーカスしてみていこう 機能 エージェントオーケストレーション (A2A) 最小単位 Agent (Task / Artifact) 発見 (Discovery) Agent Card (能力のメタデータ) 通信規約 JSON-RPC 2.0 over HTTP スケーリング 専門性の分担 (タスク分解ベース) 宣言的定義 Agent Card / Task Definition 17
A2Aの機能を活用するために必要なこと ● ● ● ● マイクロサービスアーキテクチャ サービスディスカバリ オブザーバビリティ RPC 👉それはKubernetesではないですか??? AspireとDaprも使えるんじゃね? 👉 RPCって.NETの得意分野でもあるよね?!! 順番に見ていこう 18
KubernetesとA2Aの関係性 機能 Kubernetes A2A 最小単位 Pod / Container Agent (Task / Artifact) 発見 Service / DNS Agent Card (能力のメタデータ) 通信規約 HTTP / gRPC / Service Mesh JSON-RPC 2.0 over HTTP スケーリング HPA (負荷ベース) 専門性の分担 (タスク分解ベース) 宣言的定義 YAML (Manifest) Agent Card / Task Definition 19
補足:Dapr Durable AI Agent Workflow Framework 参考:https://www.youtube.com/watch?v=VLRg4TKtLBc 24
これまでの話を踏まえて.NETとA2Aプロトコルの現在地 今の.NETとAzureってAspire、Dapr、Kubernetes全部揃っているってことは A2Aをつかったマルチエージェントシステムができるんじゃない? ※ここで思う:PaaSでServerlessならみんなはAzure Functionsで作るよなぁ? 25
.NETを使った場合、どんなサービスを使うか ここまでくるとPaaSのインフラが最適解 ● 高速に開発する:Azure App Service ● Containerベースで開発する:Azure Container Apps ● Serverlessなら:Azure Functions + 愉快な機能群 となるんだけどもPaaSを使わない/利用できない場合ってどんな状況? 👉運用コストやサンドボックスを気にするならKubernetesまで持っていける。 26
高速に開発する:Azure App Service 引用 :https://techcommunity.microsoft.com/blog/appsonazureblog/building-agent-toagent-a2a-applications-on-azure-app-service/4433114 27
補足:AKSではkatacontainers AKSのPodサンドボックス ● AKS 用の Azure Linux コンテナー ホスト ● Microsoft Hyper-V ハイパーバイザー ● オープンソースの Cloud Hypervisor 仮想マシン モニター (VMM) 引用:https://learn.microsoft.com/ja-jp/azure/aks/use-pod-sandboxing 28
補足:GKEならgVisor(GKE Sandbox)が有効 引用:GKE Sandbox https://docs.cloud.google.com/kubernetes-engine/docs/concepts/sandbox-pods?hl=ja 29
.NET SDKとA2A 引用:Building AI Agents with the A2A .NET SDK | Microsoft Foundry Blog https://devblogs.microsoft.com/foundry/building-ai-agents-a2a-dotnet-sdk/ 30
Microsoft Agent FrameworkとA2A 引用:A2A 統合 | Microsoft Learn https://learn.microsoft.com/ja-jp/agent-framework/user-guide/hosting/agent-to-agent-integration?tabs=dotnet-cli%2Cuser-secrets 31
.NETとA2A(今年の初めに投稿されたblog) 引用:Implementing A2A protocol in NET: A Practical Guide https://techcommunity.microsoft.com/blog/azuredevcommunityblog/implementing-a2a-protocol-in-net-a-practical-guide/4480232 32
まとめ ● A2Aは時代を先取りしているプロトコルに見えて実はみんな知っていた ● A2AとMCPはたしかに違う。それは思想がそのものが違うよ ● A2Aを最大限活かすならマイクロサービスでKubernetes / PaaSを活用せよ .NETではA2Aを活かすための機能とエコシステムが確立されている! (AspireとDapr、改めて内容を振り返るとA2Aの組み合わせはヤヴァイ) 33
オチ: 今回聞いた内容を踏まえて思う マルチエージェントのAIシステムって結局は複雑な概念が多すぎるから プラットフォームエンジニアリングに返り咲くよね。 プラットフォームエンジニアリング イズ デッドと聞いたけど嘘でしょ絶対! ということで次はそのあたりの話 34
次回予告 ● .NETラボ 勉強会 2026年2月 35
おわり 36