Back to the episode map

Evergreen

How to Design an Interoperable Multi-Agent Workflow

A practical architecture for multi-agent workflows covering boundaries, contracts, state, semantics, timeouts, retries, cancellation, compensation, and human control.

Aug 4, 20267 min readBy Dalton Anderson

How to Design an Interoperable Multi-Agent Workflow

An interoperable multi-agent workflow is worthwhile only when independent capabilities or ownership boundaries create more value than the added semantic, security, latency, cost, observability, and recovery burden.

Start with the user outcome and a simpler baseline. Split the workflow where a team, vendor, security domain, regulated responsibility, or specialized capability should genuinely remain independent. Then define the delegation contract, state, authority, artifact, failure behavior, and human control before choosing a protocol or adding agents.

Begin with the outcome, not an agent roster

"Use three agents" is an implementation preference. "Resolve a delivery problem within ten minutes without an unauthorized purchase" is a product outcome.

Write the outcome in terms a user or operator can verify. Include quality, time, cost, safety, and commitment boundaries. Build or measure the simplest credible baseline, which may be one application with tools, a deterministic workflow, or a person supported by automation.

The multi-agent design must earn its additional boundary against that baseline. If it produces the same result with more latency, more policy surface, and harder incident response, interoperability has not improved the product.

Split only at a real boundary

A strong delegation boundary usually reflects independent ownership or a capability that should not be absorbed into the calling system.

A logistics provider may own carrier access, capacity, and delivery commitments. A regulated screening service may own a legally controlled decision process. A specialist research service may own proprietary data and methods. In each case, opacity protects a legitimate boundary.

Creating separate "planner," "critic," and "writer" personas inside one application may be a useful reasoning pattern. It does not automatically require an open agent protocol or separate services.

BoundaryWhat independence can protectCost introduced
VendorProprietary implementation and commercial ownershipExternal reliability, contract, and support dependency
Security domainCredential and data separationIdentity federation and audit complexity
Regulatory roleControlled responsibility and evidencePolicy alignment and review latency
Specialized capabilityFocused evaluation and operating expertiseSemantic translation and integration work
Scale domainIndependent capacity and failure isolationDistributed state and recovery

Define one delegation contract

For each boundary, write a contract that another team could test without reading the agent's prompt or source code.

The contract should identify the purpose, input schema, allowed data, authority, expected artifact, task states, semantic acceptance rules, time and cost limits, retry policy, idempotency behavior, cancellation, compensation, retention, and support owner.

A2A 1.0 can carry Messages, Tasks, state updates, and Artifacts across an independent agent boundary. Those objects give the contract a standard coordination envelope. They do not define what "approved delivery plan" means for your business.

Give one system canonical workflow ownership

Every task should have a clear system of record for the user's intent and the overall workflow state.

The orchestrating system should preserve the originating request, policy version, approved scope, remote agent identity, Agent Card digest or version, local and remote task identifiers, attempt count, deadlines, artifact versions, external effect identifiers, and final disposition.

Do not infer the overall state from the last natural-language message. A remote task may be working while the local workflow is canceled. A task may be completed while the returned artifact fails validation. A user may have approved a proposal that expired before execution.

stateDiagram-v2
    [*] --> Planned
    Planned --> Authorized
    Authorized --> Delegated
    Delegated --> Waiting
    Waiting --> NeedsInput
    Waiting --> NeedsAuthorization
    NeedsInput --> Waiting
    NeedsAuthorization --> Waiting
    Waiting --> Validating
    Validating --> Accepted
    Validating --> Rework
    Rework --> Delegated
    Waiting --> Failed
    Waiting --> CancelRequested
    CancelRequested --> Canceled
    CancelRequested --> Reconcile
    Validating --> Reconcile
    Reconcile --> Compensated
    Reconcile --> ManualReview
    Accepted --> [*]
    Canceled --> [*]
    Compensated --> [*]
    ManualReview --> [*]

The workflow state is broader than the protocol task state. Keep both.

Make semantics testable

Two agents can exchange valid JSON and still disagree about identity, units, dates, confidence, completion, or side effects.

Use stable identifiers and explicit schemas. Name units, time zones, currencies, locales, policy versions, and effective dates. Distinguish an estimate, recommendation, reservation, authorization, and completed transaction.

Validate the artifact twice. First, validate its structure and media. Then validate the domain meaning against the original request and current policy.

For probabilistic output, define what requires corroboration or human review. "The remote agent said complete" is not an acceptance rule.

Model timeouts as uncertainty

A timeout means the caller stopped waiting. It does not prove the remote agent stopped or the external effect did not occur.

