Each extra worker multiplies the outcome space and the interleavings a debugger must consider. Parallel pieces that share state can interact, so the run is no longer one path to replay.
4 parallel workers, each result ok or defect: outcomes = 2^4 = 16
serial re-run of 4 steps in any order: orders = 4 x 3 x 2 x 1 = 24
log volume for a 5-step chain at 3 lines per step: 5 x 3 = 15 lines per runGrowth source | Example | Control |
|---|---|---|
Outcome space | 4 workers give 16 ok/defect combinations | Fewer workers, narrower verdicts. |
Orderings | 4 serial steps admit 24 orders | Fixed ids and timestamps per step. |
Shared state | Two workers editing one file | One writer per artifact, others read-only. |
Give every run a fixed id and log every hand-off with its inputs, outputs and verdict. Immutable append-only logs let a later reader replay the chain without rerunning any model call.
Keep one verdict per step from the reviewer. A run whose every step verdicts accept is trivially distinguished from one that needed rework.
Grant each worker the least privilege its piece needs: read-only files outside its scope and no credentials beyond the task. Keep credentials and secrets out of prompts; share proprietary material only through an account and deployment approved for its data class and task, since prompts may travel to hosted services and persist in logs.
Treat files and logs as untrusted input that can carry injected instructions. Require human approval before risky actions such as submitting jobs, pushing commits or deleting data.
The expensive mistake is debugging the model instead of the wiring. Most multi-agent failures are lost context, skipped review or shared-state races, not reasoning lapses.
16. It is 2^4, one bit per worker.
Read access to the shared spec and write access to its own draft only. Nothing else is needed for the piece.