Programmatic tool calling outperforms JSON across 14 language models
Researchers benchmarked programmatic tool calling, where LLMs invoke typed Python stubs directly, against traditional JSON-based tool calling across 14 models on BFCL v4. The study reveals that code-native tool invocation matches or exceeds JSON calling in most cases, suggesting a shift in how agents should expose capabilities to language models. This finding matters for practitioners building production agents: it validates a simpler, more composable calling convention that aligns with how models naturally generate code, potentially reshaping tool-calling standards across the industry.
Modelwire context
Analyst takeThe study doesn't just show code-native calling works; it suggests JSON-based tool calling may have been a premature standardization that locked the industry into a suboptimal convention. The implication is that vendors and frameworks built around JSON schemas now face pressure to support or migrate to direct Python stubs, creating a compatibility and tooling burden.
This directly follows the latency optimization work from early August. OoO-Spec and AOSpec both exploit tool-calling predictability to accelerate agent execution, but they assume a stable calling convention. If the industry shifts from JSON to code-native calling, those speculative techniques may need architectural rework. More immediately, this validates the agent-first tooling philosophy from datasette-apps 0.2a0, which embedded agent debugging and permission controls into infrastructure; code-native calling makes that integration tighter because agents are now invoking Python directly rather than serializing to JSON and back.
If Anthropic, Google, or OpenAI ship native Python stub support in their tool-use APIs within the next two quarters, adoption will accelerate and JSON becomes legacy. Conversely, if major LLM providers continue prioritizing JSON schemas in their official docs and SDKs through Q4 2026, this finding remains academic and the industry has already sunk costs into the JSON standard.
Coverage we drew on
This analysis is generated by Modelwire’s editorial layer from our archive and the summary above. It is not a substitute for the original reporting. How we write it.
Modelwire Editorial
This synthesis and analysis was prepared by the Modelwire editorial team. We use advanced language models to read, ground, and connect the day’s most significant AI developments, providing original strategic context that helps practitioners and leaders stay ahead of the frontier.
Modelwire summarizes, we don’t republish. arXiv cs.CL originally reported this story as “The Bitter Lesson of Tool Calling”. The full content lives on arxiv.org. If you’re a publisher and want a different summarization policy for your work, see our takedown page.