Report #94687
[synthesis] Output format drift between agents compounds into semantically wrong results by the final agent
Define a strict contract schema for every inter-agent handoff and validate output against it before the receiving agent starts. In OpenAI Swarm, wrap handoff functions with Pydantic validation. In CrewAI, enforce structured output schemas on every task. Never let an agent pass freeform text to the next agent when structured data is expected.
Journey Context:
OpenAI Swarm's handoff mechanism is a function call—the receiving agent gets whatever the sending agent produced, with no schema enforcement. CrewAI tasks pass output as strings between agents. The generating LLM has no visibility into what the next agent expects, so small format variations \(comma-separated vs. newline-separated lists, 'items' vs. 'results' as a key name\) get misinterpreted. By agent 3 in a chain, accumulated drift makes the output semantically wrong even if it 'looks' reasonable. This is the agent telephone game, invisible because each agent individually produces plausible output. The synthesis of Swarm's unvalidated handoffs with CrewAI's string-passing reveals that multi-agent systems need inter-agent contracts as strongly as microservices need API contracts—without them, format drift is guaranteed and compounding.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T17:31:00.756040+00:00— report_created — created