Before retrying, query or reconcile the remote task when possible. Use an idempotency key for operations that may be repeated. Limit attempts and backoff. Route unresolved ambiguity to a review path rather than asking the model to guess.

FailureWhat is knownSafe next move
Connection failed before acceptanceRemote receipt is uncertainReconcile by idempotency key or task lookup
Task reports failedRemote processing ended unsuccessfullyInspect typed error, policy, and retry eligibility
Artifact is invalidProtocol completed but outcome failed acceptanceReject, request correction, or use fallback
Cancellation requestedStop was requestedConfirm terminal state and reconcile side effects
Push update duplicatedDelivery happened more than onceProcess idempotently and retain one state transition
Agent unavailableCurrent delegation path cannot runUse a predesigned fallback or surface delay

Design cancellation and compensation separately

Cancellation can stop future work only while the remote system still has a cancelable task. It cannot unsend an email, erase a disclosure, unship an item, or reverse a settled payment.

For each side effect, define a compensating action where one exists. A reservation may be voided. A record may be restored from version history. A customer message may require a correction rather than deletion.

Some effects cannot be reversed. Those require stronger precommit authorization and human control.

Put people at decision boundaries

Human review works when the person sees a concrete decision with enough context to act.

Define which data sensitivity, monetary value, legal commitment, external communication, confidence level, policy exception, or model uncertainty requires review. Show the proposed action, supporting artifact, target, material limits, and alternatives.

The reviewer should be able to approve, edit, reject, defer, or escalate. The approval should expire if the proposal changes.

A2A's input-required and authorization-required states can carry the interruption. The application decides what the person sees and what authority the response creates.

Observe the user outcome across every agent

Correlate traces, tasks, policy decisions, artifacts, external effects, and human interventions without copying secrets or sensitive model context into logs.

Measure successful user outcomes, semantic defects, policy violations, end-to-end time, cost, manual interventions, duplicate effects, unrecovered failures, and operator effort. Protocol error rate belongs in the dashboard, but it is not the product metric.

Compare the multi-agent path with the baseline under the same tasks and acceptance rules. Include failure injection, not only successful demonstrations.

A practical architecture review

Walk one representative task from user intent to final acceptance. At every boundary, ask who owns the decision, what authority crossed, what data crossed, which state is canonical, how completion is verified, what a timeout means, and who recovers the outcome.

If those answers depend on an agent "figuring it out," the workflow contract is incomplete.

Use A2A when the remote agent boundary deserves a standard task and artifact lifecycle. Use MCP's stable host, client, and server architecture when an AI host or agent needs standard access to tools and context. Use a normal API or deterministic workflow when the work does not need an agent contract.

For authority crossing service boundaries, OAuth 2.0 Token Exchange provides subject, actor, audience, resource, and scope concepts. It does not decide whether a particular workflow should permit the exchange, so the architecture still needs an explicit policy.

This guide presents a design and evaluation method. It does not report a Venture Step production benchmark or certify a particular agent architecture.

This article was developed with AI assistance and reviewed against A2A 1.0 and the episode evidence linked above. Dalton Anderson is responsible for the final editorial judgment.

Sources

Follow the evidence.

  1. datatracker.ietf.org: rfc8707datatracker.ietf.org
  2. blog.modelcontextprotocol.io: 2026 07 28 release candidateblog.modelcontextprotocol.io
  3. datatracker.ietf.org: rfc8693datatracker.ietf.org
  4. open.spotify.com: 6kP2pOFpNqamU9bCGRy2oDopen.spotify.com
  5. a2a-protocol.org: what is a2aa2a-protocol.org
  6. linuxfoundation.org: linux foundation launches the agent2agent protocol project to enable secure intelligent communication between ai agentslinuxfoundation.org
  7. modelcontextprotocol.io: specificationmodelcontextprotocol.io
  8. a2a-protocol.org: latesta2a-protocol.org
  9. a2a-protocol.org: specificationa2a-protocol.org
  10. github.com: A2Agithub.com
  11. modelcontextprotocol.io: 2025 11 25modelcontextprotocol.io
  12. a2a-protocol.org: agent discoverya2a-protocol.org
  13. youtu.be: cAAsiaTVpEgyoutu.be
  14. daltonanderson.ghost.io: googles a2a protocol the future of ai agentsdaltonanderson.ghost.io
  15. daltonanderson.net: googles a2a protocol the future of ai agentsdaltonanderson.net
  16. developers.googleblog.com: a2a a new era of agent interoperabilitydevelopers.googleblog.com
  17. modelcontextprotocol.io: intromodelcontextprotocol.io
How to Design an Interoperable Multi-Agent Workflow