Table of Contents
Fetching ...

Towards Reliable Benchmarking: A Contamination Free, Controllable Evaluation Framework for Multi-step LLM Function Calling

Seiji Maekawa, Jackson Hassell, Pouya Pezeshkpour, Tom Mitchell, Estevam Hruschka

TL;DR

This work tackles contaminated, hard-to-compare evaluations of tool-augmented LLMs by introducing FuncBenchGen, a contamination-free framework that generates synthetic multi-step function-calling tasks framed as DAG traversals with tunable depth $d$, core nodes $n^\text{core}$, and distractor functions $n^\text{conn}$/$n^\text{dis}$. It formalizes multi-step function calling and provides a two-stage benchmark-generation pipeline (graph structure and function schema creation) to ensure scalable, controllable testing and realistic type-based linking of function schemas. Through experiments on seven LLMs, the authors show reasoning-optimized models outperform general-purpose ones yet struggle with long sequences and irrelevant CINs, and they identify Value Not Yet Known as a dominant failure mode. A simple mitigation—re-stating all known variable values at each step—produces substantial gains (e.g., GPT-5 improving from 62.5% to 81.3%), underscoring the importance of explicit state-tracking aids. Overall, FuncBenchGen provides a robust platform for dissecting TaLM function-calling capabilities and guiding evaluation-driven improvements for real-world tool use.

Abstract

As language models gain access to external tools via structured function calls, they become increasingly more capable of solving complex, multi-step tasks. However, existing benchmarks for tool-augmented language models (TaLMs) provide insufficient control over factors such as the number of functions accessible, task complexity, and input size, and remain vulnerable to data contamination. We present FuncBenchGen, a unified, contamination-free framework that evaluates TaLMs by generating synthetic multi-step tool-use tasks. The key idea is to cast tool use as traversal over a hidden function-dependency DAG where nodes are function calls and an edge between nodes represents one function consuming the output of another. Given a set of external function schemas, initial variable values, and a target variable, models must compose the correct call sequence to compute the target variable. FuncBenchGen allows users to precisely control task difficulty (e.g., graph size, dependency depth, and distractor functions) while avoiding data leakage. We apply our FuncBenchGen framework to evaluate seven LLMs on tool use tasks of varying difficulty. Reasoning-optimized models consistently outperform general-purpose models with GPT-5 significantly outperforming other models. Performance declines sharply as dependency depth increases. Furthermore, connected irrelevant functions prove especially difficult to handle. We find that strong models often make syntactically valid function calls but propagate incorrect or stale argument values across steps, revealing brittle state tracking by LLMs in multi-turn tool use. Motivated by this observation, we introduce a simple mitigation strategy that explicitly restates prior variable values to the agent at each step. Surprisingly, this lightweight change yields substantial gains across models. e.g., yielding a success rate improvement from 62.5% to 81.3% for GPT-5.

Towards Reliable Benchmarking: A Contamination Free, Controllable Evaluation Framework for Multi-step LLM Function Calling

TL;DR

This work tackles contaminated, hard-to-compare evaluations of tool-augmented LLMs by introducing FuncBenchGen, a contamination-free framework that generates synthetic multi-step function-calling tasks framed as DAG traversals with tunable depth , core nodes , and distractor functions /. It formalizes multi-step function calling and provides a two-stage benchmark-generation pipeline (graph structure and function schema creation) to ensure scalable, controllable testing and realistic type-based linking of function schemas. Through experiments on seven LLMs, the authors show reasoning-optimized models outperform general-purpose ones yet struggle with long sequences and irrelevant CINs, and they identify Value Not Yet Known as a dominant failure mode. A simple mitigation—re-stating all known variable values at each step—produces substantial gains (e.g., GPT-5 improving from 62.5% to 81.3%), underscoring the importance of explicit state-tracking aids. Overall, FuncBenchGen provides a robust platform for dissecting TaLM function-calling capabilities and guiding evaluation-driven improvements for real-world tool use.

Abstract

As language models gain access to external tools via structured function calls, they become increasingly more capable of solving complex, multi-step tasks. However, existing benchmarks for tool-augmented language models (TaLMs) provide insufficient control over factors such as the number of functions accessible, task complexity, and input size, and remain vulnerable to data contamination. We present FuncBenchGen, a unified, contamination-free framework that evaluates TaLMs by generating synthetic multi-step tool-use tasks. The key idea is to cast tool use as traversal over a hidden function-dependency DAG where nodes are function calls and an edge between nodes represents one function consuming the output of another. Given a set of external function schemas, initial variable values, and a target variable, models must compose the correct call sequence to compute the target variable. FuncBenchGen allows users to precisely control task difficulty (e.g., graph size, dependency depth, and distractor functions) while avoiding data leakage. We apply our FuncBenchGen framework to evaluate seven LLMs on tool use tasks of varying difficulty. Reasoning-optimized models consistently outperform general-purpose models with GPT-5 significantly outperforming other models. Performance declines sharply as dependency depth increases. Furthermore, connected irrelevant functions prove especially difficult to handle. We find that strong models often make syntactically valid function calls but propagate incorrect or stale argument values across steps, revealing brittle state tracking by LLMs in multi-turn tool use. Motivated by this observation, we introduce a simple mitigation strategy that explicitly restates prior variable values to the agent at each step. Surprisingly, this lightweight change yields substantial gains across models. e.g., yielding a success rate improvement from 62.5% to 81.3% for GPT-5.

Paper Structure

This paper contains 40 sections, 10 figures, 5 tables.

Figures (10)

  • Figure 1: Overview of FuncBenchGen. $d, n^\text{core}, n^\text{conn},$ and $n^\text{dis}$ indicate the dependency depth and the numbers of core nodes, connected irrelevant nodes (CINs), and disconnected irrelevant nodes (DINs), respectively.
  • Figure 2: Examples of the different kinds of graphs that can be generated with 5 core nodes. CIN indicates connected irrelevant nodes and DIN indicates disconnected irrelevant nodes. $n^\text{core}$ is the number of core nodes, $n^\text{conn}$ is the number of CINs, and $n^\text{dis}$ is the number of DINs.
  • Figure 3: Success rate under different irrelevant node connection types. The results are averaged over $\{5, 10, 20\}$ numbers of core nodes and $\{0, 10, 20, 40\}$ irrelevant nodes. Connected, Half & Half, and Disconnected indicate that all, half, and none of the irrelevant nodes are connected to the core nodes, respectively.
  • Figure 4: Success rates by the dependency depth. The number of core nodes is set to $10$. The results are averaged over all irrelevant node settings.
  • Figure 5: Success rate of GPT-5 with various numbers of core nodes. The results are averaged across $\{0, 10, 20, 40\}$ irrelevant nodes.
  • ...and 5 more figures