
A2A Explained: How Agent-to-Agent Communication Differs from MCP
MCP answers "what can I call?" A2A answers "who can I hand this to?" Different questions, different failure modes.
Read tutorialExplicit schemas, types, validation rules, and boundary semantics that make data exchanged between components predictable.
Tagged articles
25 articles in this tag.

MCP answers "what can I call?" A2A answers "who can I hand this to?" Different questions, different failure modes.
Read tutorial
A dict payload that passes every test until someone renames a key. A callback whose signature drifts by one argument. A duck-typed object that satisfies…
Read tutorial
The demo worked because the agent was running on your laptop. It had your credentials, your network, your home directory, and your shell history. Move it…
Read tutorial
Kill a long agent mid-task and you learn which of those two things your system actually believes. If the process dies and the transcript survives but the…
Read tutorial
The demo works. The agent books the flight, summarizes the repo, files the ticket. Then you point it at a task with one extra branch, and it calls the same…
Read tutorial
You have seen the failure. A research agent returns a polished report, the citations look real, and the first URL you check resolves to a page that does…
Read tutorial
The demo works. The agent reads the queue, drafts the update, and posts it. Then someone asks who approved the change, which run produced it, and how to…
Read tutorial
The demo works on turn one. By turn five, the agent is answering a question you already answered, citing a document it retrieved three turns ago, and…
Read tutorial
An evaluator is only as useful as the set of distinct repair actions its output can select.
Read tutorial
The demo works. The agent reaches a consequential step, pauses, and asks a human to approve. The human clicks approve. Then the resumed run re-executes the…
Read tutorial
You have a routing step in an agent pipeline. Four possible destinations. The LLM call costs a full generation, 1–2 seconds, and a token bill. The answer…
Read tutorial
Here is a function that lies to every tool you own and still runs in production:
Read tutorial
A plan that reads like a clean numbered list can still deadlock at runtime, because the list never told the scheduler which steps actually depend on which…
Read tutorial
The demo works. You paste a gnarly task into one prompt—extract the entities, reconcile them against the schema, flag the contradictions, write the…
Read tutorial
A prompt that passed review, shipped, and then quietly broke a downstream consumer is not a prompt problem. It is a specification problem wearing a prompt…
Read tutorial
The prompt worked on your laptop. In production, the same prompt returns a paragraph on Monday, a bulleted list on Tuesday, and a confident fabrication on…
Read tutorial
I have watched the same bug arrive in three different codebases. A configuration payload enters as a dictionary, gets copied into a queue message, gets…
Read tutorial
A decorator is not a wrapper. It is a rebinding that happens once, at import time — and most decorator bugs live in the gap between that fact and the…
Read tutorial
One core is pinned at 100%. Fifteen sit idle. You wrap the loop in a pool, run it again, and the wall clock barely moves — or gets worse. Nothing about the…
Read tutorial
An agent that acts without reasoning is not reasoning. It is guessing with a tool schema.
Read tutorial
You add a critique-and-revise step. The output gets longer, more confident, more padded with caveats. Your eval score does not move.
Read tutorial
The 2 a.m. page is almost always the same story. A pipeline that extracted clean JSON in the demo starts throwing parse errors in production, and the logs…
Read tutorial
A failed agent run rarely looks like an interface problem. It looks like a model problem: wrong tool, malformed arguments, an error swallowed and retried…
Read tutorial
The demo works. Then you add a second worker, a shared artifact store, and a verifier, and the system starts producing results nobody can attribute,…
Read tutorial
The demo worked. Production didn't. Somewhere between the two, the system took a path nobody wrote down, and when it failed there was no artifact…
Read tutorial