A2A - Understanding the Basics and Building Multi-Agent Flight Management System

Introduction

A2A

Continuing with the context I shared in the previous article -MCP - Understanding the Basics and Building a Research Paper Management Chatbot-, where I spotted the fact there's been a growing need for a standard way to enable communication between agents and give them richer context to handle complex tasks through natural language, it's time to explore how to communicate agents or even complete agentic systems in a standard way.

That's where Google's A2A (Agent-to-Agent) protocol comes in. Announced by Google on April 9, 2025, this emerging protocol standardizes how AI agents communicate with each other, enabling them to share context, delegate tasks, and collaborate on complex objectives that require multiple specialized capabilities.

This article is a summary of my comprehensive guide originally published on DEV Community, where I dive deep into building a multi-agent flight management system using the Agent-to-Agent Protocol.

πŸ€” What is A2A?

Agent-to-Agent (A2A) is an emerging protocol created by Google that standardizes and simplifies both communication and interoperability between AI Agents or even complete Agentic Systems.

The key goals of A2A are:

  • Interoperability: Bridge the communication gap between disparate agentic systems
  • Collaboration: Enable agents to delegate tasks, exchange context, and work together on complex user requests
  • Discovery: Allow agents to dynamically find and understand the capabilities of other agents
  • Flexibility: Support various interaction modes including synchronous request/response, streaming for real-time updates, and asynchronous push notifications for long-running tasks
  • Security: Facilitate secure communication patterns suitable for enterprise environments
  • Asynchronicity: Natively support long-running tasks and interactions that may involve human-in-the-loop scenarios

Communication is based on HTTP(S) as the transport protocol and defines that each server exposes its services through a URL included in its AgentCard. All data exchange is based on JSON-RPC 2.0, ensuring that requests and responses follow a consistent and standard format.

πŸ› οΈ Building a Multi-Agent Flight Management System

In my original article, I walk you through building a practical multi-agent system (a command-line chatbot) that showcases A2A's capabilities through a real-world business use case by learning how to:

  • Create A2A agents with their cards and skills
  • Configure how agents will return information
  • Use a centralized LangChain ReAct agent to call A2A agents

By the end of the article, our chatbot is able to:

  • (employee_flight_request_agent) Know the status of corporate flight orders (pending purchase, purchased, and associated with a specific person)
  • (airport_knowledge_base_agent) Obtain information about airports and cities
  • (flight_search_agent) Search for real flight information departing from a specific airport
  • Recommend airports for flights pending acquisition

πŸ—οΈ The System Architecture

The flight management chatbot connects multiple A2A agents:

Employee Flight Request Agent: Manages employee flight requests and booking status using an internal database. It returns results immediately: receives requests β†’ processes β†’ returns results.

Airport Knowledge Base Agent: Acts as a knowledge database that provides airport information and city-airport mappings. This agent uses streaming to return its results.

Flight Search Agent: Performs real-time flight search using external aviation data from the Aviation Stack API. This agent uses a ReAct Agent from LangChain to create filters for the tool that interacts with the Aviation Stack API. It responds to requests by sending push notifications.

These three agents will be called through the chatbot, which uses a ReAct Agent from LangChain to interact with the user and decide which agent should be called.

βš™οΈ Key Features Demonstrated

The system enables natural language interactions like:

  • "What is the status of Anna's flight request to Dublin?"
  • "What airports are available in London?"
  • "What flights are available from Heathrow?"

Behind the scenes, the AI orchestrates multiple tools to search databases, extract information, cross-reference content, and maintain organized research collections.

πŸ’‘ Why A2A Matters for Developers

The flight management system example illustrates the broader implications of A2A:

Simplified Integration: Instead of building custom APIs for each external service, developers can leverage existing A2A servers or build standardized ones.

Composable Systems: Different A2A servers can work together seamlessly, enabling complex workflows that span multiple data sources and tools.

Standardized Communication: A2A provides a standard protocol for agent-to-agent communication, eliminating the need for custom integrations.

Reduced Complexity: The focus shifts from integration challenges to user experience and domain-specific functionality.

🎯 Final Thoughts

In the original post, I demonstrated how the A2A protocol can be used to build sophisticated multi-agent systems that coordinate and collaborate effectively. By standardizing agent-to-agent communication, A2A opens up new possibilities for creating complex AI workflows where specialized agents can work together seamlessly.

The flight management system we built showcases the power of combining different communication patterns within a single application. From immediate responses for flight request status to streaming airport information and asynchronous flight searches, each agent operates optimally according to its specific requirements.

A2A represents more than a technical protocolβ€”it's enabling a shift toward composable AI systems that amplify human insight through intelligent, connected tools.

You can find all the technical details in my GitHub repository.

πŸ“š Resources

Full article on dev.to πŸ‘‰ A2A: Understanding the Basics and Building Multi-Agent Flight Management System

Complete source code πŸ‘‰ A2A Flight Management System

Official A2A documentation πŸ‘‰ A2A Protocol

A2A Protocol JSON Specification πŸ‘‰ A2A Protocol Specification

A2A Protocol Documentation πŸ‘‰ A2A Protocol Documentation

A2A SDK Tutorial πŸ‘‰ A2A Protocol Documentation

Google SDK examples repository πŸ‘‰ A2A Python SDK

Python SDK Reference πŸ‘‰ Python SDK Reference

A2A Samples πŸ‘‰ A2A Samples

Hi! πŸ‘‹ Let's chat about tech & more! πŸ’»

Ezequiel character