Structured Function Calling & Parallel Orchestration
C1 Structured calls and parallel orchestration
Structured function calling and parallel tool orchestration
In one sentenceThe model emits tool calls in a structured format that strictly matches the schema, and calls with no dependencies are compiled into a dependency graph and run concurrently — the primitive underneath every action an agent takes.
How it works
- Constrained decoding for complianceStructured outputs make call arguments match the schema exactly, removing the whole class of “malformed call” failures from the system.
- Dependency-graph parallelismCalls are compiled into a DAG and independent branches run concurrently — measured latency drops to about a third and cost to about a sixth, with a slight accuracy gain.
- Retrieve before you callWith thousands of interfaces, first recall candidate tools, then generate the call — rather than stuffing every tool into the context (see C2).
- Observe-and-call loopResults are fed back and the agent decides again — the prototype of every multi-step agent behavior; keep failed observations in the context so mistakes aren’t repeated.
Parallelism is not only faster and cheaper — it is also more accurate, because shorter chains accumulate fewer errors.
The third bar uses a different unit: latency and cost are multiples, accuracy is percentage points.
Representative work
- LLMCompilerICML 2024 · DAG parallelism
- Structured Outputs100% format compliance
- BFCLTool-calling benchmark family
- ReAct loopCall, observe, decide again
For banks
Exposing in-house systems as APIs and building a tool catalog is itself an asset for agents. Format-critical work — transaction instructions, message generation, regulatory report fields — should be forced through structured output, so a correct format is guaranteed by the architecture rather than left to the model’s luck.
Takeaway
Build the tool catalog first, then talk about agents — without reliable calls, every orchestration is a castle in the air.
SourcesLLMCompiler arXiv:2312.04511 (ICML 2024); OpenAI Structured Outputs documentation; Berkeley Function-Calling Leaderboard
