The A2A protocol allows different AI agents (e.g. from ADK, CrewAI, LangGraph) to "speak the same language" (a common protocol) and follow specific processes to complete tasks together.
Client/Router AgentA2A Client (Cameriere Agent)
Specialized Agent 1 (e.g. ADK)

Specialized Agent 2 (e.g. LangGraph)

Specialized Agent N (e.g. CrewAI)
A machine-readable JSON metadata file that acts as a digital "business card" for an AI agent.
.well-known/agent.jsonSub-agents are tied to the specific AI library/framework language (e.g. Python wrappers) of the main agent, A2A is not.
Unlike agent/sub-agents, code updates happen strictly inside the agent that is involved, keeping the others untouched.
Agent and sub-agents share the same runtime/container, forcing monolithic scaling for heavy workloads. In A2A, agents scale independently.
Agent and sub-agents share an execution environment. In A2A, agents are isolated from each other: if one is compromised or misconfigured, the others are not.