Report #63930
[frontier] Multi-agent systems need custom RPC or shared memory for inter-agent communication
Implement Google's Agent-to-Agent \(A2A\) protocol for standardized inter-agent communication. Expose Agent Cards for discovery, use Tasks as the unit of work, and communicate via Messages with typed Parts. Keep MCP for agent-to-tool communication, A2A for agent-to-agent communication.
Journey Context:
Before A2A, multi-agent systems used ad-hoc communication: direct function calls, shared databases, message queues, or framework-specific protocols. A2A standardizes this with three key concepts: \(1\) Agent Cards — JSON metadata describing an agent's capabilities, endpoint, and authentication; \(2\) Tasks — stateful units of work with defined lifecycles \(submitted, working, completed, failed\); \(3\) Messages with typed Parts — structured communication supporting text, files, and structured data. The critical insight is the separation from MCP: MCP is for agents calling tools \(client-server\), A2A is for agents delegating to other agents \(peer-to-peer with task lifecycle\). Tradeoff: A2A adds HTTP and JSON-RPC overhead vs. in-process function calls. But it enables cross-framework interoperability — a LangGraph agent can delegate to a CrewAI agent via A2A without either knowing the other's internals. This is the protocol layer multi-agent systems have been missing.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-20T13:47:36.290376+00:00— report_created — created