Concepts / Multi-Agent System Design

Multi-Agent System Design

A strong answer to a production failure question covers both technical diagnosis and customer communication.

  • Programming

Why Production Failures Have Two Halves

Some technical screens include a question that sounds purely technical but is not. You are told that a system is running in production, that it is misbehaving, and that a customer is unhappy. You are then asked to walk through how you would diagnose the problem and how you would explain the fix. The question is testing more than debugging skill. It is testing whether you understand that production failures have two halves, and that both belong to the job.

What do you think happens?

Before reading on: what do you think the two halves of a production failure answer are?

  • Writing the fix and writing the tests

  • Technical diagnosis and customer communication

  • Finding the bug and finding the person who introduced it

  • Logging the error and deleting the logs

Reveal answer
Answer:

Technical diagnosis and customer communication

A strong answer to a production failure question covers both technical diagnosis and customer communication. A response that is only technical does not fully answer the question, even when the diagnosis is correct.

This article follows one scenario from start to finish. The system is a multi-agent system that is intermittently dropping state between two agent handoffs. The customer deployed it recently, and the failure is not constant. It shows up only sometimes, which makes it harder to reproduce and harder to explain. We will trace where the state goes, learn how to structure the diagnosis, and then look at how to explain the fix to the customer.

Tracing the Failing Handoff

A multi-agent system is made of several agents that pass work to one another. In the source scenario, state is passed from one agent to another at a handoff, and state is sometimes lost in that transfer. The diagram below shows the general shape of the flow that the diagnosis has to follow. Read it as a sequence of messages: the first agent sends state, the handoff carries it, and the second agent receives it. The failure is reported to occur somewhere along that path.

Agent Asends stateHandofftransfers stateAgent Breceives statestate sentstate received (some fields missing)
At which handoff does the shared state disappear, and what does each agent receive versus what it sent?

The diagram is a simplified picture, and the source does not describe the internals of the customer's system. What matters for the diagnosis is the comparison it implies: for any given run, you can ask what Agent A sent and what Agent B received. If those two differ, the loss happened in transit or at the receiving boundary. If they match, the state was lost somewhere else, and the investigation moves elsewhere.

Structuring the Diagnosis

The diagnosis begins with the handoff, because that is where the failure is reported to occur. Because the state loss is intermittent, the first task is to establish what differs between the runs that succeed and the runs that fail. A strong answer names this as a deliberate step rather than jumping straight to a guess about the cause. The guess can come later, once the evidence has been collected and compared.

The flowchart below lays out the order of checks. Each result decides which check comes next. It is a structure for thinking, not a fixed script, but it captures the sequence a strong answer would describe.

Collect recordsfrom passing andfailing runsCompare what differsbetween the runsWas state in whatAgent A sent?Inspect earlier stepsin Agent AWas state in whatAgent B received?Inspect the handofftransferCheck the failuremodes list for amatchConfirm the causewith evidencenoyesnoyes
What is the ordered sequence of checks to isolate an intermittent state-loss bug, and which result sends me to which next step?

Following the State Object Through Each Agent

A useful way to reason about state loss is to follow the state object itself as it moves. Imagine a state record that carries several fields. Each agent reads some fields, may add or change others, and passes the record on. A field can disappear at any transition where it is not carried forward. The worked example below uses an invented, simplified record to show the method. The field names are illustrative and are not taken from the customer's system.

Worked example

Locating a Dropped Field Across Two Runs

Two runs of the same workflow are recorded. In the passing run, the record reaches Agent B with all fields. In the failing run, the field order_context is absent when Agent B begins work. Which transition should be examined first?

  1. 1
    Record what each agent sent

    Pull the outgoing record from Agent A for both runs. In both, order_context is present in the output, so Agent A is not the first place to suspect.

  2. 2
    Record what each agent received

    Pull the incoming record at Agent B for both runs. In the passing run, order_context arrives. In the failing run, it does not.

  3. 3
    Locate the boundary of the loss

    Because the field was sent but not received, the loss happened at the transfer or at the receiving boundary. The examination should move to the handoff.

  4. 4
    Avoid asserting a cause yet

    The evidence shows where the field disappears, not why. The next step is to find what differs in the handoff between the two runs, using the recorded data.

