Fan-out, Fan-in, Barriers, and Diamond Graphs
Use fan-out when nodes are independent. Use barriers only when a stage needs the full set. Recognize the diamond topology.
- Use fan-out when nodes are independent.
- Use barriers only when a stage needs the full set.
- Recognize the diamond topology.
This course extends the existing Agentic Engineering track. The focus is not "more prompting"; it is shaping the work: loops, fan-out, fan-in, routing, verification, cost, and convergence.
The diamond
The workhorse graph is split → parallel work → merge. Fan out for breadth, reduce with code, synthesize with an agent only when global judgment is required.
const raw = await Promise.all(sources.map(s => researchNode(s)));
const evidence = raw.filter(Boolean).flatMap(r => r.items);
const report = await synthesizeNode(evidence);
Barrier discipline
A barrier waits for the slowest upstream node. Use it for cross-set dedupe, ranking, global synthesis, and early-exit logic. Avoid it for per-item transforms that could stream as a pipeline.
Recap
A loop is a controlled cycle. A graph is the work shape around that cycle. The production skill is knowing which parts need model judgment, which parts are deterministic edges, and where confidence gates belong.
Fan-out, Fan-in, Barriers, and Diamond Graphs — Exercises
Exercise 1 — Draw the hidden graph
Take a linear workflow you already use, such as "research sources → summarize → compare → write report". Draw every step as a node. Then remove every arrow where the downstream step does not consume upstream data.
Reference solution
A strong answer identifies independent nodes and labels edges by data, not by time. Example: "source A research" and "source B research" are independent; both feed a deterministic reduce step; the reduced evidence feeds synthesis.
Exercise 2 — Write node contracts
For three nodes in your graph, define:
- input shape
- output shape
- failure mode
- downstream consumer
Reference solution
Good contracts are narrow: { topic, sourceUrl } in; { claims: [{ text, sourceUrl, confidence }] } out. Avoid "return a useful summary" because the next node cannot validate it.
Exercise 3 — Add one safety gate
Place a verifier, schema validator, budget check, or human approval gate on the edge most likely to poison downstream work.
Reference solution
For a research graph, gate unsupported claims before synthesis. For a code graph, gate findings with reproduction or a second reviewer before reporting.