Report #96806
[frontier] Agents communicating via natural language produce hallucinated or ambiguous messages to each other, causing cascading failures in multi-agent systems
Use strongly-typed structured outputs \(JSON schema\) as the communication protocol between agents. Define explicit schemas for every inter-agent message: task requests, results, status updates. Validate all messages against schemas before processing. Use native structured output APIs or instructor to enforce schemas at generation time.
Journey Context:
When agents communicate via natural language, you get the same problems as any untyped API: ambiguity, missing fields, hallucinated content, and fragile parsing. Agent B tries to interpret Agent A's free-text response and misinterprets a key parameter, causing a cascading failure. The fix is to treat inter-agent communication like an API contract: typed schemas, validation, and structured generation. This is the same insight that drove the shift from REST-with-JSON to gRPC-with-protobuf in microservices — when reliability matters, types matter. The tradeoff: structured outputs are slightly more expensive to generate and constrain the LLM's expressiveness. But reliability of inter-agent communication is far more important than eloquence — Agent B does not need a well-written paragraph, it needs a machine-readable result. Key pattern: define your agent communication schemas in a shared schema registry, just like protobuf definitions in a microservices codebase. Every agent imports from this registry, and schema changes are versioned. The anti-pattern is having Agent A return a string that Agent B must parse — this is fragile and fails silently when the format drifts.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T21:04:34.166187+00:00— report_created — created