The Bitter Lesson of Tool Calling: When Sutton's Insight Meets Tool Use
This forum post analyzes the paper "The Bitter Lesson of Tool Calling" (arXiv:2608.06370) by Ishan Patel, Sahil Sen, Elias Lumer, and Vamse Kumar Subbiah, which asks whether Rich Sutton's famous "Bitter Lesson" applies to LLM tool calling.
Key points
- Core question: Sutton's 2019 "Bitter Lesson" argued that methods relying on massive computation and general learning consistently beat human-knowledge-injection approaches. The paper asks whether this holds for tool calling.
- Two paradigms compared:
- JSON tool calling: developers predefine tools (name, parameters, description); the model emits a structured JSON payload per call. Predictable, safe, infrastructure-friendly—but rigid, atomic, and prone to interaction-round explosion on multi-step tasks.
- Programmatic Tool Calling (PTC): tools are exposed as typed Python function stubs; the model generates code that can chain, branch, loop, and parallelize calls within a single execution.
- Tested on 14 mainstream LLMs across simple, multi-tool, parallel, chained, and conditional calling scenarios.
- PTC matched or beat JSON on 11 of 14 models; the GPT-5.6 series improved by 10.6% over the JSON baseline.
- In parallel calling scenarios, PTC won or tied on 13 of 14 models.
- Under context degradation ("Context Rot"), JSON baselines dropped an average of 2.3%, while PTC remained stable.
- Ablation: giving JSON calling the same iterative ability did not close the gap—the advantage comes from code's structural expressiveness (native control flow, variable binding, composition), not iteration itself.
- Trend: PTC's advantage grows with newer model generations, since stronger code generation unlocks more of its potential.
- Security: run generated code in sandboxed environments (Docker, gVisor) with resource limits, syscall filtering, and timeouts.
- Tool exposure: use type annotations and docstrings—critical for model comprehension.
- Error handling: catch syntax/runtime/timeout errors, return them to the model, and cap retries.
- Migration: gradual rollout with JSON fallback, hybrid mode (JSON for simple calls, PTC for complex workflows), and A/B testing on success rate, latency, cost, and satisfaction.
- Security-critical domains (finance, medical)
- Simple single-call tasks
- Integration with JSON-based legacy infrastructure
- Patel, I., Sen, S., Lumer, E., & Subbiah, V. K. (2026). The Bitter Lesson of Tool Calling. arXiv:2608.06370
- Sutton, R. S. (2019). The Bitter Lesson. http://www.incompleteideas.net/IncIdeas/BitterLesson.html
Experimental findings (BFCL v4)
Historical parallels
The post situates PTC within past paradigm shifts that confirmed the Bitter Lesson: hand-crafted CV features vs. AlexNet (2012), syntactic parsing in NLP vs. Transformers, and human Go knowledge vs. AlphaZero.
Practical guidance for adopting PTC
When JSON still makes sense
Conclusion
PTC is not a wholesale replacement for JSON calling, but for complex tasks requiring flexible tool composition, the evidence suggests code is the more future-proof interface—"code's revenge" as an enabler of AI expressiveness, echoing Sutton's lesson: don't overestimate the elegance of human design, don't underestimate general methods.