umma.dev

Agent to Agent

The most useful way to understand agent-to-agent systems is as task handoff. Agents pass work, context and responsibility between them. The receiving agent needs to understand what has already happened, what remains unresolved, and what it is expected to do next.

That can take several forms. Two agents might work through a problem in dialogue. A software team might pass requirements, designs and code between specialised roles. Agents from separate organisations might exchange requests while keeping their tools and internal records private. Each arrangement makes different assumptions about what can be shared and who has authority to act. 1

There is also a distinction between collaboration and its infrastructure. Here, agent-to-agent describes agents coordinating work. The Agent2Agent (A2A) protocol provides a standard interface for discovering capabilities and exchanging tasks and results across systems. A protocol connection still needs a workflow that gives those exchanges a purpose. 2

Task

Consider a checkout service that sometimes creates duplicate orders when a payment request is retried. We want an agent system to reproduce the bug, identify its cause, implement a fix and demonstrate that legitimate new purchases still work. We’ll use this illustrative example throughout the post.

“Fix checkout” leaves too much open. A useful assignment includes the starting state, the constraints and a completion condition. The same purchase retried must produce one order, distinct purchases must remain distinct, concurrent requests must be covered. Those conditions let another agent assess the work without guessing what the original requester meant.

The task then has a dependency structure. Inspecting application logs and checking the payment provider’s retry behaviour can happen concurrently. Implementing the fix depends on the findings. Reviewing the fix depends on having a patch and a way to reproduce the original failure.

This is where multiple agents might earn their cost. Independent investigations can run in parallel and return focused findings. A tightly coupled sequence, where each step needs the full context of the previous one, can instead create repeated explanations and waiting. Research comparing single-agent and multi-agent approaches finds that this distinction affects which arrangement performs better on its tested long-horizon tasks. 3

Access also shapes the task. An internal agent might see our order database while a provider’s agent sees payment-processing records. Neither has the whole picture. They need to exchange enough evidence to connect the two views. Benchmarks that distribute information between agents test this requirement more directly than tasks where every participant receives everything upfront. 4

Agents and roles

A role gives an agent a defined contribution. For checkout, a possible team is:

  • Investigator: produces a reproduction, relevant logs and an explanation of where duplication occurs.
  • Implementer: produces a patch and records which checks it has run.
  • Reviewer: checks the patch against the requirements, including cases the implementer may have missed.
  • Coordinator: tracks dependencies, assigns follow-up work and checks whether the task is complete.

Each role needs inputs, tools, an expected output and limits on its authority. The investigator may need read access to production logs. The implementer needs permission to change code in a development environment. The reviewer needs the original requirements and execution evidence. Permission to propose a patch does not automatically include permission to deploy it.

These agents can use the same underlying model. Their specialisation can come from different context, tools and instructions. Giving an agent a title is only the beginning. A reviewer that sees only the implementer’s confident summary has little basis for checking the implementation.

There are two useful ways to organise their work. Agents can discuss an uncertain problem until they have enough detail to proceed, or exchange a defined deliverable that the next role consumes. CAMEL makes role-based dialogue explicit; ChatDev places dialogues within stages of software development; MetaGPT emphasises structured requirements and design artifacts. These are examples of choices we can combine in our own workflow. 5, 6, 7

For checkout, discussion is useful while investigating an ambiguous failure. Once the cause is understood, a reproduction and a patch give the reviewer something concrete to inspect.

Across organisations, a role also identifies whose interests the agent represents. A payment provider’s agent may help investigate an incident while being unable to disclose another customer’s records. Its instructions, evidence and permissions remain separate from ours. Studies of agents with private environments show why evaluating that boundary requires attention to each participant’s obligations. 8

What they exchange

“I fixed the retries” is a poor handoff. The reviewer still needs to know what changed, which version was tested, and what remains uncertain. A more useful handoff might look like this:

task: prevent duplicate orders on payment retry
revision: checkout-fix-03
finding: retry path creates a new order before checking the request key
artifact: checkout-fix.patch
checks:
  - same key retried: one order
  - different keys: separate orders
unresolved:
  - concurrent retries have not been tested
requested_next_step: review concurrency handling

This is an illustrative format. In a running system, the patch and test results need to be retrievable and tied to the stated revision. The unresolved item tells the reviewer where the evidence stops and further work begins.

The handoff should preserve the context needed for the next decision. Sending the entire conversation can bury a critical constraint among discarded ideas. Sending a short conclusion can lose the observation that supports it. A useful middle ground is a focused summary with links to the underlying evidence, plus explicit constraints and open questions.

