# A2A **Repository Path**: mirrors/A2A ## Basic Information - **Project Name**: A2A - **Description**: Agent2Agent (A2A) 一种开放的协议,用于实现对等 AI Agent 之间的通信和互操作性。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 2 - **Created**: 2025-04-10 - **Last Updated**: 2025-10-18 ## Categories & Tags **Categories**: Artificial-Intelligence **Tags**: None ## README # Agent2Agent (A2A) Protocol [![PyPI - Version](https://img.shields.io/pypi/v/a2a-sdk)](https://pypi.org/project/a2a-sdk) [![Apache License](https://img.shields.io/badge/License-Apache_2.0-blue.svg)](LICENSE) [![Ask DeepWiki](https://deepwiki.com/badge.svg)](https://deepwiki.com/a2aproject/A2A) [![RepoMapr](https://img.shields.io/badge/RepoMapr-View_Interactive_Diagram-blue)](https://repomapr.com/a2aproject/A2A)
Agent2Agent Protocol Logo

Agent2Agent (A2A) Protocol

**An open protocol enabling communication and interoperability between opaque agentic applications.** The Agent2Agent (A2A) protocol addresses a critical challenge in the AI landscape: enabling gen AI agents, built on diverse frameworks by different companies running on separate servers, to communicate and collaborate effectively - as agents, not just as tools. A2A aims to provide a common language for agents, fostering a more interconnected, powerful, and innovative AI ecosystem. With A2A, agents can: - Discover each other's capabilities. - Negotiate interaction modalities (text, forms, media). - Securely collaborate on long running tasks. - Operate without exposing their internal state, memory, or tools. ## Intro to A2A Video [![A2A Intro Video](https://img.youtube.com/vi/Fbr_Solax1w/hqdefault.jpg)](https://goo.gle/a2a-video) ## Why A2A? As AI agents become more prevalent, their ability to interoperate is crucial for building complex, multi-functional applications. A2A aims to: - **Break Down Silos:** Connect agents across different ecosystems. - **Enable Complex Collaboration:** Allow specialized agents to work together on tasks that a single agent cannot handle alone. - **Promote Open Standards:** Foster a community-driven approach to agent communication, encouraging innovation and broad adoption. - **Preserve Opacity:** Allow agents to collaborate without needing to share internal memory, proprietary logic, or specific tool implementations, enhancing security and protecting intellectual property. ### Key Features - **Standardized Communication:** JSON-RPC 2.0 over HTTP(S). - **Agent Discovery:** Via "Agent Cards" detailing capabilities and connection info. - **Flexible Interaction:** Supports synchronous request/response, streaming (SSE), and asynchronous push notifications. - **Rich Data Exchange:** Handles text, files, and structured JSON data. - **Enterprise-Ready:** Designed with security, authentication, and observability in mind. ## Getting Started - 📚 **Explore the Documentation:** Visit the [Agent2Agent Protocol Documentation Site](https://a2a-protocol.org) for a complete overview, the full protocol specification, tutorials, and guides. - 📝 **View the Specification:** [A2A Protocol Specification](https://a2a-protocol.org/latest/specification/) - Use the SDKs: - [🐍 A2A Python SDK](https://github.com/a2aproject/a2a-python) `pip install a2a-sdk` - [🧑‍💻 A2A JS SDK](https://github.com/a2aproject/a2a-js) `npm install @a2a-js/sdk` - [☕️ A2A Java SDK](https://github.com/a2aproject/a2a-java) using maven - [🔷 A2A .NET SDK](https://github.com/a2aproject/a2a-dotnet) using [NuGet](https://www.nuget.org/packages/A2A) `dotnet add package A2A` - 🎬 Use our [samples](https://github.com/a2aproject/a2a-samples) to see A2A in action ## Contributing We welcome community contributions to enhance and evolve the A2A protocol! - **Questions & Discussions:** Join our [GitHub Discussions](https://github.com/a2aproject/A2A/discussions). - **Issues & Feedback:** Report issues or suggest improvements via [GitHub Issues](https://github.com/a2aproject/A2A/issues). - **Contribution Guide:** See our [CONTRIBUTING.md](CONTRIBUTING.md) for details on how to contribute. - **Private Feedback:** Use this [Google Form](https://goo.gle/a2a-feedback). - **Partner Program:** Google Cloud customers can join our partner program via this [form](https://goo.gle/a2a-partner). ## What's next ### Protocol Enhancements - **Agent Discovery:** - Formalize inclusion of authorization schemes and optional credentials directly within the `AgentCard`. - **Agent Collaboration:** - Investigate a `QuerySkill()` method for dynamically checking unsupported or unanticipated skills. - **Task Lifecycle & UX:** - Support for dynamic UX negotiation _within_ a task (e.g., agent adding audio/video mid-conversation). - **Client Methods & Transport:** - Explore extending support to client-initiated methods (beyond task management). - Improvements to streaming reliability and push notification mechanisms. ## About The A2A Protocol is an open-source project by Google LLC, under the [Apache License 2.0](LICENSE), and is open to contributions from the community.