A2A

Enabling seamless communication between AI agents across different ecosystems.

2025-04-04

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 or tasks/sendSubscribe). Tasks progress through states like submitted, working, input-required, and completed.
  • Message & Parts: Represents communication turns between the client (role: "user") and the agent (role: "agent"). Messages contain Parts, 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

  1. Discovery: The client fetches the Agent Card from the server's well-known URL.
  2. Initiation: The client sends a tasks/send or tasks/sendSubscribe request with an initial message and a unique Task ID.
  3. Processing: The server processes the task, sending updates via streaming (SSE) or returning the final result.
  4. Interaction (Optional): If input is required, the client sends follow-up messages.
  5. Completion: The task reaches a terminal state (completed, failed, or canceled).

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.

Artificial Intelligence Multi-Agent Systems Interoperability API Protocols Open Source