A structured artifact helps when the receiver expects particular fields, such as an interface definition or a list of tests. Dialogue helps when the receiver needs clarification. Our reviewer could ask, “Do these results include two retries arriving at the same time?” The answer can change the next action from accepting the patch to investigating a race condition. Structured documents and iterative conversation can serve different parts of the same handoff. 6, 7

Information can also outlive the current team. A shared store of previous task trajectories could help a later investigator find a similar retry bug. Retrieval then becomes another form of exchange, with its own question. Does this earlier solution apply to the current system? Multi-Agent Transactive Memory explores this reuse across agent populations. 9

Uncertainty belongs in the handoff too. “Concurrent retries have not been tested” is actionable. A confidence score needs additional care. Its usefulness depends on whether it predicts correctness and whether the receiver knows how to use it. Research on calibrated confidence trains both the signal and its downstream use. An arbitrary percentage in a message provides neither property by itself. 10

Some experimental systems exchange internal model representations rather than readable text, including latent working memory and compressed latent information. This changes the representation and inspection of a handoff and requires suitable access to model internals. It is a separate engineering choice from connecting independently hosted services through a message protocol. 11, 12

Service boundaries introduce delivery concerns as well. If the provider’s agent is offline, who retains our request? Can a replacement instance resume the exchange? Agent Transfer Protocol explores stable logical addresses and domain servers that store messages for later retrieval. Its prototype demonstrates continuity in a controlled workflow; the application still has to decide whether a received answer resolves the task. 27

A message can therefore succeed at one layer and fail at another. It arrives intact, matches the schema but leaves “retry handled” ambiguous. Clarification establishes what was actually checked. Source verification establishes where a message came from; factual verification checks its claims; authorisation determines which actions it may trigger. These are separate responsibilities at a handoff. 13, 14

Who controls the next step

Suppose the reviewer finds that two concurrent requests can both create an order before either records the request key. Something must turn that finding into another action.

In a simple coordinated workflow, the sequence could be:

  1. The reviewer returns the failed concurrency check and the affected revision.
  2. The coordinator reopens the implementation task and assigns the finding to the implementer.
  3. The implementer changes the code and reruns the relevant checks.
  4. The reviewer examines the new revision and its evidence.
  5. The coordinator marks the task complete once the required checks pass, or records a blocker if the revision budget is exhausted.

The message has changed the state of the work. Responsibility for the next action is explicit, and a successful delivery is distinguishable from an accepted result.

A fixed workflow can encode those transitions directly. A conversation-driven workflow can let a reply trigger tool execution or another exchange. Code goes to an execution agent, its traceback returns to the implementer, and the implementer revises it. AutoGen makes this combination of conversation, computation and programmed control explicit. 15

The controller can also adapt. It might select another specialist based on the current task state or estimated capability, or let agents route work through a network. Previous successful handoffs can inform later plans. Research explores learned central selection, competence-aware participation, decentralised routing and historical workflow priors. Each places the decision about who acts next in a different part of the system. 16, 17, 18, 19

For our checkout task, explicit dependencies and a bounded revision loop are a reasonable starting point. The important decisions are already visible; who can reject a result, who can request more evidence, what happens when a peer does not respond, and what ends the run. A more adaptive controller is worth testing when this arrangement has a measurable limitation.

Evaluation and baseline

The team is finished when the checkout behaviour meets the requirements. Agreement between the agents is one observation; a reproducible concurrency test is evidence about the service.

Evaluate the original failure, sequential retries, concurrent retries and distinct purchases. Track intermediate milestones too. Was the reproduction valid, did the implementer use the investigator’s finding and did the reviewer check the final revision? A plausible explanation attached to an incorrect patch should remain a failed run.

Then compare against a capable single agent with the same tools, evidence access and a comparable budget, including opportunities to inspect its work and retry. For private-information tasks, preserve the access boundaries. A single agent granted everyone’s private records represents a different deployment condition.

Three further comparisons help explain any improvement.

  • Independent attempts followed by selection or aggregation: does generating several candidates account for the gain?
  • The same team with reduced communication: do the intermediate exchanges contribute useful information?
  • The same agents under a fixed workflow: does adaptive control improve outcomes enough to justify its cost?

Generating and combining answers can improve response quality in evaluated settings, as Mixture-of-Agents demonstrates. That is a useful baseline for separating the value of multiple proposals from the value of an ongoing team workflow. Also check whether later interaction preserves the strongest proposal. MASTraceBench finds cases where strong initial answers regress during collaboration. 20, 21

For interactive tasks, progress includes the agents’ actions in the environment. Did they divide the work, exchange missing information and adjust to each other’s actions? Benchmarks such as Collab-Overcooked and MASBench make those coordination demands part of the evaluation. 22, 4

