{
  "schema_version": "1.1",
  "id": "auto-f5a1122448",
  "slug": "the-bitter-lesson-of-tool-calling-f5a1122448",
  "url": "https://feed7.dev/p/the-bitter-lesson-of-tool-calling-f5a1122448",
  "title": "The Bitter Lesson of Tool Calling",
  "why_included": "Test typed Python tool stubs: they matched or beat JSON calls in 11 of 14 models on BFCL v4.",
  "summary": "Across BFCL v4, models usually handled tools as typed Python calls at least as well as native JSON, suggesting code-based orchestration is worth testing for capable coding agents.",
  "practical_implication": "If your agents already write reliable code, test a typed-stub execution layer that lets one turn chain or parallelize calls. It also matched or exceeded JSON in 13 of 14 models under parallel fan-out and stayed stable in the reported context-rot condition.",
  "agent_context": "The study compares programmatic tool calling with native JSON calls across **14 models** on BFCL v4. Python-stub calls matched or beat JSON in **11 of 14 models**, while the GPT-5.6 family improved by **10.6%**.\n\nIf your agents already write reliable code, test a typed-stub execution layer that lets one turn chain or parallelize calls. It also matched or exceeded JSON in **13 of 14 models** under parallel fan-out and stayed stable in the reported context-rot condition.\n\nPerformance tracked model capability, so programmatic calls are not automatically better for every model. The evidence comes from one established function-calling benchmark; production safety, debugging, sandboxing, and task-level cost still need separate evaluation.",
  "source": {
    "name": "arXiv",
    "url": "https://arxiv.org/abs/2608.06370v1",
    "published_at": "2026-08-06T00:00:00.000Z"
  },
  "source_class": "blog_post",
  "content_type": "Paper",
  "layer": "benchmark",
  "domains": [
    "coding"
  ],
  "topics": [
    "tool-use",
    "agent-evals",
    "harness-engineering"
  ],
  "verification": {
    "status": "needs_review",
    "label": "Needs Review",
    "method": "unverified",
    "verified_at": null
  },
  "uncertainty": [
    "Automatically selected from source material; feed7 has not independently tested the claim."
  ],
  "connected_context": null,
  "lifecycle": "New",
  "published_at": "2026-08-06T00:00:00.000Z",
  "modified_at": "2026-08-06T00:00:00.000Z",
  "supersedes": [],
  "expires_at": null,
  "formats": {
    "html": "https://feed7.dev/p/the-bitter-lesson-of-tool-calling-f5a1122448",
    "json": "https://feed7.dev/p/the-bitter-lesson-of-tool-calling-f5a1122448.json",
    "markdown": "https://feed7.dev/p/the-bitter-lesson-of-tool-calling-f5a1122448.md"
  }
}