# Agent2Agent (A2A)

> VI: https://5ac.vn/wiki/a2a/ · EN: https://5ac.vn/en/wiki/a2a/ · lang: en · spec_as_of 2026-10-18 (spec 1.0.0) · cluster C4

The open standard that lets independent AI agents — different frameworks, different vendors — discover each other, delegate tasks and exchange results without exposing internal state.

---
## Definition

A2A is an open standard for communication between independent, potentially opaque AI agent systems. Agents built on different frameworks and vendors can discover each other, delegate tasks and exchange results without sharing internal memory, tools or logic. One agent exposes an endpoint plus an Agent Card describing its capabilities; the other calls standard operations over HTTP.

## Mechanism

The spec describes itself in three layers: a canonical data model defined in Protocol Buffers: `spec/a2a.proto` is named the single authoritative definition of every data object; abstract operations independent of any binding, and concrete bindings (JSON-RPC 2.0, gRPC, HTTP/REST): same semantics, three ways to call them.

The core objects:

| Object | Role per the spec |
| --- | --- |
| Agent Card | JSON metadata published by the server: identity, capabilities, skills, endpoint, auth requirements |
| Message | one communication turn, with a `role` (user or agent) and one or more Parts |
| Part | smallest content unit: text, file reference, structured data |
| Task | the unit of work — unique ID, stateful, progressing through a defined lifecycle |
| Artifact | task output (document, image, structured data), composed of Parts |
| Context | optional identifier grouping related tasks and messages |

Six operations form the core: send message (returns a tracking Task or a direct Message), send streaming message, get task, list tasks, cancel task, get agent card. Async-first is a design commitment: long-running tasks report progress through streamed events or push notifications: server-initiated HTTP POSTs to a client-provided webhook, so hours-long disconnected work stays addressable. Terminal states are enforced: tasks completed, failed, canceled or rejected cannot accept further messages.

What separates A2A from internal orchestration layers is opacity: agents collaborate on declared capabilities and never share plans, memories or tool implementations. The project docs draw the boundary explicitly — A2A is not an agent SDK like LangGraph, CrewAI or ADK, not a protocol for an agent's own sub-agents or tool calls, and not a human messaging app.

Flow: Client agent → read Agent Card → Send Message → Task progresses (stream/push) → Artifact

## Spec anchor

The specification page states, verbatim, "Latest Released Version `1.0.0`", listing earlier versions 0.3.0, 0.2.6 and 0.1.0. Version 1.0 changed data classification: the field name now serves as the type discriminator (replacing the `kind` value) and `extendedAgentCard` moved into the `capabilities` object, with migration guidance and deprecated aliases kept until the next major release. On governance, the homepage and the GitHub repository record the same facts: A2A was originally developed by Google and donated to the Linux Foundation, is licensed Apache 2.0, and is maintained by a Technical Steering Committee with representatives from AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP and ServiceNow.

Sources fetched for this entry:

- <https://a2a-protocol.org/latest/specification/> — the 1.0.0 version line, three-layer model, operations, core objects — accessed 2026-10-18
- <https://a2a-protocol.org/latest/> — "What A2A Is Not", "How A2A Works with MCP", Governance & Open Source — accessed 2026-10-18
- <https://github.com/a2aproject/A2A> — README, Linux Foundation status, Apache 2.0 — accessed 2026-10-18

## Academic anchors

The two pinned papers examine what the spec leaves to implementers: security. *Building A Secure Agentic AI Application Leveraging Google's A2A Protocol* (arXiv:2504.16902) applies the MAESTRO threat-modeling framework to Agent Card management, task-execution integrity and authentication, then distills secure-development recommendations. *Improving Google A2A Protocol: Protecting Sensitive Data and Mitigating Unintended Harms in Multi-Agent Systems* (arXiv:2505.12490v3) finds four weaknesses where sensitive data flows through agents (token lifetime control, missing strong customer authentication, overbroad access scopes, absent consent flows) and proposes ephemeral scoped tokens plus direct user-to-service channels, tested against adversarial prompt injection. Beside the spec, they answer the question the spec doesn't: the protocol is correct — now what?

## FAQ

**Does A2A compete with MCP?** No — the project's comparison guide and the specification's "Relationship to MCP" appendix both call them complementary. MCP standardizes how an agent connects to tools, APIs and data; A2A standardizes how agents collaborate as peers. A client agent reaches remote tools via MCP and remote agents via A2A.

**Why is opacity a feature, not a limitation?** Two reasons the spec gives: security (internal state, memory and tools stay private) and intellectual property (proprietary logic need not be exposed to accept delegated work). Interop runs on declared capability, not shared internals.

**Can agents built on different frameworks actually talk?** That is goal number one — interoperability between disparate, potentially opaque agentic systems. Project docs name LangGraph, CrewAI and Semantic Kernel agents connecting through A2A.

**How does a task that runs for hours stay connected?** Async-first mechanics: the immediate response may be only a Task handle, with progress delivered later as streamed events or push notifications to a client webhook — a pattern that also carries human-in-the-loop steps without holding a connection open.

**Who governs A2A now?** The Linux Foundation — contributed by Google, run by a multi-vendor Technical Steering Committee (AWS, Cisco, Google, IBM Research, Microsoft, Salesforce, SAP, ServiceNow) under Apache 2.0.

## Related

- [What is a Multi-Agent OS?](/en/blog/what-is-multi-agent-os/)
- [AI agent control plane and governance](/en/blog/ai-agent-control-plane-governance/)
- [What is the Model Context Protocol (MCP)?](/en/wiki/mcp/)
- [What is llms.txt?](/en/wiki/llms-txt/)