When the checkout team fails, retain enough evidence to identify where the handoff broke. Perhaps the investigator omitted a constraint, the implementer ignored it, or the reviewer checked an earlier revision. Failure studies distinguish workflow-design problems, inter-agent misalignment and inadequate verification, and investigate which agent and step introduced a decisive error. Those distinctions help turn an unsuccessful run into a specific fix to the system. 23, 24

Test recovery as well as clean exchanges. Give an agent an incomplete result, an answer to the wrong question, or a missing response. Does it identify the gap and ask a useful follow-up, or continue as though the dependency were satisfied? UnCoBench evaluates these unreliable-colleague conditions. 25

Record the cost of getting to the result: elapsed time, tokens, tool calls, repeated work and human intervention. Measure factual reliability separately from task success, too. A study of clinical tasks found that improved task performance did not reliably come with reduced hallucination in the generated rationales. Across organisational boundaries, check each agent’s obligations as well as the shared outcome. 26, 8

For checkout, the useful result is a verified fix whose time and cost justify the arrangement. Every extra agent should have a contribution we can identify, a handoff the next agent can use, and an outcome we can check.

References

  1. Yan et al. Beyond Self-Talk: A Communication-Centric Survey of LLM-Based Multi-Agent Systems. (2025). alphaXiv.
  2. Yang et al. A Survey of AI Agent Protocols. (2025). alphaXiv.
  3. Yuan et al. Rethinking Multi-Agent Collaboration: When More Is Less. (2026). alphaXiv.
  4. Chu et al. MASBench: Benchmarking LLM-based Multi-Agent Collaboration under Partial Observability. (2026). alphaXiv.
  5. Li et al. CAMEL: Communicative Agents for “Mind” Exploration of Large Language Model Society. (2023). alphaXiv.
  6. Hong et al. MetaGPT: Meta Programming for a Multi-Agent Collaborative Framework. (2023). alphaXiv.
  7. Qian et al. ChatDev: Communicative Agents for Software Development. (2023). alphaXiv.
  8. Shekkizhar et al. Why Do Agent Teams Fail Across Boundaries? A Failure Taxonomy for Agent-to-Agent Systems with Private States. (2026). alphaXiv.
  9. Kim et al. Multi-Agent Transactive Memory. (2026). alphaXiv.
  10. Fan et al. Learning Calibrated Confidence for Multi-Agent Collaboration. (2026). alphaXiv.
  11. Zou et al. Latent Collaboration in Multi-Agent Systems. (2025). alphaXiv.
  12. Zhang et al. LatCom: Cross-Agent Latent Compression for Efficient Multi-Agent Collaboration. (2026). alphaXiv.
  13. Yuan et al. Beyond Message Passing: A Semantic View of Agent Communication Protocols. (2026). alphaXiv.
  14. Kong et al. A Survey of LLM-Driven AI Agent Communication: Protocols, Security Risks, and Defense Countermeasures. (2025). alphaXiv.
  15. Wu et al. AutoGen: Enabling Next-Gen LLM Applications via Multi-Agent Conversation. (2023). alphaXiv.
  16. Dang et al. Multi-Agent Collaboration via Evolving Orchestration. (2025). alphaXiv.
  17. Wang et al. Competence-Aware Orchestration for LLM-Based Multi-Agent Systems. (2026). alphaXiv.
  18. Yang et al. AgentNet: Decentralized Evolutionary Coordination for LLM-based Multi-Agent Systems. (2025). alphaXiv.
  19. Cheng et al. WorkflowOps: Learning Agent Collaboration Priors for Multi-Agent Workflow Orchestration. (2026). alphaXiv.
  20. Wang et al. Mixture-of-Agents Enhances Large Language Model Capabilities. (2024). alphaXiv.
  21. Li et al. MASTraceBench: Diagnosing Collaboration Gains through Proposal Trajectories in LLM-Based Multi-Agent Systems. (2026). alphaXiv.
  22. Sun et al. Collab-Overcooked: Benchmarking and Evaluating Large Language Models as Collaborative Agents. (2025). alphaXiv.
  23. Cemri et al. Why Do Multi-Agent LLM Systems Fail? (2025). alphaXiv.
  24. Zhang et al. Which Agent Causes Task Failures and When? On Automated Failure Attribution of LLM Multi-Agent Systems. (2025). alphaXiv.
  25. Huang et al. Beyond Perfect Teammates: Multi-Agent Collaboration with Unreliable Colleagues. (2026). alphaXiv.
  26. Jang, Joshi and Yu. Does Multi-Agent Collaboration Reduce Hallucination in Clinical Tasks? (2026). alphaXiv.
  27. Qiu et al. Agent Transfer Protocol: Server-Mediated Agent-to-Agent Communication Architecture for the Agentic Web. (2026). alphaXiv.