Your research-synthesis system has three subagents (web-searcher, document-analyzer, fact-verifier) that currently communicate directly with each other — the web-searcher passes results straight to the analyzer, which passes findings to the verifier. The system has been hard to debug: failures happen "somewhere in the chain" without consistent error handling or a single point of observability.
What's the better architectural pattern?
Why did you pick that answer? Two or three sentences. The act of articulating it is what builds the judgment — not the click that follows.
Hub-and-spoke architecture trades a small latency cost for a large observability and reliability gain. When every inter-subagent message passes through the coordinator, you get a single point where errors are handled consistently, where logs are coherent, and where the workflow can be inspected end-to-end. Direct subagent-to-subagent communication produces a tangled debugging surface where failures live in interstitial space no one owns.
The latency saved by direct routing is dwarfed by the time spent debugging when something goes wrong — and something always goes wrong. Multi-agent systems live or die on observability.
Logs help, but they don't unify error handling or give you a single coordination point. You'll still have to correlate logs across subagents to figure out where a chain failed. The architectural pattern matters more than the instrumentation.
Sending duplicates to a logging service doubles the work and produces a separate, lossy view of the system. Coordinator-routed messages are the system; logs are derived from that, not in place of it.