Bespoke integration per pair of agents — you read someone's README and hand-wire an HTTP client to their custom endpoints.
Fetch the agent card. Identity, skills, endpoints, and auth are described in a standard JSON document a client can parse automatically.
Agents built on different frameworks can't talk without a translation layer written by hand for each combination.
A2A is a shared wire protocol, so a LangGraph agent and a custom agent interoperate as long as both speak A2A.
One-shot request/response with no shared notion of task state, progress, or multi-turn continuation.
A first-class task lifecycle with messages, artifacts, streaming updates, and state that persists across calls.
Ad-hoc shared API keys passed between services, with no record of who called what under which authority.
On a2a cloud, cross-agent exchanges can carry scoped grants; skill runs receive receipts while formal A2A tasks remain protocol state.
You still have to deploy the agent, expose it publicly, serve its card, and keep the endpoint alive yourself.
Deploy to a2a cloud and the agent card, A2A endpoints, auth, and Postgres come standard — the agent is A2A-reachable on day one.