0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

A2Aプロトコル(Agent2Agent)v1.0──150社が支えるエージェント間通信標準

0
Posted at

A2Aプロトコル(Agent2Agent)は、企業や組織をまたいだAIエージェント同士が直接対話するための通信規格である。SalesforceのCRMエージェントが、ServiceNowのITサービス管理エージェントに「この顧客の問い合わせを引き受けて」と業務を委任する──そのやり取りを担う標準だ。

2026年4月9日、Linux Foundationは1周年マイルストーンを発表した。1年前に50社余りで始まった標準が150社を超え、GitHubのスターは22,000、SDKはPythonから5言語に広がった。MCPに開発者体験で先を越され停滞したA2Aが、マルチエージェント時代のエンタープライズ要件と噛み合った経緯を、技術設計から追う。

「道具を渡すMCP」と「同僚と話すA2A」──階層の違い

A2Aが他のエージェント標準と何が違うかは、レイヤーで分けると掴みやすい。Anthropic主導のMCP(Model Context Protocol)は、エージェントを外部のツールやデータに繋ぐ仕様で、午後に動かせる簡素さで2025年に広がった。A2Aはその一段上に立ち、エージェント同士がベンダーをまたいで会話する場面を担う。CRMエージェントがGitHubを「ツールとして」触るのはMCP、CRMエージェントがITSMエージェントに「業務を委任する」のはA2A、と棲み分けがある。両者は競合ではなく相補で、ともにLinux Foundation配下に置かれている(MCPは2025年12月発足のAgentic AI Foundation配下、A2Aは独立プロジェクト)。

A2Aは2025年4月の初公開当時、認証・監査・「Opaque Execution(後述)」を内蔵する重い仕様で、個人開発者には敷居が高いとされた。しかし2026年に企業がエージェントを本番に乗せ始めると、同じ重さが要件に噛み合った。

HTTPとJSON-RPCの上に薄く乗っている

A2Aは新しい配管を作らない。トランスポートはHTTPS、メッセージはJSON-RPC 2.0、長尺タスクのストリーミングはServer-Sent Events(SSE、サーバから一方向にイベントを流し続ける仕組み)、エージェントの自己紹介は/.well-known/agent-card.jsonで公開する。Web開発者には馴染みの部品の組み合わせだ。

タスク寿命はSUBMITTED → WORKING → COMPLETEDで進む。住所などを追加で聞き直すときはINPUT_REQUIRED、OAuthトークン期限切れはAUTH_REQUIREDで会話を中断できる。SDKがイベントで公開するので、UI側は通常のフォーム再表示の流れで拾える。業務が数分〜数時間に及ぶ前提の非同期設計だ。

中核思想が「Opaque Execution(中身を見せない実行)」である。認証情報を隠す意味ではなく、相手のエージェントが内部でどんなLLMやワークフローを使っているかを隠したまま、宣言した能力と入出力契約だけで協調する考え方を指す。プロプライエタリ実装を守りながら社外連携できるため、競合関係の大手も同じ標準に乗りやすい。再帰呼び出しが暴走する事故(AがBを呼びBがAを呼び返す無限ループ、業界では"Token Storm"とも呼ばれる)に対しては、ホップ数の上限やタイムアウトを運用側で設定して抑える運用が想定されている。

コードで見るAgent CardとPythonサーバー

Agent Cardはエージェントの「名刺」で、実体は16行ほどのJSONだ。相手はこれを読んで「話せるか」「どの認証が必要か」を判断する。

{
  "name": "InventoryAgent",
  "description": "在庫照会と需要予測を返すエージェント",
  "version": "1.0.0",
  "url": "https://example.com/agents/inventory",
  "protocolVersion": "1.0",
  "preferredTransport": "JSONRPC",
  "capabilities": {
    "streaming": true,
    "pushNotifications": true
  },
  "skills": [
    { "id": "stock-lookup", "name": "在庫照会", "tags": ["inventory"] },
    { "id": "demand-forecast", "name": "需要予測", "tags": ["forecast"] }
  ]
}

