A2A  by a2aproject

Open protocol for agentic app communication/interoperability

Created 7 months ago
20,525 stars

Top 2.1% on SourcePulse

GitHubView on GitHub
Project Summary

The Agent2Agent (A2A) Protocol addresses the challenge of interoperability between disparate AI agent frameworks. It provides a standardized, open protocol for agents to discover each other's capabilities, negotiate interactions, and exchange data, enabling seamless collaboration across different ecosystems. This is crucial for enterprise AI adoption, allowing agents from various vendors to communicate effectively.

How It Works

A2A defines a client-server model where agents expose an HTTP endpoint implementing the protocol. Key components include an "Agent Card" (a JSON file detailing capabilities and authentication), "Tasks" (units of work with defined states), and "Parts" (the fundamental data units, supporting text, files, and structured JSON). Communication can be synchronous or asynchronous via Server-Sent Events (SSE) for streaming updates, and supports proactive notifications via webhooks.

Quick Start & Requirements

  • Installation: No specific installation command is provided; the protocol is a specification. Sample implementations are available in Python and JavaScript.
  • Prerequisites: Sample implementations may require Python or Node.js. Specific agent integrations (e.g., CrewAI, LangGraph) will have their own dependencies.
  • Resources: Refer to sample implementations and integrated agent frameworks for resource requirements.
  • Links:
    • Demo Video: See A2A in Action (Note: This is a placeholder, actual link not in README)
    • Technical Documentation: Docs (Note: This is a placeholder, actual link not in README)
    • JSON Specification: Specification (Note: This is a placeholder, actual link not in README)
    • Sample Implementations: Python, JS

Highlighted Details

  • Enables agents to describe capabilities and negotiate interaction methods (text, forms, audio/video).
  • Supports secure collaboration between agents.
  • Defines a clear lifecycle for tasks, including states like submitted, working, input-required, completed, and failed.
  • Facilitates real-time progress updates through Server-Sent Events (SSE) and push notifications.

Maintenance & Community

  • Initiated and driven by Google LLC.
  • Community contributions are welcomed via GitHub discussions and issues.
  • A partner program is available for Google Cloud customers.
  • Links: GitHub Discussions: Discussions (Note: This is a placeholder, actual link not in README)

Licensing & Compatibility

  • License: Apache License 2.0.
  • Compatibility: Permissive license suitable for commercial use and integration with closed-source applications.

Limitations & Caveats

The README indicates future plans for agent discovery formalization, dynamic skill querying, and improved streaming reliability, suggesting these features may be nascent or under active development. Specific integration details and robustness for production environments would require further investigation of sample implementations and community feedback.

Health Check
Last Commit

1 day ago

Responsiveness

1 week

Pull Requests (30d)
30
Issues (30d)
40
Star History
490 stars in the last 30 days

Explore Similar Projects

Starred by Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research), Malte Pietsch Malte Pietsch(Cofounder of deepset), and
5 more.

ag-ui by ag-ui-protocol

1.4%
9k
Protocol for agent-user interaction in frontends
Created 6 months ago
Updated 20 hours ago
Starred by Wes McKinney Wes McKinney(Author of Pandas), Chip Huyen Chip Huyen(Author of "AI Engineering", "Designing Machine Learning Systems"), and
22 more.

autogen by microsoft

0.4%
51k
Agentic framework for multi-agent AI applications
Created 2 years ago
Updated 3 weeks ago
Feedback? Help us improve.