r/A2AProtocol • u/danilo_salve • 12d ago
My post about the A2A
Hey folks. I wrote this post about my experience using the A2A protocol.
r/A2AProtocol • u/Impressive-Owl3830 • Apr 09 '25
Github link- https://github.com/google/A2A
Text from official post.
-------------
AI agents offer a unique opportunity to help people be more productive by autonomously handling many daily recurring or complex tasks. Today, enterprises are increasingly building and deploying autonomous agents to help scale, automate and enhance processes throughout the workplace–from ordering new laptops, to aiding customer service representatives, to assisting in supply chain planning.
To maximize the benefits from agentic AI, it is critical for these agents to be able to collaborate in a dynamic, multi-agent ecosystem across siloed data systems and applications. Enabling agents to interoperate with each other, even if they were built by different vendors or in a different framework, will increase autonomy and multiply productivity gains, while lowering long-term costs.
Today, google launched an open protocol called Agent2Agent (A2A), with support and contributions from more than 50 technology partners like Atlassian, Box, Cohere, Intuit, Langchain, MongoDB, PayPal, Salesforce, SAP, ServiceNow, UKG and Workday; and leading service providers including Accenture, BCG, Capgemini, Cognizant, Deloitte, HCLTech, Infosys, KPMG, McKinsey, PwC, TCS, and Wipro. The A2A protocol will allow AI agents to communicate with each other, securely exchange information, and coordinate actions on top of various enterprise platforms or applications. We believe the A2A framework will add significant value for customers, whose AI agents will now be able to work across their entire enterprise application estates.
This collaborative effort signifies a shared vision of a future when AI agents, regardless of their underlying technologies, can seamlessly collaborate to automate complex enterprise workflows and drive unprecedented levels of efficiency and innovation.
A2A is an open protocol that complements Anthropic's Model Context Protocol (MCP), which provides helpful tools and context to agents. Drawing on Google's internal expertise in scaling agentic systems, we designed the A2A protocol to address the challenges we identified in deploying large-scale, multi-agent systems for our customers. A2A empowers developers to build agents capable of connecting with any other agent built using the protocol and offers users the flexibility to combine agents from various providers. Critically, businesses benefit from a standardized method for managing their agents across diverse platforms and cloud environments. We believe this universal interoperability is essential for fully realizing the potential of collaborative AI agents.
A2A design principles
A2A is an open protocol that provides a standard way for agents to collaborate with each other, regardless of the underlying framework or vendor. While designing the protocol with our partners, we adhered to five key principles:
Embrace agentic capabilities: A2A focuses on enabling agents to collaborate in their natural, unstructured modalities, even when they don’t share memory, tools and context. We are enabling true multi-agent scenarios without limiting an agent to a “tool.”
Build on existing standards: The protocol is built on top of existing, popular standards including HTTP, SSE, JSON-RPC, which means it’s easier to integrate with existing IT stacks businesses already use daily.
Secure by default: A2A is designed to support enterprise-grade authentication and authorization, with parity to OpenAPI’s authentication schemes at launch.
Support for long-running tasks: We designed A2A to be flexible and support scenarios where it excels at completing everything from quick tasks to deep research that may take hours and or even days when humans are in the loop. Throughout this process, A2A can provide real-time feedback, notifications, and state updates to its users.
Modality agnostic: The agentic world isn’t limited to just text, which is why we’ve designed A2A to support various modalities, including audio and video streaming.
A2A facilitates communication between a "client" agent and a “remote” agent. A client agent is responsible for formulating and communicating tasks, while the remote agent is responsible for acting on those tasks in an attempt to provide the correct information or take the correct action. This interaction involves several key capabilities:
Capability discovery: Agents can advertise their capabilities using an “Agent Card” in JSON format, allowing the client agent to identify the best agent that can perform a task and leverage A2A to communicate with the remote agent.
Task management: The communication between a client and remote agent is oriented towards task completion, in which agents work to fulfill end-user requests. This “task” object is defined by the protocol and has a lifecycle. It can be completed immediately or, for long-running tasks, each of the agents can communicate to stay in sync with each other on the latest status of completing a task. The output of a task is known as an “artifact.”
Collaboration: Agents can send each other messages to communicate context, replies, artifacts, or user instructions.
User experience negotiation: Each message includes “parts,” which is a fully formed piece of content, like a generated image. Each part has a specified content type, allowing client and remote agents to negotiate the correct format needed and explicitly include negotiations of the user’s UI capabilities–e.g., iframes, video, web forms, and more.
r/A2AProtocol • u/danilo_salve • 12d ago
Hey folks. I wrote this post about my experience using the A2A protocol.
r/A2AProtocol • u/sheik66 • Jun 22 '26
Hi everyone,
I wanted to share a project I've been working on called Protolink (https://github.com/nMaroulis/protolink). I’d love to get some honest feedback from this community on the approach I took.
I’m not going to start with the typical "I got tired of LangChain/LangGraph so I built something better" pitch. The truth is, I read through Google's Agent-to-Agent (A2A) protocol specification and loved the philosophy, to treat agent communication as structured, typed, and decoupled distributed messages.
However, when I actually sat down to build a multi-agent system using raw A2A guidelines, I realized how much infrastructure boilerplate I had to write:
So, I started building Protolink. I wanted to see if I could create adeveloper-first, A2A-native agent runtime that abstracts away all the network and LLM boilerplate while remaining fully compliant with the protocol.
In Google's A2A spec, details like LLM invocation, tool execution, and local-versus-remote transport are largely out of scope. Protolink extends the spec by unifying them into a single, cohesive runtime concept: the Agent.
Agent contains both a client and a server. It owns its lifecycle, storage, and transport layer.runtime): This is probably the biggest quality-of-life feature. Running multiple agents across separate HTTP/WebSocket servers during local development is a headache. Protolink implements an in-process, shared-memory transport. You can run and test an entire agent mesh in a single Python process. When you're ready to deploy, you change transport="runtime" to transport="http" or transport="websocket" in the config, where no agent logic changes required.While A2A defines what travels through the system (the payload: Task, Message, Artifact, Part), a real-world application needs to control how it executes. Protolink introduces a structured runtime layer that wraps execution with stable security, monitoring, and control boundaries:
RunContext (Typed Execution Envelope): Ad hoc metadata keys like session_id, trace_id, and workspace_uri are replaced with a single serializable object. When tasks are delegated downstream, RunContext.child() automatically propagates workspace paths, trace IDs, permission boundaries, and run budgets (max_steps, max_llm_calls) while establishing parent-child relationships.client.cancel_task() propagates a cancellation state through HTTP/WebSocket/Runtime transports, and the local agent triggers a process-safe CancellationToken checkpoint. It stops CPU loops, async tool calls, or model streams gracefully at the next await boundary without losing task execution history.RunAction before any side effects happen. If an action requires a protected capability (e.g., records.write), the CapabilityPolicy evaluates it. If it requires approval, the agent pauses, creates an ApprovalRequest with preview artifacts (so users see exactly what will write to disk or database), and triggers an application-level handler (like a CLI prompt or a web UI modal) before executing.RunEvent): Transports can emit messy, custom events. Protolink wraps these into a single versioned RunEvent stream (e.g., action.requested, approval.required, task.status, llm.stream) sent to an EventSink. This means terminal UIs, log aggregators, or telemetry monitors can switch on a unified schema regardless of the underlying LLM provider.Most agent frameworks use external graph engines (like LangGraph or custom DAG builders) to coordinate agent interactions. In Protolink, I wanted the workflow orchestration to remain protocol-native.
A Protolink Structured Flow is a deterministic state machine that operates directly over A2A primitives: Task, Message, Artifact, and Part. The flow orchestrator expects a Task and returns a Task.
We support several topologies out of the box:
Pipeline: A sequential chain of agents.Parallel: Broadcasting tasks to concurrent agents with safe ID-based fan-in merging to prevent duplicate artifacts.Router: Conditional branching based on structured, serializable Part.route(...) decisions.Graph: Full state-machines that support loops and cycle back on validation failures.How do you run structured flows without tightly coupling the agents to the flow topology?
We use Dynamic Semantic Context Injection:
AgentCard) from the Registry.Task's flow_state.Here are two cool examples of what this looks like in practice:
I built a mini "Claude Code" coding assistant by composing three specialized agents:
The Orchestrator coordinates them using standard A2A delegation modes: calling the Coder with tool_call parts, and calling the Planner with infer parts. The code stays clean because the concerns are completely separated.
Because all flows are polymorphic and recursively nestable, you can nest parallel committees inside a pipeline:
pythonfrom protolink.flows import Pipeline, Parallel
from protolink.agents import Agent
from protolink.models import Task
# 1. Spin up some agents
researcher = Agent(card={"name": "researcher", "url": "http://localhost:8081"}, ...)
sec_inspector = Agent(card={"name": "security_inspector", "url": "http://localhost:8082"}, ...)
fmt_inspector = Agent(card={"name": "format_inspector", "url": "http://localhost:8083"}, ...)
summarizer = Agent(card={"name": "summarizer", "url": "http://localhost:8084"}, ...)
# 2. Build a Parallel Flow representing a review committee
review_committee = Parallel(
branches=["security_inspector", "format_inspector"],
registry=registry
)
# 3. Nest the Parallel block as a step inside a Parent Pipeline
orchestrated_flow = Pipeline(registry=registry) \
.add_step(researcher) \
.add_step(review_committee) \
.add_step(summarizer)
# 4. Execute standard A2A task
task = Task.create_infer(prompt="Audit and summarize the codebase's WebSocket implementation.")
result = await orchestrated_flow.execute(task)
I wanted to build an agent framework that acts like a predictable, observable distributed system rather than a black box.
I'd love to hear your thoughts:
Check it out here: https://github.com/nMaroulis/protolink And the docs: https://nmaroulis.github.io/protolink/ and a medium post on Level-Up-Code: https://levelup.gitconnected.com/build-easily-your-own-claude-code-with-three-agents-brain-hands-and-coordinator-5236b392ddf0
Let me know what you think!
r/A2AProtocol • u/Prize-Programmer4207 • Jun 15 '26
Disclosure up front: I work on A2A DevRel. Working on a blog post series for A2A. Mods, happy to adjust if this isn't a fit.
If you've built an agent and then hit `ok but can it talk to the agent another team built?`, that's the problem A2A targets. The framing that made it click for me: A2A is a lightweight wrapper, like Docker. Your app stays as-is; the wrapper gives it discovery + a common way to be called, so it can talk to other agents without custom one-off integrations.
The whole intro is really just 3 concepts:
From the app's side, a full task is basically: post "working" → run your logic → attach the result → post "completed". That's it.
If you want to actually run it, the hello-world sample is a 60-second thing: git clone https://github.com/a2aproject/a2a-samples.git, then cd a2a-samples/samples/python/agents/helloworld && uv run . (and uv run test_client.py in another terminal). Spec is at https://a2a-protocol.org/latest/ if you want the details.
Blog Post: https://medium.com/google-cloud/a2a-protocol-blog-post-01-introduction-8294ca1d6a61
Question: What concepts did you like in A2A in this post ? Did A2A solve any real life challenges for your? With the rise of standalone agents, do you see the demand of A2A?
r/A2AProtocol • u/sugarRush07 • Jun 09 '26
r/A2AProtocol • u/benclarkereddit • Jun 05 '26
r/A2AProtocol • u/kevinlu310 • Jun 03 '26
I recently ran a setup where multiple heterogeneous agents (Claude Code, Codex, Hermes, OpenClaw local + remote) were coordinated through a Supervisor agent over an A2A-like interface.
Key idea: instead of trying to standardize the agents, we treated interoperability as the abstraction layer.
Each agent:
The Supervisor didn’t “delegate steps” in a rigid workflow. It acted more like a reconciliation layer:
What stood out:
This makes me think A2A systems aren’t just about tool calling or protocol standardization, they’re really about enabling structured diversity in agent behavior while still preserving composability.
Curious how others here are thinking about:
Tech stack used for this experiment:
Bridge for connecting local and remote AI agents through a unified interface: https://github.com/hybroai/hybro-hub
Would love to compare approaches.
r/A2AProtocol • u/Prize-Programmer4207 • May 26 '26

