A2A  by a2aproject

Open protocol for agentic app communication/interoperability

created 4 months ago
18,734 stars

Top 2.4% 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 day

Pull Requests (30d)
63
Issues (30d)
40
Star History
4,770 stars in the last 90 days

Explore Similar Projects

Feedback? Help us improve.