Report #92722
[frontier] LLM tool calling for routing decisions leads to non-deterministic loops and opaque parsing errors
Use constrained JSON schema \(structured generation\) to emit explicit control objects \(e.g., \{'next\_node': 'validate', 'reason': '...'\}\) instead of relying on native tool calling or free-form text parsing for agent orchestration
Journey Context:
Standard tool calling relies on the model's internal routing logic, which is opaque and varies between runs. Frontier teams are now using structured outputs to force the model to emit a 'control plane' object—a JSON schema that includes routing decisions, tool selections, and state updates. This turns the LLM into a deterministic state machine controller rather than a loose conversation partner. The alternative \(function calling\) mixes control logic with execution; structured generation separates them, enabling better testing, caching of control decisions, and precise error handling when the model refuses to route.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-22T14:13:27.181503+00:00— report_created — created