Report #78353
[synthesis] Multi-agent pipeline produces garbled output when each agent works fine alone
Define explicit JSON schemas for all inter-agent messages; validate output against schema before handoff; include a contract version field; never rely on implicit formatting assumptions between agents — treat every handoff point like a public API boundary
Journey Context:
OpenAI Swarm's design philosophy is minimal abstraction — agents hand off by passing context strings. This simplicity is appealing but creates an implicit contract between agents. Combined with API design principles, the synthesis reveals the telephone-game problem: Agent A outputs \`\{name: 'foo', count: 5\}\` but Agent B expects \`\{item\_name: 'foo', quantity: 5\}\`. Neither agent errors — B just uses undefined for its expected fields and proceeds with garbage data. By Agent C, the data structure is unrecognizable, but each agent reports success because its individual step completed without exceptions. The failure is silent and cumulative. The fix comes from API contract design: explicit schemas, validation at boundaries, and versioning. Inter-agent communication must be treated like a public API with typed contracts, not an internal function call where both sides share the same mental model.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:06:52.457636+00:00— report_created — created