Three activities that turn this week's argument into a skill you can use on your own capstone: decide whether a real task decomposes, attribute a failure in a trace where every agent behaved correctly, and argue a case the way the analysts who have to trust the output would.
You are handed a conference-planning agent. Its job: for a two-day departmental conference with a fixed total budget, choose a venue, arrange catering, invite and confirm speakers, and keep the whole thing inside budget. On paper or a whiteboard, draw it twice: (1) as a single agent with tools, and (2) as a supervisor with four workers. On both drawings, mark in one colour every piece of shared mutable state (anything two parts of the system both read and write) and in another colour every hand-off point (anywhere information has to travel from one box to another). Then apply the test out loud: do these subtasks run in parallel, and can each one be verified on its own?
Produce: both sketches, with shared state and hand-offs marked, plus a one-line verdict that names the test — e.g. "single agent, because X and Y are coupled through the budget and neither is verifiable alone."
The verdict most groups should reach: mostly do NOT split — but split one specific slice.
Where the test fails. The four "subtasks" are not independent; they are four views of one coupled plan. Budget is shared mutable state that all four write to — every speaker fee you commit is catering money you no longer have. Headcount and dates are shared too: the venue's capacity caps the invite list, the venue's kitchen rules constrain catering, and a speaker's availability can force a date change that invalidates the venue booking. Nor are the outputs independently verifiable: a catering plan is not "correct" in isolation — it is correct relative to a headcount, a room, and a remaining balance. Both halves of the test fail, which is the textbook shared-mutable-state case from page 02.
Where a split is genuinely justified. The read-only research inside each area does pass the test: "survey twelve candidate venues for capacity, date availability, and price", "look up availability and speaking fees for these ten people", "get quotes from six caterers." Those are parallel, and each result is verifiable against its own source. That is a fan-out of lookups, not a team of decision-makers.
The design that follows. One planning agent owns the plan and the budget — the mutable state stays in one place, with one owner and one trace. Underneath it, parallel research workers (or simply parallel tool calls, which at this scale is often the better engineering) return options with prices, never commitments. Commitments — booking, signing, spending — run through the single owner, behind a human gate, because they are irreversible and they move money (Week 4’s gate placement: after the action is chosen, before it executes).
Common misses to check your sketch for: drawing four workers with no line back to a budget box (the money then exists in four places at once); marking the hand-off arrows without writing what travels on them; and forgetting the date constraint, which is the coupling that surprises people — it links the venue and speaker "workers" that look most independent on the page.
Below is a trace from a fictional three-agent quarterly-reporting system. Read it carefully, then answer three things. (1) Which agent malfunctioned? (2) Which MAST category is the root failure — specification & system design, inter-agent misalignment, or task verification & termination — and which category is a secondary contributor? (3) Name the one log line you wish this system had recorded that would have made the failure obvious in seconds.
Produce: your category call with the exact line of the trace that proves it, plus your one missing log, written in the form "for every X, record Y."
Fictional teaching case. User request: "Summarize Q3 revenue by region for the board deck. Use the finalized figures only — the preliminary numbers in the shared drive are not approved for external use."
(1) Which agent malfunctioned? None of them. That is the whole point of the exercise, and it is the single most useful instinct to build this week. Given the instruction it received — "pull Q3 revenue by region" — the data agent's choice was defensible; it even explained itself. Given the figures it received, the writer's draft was accurate and on-spec. Given the summary it reviewed, the supervisor's review was true. Three correct agents, one wrong system.
(2) Root category: specification & system design (MAST category 1). The user's binding constraint — finalized figures only, preliminary not approved — appears in the user request and then in no payload anywhere in the trace. The proving line is the first hand-off: "Pull Q3 revenue broken out by region." The supervisor decomposed the task and dropped the constraint, so no downstream agent could have honoured it. A subagent's clean context window is clean of your requirements too.
Secondary: task verification & termination (category 3). The supervisor's review checked the summary against the summary's properties — length, region coverage — not against the user's requirement or the source of record. "Looks complete" is not verification; it is a rubber stamp. The writer's self-check has the same shape: both checked form, neither checked provenance.
Why it is not inter-agent misalignment (category 2) — the tempting answer. Category 2 is about agents contradicting each other, withholding information from each other, or derailing each other. Here the agents were perfectly consistent with one another; they were consistently wrong, because the same missing constraint was missing everywhere. A useful discriminator: category 2 failures show a disagreement somewhere in the trace. There is none in this one, and that is what makes it dangerous — nothing in the system's own output looks off.
(3) The one log you wish you had. The strongest single answer: "For every hand-off, record the payload verbatim alongside the user's original constraints, and flag any constraint that appears in the request but in no payload." That one line turns this failure into an automatic alert instead of a board-meeting discovery. Two other good answers, in order: "for every file read, record the alternatives that were available and the reason this one was selected" — the data agent's rationale was in its reasoning but was never carried anywhere a human could see it — and "for every 'done' verdict, record what was checked and against which source of record." All three are the Week 2 evidence standard applied at the seams: state before → observation → available actions → selected action → result → state after, logged per hand-off rather than only per agent.
The fix, for completeness. Carry constraints explicitly in every payload (the hand-off contract from page 01), verify against the source of record rather than against the artifact's shape, and note that a single agent reading the same folder in one context would very likely have seen both files and asked which one to use — a fair reminder that the split created the seam that lost the constraint.
Meridian Ridge Capital is a fictional mid-sized investment-research firm. Last quarter it replaced its single research agent with a five-agent pipeline, and the demo was spectacular.
An intake supervisor takes an analyst's question about a company and fans it out to four specialists: a filings agent (reads the last four quarterly reports), a macro agent (sector and rate environment), a news agent (press coverage and announcements from the last 90 days), and a memo writer that turns whatever comes back into a two-page investment memo in house style.
Throughput went up roughly fivefold. The memos are clean, well-organized, and confident. Analysts loved them for six weeks.
Two analysts asked about the same company two days apart and got two memos with opposite conclusions. One described margin expansion and a strengthening position; the other described margin compression and rising input costs. Both cited real evidence. Both read as authoritative.
The reconstruction: the filings agent had used the most recent filed quarter; the news agent had picked up a pre-announcement covering the quarter after it; the macro agent had summarized input costs at sector level while the filings agent had company-specific figures. Nothing in the pipeline ever compared the four specialists' outputs to each other. The memo writer's job was to write well — and it did, twice, from two different sets of inputs, with no idea the first memo existed.
The compliance question that followed was worse than the technical one: which memo did we send to a client, and can we reconstruct why it said what it said?
evidence with sources rather than conclusions alone. On mismatch, the gate does not average the two views or pick one: it halts and surfaces the conflict to a human, with both sides shown. A conflict that a human resolves is a good outcome; a conflict silently resolved by a model is the failure repeating in a new place.Five questions a real agent-engineering interview would probe on this topic. Try answering out loud before revealing.
LangChain — How and when to build multi-agent systems ↗
AutoGen (Wu et al., 2023) — arXiv:2308.08155 ↗ ·
repo ↗
MetaGPT (Hong et al., 2023) — arXiv:2308.00352 ↗
LangGraph repo — multi-agent examples ↗
Both of this week's videos are embedded on page 01 ↗
Five multiple-choice questions, closed-book, in class next week. Scope: everything assigned since Quiz 3 — the Week 9 readings above (crewAI course · Anthropic multi-agent research system) and the Week 10 readings (Ingold/Hickok on the EU AI Act · NIST AI RMF · Willison's lethal trifecta + the OWASP Agentic Top 10) — plus the core ideas of Weeks 9–10. Two of the samples below cover Week 10 material you have not been taught yet; the explanations are written to teach it, so work through them and then read the Week 10 readings listed at the bottom of this page. Try each question before revealing — the real quiz is the same style and difficulty.
Same style and difficulty as the real thing.