Let one agent hold the whole picture
Split a job and the coordinator is the only thing holding the whole of it. That is why the quality of the split is the quality of the result.
Once a job is too big for one agent, split it. One agent coordinates and the others do the work. The coordinator organises the work and does not do it: it decides what the pieces are, who gets which one and what to do with the answers that come back.
The catch is that no help is coming from below. Each helper only ever sees its own piece, so none of them can tell you the split was wrong. Every piece can come back done and the job as a whole still be missed. The coordinator is the only one in a position to notice, because it is the only one holding the whole picture.
Common questions
- Why must everything route through the coordinator?
Because otherwise it cannot coordinate. It is not cleverer than the helpers and it is not in charge of them in any way that matters. The only thing it has is the complete picture, and every message that goes around it takes a piece out of that. - Does routing through one agent remove the coupling?
No, it concentrates it. The helpers end up completely decoupled from each other, because none of them knows any other exists, and completely dependent on the coordinator instead. Which is the point. - What is the worst kind of failure here?
The split being too narrow. Every helper does its job perfectly, nothing errors, everything comes back green and the topic is still missed. There is no signal to go looking for, because nothing broke. - So what decides the quality of the result?
The quality of the split. A list of what is required is a requirement, so if a piece is not on the list then nobody does it, and nothing in the run will raise its hand to tell you. - How do I stop two helpers doing the same work?
The partition is a rule, and like any other context it has to be given to them, because none of them knows the others exist. It is a brief rather than a boundary: nothing stops a helper straying, it just has nothing else to go on. - Can the split be corrected once they are running?
No. The rule is static, set when you delegate, with no way to renegotiate it. Even a helper that somehow noticed it was duplicating would have no one to tell, so you only find out at the end when the same thing comes back three times. - Should the coordinator run everything or choose?
A fixed pipeline cannot get selection wrong, because it never selects. Once you choose, you have made a way to be wrong about what the job needed, and a helper you chose not to invoke returns nothing and errors nothing. - What does a missing helper look like from outside?
Absent rather than failed. The board is green and the slice was never cut, which is why selection is worth writing as a rule wherever it can be written as one.
Back to For developers. The craft around it is Working with AI.