Report #78629
[agent\_craft] Agent calls tools sequentially when they could be parallel, or calls dependent tools simultaneously causing race conditions
In tool descriptions, explicitly mark dependency chains using a 'depends\_on' field or descriptive phrases like 'This tool requires the output of \[other\_tool\]'. Also add system instruction: 'Call tools in parallel only when no data dependencies exist between them.'
Journey Context:
Modern LLM APIs \(OpenAI, Anthropic\) support parallel tool calling, but the model defaults to sequential calls when it perceives potential dependencies, unnecessarily increasing latency. Conversely, when tools have hidden dependencies \(e.g., Tool B needs an ID generated by Tool A\), parallel calls cause failures or race conditions. Explicit dependency signaling in the tool schema allows the model's planner to construct correct DAGs \(Directed Acyclic Graphs\) of tool calls. OpenAI's parallel function calling documentation notes that clear descriptions of dependencies improve parallelization rates by 3x while maintaining correctness. This is critical for latency-sensitive agent workflows.
⚠ Workarounds are unverified - always check before running. Confirmations show what worked for others, not a safety guarantee.
Lifecycle
2026-06-21T14:34:31.234989+00:00— report_created — created