Building a standalone AI agent is one thing, but getting a Python agent to seamlessly collaborate with a Go or Rust agent without custom glue code is the real challenge.
I just published a new piece on the Google Cloud Community blog introducing the A2A Integration Test Kit (ITK) Dashboard! 📊
In the article, I dive into how the ITK verifies compatibility across different SDK implementations everyday, and how the new dashboard centralizes this data into a holistic interoperability matrix. Interoperability shouldn't be an afterthought, and this dashboard is a huge step in making that mission measurable for the ecosystem. We recently presented this to the A2A Technical Steering Committee (TSC) and I would love to hear your feedback & ideas to improve.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
The work doesn't wait. Agents don't sleep. And the platform that pairs them — finally exists. Pairag is the AI agent matching platform with one account and three open protocols: V18 for native tasks, Google A2A for capabilities, and MCP for tools. Path A is the human flow: AI helps you draft, you read applicants, accept, points settle instantly or fiat moves through Stripe with a release phrase only a human can type. Path B is the agent flow: connect through MCP, publish a capability, get hired across the open A2A mesh. Two paths. One platform. One gate humans always own. Pairag — where agents run and humans decide.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
A2A is the open Agent-to-Agent network — Google's protocol, hosted by Pairag. Publish a capability and your agent becomes discoverable to every other agent on the mesh. Give it a name, a one-line summary, and your webhook URL. Once live, other agents can invoke your capability directly. Each engagement runs through the same accept-and-settle flow as Path A.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
Every Pairag stage moves through five steps: Recruiting, Assigned, Authorized or Pre-deducted, Aligned, Executing. Read each applicant's stage manifest — skills, harness policy, bounty — and accept the fit. Points tasks pre-deduct the bounty from your balance; fiat tasks add a Fiat pre-authorization block where you authorize a card hold via Stripe. Both paths converge at Aligned, then execution begins.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
Every Pairag task ships with a manifest — use case, work replaced by agents, goals, acceptance criteria, and how the stages chain. Upload it and the platform locks in your plan. Review checks the manifest against your goals: clear inputs, real acceptance signals, no missing stages. Once approved, the task moves from Draft to Pending review to Open for recruitment.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
Drafting a task on Pairag is a single page. Open the Plaza, hit New project, give it a title and a short brief, then walk the configuration: Industry, Language, Location, Open period, Communication, and who pays for tokens. Define your execution stages — draft, review, polish — each with its own brief, then save the draft and you're ready to publish.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
Pairag has three membership tiers — Free, Pro at $20 a month, and Ultra at $40. Higher tiers raise stage caps, lengthen recruiting windows, sharpen location targeting, and grow collab storage. Once you're matched, points are the shared usage unit. Buy point packs in-app — Mini, Starter, Plus, or Max — and your balance tops up. Subscribe a tier. Top up as needed.
r/A2AProtocol • u/Ok_Television_8599 • May 26 '26
📝 Description:
A quick onboarding tour. Open app.pairag.com/register, enter your email, choose a password, then confirm with the six-digit code we email you. You're in. From the Plaza, browse open tasks across industries and set your display name and avatar from your profile. One account, two ways in: create tasks for people and AI, or connect your own agent to the network.
r/A2AProtocol • u/Own-Mix1142 • May 19 '26
r/A2AProtocol • u/benclarkereddit • Apr 27 '26
Enable HLS to view with audio, or disable this notification
r/A2AProtocol • u/Gatana_Official • Apr 17 '26
r/A2AProtocol • u/benclarkereddit • Apr 10 '26
r/A2AProtocol • u/benclarkereddit • Apr 01 '26
r/A2AProtocol • u/Impressive-Owl3830 • Mar 14 '26
we truly live in amazing times, specially as a software dev.
I just finetuned a model.. for Free !!
For my specific domain - have 191 Docs which i converted into markdown files (~1.3M tokens)
current top of line open source llm is Qwen 3.5 - 9B param fits right well.
resources links in comments below.
So what did I use?
Claude Code- created Q&A pairs from domain-specific docs- created the training plan and overall fine-tuning plan.
Unsloth - it gives you 2x faster training and 60% less VRAM vs standard HuggingFace, Without it, Qwen3.5-9B QLoRA wouldn't fit on a single 24GB GPU
Nosane - Absolutely free AI workload using the initial $50 free credits ( don't know for how long !!)
click here to claim free credits - Nosana Free Credits
My goal was to create a chatbot for a specific domain( sports -which i played at international level) so users can directly talk to it or i can host it somewhere later for other apps to use via API's)
claude code suggested Qwen3.5-9B QLoRA based on data and created 2 Training data set.
it kicked of creating Q/A pairs and i used Nosane CLI (link in comments) to find and rent GPU.
RTX 5090 is super cheap (0.4 $ /hour) - now whole finetuning for my specific use case cost me 0.13$ ladies and gentlemen and i have still 49.87$ left of my free quota.
damn !! and lets not forget Model - Qwen 3.5 9B is free too
Fine-Tuning a Sports AI Coach — Summary
feel just need to find high quality data for any domain and good use case and you are gold. only thing stops us is creativity.
r/A2AProtocol • u/Colourss93 • Feb 22 '26
https://github.com/colours93/a2a-rs
vibe coded an a2a sdk using python as a reference