Station O2 · Track II · the operator's manual
The Wiring Loom
This year the practice is called graph engineering; last year it was multi-agent orchestration, and next year it will be called something else. Ignore the label and keep the structure: when one loop stops being enough, you wire loops into a system — and the wiring itself becomes the thing you engineer. Below, the same tasks and the same model run through two different org charts, and only one of them is a graph.
instrument live — trace the orgs · rewire the loom · place the gate
loading real org runs…
lone generalist
warming up
router → specialists
warming up
same model, same tasks, same scoring — the org chart is the only thing that changed
fig. 01 — six checkable tasks, two real orgs, one local model: both score 6/6 — the bill is where they differ
State, nodes, edges
Strip the vocabulary and a graph-engineered system is three parts. A nodeOne worker in an agent system: a single job — call a model, run a tool, ask a human — with a defined input and output. does one job — call a model, run a tool, fetch a document, ask a person. An edgeA wire between workers in an agent system: it decides, from the current state, whose turn is next. decides who works next, and the decision can depend on what’s happened so far. And shared stateThe living record of the work so far that every worker in an agent system reads from and writes to. is the record everyone reads and writes — the task, the drafts, the verdicts. The engineering is in the edges: a plain agent hides “what happens next” inside a model’s judgment; a graph makes it an explicit, inspectable decision.
That explicitness is the whole sales pitch. You can route conditionally, fan out in parallel, pause for approval, resume after a crash, and — the part that matters at 2 a.m. — see which node did what to the state, in order. A loop you can’t observe is a story; a graph is a record. The trace above is exactly that record for two tiny orgs, kept honestly.
Topology is a hyperparameter
Once work is a graph, the shape of the graph is a knob — as real a knob as temperatureA knob that reshapes the model's word-choice odds — low keeps only safe favorites, high lets long-shot words into the draw. or learning rate, with the same kind of trade-off surface. The loom above holds every part constant: same noisy workers, same imperfect judge. Only the wiring changes, and quality, cost, and latency all move. A pipeline buys quality with depth; best-of-3 buys it with parallel cost; the review loop spends calls only when the reviewer is unhappy.
And every wiring has a failure condition you can find with the sliders: crank the judge’s noise and best-of-3 collapses back to a coin flip — three good drafts are worthless if the picker can’t tell. No topology is best; each buys a different thing with a different budget. That’s why it’s a hyperparameter and not a doctrine.
The real trace up top already cashed this out. Both orgs went six for six — a strong model doesn’t need an org chart to solve small tasks — but the generalist paid 1448 tokens against the graph’s 953, most of it spent rambling through the IPv4 regex that the specialist, boxed in by a tight output contract, dispatched in 92. Equal quality is not equal engineering: the wiring showed up on the bill, not the scoreboard.
crank judge noise and watch best-of-3 fall back to the pack — fan-out only pays if the judge can see. workers and judges never change; only the wiring does.
Every edge closes somebody's loop
Station O1 ended on one question — who closes the loop? A graph answers it per edge. The reviewer node closes the worker’s loop. The routerA worker whose whole job is choosing a lane: it reads the task and decides which specialist should handle it. closes a loop nobody talks about: should this task even go to that worker? In the trace above you can watch those edges decide — and if the router ever picks the wrong lane, you can watch a specialist confidently solve the wrong kind of problem. Edges are decisions, and decisions can be wrong — which is precisely why you want them out of the hidden prose of a mega-prompt and into wires you can test.
The Feedback Bench’s warning scales with the org: a node with a noisy self-estimate doesn’t just fail locally, it exports its bad gradient to everyone downstream. Wiring a judge node into the graph is loss-function design at the org level — the same craft, one floor up.
Human-in-the-loop: the human is a node now
The ladder in O1 ended with the model closing its own loop. Graphs put you back in — not holding the loop, but wired into it as a checkpointA deliberate pause in an agent system where a human inspects the work before it continues.: a node with a defined job, a defined position, and a budget. “Human in the loop” is a placement problem, not a vibe — the lab above has exactly one human to spend, and where you stand them changes what ships broken and what a catch costs to redo.
The late gate ships the least and pays the most per catch; the early gate is cheap and blind to everything after it. There is no slot that wins both columns — governance is engineered under the same trade-offs as everything else in the graph. Which is the quiet promise of this whole discipline: when the word “graph engineering” is replaced next year, the placement problem, the noisy-judge problem, and the observable-record problem will still be here, wearing the new name.
defects shipped
13.4%
45.2% with no gate
rework per run
0.72
stages redone on a catch
the last gate ships the fewest defects but pays the most rework per catch — anything it finds means redoing every stage since the break. governance is a placement problem.
Return
Everything on this loom is O1’s one question, asked once per edge. If you skipped the Feedback Bench, walk it first — the loom will read twice as clearly once you’ve watched a single loop close by hand.
Track II · O1
Prompt · Loop · Agent — The Feedback Bench
One question separates them: who closes the loop?