Report #80066
[frontier] Agents built on different frameworks cannot delegate tasks or share capabilities across organizational boundaries
Implement the Agent-to-Agent \(A2A\) protocol for cross-framework agent communication. Expose each agent as an A2A-compliant Agent Card \(JSON metadata describing capabilities, authentication, and endpoint\), and use A2A Tasks for delegation between agents regardless of their underlying framework or vendor.
Journey Context:
As agent frameworks proliferate \(LangGraph, CrewAI, AutoGen, Semantic Kernel, Amazon Bedrock Agents, etc.\), each creates its own silo — agents built on one framework cannot natively interact with agents on another. This is the agent interoperability problem, and it becomes critical in enterprises where different teams or vendors build agents on different stacks. Google's A2A protocol \(released April 2025\) addresses this by defining a standard HTTP/JSON-based protocol: Agent Cards describe what an agent can do and how to reach it, Tasks represent units of work delegated between agents, and Messages/Parts carry structured communication within tasks. The key insight is that A2A is to agent-to-agent communication what MCP is to agent-to-tool communication — a standard protocol that decouples agents from specific frameworks. A2A complements MCP rather than competing with it: MCP connects agents to tools and data sources, A2A connects agents to other agents. The tradeoff is that A2A adds HTTP overhead and abstraction compared to in-process agent communication, but this is necessary for the multi-vendor reality of production systems. Early adopters are using A2A for enterprise scenarios like: a procurement agent \(built on LangGraph\) delegating compliance checks to a legal agent \(built on Semantic Kernel\), with both agents communicating via A2A without knowing each other's internals.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T16:59:42.438454+00:00— report_created — created