/.well-known/agent-card.jsonのパスで公開すると、他のエージェントが自動で発見できる。a2a-python v1.0でPython SDKの最小サーバーを立てる場合、ルートファクトリ関数で組み立ててStarletteに乗せる構成になる(旧版にあったA2AStarletteApplication等のラッパークラスはv1.0で廃止された)。

import uvicorn
from starlette.applications import Starlette
from a2a.server.request_handlers import DefaultRequestHandler
from a2a.server.routes import create_agent_card_routes, create_jsonrpc_routes
from a2a.server.tasks import InMemoryTaskStore
from a2a.types import AgentCard, AgentSkill

card = AgentCard(
    name="InventoryAgent",
    description="在庫照会と需要予測を返す",
    version="1.0.0",
    url="https://example.com/agents/inventory",
    skills=[AgentSkill(id="stock-lookup", name="在庫照会")],
)

handler = DefaultRequestHandler(
    agent_executor=my_executor,
    task_store=InMemoryTaskStore(),
)
routes = [
    *create_agent_card_routes(card),
    *create_jsonrpc_routes(handler),
]
app = Starlette(routes=routes)
uvicorn.run(app, host="0.0.0.0", port=9000)

agent_executor=my_executormy_executorは、SDKのAgentExecutor基底クラスを継承しexecuteメソッドを実装した自前クラスを指す。動く実装例は公式サンプル集のa2a-samples/samples/python/agents/helloworldに揃っており、agent_executor.pyがサブクラスの実装、__main__.pyがサーバー起動の最小例として読める。

「150社」の中身を、Salesforce中心に覗く

本文で踏み込むのはまずSalesforce(米国、売上370億ドル規模、Agent Card概念をA2Aに寄贈したfoundational member)だ。同社のAgentforce(自社の業務エージェントを構築・公開する基盤)が、ServiceNow・Workdayのエージェントとクロスベンダーで業務委任するアーキテクチャを2025年中に組み立て、2026年夏のSummer '26リリースからは新規Salesforce顧客にSlackを標準で接続して「エージェントの入口」に位置付けた。CRM最大手が根幹概念ごとオープン標準に寄贈した背景には、「ベンダー中立な標準でないと、誰の基盤も顧客に信用されない」という現実がある。

残り2社の組み込み箇所も併記する。ServiceNowは2025年末のZurich Patch 4(同社の四半期パッチ名)でA2A v0.3を正式サポートし、Now AssistのITサービス管理エージェントを「他社から呼ばれる側」「他社を呼ぶオーケストレーター」の双方として公開できるようにした。MicrosoftはAzure AI FoundryとCopilot Studio(同社のエージェント構築サービス)でネイティブ対応し、Microsoft Entra(認証基盤、旧Azure AD)による認証と監査ログをA2A経由の連携に組み込んでいる。

まだ片付いていない4つの欠陥

2025年5月にarXivで公開された論文「Improving Google A2A Protocol」(Louck・Stulman・Dvir)は、トークン有効期限の制御、強い顧客認証、過剰な権限スコープ、同意フローの欠如の4点を指摘した。「過剰な権限スコープ」はたとえば、CRMエージェントが在庫エージェントを呼ぶときに必要以上の権限まで含むトークンを渡してしまう状態を指す。決済情報や本人確認書類のような機密データを扱う場面では、情報漏洩や権限昇格に直結し得る。論文は短命のスコープ付きトークン、明示的な同意のオーケストレーション、ユーザーからサービスへの直接データ通路の3つを改善案として示している。

導入側の課題もある。エージェントが他社エージェントを呼んだ結果のトレース、誰の責任で動いたかの監査、Token Storm対策──A2A対応そのものは難しくなくても、運用面の整備が追いつかない企業は多いと考えられる。

HTTPの上に薄く乗った「次の標準」