Result

The dropped field was sent by Agent A but absent on arrival at Agent B, so the investigation starts at the handoff and compares the two recorded runs there.

Explaining the Fix to the Customer

The second half of the answer is the conversation with the customer. The source treats this as part of the job, not as a courtesy added after the engineering work is finished. Explaining a fix in the customer's terms is part of resolving the failure. A useful explanation tells the customer what was happening in terms they can follow, what was changed to stop it, and what they should expect from the system now.

AspectTechnical diagnosisCustomer-facing explanation
AudienceEngineers who can read telemetry and the system internalsThe customer, who needs to act on the result and trust it
ContentEvidence of where state is lost, the checks performed, and the cause confirmedWhat was happening, what changed to stop it, and what to expect now
PurposeEstablish the cause with recorded evidenceLet the customer understand, act, and trust the fix
Level of detailSpecific: fields, runs, transitionsEnough to follow, without internal detail that buries the point
CertaintyStates only what the evidence establishesStates only what the diagnosis has established, with no false certainty

Technical diagnosis and customer communication differ in audience, content, and purpose, and both belong to a strong answer.

A customer-facing explanation of this scenario might say that the system sometimes dropped part of the shared information as it moved from one step to the next, that a change has been made at that transfer point, and that the team is monitoring subsequent runs to confirm the change holds. It does not need the names of internal fields, and it does not promise that the problem can never happen again unless the evidence supports that claim.

Mistakes When Answering Production Failure Questions

The most common way candidates answer this kind of question incorrectly is to treat the failure as a purely engineering problem. The candidate focuses on finding the bug, fixing it, and verifying the fix, and the customer is treated as someone who will eventually be informed by somebody else.

  • Common mistake

    Treating customer communication as someone else's job

    What it looks like

    Saying the account manager or support team will handle the customer update.

    Why it fails

    The source treats the customer relationship as part of the job. A purely technical answer does not fully answer the question, even when the diagnosis is correct.

    Do this instead

    Include a clear account of what was happening, what changed, and what to expect as part of your own answer.

  • Common mistake

    Jumping to a cause before collecting evidence

    What it looks like

    Declaring that a race condition at the handoff must be the cause, without comparing runs.

    Why it fails

    An intermittent failure should be characterized with recorded evidence before a cause is asserted.

    Do this instead

    Compare passing and failing runs first, then let the recorded data point toward the cause.

  • Common mistake

    Ignoring the telemetry and failure modes

    What it looks like

    Reasoning from memory of how the system was designed to work.

    Why it fails

    The telemetry schema and observability practices are what separate failing runs from passing ones, and known failure modes provide plausible causes to check.

    Do this instead

    Reference the telemetry schema and check the recognized failure modes for multi-agent systems.

  • Common mistake

    Overclaiming certainty to the customer

    What it looks like

    Telling the customer the problem is permanently solved when only one successful run has been observed.

    Why it fails

    The explanation should not claim certainty that the diagnosis has not established.

    Do this instead

    Describe what has been changed and what is being monitored to confirm the change holds.

  • Common mistake

    Burying the customer in internal field names and transition details

Practice: Planning a Diagnosis and a Customer Update

MEDIUM

A multi-agent system intermittently drops state between two agent handoffs. Outline, in order, the steps you would take to diagnose it, and then write two or three sentences you would send to the customer explaining the fix without internal detail and without claiming certainty you do not have.

Hints
  • Start by separating passing runs from failing runs before proposing any cause.
  • Check what each agent sent and what the next agent received.
  • Mention the telemetry and the known failure modes for multi-agent systems.
  • In the customer message, say what was happening, what changed, and what to expect next.

Key Takeaways

  • A strong answer to a production failure question covers both technical diagnosis and customer communication, because production failures have two halves.
  • An intermittent state-loss problem should be diagnosed by comparing recorded passing and failing runs, starting at the handoff where the failure is reported to occur.
  • The telemetry schema, observability discipline, and known failure modes of multi-agent systems support the diagnosis and keep it grounded in evidence.
  • A fix should be explained to the customer in terms they can follow and act on: what was happening, what changed, and what to expect, without burying them in detail or overclaiming certainty.