The Agent2Agent (A2A) Protocol is an open initiative by Google designed to solve one of the biggest challenges in enterprise AI adoption: interoperability between agents built on different frameworks and vendors. A2A provides a standardized way for AI agents to communicate, negotiate interactions, and work together securely, regardless of their underlying architecture.
Core Concepts
- Agent Card: A public metadata file (
./well-known/agent.json
) that describes an agent's capabilities, skills, endpoint URL, and authentication requirements. Used for discovery. - A2A Server: An agent exposing an HTTP endpoint that implements the A2A protocol methods (defined in the JSON specification). It receives requests and manages task execution.
- A2A Client: An application or another agent that consumes A2A services by sending requests (e.g.,
tasks/send
) to an A2A Server's URL. - Task: The central unit of work. A client initiates a task by sending a message (
tasks/send
ortasks/sendSubscribe
). Tasks progress through states likesubmitted
,working
,input-required
, andcompleted
. - Message & Parts: Represents communication turns between the client (
role: "user"
) and the agent (role: "agent"
). Messages containParts
, which can be text, files, or structured JSON. - Artifact: Outputs generated by the agent during a task (e.g., files, structured data).
- Streaming & Push Notifications: Supports real-time updates via Server-Sent Events (SSE) or proactive webhook notifications.
How It Works
- Discovery: The client fetches the
Agent Card
from the server's well-known URL. - Initiation: The client sends a
tasks/send
ortasks/sendSubscribe
request with an initial message and a unique Task ID. - Processing: The server processes the task, sending updates via streaming (SSE) or returning the final result.
- Interaction (Optional): If input is required, the client sends follow-up messages.
- Completion: The task reaches a terminal state (
completed
,failed
, orcanceled
).
Get Involved
- Documentation: Read the technical docs and review the JSON specification.
- Samples: Explore sample clients/servers (Python, JS), a multi-agent web app, and CLI tools.
- Community: Contribute via GitHub discussions, issues, or the Google partner program.
Future Plans
- Protocol Enhancements: Improve agent discovery, collaboration (e.g.,
QuerySkill()
), task lifecycle, and client methods. - Samples & Docs: Simplify examples, add framework integrations, and generate human-readable docs from JSON Schema.
The A2A Protocol is open-source under the Apache License, welcoming contributions from the global community to shape the future of multi-agent communication.