A2Aプロトコルは派手な新発明ではない。HTTP・JSON-RPC・SSEという枯れた部品で、エージェント同士が話す作法を一つ決めただけの仕様だ。それが1年で150社をまとめ、Salesforce・ServiceNow・Microsoftの本番製品に組み込まれた背景には、「自社で囲い込まないマルチエージェント時代の標準が必要」というエンタープライズの判断がある。MCPに開発者体験で先を越され停滞したA2Aが、別軸の要件と噛み合って生き残ったというのが、2026年5月時点の事実である。

参考になる公式情報・論文・解説

  1. Linux Foundation — A2A Protocol Surpasses 150 Organizations(2026/4/9プレスリリース) https://www.linuxfoundation.org/press/a2a-protocol-surpasses-150-organizations-lands-in-major-cloud-platforms-and-sees-enterprise-production-use-in-first-year
  2. A2A Protocol 公式仕様書 v1.0 https://a2a-protocol.org/latest/specification/
  3. A2A v1.0 What's New(公式) https://a2a-protocol.org/latest/whats-new-v1/
  4. A2A v1.0 アナウンス(公式) https://a2a-protocol.org/latest/announcing-1.0/
  5. A2A 公式 GitHub リポジトリ https://github.com/a2aproject/A2A
  6. A2A Python SDK https://github.com/a2aproject/a2a-python
  7. a2a-python v1.0 マイグレーションガイド https://github.com/a2aproject/a2a-python/blob/main/docs/migrations/v1_0/README.md
  8. A2A 公式サンプル集(helloworldなど) https://github.com/a2aproject/a2a-samples
  9. Google Developers Blog — Announcing the Agent2Agent Protocol(2025/4/9 初公開) https://developers.googleblog.com/en/a2a-a-new-era-of-agent-interoperability/
  10. Google Developers Blog — Google Cloud Donates A2A to Linux Foundation(2025/6/23) https://developers.googleblog.com/en/google-cloud-donates-a2a-to-linux-foundation/
  11. Google Cloud Blog — Agent2Agent protocol is getting an upgrade(v0.3) https://cloud.google.com/blog/products/ai-machine-learning/agent2agent-protocol-is-getting-an-upgrade
  12. Microsoft Cloud Blog — Empowering multi-agent apps with the open A2A protocol(2025/5/7) https://www.microsoft.com/en-us/microsoft-cloud/blog/2025/05/07/empowering-multi-agent-apps-with-the-open-agent2agent-a2a-protocol/
  13. AWS Bedrock AgentCore — A2A protocol contract 公式ドキュメント https://docs.aws.amazon.com/bedrock-agentcore/latest/devguide/runtime-a2a-protocol-contract.html
  14. ServiceNow Community — Enable MCP and A2A for your agentic workflows https://www.servicenow.com/community/now-assist-articles/enable-mcp-and-a2a-for-your-agentic-workflows-with-faqs-updated/ta-p/3373907
  15. Salesforce Ben — How to Design Salesforce Agent-to-Agent (A2A) Architecture https://www.salesforceben.com/how-to-design-salesforce-agent-to-agent-a2a-architecture/
  16. Salesforce Blog — When Agents Speak the Same Language: The Rise of Agentic Interoperability https://www.salesforce.com/blog/agent-interoperability/
  17. Salesforce — Summer '26 Release: 10 Innovations Bringing the Agentic Enterprise to Life https://www.salesforce.com/news/stories/summer-2026-product-release-announcement/
  18. Linux Foundation — Linux Foundation Announces the Formation of the Agentic AI Foundation (AAIF) https://www.linuxfoundation.org/press/linux-foundation-announces-the-formation-of-the-agentic-ai-foundation
  19. Cisco Blog — Innovation Happens in the Open: Cisco Joins the Agentic AI Foundation (AAIF) https://blogs.cisco.com/news/innovation-happens-in-the-open-cisco-joins-the-agentic-ai-foundation-aaif
  20. arXiv — Improving Google A2A Protocol(Louck, Stulman, Dvir, 2025/5) https://arxiv.org/abs/2505.12490
  21. Credal Blog — What happened to A2A Protocol(批判的視点) https://www.credal.ai/blog/what-happened-to-a2a-protocol
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?