Venue: NAACL 2025

# Benchmarking Failures in Tool-Augmented Language Models

Eduardo Trevino\({}^{*}\) Hugo Contant\({}^{*}\) James Ngai

Graham Neubig Zora Zhiruo Wang

Carnegie Mellon University

{eatrevin,hcontant}@andrew.cmu.edu

Co-First Author; see Contribution Statement 7 for details.

###### Abstract

The integration of tools has extended the capabilities of language models (LMs) beyond vanilla text generation to versatile scenarios. However, tool-augmented language models (TaLMs) often assume 'perfect' information access and tool availability, which may not hold in the real world. To systematically study TaLMs' imperfections, we introduce the FaillaTALMs benchmark, featuring two major failures: under-specified user queries and non-available tools. Fail-TaLMs contains 1,749 examples using 906 tools across 21 categories, including single- and multi-tool usage. We evaluate top-performing proprietary and open-source models, and find all current models except for Claude struggle to recognize missing tools or information. Further, to study possible mitigation of the failures, we enable real-time human interaction, named the Ask-and-Help (Aah) method, to provide missing information or replace non-functional tools. While Aah can help models solve tasks more correctly when queries are under-specified, it brings minimal benefit when complex tools are broken.1

Footnote 1: [https://github.com/EduardoTrevino/fail-talms](https://github.com/EduardoTrevino/fail-talms)

## 1 Introduction

Tools can greatly enhance language models (LMs) by facilitating their problem-solving process Qin et al. (2023); Mialon et al. (2023) and extending their abilities Wang et al. (2024). Given a user query, a tool-augmented language model (TaLM) can selectively call tools to gather more information and perform computation activities to accomplish the user's request. Such TaLMs have been applied in various scenarios, including interacting with versatile knowledge bases Lazaridou et al. (2022), real-world data Xu et al. (2023), and even multi-modal information Gupta and Kembhavi (2022); Wang et al. (2024). On the other hand, tools can deprecate over time Qin et al. (2023), suddenly break Guo et al. (2024), or even return unpredictably false outputs Sun et al. (2024).

Nonetheless, many approaches assume two idealized conditions for TaLM systems: (i) user queries are always sufficiently detailed for models to solve the task, and (ii) all necessary tools are available. In practice, however, these assumptions often do not hold, leading to failures like those depicted in Figure 1. In the first example, the user query is under-specified, and the model, while successfully calling the translation tool, lacks the necessary input, i.e., the user's actual name. As a result, the model incorrectly translates the phrase "my name", rather than the intended name. In the second case, the necessary check_flight tool to solve the task is unavailable, as denoted by the red cross. In these cases, existing TaLMs often hallucinate contexts or terminate without signaling failure or seeking alternative strategies, leading to sub-optimal behaviors.

To systematically study these practical failures and enable more robust TaLM systems, we introduce Fail-TaLMs -- a benchmark designed to examine TaLMs under information insufficiency and tool unavailability SS3). We gather 906 real

Figure 1: Illustration of two major TaLM issues. Left: The user provides _under-specified queries_, which may cause models to hallucinate or make false assumptions about the missing information, e.g., translate the “name” string instead of the user’s actual name. Right: Necessary _tools are unavailable_, e.g., missing check_flight causes TaLMs to lack the ability to solve the task.



world tools across 21 categories directly from their host sources, and construct execution environments for all tools along with verifying test cases. Unlike existing benchmarks with limited tool calls via third-party platforms, our tool environment allows real-time and reproducible testing. With this collection of tools, we created 575 examples with perfect information and tool availability. We then transformed them into 599 and 575 examples with under-specified queries and unavailable tools, by removing key information from the queries and masking out necessary tools from the provided list, to study the two major failure modes mentioned above. Overall, Fail-TaLMs contains 1,749 queries across 906 tools from 21 categories.

We propose three evaluation metrics to study model performance: _pass rate_ to measure task success, _awareness_ of missing tools or information, and further, _unexpected outcomes_ to capture when TaLM correctly yet unexpectedly solves a task.

We experiment with a series of top-performing LMs (SS4): open-weight Llama 3 models from 8B, 70B to 405B, and proprietary models including Claude and GPT. Our experiments reveal that most models struggle to identify the lack of tools or information needed to solve a task, except for Claude with a 56% awareness rate, 28-54% higher than other models. Nonetheless, high awareness does not translate to higher pass rates. For example, GPT-4o achieves 4% higher pass rate than Claude-3.5-sonnet, despite scoring 44% lower in awareness.

Finally, to examine whether simple mitigation measures could address these issues, we study if a method enabling TaLMs to interact with humans, dubbed "Ask-and-Help" (Aah), could help obtain missing information or fulfill the function of unavailable tools (SS5). We measure _interaction ratio_ to see how often TaLM interacts with humans. Aah substantially improves pass rate particularly when user queries are under-specified, where the models actively interact with humans 21-61% of the time to gather missing information. However, this human assistance does not bring improvements when tools are unavailable, regardless of the tool functions are replaceable by humans or not, indicating room for better methodologies.

## 2 Problem Statement

A tool-augmented language model (TaLM) consists of (1) a backbone language model \({\cal M}\) and (2) a set of tools \(T=\{t_{1},\ldots,t_{n}\}\). Each tool \(t_{i}\) is a callable function (e.g., calculator(expr), document_retriever(query,docs)). Given a natural language (NL) query \(q\), the TaLM selects a series of tools \(T^{q}\subseteq T\) to solve the query. For each chosen tool \(t_{i}\in T^{q}\), the TaLM produces a tool-calling program \(p_{i}^{q}={\cal M}(q,T)\) that is executed then yielding output \(e_{i}^{q}\). Finally, the TaLM produces the final answer \(r^{q}\) to query \(q\) based on all tool outputs \(\{e_{i}^{q}\}\).

However, this classic TaLM pipeline may not successfully execute in practice due to two primary issues:

Under-specified QueriesWhen the user query \(q\) is under-specified, either the subset of relevant tools \(T^{q}\) cannot be successfully identified, i.e., \({\cal M}_{\text{det}}(q,T)\not\Rightarrow T^{q}\), or the set of tool-calling programs \(P^{q}=\{p_{i}^{q}\}\) cannot be properly constructed due to insufficient information to determine the input arguments of tools.

Unavailable ToolsEven when there is sufficient information, the tool may be unavailable due to reasons such as deprecated functions or server execution errors (e.g., server timeout or connection failure). In such cases, the tool execution fails or returns incorrect results, i.e., exec\((p)\not\Rightarrow e\), leading to invalid or inaccurate tool execution outputs.

## 3 The Fail-TaLMs Benchmark

In this section, we first introduce the tool collection (SS3.1) and benchmark curation processes (SS3.2), present the data overview (SS3.3), then establish the set of evaluation metrics (SS3.4).

### Tool Collection and Validation

Tool CollectionWe use Mixed Analytics2 and collect 1,106 authorization-free tools, each with an URL, documentation of functionality and argument descriptions, and exemplar use cases.

Footnote 2: [https://mixedanalytics.com/blog/list-actually-free-open-no-auth-needed-apis/](https://mixedanalytics.com/blog/list-actually-free-open-no-auth-needed-apis/)

#### Tool Validation

To verify the successful executions of collected tools, we transform each tool instance into a callable Python function and synthesize multiple unit tests for it. More specifically, we provide the above-gathered information of each tool to GPT-4o and prompt it (see exact prompt in SSA.1) to generate (i) Python file sending requests to the tool URL, and (ii) a JSON schema with the tool's metadata, i.e., tool representation, and (iii) 

unit tests for each tool. See examples of (i)-(iii) in SSA.2, SSA.3, and SSA.4.

After tool environment construction, we validate if tools can (i) successfully execute and produce valid output and (ii) correctly pass all synthesized unit tests. We only keep tools that encounter no issues in (i) and (ii). Further, we maintain test cases to check tool availability in real-time, with an average response time of \(1.47\) seconds. We filter out tests having response times over 20 seconds to enable fast tool responses and test efficiency during inference. After this process, we collected a total of 906 valid tools.

### Benchmark Creation

Given the tools, we now create queries that ask to solve certain tasks by using one or multiple tools.

#### 3.2.1 The Standard 'Perfect' Setting

The standard 'perfect' setting adopted by most tool benchmarks assumes fully specified queries and the availability of all necessary tools to solve a given task. We refer to this ideal baseline scenario as the _perfect_ setting, which serves as the foundation for generating the remaining data settings.

To generate a 'perfect' example with query and involved tools, we first construct a set of tool combinations to instantiate NL queries from, by pairing every tool with all other tools within the same category. This systematic approach ensures the usage of every possible tool combinations, instead of biasing over any specific tool.

To create an NL query for each given tool combination, we provide the tool information as collected in SS3.1, as well as a one-shot (query, tools) example as in SSA.5 to demonstrates a query and two tools necessary to solve the query. We instruct GPT-4o to generate queries in realistic usage with content related to the tools' functions, and include the model prompt in SSA.6.

After this step, we perform an additional human validation step. During this step, human reviewers manually examine the generated queries and tool combinations to ensure that the queries are coherent, the arguments provided are valid, and the tool usage is contextually appropriate. We generate queries for all possible pairs of unique tool combinations in a given category, which yields 575 (query, tools) examples. This serves as the foundation for creating the rest of the benchmark, as illustrated in the _perfect setting_ in Figure 2 the Example Generation module.

#### 3.2.2 Under-Specified Queries

In real-world scenarios, queries are not always fully specified, and crucial details may be omitted. Hence, we create this data split to study whether the model can identify the missing information needed to construct tool calls. We refer to such queries, which maintain their semantic intent but lack essential details, as _under-specified queries_.

To create this setting, we modify the _perfect_ queries by manually masking out key information required to define the input arguments for the relevant tools. For example, the standard query "What is the weather in Pittsburgh?" calls for the tool Weather(location: str) \(\rightarrow\)str, which needs the location "Pittsburgh" as an argument. By removing "Pittsburgh," the query becomes "What is the weather?", which still implies

Figure 2: Visualization of the benchmark and tool environment construction (top), as well as the inference pipeline with awareness querying and human interaction phases (bottom).

 

the use of the Weather tool but omits the specific location. We manually remove these critical arguments from the _perfect_ queries, yielding a total of 599 under-specified queries. We generate more under-specified queries than perfect ones because a query may have more than one argument and can therefore be masked in multiple ways.

#### 3.2.3 Unavailable Tools

In practice, tools required by TaLMs may not always be reliable, for example, tools can be susceptible to depreciation or errors (e.g., 404) especially when provided by third-party platforms with access limitations Guo et al. (2024). This data split investigates how models perform when tools turn unexpectedly unavailable. Similarly, we manually decide which tools to remove and verify the quality of the modifications. Moreover, we study the distinction among tools, particularly in whether they can be easily replaced by an average human. We categorize data into two scenarios -- _human-replaceable tools_ and _non-replaceable tools_.

**Human-replaceable tools** features tools whose functions can be easily replaced by a normal human with minimal effort, such as calculating the value of \(1+1\) with a calculator tool, or saying a random joke with the joke tool. Human-replaceable tools often have relatively easy functions.

* usually possess more complex functionalities that humans cannot easily replicate, such as complex calculations (e.g., calculator(45465
* 5487)) or simulating a rocket launch using the rocket_simulator tool.

For both unavailable tool scenarios, we manually classify a tool into human-replaceable or non-replaceable by asking 'Can human replace the tool with minimal effort?" If yes, the tool is placed into the _human-replaceable_ setting; otherwise, it is placed in the _non-replaceable_ setting. We yield 261 and 314 examples with unavailable tools that are human-replaceable and non-replaceable, respectively. In experiments, we provide all tools except the selected unavailable ones to the TaLM.

No ToolsTalms may know certain unprovided tools, which we are unaware of due to their proprietary training data Zhuang et al. (2023); Huang et al. (2024), we introduce a _no-tool_ setting, where only NL query is provided. This setting serves as a baseline for measuring the model's inherent knowledge. Under this setting we only provide the _perfect_ setting queries to TaLM without any tool information. We run the same number of 575 queries as in the _perfect_ set.

### Benchmark Analysis

As shown in Figure 4, our Fail-TaLMs benchmark spans 21 categories with 906 tools, most prominently featuring game, finance, and science, among other domains. Among the total of 1,749 examples, we have 575 _perfect_ examples, 599 with _under-specified_ queries, and 575 examples with unavailable tools -- 261 of them are _human-replaceable_, and 314 are _non-replaceable_. See SSB for detailed distribution of human- and non-replaceable tools in individual categories.

### Evaluation Metrics

We introduce the evaluation metrics regarding task success, awareness of missing components, among other dimensions.

#### 3.4.1 Correctness: Pass Rate

We adopt the pass rate metric from Qin et al. (2023b), which calculates the proportion of successful tasks. Specifically, we pass in the initial user query, the tool outputs, and the final TaLM response to a GPT-4o model, and ask it to evaluate if the final response solves the user query. GPT-4o grades responses binarily as "Pass" (1) or "Fail" (0). The final score is calculated by a majority vote across 5 GPT-4o graders. Refer to SSC.1 for the detailed prompts and SSD for human validation of GPT evaluation quality.

#### 3.4.2 Awareness of Missing Components

Besides task completion, we also assess if TaLMs can identify the missing information or tools.

Information AwarenessFor _under-specified queries_, we evaluate whether the TaLM can detect insufficient information. We prompt the TaLM

Figure 3: Category statistics of Fail-TaLMs queries.

 

to determine if the query provides enough information to complete the task by responding yes, idk (I don't know), or no. A successful identification of insufficient information occurs when the model answers either idx or no. Formally, we define:

\[\text{Info Awareness}=\frac{\text{Number of idk's and no's}}{\text{Total number of examples}}\]

Tool AwarenessWhen required tools are unavailable or non-functioning,3 we measure the TaLM's ability to recognize this limitation. To evaluate this, we prompt the model with: "Do you have the right tools to complete the task?" and ask for a yes, idk, or no response. Similar to Information Awareness, successful identification of tool unavailability occurs when the model answers either idk or no. Unlike Information Awareness, however, this metric specifically targets the model's recognition of tool-based limitations rather than informational gaps. For the non-replaceable setting, we thus have:

Footnote 3: Non-functioning tools are those that cannot fulfill the requested operation, either because they are not accessible or lack the functionality needed for the task at hand.

\[\text{Tool Awareness}=\frac{\text{Number of idk's and no's}}{\text{Total number of examples}}\]

See SSC.2 for detailed prompts and evaluations.

#### 3.4.3 Unexpected Success

In addition to cases where LMs correctly identify missing components and fail gracefully, an interesting scenario is when TaLMs unexpectedly solve the task correctly, despite lacking certain required information or tools.

Across examples with under-specified queries and unavailable tools, TaLMs are expected to respond idk or no to awareness questions. However, if the TaLM responds yes (to either information or tool awareness) and achieves a _pass rate_ of 1, this outcome is noteworthy. We thus compute the unexpected success by:

\[\text{Unexpected Success}=\frac{\text{yes and pass rate = 1}}{\text{Total number of examples}}\]

#### 3.4.4 Skipped Queries

A query is skipped if the model responds no to an awareness question. We explicitly prompt the TaLM to respond no if it confidently believes that it lacks the necessary tools or information to solve a given task, and inform it that this decision will skip the task. We calculate the ratio of skipped examples among all examples. A lower score indicates fewer skipped queries, and higher model confidence.

## 4 Experiments and Results

In this section, we introduce the experimental setup (SS4.1) and TaLM pefromance without AAh (SS4.2) and with (SS5) human assistance via AAh.

### Experimental Setup

We evaluated five models including the openweight Qwen-72B-Instruct and Llama models of various sizes (8B, 70B, and 405B); we also benchmark multiple closed API models: GPT-4o and Claude-3.5-Sonnet. We use the default temperature of t = 1.0 and sample n = 1 responses. We evaluate models on each split in Fail-TaLMs with the metrics specified in SS3.4.

We report all results on Fail-TaLMs in Table 1.

### Standalone TaLMs

Standard 'Perfect' BaselineIn the standard 'perfect' setting, all models exhibited high awareness from 94-100%, correctly identifying that they had all the necessary information and tools to solve the tasks. Despite this high self-awareness, pass rates are lower than perfect -- GPT-4o at 68%, Claude at 67%, Owen at 54%, Llama 405 at 53%, Llama 70B at 31%, and Llama 8B at 28%; which correlate well with their general abilities in problem-solving.

Awareness of Missing ComponentsAcross settings with either under-specified queries or unavailable tools, Claude achieves substantially higher awareness of missing information -- an average of 42%, which is 23-40% higher than other models, in particular, even 24% higher than the top-performing GPT-4o. Similarly, in both non-replaceable and replaceable tool settings, Claude significantly outperforms other models and achieves a 70% awareness, which is 34-68% higher than other models and 64% higher than GPT-4o.

Among Llama models, the medium-sized 70B model exhibits the highest awareness in the underspecified query split of 19%, which is 17% and 8% higher than its 8B and even 405B counterparts. This trend continues in the unavailable tool setting, where the 70B model attains 36% awareness, and gets 34% higher than both the 8B and 405B models. In comparison, the other open-source candidate, Qwen, obtains relatively low awareness around 3% with unavailable tools, mirroring the difficulty in recognizing missing components in weaker Lima models.

 

Is Awareness Related to Pass Rate?In the under-specified setting, all TaLMs except Claude, predominantly responded yes during the awareness assessment 82%-98% of the time, as shown in 1. This suggests the Llama, Qwen, and GPT-4o models often confidently proceed despite uncertainty being present. Therefore there is no clear correlation between awareness and pass rate, and more of a characteristic of individual models.

Similarly in the _unavailable tools_ setting shown in Table 1, Claude identifies 64% more of the missing tools than GPT-4o, yet scores 3% lower in pass rate than GPT-4o, suggesting a better judgment in knowledge sufficiency yet less success in solving the task under sub-optimal settings.

Comparing Llama models with varied sizes, increasing model size from 8B to 70B increases the awareness score by 34%, yet further increasing model size to 405B drags down the awareness score by 8%, indicating decreased abilities to identify insufficient information, and behavior proceeding with the task even with insufficient content. Despite this loss in awareness, the pass rate increases up to 24% with the largest 405B model.

Overall, strong models such as GPT-4o and Llama-405B may overestimate their capabilities, engaging in tasks they cannot solve, while Claude and smaller Llama models often approach unsolvable tasks more cautiously.

Comparing Human Replaceable and NonReplaceable ToolsCompared to non-replaceable tools, all models provided with human-replaceable tools show decreases in tool awareness by 1-34%. In the meantime, models present substantial increases in pass rate by 6-36%. Despite insufficient information, the nature of human-replaceable tools deceives the model into thinking they have sufficient information and thus can more easily solve the task. We conjecture this is due to the easier functionalities human-replaceable tools have, e.g., get_weather(location), compared to complex tools such as rocket_simulator() which humans cannot easily replace.

Unexpected Success When Queries are Under-SpecifiedUnexpected success should be minimal in all settings. This hypothesis holds in examples with unavailable tools, where all models achieve less than \(5\)% of the cases correct. However, when user queries are under-specified, we surprisingly observe that all models obtain a substantial amount of unexpected successes, most prominently with GPT-4o solving 33% of the cases correctly.

We investigate this intriguing phenomenon and found models often refer to normal pragmatics and accidentally correctly assume the missing information to solve the task. For instance, given a user query "How is the stock performance today?" with the company name under-specified. However, the model may pragmatically assume the missing reference to be S&P 500 Index, since it is the most widely followed U.S. market benchmark. Despite the ambiguity, the model pragmatically fills in the missing information and solves the task correctly yet unexpectedly.

\begin{table}
\begin{tabular}{l|c c c c|c c c c|c c c c} \hline \hline \multirow{2}{*}{**Setting**} & \multicolumn{4}{c|}{**Claude-3.5-sonnet**} & \multicolumn{4}{c|}{**GPT4o**} & \multicolumn{4}{c}{**Qwen-72B-Instruct**} \\ \cline{2-13}  & _PR_ & _Aware_ & _Unexp_ & _Skip_ & _PR_ & _Aware_ & _Unexp_ & _Skip_ & _PR_ & _Aware_ & _Unexp_ & _Skip_ \\ \hline Perfect & 0.67 & 0.94 & 0.00 & 0.00 & 0.68 & 1.00 & 0.00 & 0.00 & 0.54 & 0.94 & 0.00 & 0.00 \\ Under-specified & 0.31 & 0.42 & 0.24 & 0.08 & 0.36 & 0.18 & 0.33 & 0.05 & 0.40 & 0.08 & 0.31 & 0.05 \\ Unavailable tools & 0.25 & 0.70 & 0.03 & - & 0.28 & 0.06 & 0.05 & - & 0.15 & 0.03 & 0.04 & - \\ non-replaceable & 0.09 & 0.85 & 0.04 & 0.09 & 0.11 & 0.09 & 0.09 & 0.06 & 0.06 & 0.05 & 0.05 & 0.03 \\ replaceable & 0.41 & 0.54 & 0.01 & - & 0.44 & 0.03 & 0.01 & - & 0.23 & 0.00 & 0.02 & - \\ No-tools & 0.10 & - & 0.00 & 0.00 & 0.29 & - & 0.01 & 0.00 & 0.09 & - & 0.01 & 0.00 \\ \hline \hline \end{tabular} 
\begin{tabular}{l|c c c c|c c c|c c c c} \hline \hline \multirow{2}{*}{**Setting**} & \multicolumn{4}{c|}{**Llama SB**} & \multicolumn{4}{c|}{**Llama 70B**} & \multicolumn{4}{c}{**Llama 405B**} \\ \cline{2-13}  & _PR_ & _Aware_ & _Unexp_ & _Skip_ & _PR_ & _Aware_ & _Unexp_ & _Skip_ & _PR_ & _Aware_ & _Unexp_ & _Skip_ \\ \hline Perfect & 0.28 & 1.00 & 0.00 & 0.01 & 0.31 & 0.99 & 0.01 & 0.01 & 0.53 & 1.00 & 0.00 & 0.00 \\ Under-specified & 0.14 & 0.02 & 0.13 & 0.00 & 0.29 & 0.19 & 0.29 & 0.11 & 0.25 & 0.11 & 0.25 & 0.06 \\ Unavailable tools & 0.11 & 0.02 & 0.02 & - & 0.07 & 0.36 & 0.10 & - & 0.24 & 0.02 & 0.07 & - \\ non-replaceable & 0.03 & 0.02 & 0.03 & 0.00 & 0.04 & 0.55 & 1.00 & 0.38 & 0.12 & 0.02 & 0.12 & 0.02 \\ replaceable & 0.19 & 0.01 & 0.01 & - & 0.10 & 0.17 & 0.19 & - & 0.36 & 0.02 & 0.01 & - \\ No-tools & 0.00 & - & 0.00 & 0.00 & 0.37 & - & 0.02 & 0.00 & 0.28 & - & 0.06 & 0.00 \\ \hline \hline \end{tabular}
\end{table}
Table 1: Performance of Claude, GPT, Qwen, and Llama models (8B, 70B, 405B) on Fail-TaLMs under uncertain and partial information settings. _PR_ stands for pass rate, _Aware_ refers to information/tool awareness, _Unexp_ stands for unexpected outcomes, and _Skip_ refers to skipped queries.

 

Human-Assisted TaLMs

### The Ask-and-Help (Aah) Setting

One approach to alleviate TaLM failures under issues presented in Fail-TaLMs is to obtain assistance from humans. Therefore, to examine how much human intervention can alleviate TaLM failures, we also experiment in a setting where TaLMs can request human assistance as an interactive tool. We refer to this setup as Ask-and-Help (Aah).

The TaLM can choose to invoke Aah at any time during inference, by querying humans as calling a tool with a textual argument \(a\), e.g., "What is your name" for the example in Figure 1 (top). The human then responds to \(a\) with additional information or solutions, e.g., "Mike", which would be returned to the TaLM, much like the response from a traditional tool call. The TaLM then generates its final response based on human-provided information and other tool-calling or intermediate reasoning outputs. Since the pass rate is calculated using the final response of the TaLM, and Aah occurs within its normal tool calling process, our interpretation of our other metrics does not change from the basic setup.

Additional Evaluation: Interaction RatioWe also measure the number of examples where TaLM chooses to interact with humans via Aah, showing its awareness and willingness to seek help.

### TaLM Performance with Aah

We explored the impact of offering TaLMs the ability to interact with a human via the Aah method on Fail-TaLMs. Effective use of Aah depends on the model's ability to recognize when assistance is needed and to interact appropriately.

Interaction Improves Under-Specified TasksAfter being augmented with Aah, the _human-replaceable_ setting is now equipped with sufficient information. Correspondingly, strong models, including GPT-4o, Claude, and Llama 405B show slight increases in PR with the human interaction by 1-2% as in Table 1 and Table 2. However, smaller models do not observably improve with human assistance, even with the missing tools that can be easily replaced by humans.

In contrast, the performance of Aah-assisted TaLM on the _under-specified query_ setting shows significant pass rate improvements, by 25%, 30%, and 28% on GPT-4o, Claude, and Llama-405B. For Llama models with varying sizes, we also observe larger improvements as the model size grows, increasing from 10% at 8B to 28% at 405B. Notably, the pass rate of Llama-405B with under-specified queries matched its perfect setting-- a 53% pass rate. Moreover, Llama-70B surpasses its perfect setting pass rate by 2%. Similarly, Qwen also shows moderate gains 6-8% following the trend observed in the smaller Llama models.

For awareness, all models except Llama 405B increase by 3-9%, suggesting that enabling human interaction may affect models' self-uncertainty assessment, leading to increased awareness of missing information. Lastly, the unexpected success increases by 7-28% across all TaLMs except Llama 70B, because without human assistance, success in this setting is otherwise unexpected.

Human Interaction versus AwarenessAll models generally interact with humans via Aah. Particularly when given under-specified queries, GPT and Claude models show substantially higher interaction rates than other models or than on other data splits, suggesting that they are eager to utilize human assistance to resolve incomplete information, as seen in Table 2.

Across all models and settings, we do not find clear associations between the awareness of missing components, versus the interaction rate to Aah. Rather, interactivity and awareness are more dependent on the model itself. In the _non-replaceable setting_, Claude's awareness remained high at 85%, but its interaction rate was only 27%, indicating limited use of human assistance despite recognizing high uncertainty.

Despite recognizing high uncertainty (i.e., an 85% awareness), Claude does not proportionally increase its use of Aah nor achieve a higher pass rate via interaction, suggesting misalignment between self-uncertainty and the decision to seek help.

## 6 Related Works

TaLM BenchmarksMost benchmarks about tool-augmented LMs collect tools from existing platforms that allow offline Yang et al. (2023); Xu et al. (2023) or online executions Li et al. (2023); Chen et al. (2024), yet may bring degradation issues, where many tools become outdated over time Guo et al. (2024). More recent datasets emphasize tool diversity and realistic use cases Qin et al. (2023); Patil et al. (2023); Li et al. (2023); Tang et al. (2023), yet still assume perfect information and tool availability. In contrast, our work studies failures 

with under-specified queries and unavailable tools, and alleviates them via human interaction.

Tool Failures in PracticeMany TaLM works assume a perfect tool execution environment and user query specification, which no longer holds when used in practice. On the one hand, NL queries are often under-specified [23], necessitating models to ask more information to proceed with the task. On the other hand, tools can deprecate over time [17], suddenly broken [50], or even return unpredictably false outputs [46]. Some works propose to use LM as a neural simulator of tool execution [48; 50] to maintain the perfect tool-availability assumption. Our work, instead, directly reveals and tackles both practical issues and proposes Aah as an attempted solution.

Human-Model Interactive Problem Solving Many TaLM are designed to operate autonomously [49] without seeking help from other sources such as human users. However, as the tasks become more complex and the environment runs more dynamically [50], it sometimes becomes theoretically impossible for the TaLM to finish the task itself. Human-in-the-loop comes as a useful technique [14], especially in risk-critical tasks where human feedback or supervision is required. We thus employ this human interaction as an exploratory approach to alleviate our identified TaLM failures.

## 7 Conclusion

In this paper, we introduced Fail-TaLMs, a comprehensive benchmark designed to evaluate tool-augmented language models (TaLMs) under realistic conditions where user queries are under-specified or necessary tools are unavailable, consisting of 1,749 queries using 906 authorization-free tools across 21 categories. Our experiments with both proprietary models (GPT, Claude) and open-weights models (LLaMa series) revealed that most TaLMs struggle to recognize missing information or unavailable tools. To address this, we examine the Ask-and-Help (Aah) method, allowing TaLMs to interact with humans in real time to obtain missing information or substitute non-functional tools. While we find Aah improves the pass rate on under-specified queries, it has minimal impact when complex tools are unavailable.

### Limitations

While Fail-TaLMs provides a substantial foundation for evaluating the practical failures of TaLMs, we primarily focus on two failure modes: underspecified queries and unavailable tools. Other potential risk issues, such as adversarial inputs, are not addressed and could be explored in future work. The Aah method involves human interaction, which may not be scalable or practical in all deployment scenarios due to concerns about latency, cost, or privacy. Implementing such a system in real-world applications would require careful

\begin{table}
\begin{tabular}{l|c c c c|c c c c|c c c c} \hline \hline \multirow{2}{*}{**Setting**} & \multicolumn{4}{c|}{**Claude-3.5-sonnet**} & \multicolumn{4}{c|}{**GPT4o**} & \multicolumn{4}{c}{**Qwen-72B-Instruct**} \\ \cline{2-13}  & _PR_ & _Aware_ & _Unexp_ & _Inter_ & _PR_ & _Aware_ & _Unexp_ & _Inter_ & _PR_ & _Aware_ & _Unexp_ & _Inter_ \\ \hline Perfect & 0.67 & 0.94 & 0.00 & - & 0.68 & 1.00 & 0.00 & - & 0.54 & 0.98 & 0.00 & - \\ \hline Under-specified & 0.61 & 0.51 & 0.31 & 0.61 & 0.61 & 0.21 & 0.47 & 0.58 & 0.48 & 0.15 & 0.34 & 0.29 \\ \hline Unavailable tools & 0.25 & 0.68 & 0.03 & 0.23 & 0.28 & 0.04 & 0.06 & 0.12 & 0.15 & 0.03 & 0.05 & 0.14 \\ non-replaceable & 0.07 & 0.85 & 0.03 & 0.27 & 0.10 & 0.05 & 0.10 & 0.09 & 0.05 & 0.03 & 0.05 & 0.15 \\ replaceable & 0.43 & 0.51 & 0.03 & 0.19 & 0.45 & 0.02 & 0.02 & 0.15 & 0.29 & 0.00 & 0.05 & 0.13 \\ \hline No-tools & 0.10 & - & 0.00 & - & 0.029 & - & 0.01 & - & 0.09 & - & 0.01 & - \\ \hline \hline \end{tabular} 
\begin{tabular}{l|c c c c|c c c|c c c c} \hline \hline \multirow{2}{*}{**Setting**} & \multicolumn{4}{c|}{**Llama SB**} & \multicolumn{4}{c|}{**Llama 70B**} & \multicolumn{4}{c}{**Llama 40SB**} \\ \cline{2-13}  & _PR_ & _Aware_ & _Unexp_ & _Inter_ & _PR_ & _Aware_ & _Unexp_ & _Inter_ & _PR_ & _Aware_ & _Unexp_ & _Inter_ \\ \hline Perfect & 0.28 & 1.00 & 0.00 & - & 0.31 & 0.99 & 0.01 & - & 0.53 & 1.00 & 0.00 & - \\ \hline Under-specified & 0.24 & 0.01 & 0.24 & 0.24 & 0.33 & 0.25 & 0.24 & 0.21 & 0.53 & 0.02 & 0.53 & 0.25 \\ \hline Unavailable tools & 0.08 & 0.02 & 0.02 & 0.23 & 0.05 & 0.13 & 0.05 & 0.21 & 0.20 & 0.05 & 0.09 & 0.20 \\ non-replaceable & 0.03 & 0.03 & 0.03 & 0.26 & 0.05 & 0.21 & 0.05 & 0.18 & 0.16 & 0.09 & 0.15 & 0.16 \\ replaceable & 0.13 & 0.01 & 0.00 & 0.19 & 0.04 & 0.04 & 0.05 & 0.24 & 0.38 & 0.01 & 0.02 & 0.24 \\ \hline No-tools & 0.00 & - & 0.00 & 0.00 & 0.37 & - & 0.00 & - & 0.28 & - & 0.06 & - \\ \hline \hline \end{tabular}
\end{table}
Table 2: Performance of Claude, GPT, Qwen, and Llama models (8B, 70B, 405B) on Fail-TaLMs under uncertain and partial information settings with **AAH** assistance. _Inter_ refers to interaction rate.

 

consideration of these factors.

## Author Contributions

Eduardo Trevino * developed the _AAH_ method, led all codebase development, constructed FaillaTALMs benchmark, conducted experiments, ran analyses in results section, created evaluations metrics (i.e _Awareness_). Hugo Contant * API testing and experimentation lead to _Tool Validation_ framework, assisted in analysis, experiments, and articulated _Non-replaceable_ vs _Human-replaceable_ setting. James Ngai assisted with code development, ran experiments, performed manual evaluations, and reviewed the manuscript. Zora Zhiruo Wang and Graham Neubig provided experimental guidance and revised the manuscript.

Footnote 1: [https://github.com/Zhahun-developers/zhao-2024-toolkit-models-with-data-driven-model-based-evaluation-results-section-of-the-results-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-](https://github.com/Zhahun-developers/zhao-2024-toolkit-models-with-data-driven-model-based-evaluation-results-section-of-the-results-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-sections-in-in-) 

Qiantong Xu, Fenglu Hong, Bo Li, Changran Hu, Zhengyu Chen, and Jian Zhang. 2023. On the tool manipulation capability of open-source large language models.
* Yang et al. (2023) Rui Yang, Lin Song, Yanwei Li, Sijie Zhao, Yixiao Ge, Xiu Li, and Ying Shan. 2023. Gpt4tools: Teaching large language model to use tools via self-instruction. _Preprint_, arXiv:2305.18752.
* Zhuang et al. (2023) Yuchen Zhuang, Yue Yu, Kuan Wang, Haotiian Sun, and Chao Zhang. 2023. Toolqa: A dataset for llm question answering with external tools.

 

Benchmark Construction

In this section, we highlight exact details of the components required during the construction of the benchmark.

### Tool Environment Construction

In this section, we describe the prompt we provide GPT-4o for constructing the tool environment. The instruction generates a tool request Python code, tool unit test cases, and a tool representation which includes metadata in JSON format based on a tools documentation. It iterates over all tool documentations files and, for each tool, it generates these three files. All tools utilized are covered under the following licenses: Creative Commons, MIT License, GNU General Public License (GPL) 2.0 or later, Open Data Commons Open Database License, Database Contents License, openFDA, Apache 2.0 License, Massachusetts Department of Transportation Developers License Agreement, GNU GPLv3, and ISC License.

**System Prompt**

You are a helpful assistant designed to generate Python code, test cases, and metadata JSON files based on a tool documentation. Your task is to create Python functions to interact with all relevant tool URL's that a human might need based on the tool's documentation. Ensure that the function names are properly formatted and include necessary parameters. Additionally, generate corresponding test cases to verify the tool's functionality, and create a JSON file with metadata about the tool.

## Prompt

The following is documentation for a tool called "(tool_name)". Your task is to create a Python file "tool.py" to make requests to all the relevant tools that a human needs the functionality for based on the tool's documentation provided. Note: the tools function names should be lowercase and never start with a number. Please ensure there are defaults in place (especially IDs or resource tags, etc., that are specific to the tool's URL). Additionally, ensure you create Test Cases separately toverify the tool's URL's work "tool_test.py". Finally, create a metadata JSON file that provides metadata about the tool and all of its available endpoints "(tool_name).json". Here is an example tool file for a tool named archicago: (seed_api_example) here is an example corresponding JSON file. Note how the names of the tool's in the "tool_list" match the function names in the Python code calling the tool URL: {seed_json_example} Now, please dothis for the tool named "(tool_name)". To capture your output generation, be sure to hold the titles, i.e., ### api.py then ""python or ""json before the code block: """(documentation_content)"""

### Tool Request

The following is an example of a tool request python file.

```
importrequests fromtypingimportOptional,List BASE_URL="[https://api.irail.be](https://api.irail.be)" defstations(format:str="json",lang:str="en",): """ Retrievea list of all stations.
```
1:paramformat:The response format (json, xml, jsonp). ```
2:paramlang:The language of any text or names in the response. """ url=f"BASE_URL/stations/" params={ ''format':format, 'lang':lang, } response=requests.get(url,params=params) try: returnresponse.json() exceptExceptionas e: return("error":str(e), "response":response.text) defliveboard(station:str,id:Optional[str]=None, done. Optional[str]=None, time: Optional[str]=None, arrdep:str="deperture", lang: str="en", format:str="json", alerts:bool=False, """): """Retrievea liveboard for a specified station.
```
5:paramstation:The name of the station to query. ```
6:paramid:Optional station ID.
```
7:paramdate:Dateforquery,formatted as ddmvy. ```
8:paramtime:Timeforquery,formatted as hhmm.
```
9:paramardrep:Whethertoretrieve departuresor arrivals. ```
10:paramlang:Thelanguageoftheresponse.
```
11:paramformat:Theoutputformat(json,xml, jsong). ```
12:paramalerts:Whethertoincludealerts. """ url=f"BASE_URL/liveboard/" params={ 'statuation':station, 'id':id, 'date':date, 'time':time, 

'ardrop!: ardrep, 'lang': lang, 'format': format; format, 'alerts': alerts } response=requests.get(url,params=params) try: returnresponse.json() exceptExceptionas e: return("error":str(e), "response": response.text) defconnections(from_station: str,to_station: str,date:str,time:str,timesel:str= "departure", 'femat:str= "json",lang:str= "en",typeOfTransport:str= "automatic",alerts:bool= False, results:int=6,): """ Getroutesbetweentwostations,including realtimedataondelays. :paramfrom_station:Thedeparturestation. :paramto_station:Thedestinationstation. :paramdatepate:Dateforthequery,formated asddmpy. :paramtime:Timeforthequery,formatted ashmm. :paramtimesel:Whetherresultsshouldshow arrivalsorde departures. :paramformat:Theresponseformat. :paramlamg:Imaguedoftheresponse. :paramtypoOfTransformort:Typesoftransport toinclude. :paramalerts:Includealertsornot. :paramresults:Numberofresultstoreturn. ''url=f"(BASE_URL)/connections/" params={ 'from':from_station, 'to':to_station, 'date':date, 'time':time, 'timesel':Timesel, 'Format':format, 'lang':lang, 'typeOfTransport':typeOfTransport, 'alerts':alerts, 'results':results } response=requests.get(url,params=params) try: returnresponse.json() exceptExceptionase: return["error":str(e), "response": response.text] defvehicle(id:str,date:Optional[str]= None,format:str= "json",lang:str= "en",alerts:bool=False, ): """ Retrieveinformationabouta vehicle includingstopsanddelays. :paramdot:TheIDofthevehicle. :paramdate:Dateforthequery,formatterted asdmby. :paramformat:Theresponseformat. :paramlang:Thelanguageoftheresponse. :paramalerts:Includealertsornot. """ url=f"(BASE_URL)/vehicle/" params={ 'id':id, 'date':date, 'format':format, 'lang':lang, 'alerts':alerts } response=requests.get(url,params=params) try: returnresponse.json() exceptExceptionasetype: response. :paramdot:Thetoballevisibility.

 

try:  return response.json() except Exception as e:  return {"error": str(e), "response":  response.text}

### Tool Representation

{  "tool_name": "irail",  "tool_description": "Tool to access railway time schedules in Belgium, including stations, I liveboards, connections, vehicles, disturbances, and more.",  "title": "!Rail API",  "pricing": "FREE",  "score": {  "avgServiceLevel": 95,  "avgLatency": 150,  "avgSuccessRate": 98,  "popularityScore": 9.0,  "-typename": "Score"  },  "home_url": "https//api.irail.be",  "host": "api.irail.be",  "api_list": [  {  "name": "stations",  "url":  "[https://api.irail.be/stations/](https://api.irail.be/stations/)",  "description": "Retrieve a list of all stations.",  "method": "GET",  "required_parameters": [],  "optional_parameters": [ ("name": "format", "type":  "STRING", "description":  "Response format",  "default": "json"),  ("name": "lang", "type":  "STRING", "description":  "Language of response",  "default": "en")  ],  "statuscode": 200  },  {  "name": "liveboard",  "url":  "[https://api.irail.be/liveboard/](https://api.irail.be/liveboard/)",  "description": "Retrieve liveboard for a station including arrivals and departures.",  "method": "GET",  "required_parameters": [  ("name": "station", "type":  "STRING", "description":  "Station name")  ],  "optional_parameters": [  ("name": "id", "type": "STRING",  "description":  "name": "date", "type":  "STRING", "description":  "Date for query"),  {"name": "time", "type":  "STRING", "description":  "Time for query"),  {"name": "arredo", "type":  "STRING", "description":  "definition":  "description":  "Name": "state", "type":  "STRING", "description":  "Title for query"),  {"name": "write",  "arrdenp", "type":  "Arrivals or departures",  "default": "departure"),  "name": 'lang", "type":  "STRING", "description":  "language of response",  "default": "en"),  {"name": "format", "type":  "STRING", "description":  "Response format",  "default": "json"),  "name": "alerts", "type":  "address", "type":  "Boolean", "decision":  "Include alerts", "default":  "false")  ],  "statuscede": 200  },  {  "name": "connections",  "url": "[https://api.irail.be/c](https://api.irail.be/c)"  "description": "Get routes between two stations.",  "method": "GET",  "required_parameters": [  {"name": "from", "type":  "STRING", "description":  "Departure station"),  ("name": "to", "type":  "STRING", "description":  "Time for query"),  {"name": "timesel", "type":  "STRING", "description":  "Arrivals or departures",  "default": "departure"),  "name": "Iang", "type":  "STRING", "description":  "Language of response",  "default": "en"),  "name": "format", "type":  "STRING", "description":  "Request format",  "default": "json"),  "type":  "STRING", "description":  "Identifier":  "File": "[http://api.irail.be/site/files](http://api.irail.be/site/files) 

"description": "Retrieve information about a vehicle.", "method": "GET", "required_parameters": [ ("name": "id", "type": "STRING", "description": "Vehicle ID")], "optional_parameters": [ ("name": "date", "type": "STRING", "description": "Date for query"), {"name": "lang", "type": "STRING", "description": "Language of response", "default": "en"), {"name": 'format", "type": "STRING", "description": "Response format", "default": "json"), "ROUENAN", "description": "Include alerts", "default": "false"}], "statuscode": 200 }. {  "name": "composition", "url": "https//api.irail.be/composition/", "description": "Retrieve the composition of a train.", "method": "GET", "required_parameters": [ {"name": "id", "type": "STRING", "description": "Train ID"}], " optional_parameters": [ ("name": "format", "type": "STRING", "description": "Response format", "default": "json"), "STRING", "description": "description": "language of response", "default": "en"}], "statuscode": 200 }, {  "name": "disturbances", "url": "https//api.irail.be/disturbances/", "description": "Retrieve information about current disturbances.", "method": "GET", "required_parameters": [], "optional_parameters": [ ("name": "format", "type": "STRING", "description": "Request format", "default": "json"), "STRING", "description": "Usebreak character", "default": ""), "feature": "lang", "type": "STRING", "description": "Description": "Name": "lineBreakcharacter", "type": "STRING", "description": "Line break character", "default": ""), "name": "long", "type": "STRING": "Language of response", "default": "en"), "standard": "default": "ten"), "standard": "default": " 

"default": "Impressionist paintings"  },  ],  "optional_parameters":[  {  "name": "departmentId",  "type": "INTEGER",  "description": 'ID of the department",  "default": "11"  }  ],  "method": "GET",  "template_response":{  "total": "int",  "objectIDs": ["int"]  }  },
{  "category_name": "Art",  "tool_name": "artchicago",  "function_name": "artworks_search",  "tool_description": "Search artworks in the Art Institute of Chicago data in the aggregator. Artworks in the groups of essentials are boosted so they'll show up higher in results.",  "required_parameters":[  {  "name": "q",  "type": "STRING",  "description": "Your search query.",  "default": "monet"  }  ],  "optional_parameters":[  {  "name": "size",  "type": "INTEGER",  "description": "Number of results to return. Pagination via Elasticresearch conventions.",  "default": "10"  },  {  "name": "sort",  "type": "STRING",  "description": "Used in conjunction with query to sort results.",  "default": ""  }  ],  "method": "GET",  "template_response":{  "pagination": {  "total": "int",  "limit": "int",  "offset": "int",  "total_pages": "int",  "current_page": "int"  },  "data": [  {  "id": "int",  "title": "str",  "artist_display": "str",  "place_ofrigin": "str",  "date_display": "str",  "medium_display": "str",  "dimensions": "str",  "thumbnil": "slt_text": "str",  "width": "int",  "height": "int",  "iif_url": "str"  }  ]  ]  ]  ]  ]  ]  ]  ]  ],  "query": "I want to find Impressionist paintings in the European Paintings department in the Met's collection. Additionally, can you find artworks related to Monet in the Art Institute of Chicago?",  "query_id": 2  ]

### Perfect Queries Prompt

Perfect queries are constructed by combining different components in the Tool Environment. The code processes the Tool Requests, which are Python files that handle interactions with tools, and Tool Representations, which contain important information about the tools, such as required parameters, optional parameters, and expected responses. The code systematically pairs tools from the same category and generates. We prompt gpt-4o-2024-08-06 to generate a query combining these tools.

**Prompt** Below I have attached 2 Tools "(tooll)" and  "(tool2)", which are Python files that make requests to the tools from the "(category_folder)" category, and their corresponding metadata JSON files that provide additional information about the tools, as well as unit tests that have been run on these tools. Utilize the parameters used in these unit tests, and the information about the tools to help you with your task. Your task is to create a tool-question JSON File that asks a question a human would ask. Note: For the tool-question JSON file, be sure to include the name of the tool function from the Python files inside the(tool_list); they should be the same name and format as the function provided in the Python code.

"(tool_l)" tool: (tool_l_python_request)  "(tool_l)" unititest: (tool_l_python_unittest)  "(tool_l)" tool metadata:  {tool_l_json_representation}

 

"(tool_2)"untitest:{tool_2_python_unittest}  "(tool_2)"tool metadata: {tool_2,json_representation}  tool-question JSON example: {query-tool_example}

## Appendix B Statistical Details of Fail-TaLMs

We study the distinction of human-replaceable and non-replaceable tools in SS3.3. Here we present the detailed distribution of these two types of tools across the 21 categories involved in our FailTALMs.

## Appendix C Model-based Evaluation

### Pass Rate

The pass rate metric evaluates whether the assistant's response successfully fulfills the user's instruction. The evaluation is performed by a grader model that assesses the assistant's reply and determines a pass or fail outcome. To ensure reliability, the evaluation is conducted multiple times (up to 5 attempts), and a majority voting mechanism is used to decide the final result. If the majority of evaluations result in a pass, the assistant's response is considered a pass; otherwise, it's a fail.

**Prompt:**

System Message: You are grader. You will be given a user's instruction, assistant's answer, and the API's accessed along with their responses. Based on the answer given, determine if the instruction was completed or not. Always begin your response with either "Pass' or "Fail'. Prompt: Below I have attached a user's instruction, assistant's answer, and attached API's accessed with their responses. Did the assistant's answer complete the instruction given? Begin your response with either "Pass' or "fail'. Query: {query_text} Answer: {assistant_reply} API's accessed and responses: {function_context}

### Information Awareness Prompt

The system is tasked with determining whether it can gather, infer, or has enough information to answer the user's query based on the following factors:

1. Existing knowledge of the world, independent of the tools.
2. The functionality of the available tools that the system has access to.
3. A combination of both existing knowledge and tool functionality. When evaluating the query, the system considers whether:

* The query provides enough information for a direct answer.
* The available tools can assist in obtaining or clarifying the necessary information.
* A combination of the tool's functionality and existing knowledge can help infer, gather, or produce the necessary information.

Based on this evaluation, the system responds as follows:

* **Yes**: The system has all the information needed or can gather or infer it using either existing knowledge, available tools, or both. In this case, the system will attempt to answer.
* **IDK**: The system is uncertain but willing to attempt an answer using its knowledge, tools, or a combination of both.
* **No**: The system cannot answer the query with the available knowledge, tools, or any combination of both, and it will skip answering.

In all responses, the system must begin with **Yes**, **IDK**, or **No**, followed by a brief explanation of the reasoning. If the response is **No**, the system skips the query. If the response is **Yes** or **IDK**, the system will attempt to provide an answer.

**Prompt:**

System message: Your task is to determine if you can gather, infer, or have all the information needed to answer the user's query using:

1. Your existing knowledge (regardless of the tools).
2. The functionality of the available tools you have access to.
3. A combination of both. When evaluating the query, consider whether: The query provides enough information for you to answer directly. The available tools can help you obtain the necessary information or clarify the query. Or if a combination of a tool's functionality and your existing knowledge helps you infer, gather, or have the necessary information you need to answer.

 

Based on this evaluation:

Respond with 'Yes' if you can gather, infer, or have all the information needed to answer the query using your knowledge, the tools, or both. Respond with 'IDK' if you are unsure but are willing to attempt an answer. Respond with 'No' if you cannot answer the query at all, even with your knowledge and the tools available. This means the query is completely unanswerable given the current resources. Important: Always start your response with 'Yes,' 'No,' or 'IDK,' followed by a brief explanation of your reasoning. If you respond with 'No,' you will skip attempting to answer the query. If you respond with 'Yes' or 'IDK,' you are willing to try to answer. Prompt: Based on the user's query, your knowledge of the world, and the functionality of the available tools, determine if you can gather, infer, or have all the information needed to answer the request. Remember: Start with 'Yes,' 'No,' or 'IDK,' followed by an explanation. 'yes' means you have enough information, you can infer it, or can obtain it using the tools, and you will attempt to answer. 'IDK' means you are uncertain but willing to try using your knowledge, tools, or a combination of both. 'No' means you cannot answer the query with your knowledge, the available tools, or a combination of both and you will skip it. Query: (query), Your knowledge of the world, Available Tools and Their Functionalities: {functions} Tool AwarenessPromptThe system is tasked with determining whether it has the necessary tools, knowledge, or a combination of both to answer the user's query. The evaluation is based on the following considerations:

1. The system's existing knowledge, independent of the available tools.
2. The functionality of the tools accessible to the system.
3. A combination of both the existing knowledge and tool functionality. When evaluating the query, the system considers whether:

* The functionality of the tools can help obtain the necessary answer.
* The system's existing knowledge allows for directly answering the query.
* A combination of tool functionality and existing knowledge is sufficient to provide an answer.

Based on this evaluation, the system will respond as follows:

* **Ycs**: The system has sufficient knowledge, tools, or a combination of both, and will attempt to answer.
* **IDK**: The system is uncertain but willing to try answering using its knowledge, tools, or both.
* **No**: The system cannot answer the query, even with the available knowledge, tools, or a combination of both, and will skip attempting to answer. In all cases, the system must begin its response with **Yes**, **IDK**, or **No**, followed by a brief explanation. If the response is **No**, the system will skip the query. For **Yes** or **IDK**, the system will proceed to answer the query.

**Prompt: System Message:**

Your tasks is to determine whether you can answer the user's query using:

Figure 4: Distribution of human-replaceable and non-replaceable tools in each category in Fail-TaLMs.

 

1. Your existing knowledge (regardless of the tools).
2. The functionality of the available tools you have access to.
3. A combination of both.

When evaluating the query, consider whether: The functionality of the tools can help you obtain the answer. Your existing knowledge allows you to answer directly. Or if a combination of a tool's functionality and your existing knowledge helps you obtain the answer.

Based on this evaluation: Respond with 'Yes' if you can answer the query using your knowledge, the tools, or a combination of both. Respond with 'IDK' if you are unsure but are willing to attempt an answer. Respond with 'No' if you cannot answer the query at all, even with your knowledge and the tools available, or a combination of both. This means the query is completely unanswerable given the current resources, and you will skip attempting to answer the query. Important: Always start your response with 'Yes,' 'No,' or 'IDK,' followed by a brief explanation of your reasoning. If you respond with 'No,' you will skip attempting to answer the query. If you respond with 'Yes' or 'IDK,' you are willing to try to answer. Prompt: Based on the available tools' functionality and your knowledge of the world, determine whether you have the necessary tools, knowledge, or a combination of both to answer the query. Start with 'Yes,' No,' or 'IDK,' followed by an explanation 'Yes' means you have the knowledge, tools, or a combination of both, and you will attempt to answer. 'IDK' means you are uncertain but willing to try to answer. 'NO' means you cannot answer the query with your knowledge, the available tools, or a combination of both, and you will skip it. Query: {query}, Your knowledge of the world, Available Tools: {functions}

## Appendix D Human Agreement with Model-Based Evaluation

In SS3.4 we propose to use model-based evaluation to examine the correctness of model-generated responses, i.e., _pass rate_. To validate the reliability of GPT-4o's pass rate evaluation, we analyzed 95 examples randomly sampled from GPT-4o's responses on the perfect setting and compare the pass rate results between human evaluators and GPT-4o. The comparison showed an 83.2% agreement in the correctness of model-generated final responses between GPT-4o and human evaluators. This high level of agreement indicates that GPT-4o provides evaluation results similar to those of humans, making it a credible evaluator capable of simulating human assessment of pass rates.

## Appendix E Confidence Estimation of Results

While our benchmark contains a total of 1,749 examples, we conduct power analysis and result confidence estimations to further verify its effectiveness in supporting the conclusions drawn in our experiment sections.

First, we conducted significance testing and power analysis to determine the minimum number of examples required to detect meaningful differences between our experimented models with adequate statistical power. We found that at most 92 queries are sufficient to achieve reliable detection of meaningful differences between configurations with medium effect size (\(w=0.5\)), a significance level of \(\alpha=0.005\), and a statistical power of \(0.90\). Our dataset contains 261--599 examples in each data split, which is sufficiently higher than 92, suggesting that it can guarantee reliable and significant results.

Moreover, to enhance the transparency and robustness of our evaluation results, we have included confidence intervals for our key metrics (pass rate, awareness, unexpected outcomes, and skipped queries) across all settings and models. Specifically, we calculate the 95% confidence intervals using the Wilson score interval for proportions and report them in Table 3.

 



\begin{table}
\begin{tabular}{l c c|c c c} \hline
**Metric** & **Model** & **Setting** & Value (\%) & N & Confidence Interval (\%) \\ \hline \multirow{3}{*}{Pass Rate} & GPT-4o & under-specified & 36.0 & 599 & \([32.2,39.9]\) \\  & Claude-3.5-sonnet & perfect & 67.0 & 575 & \([63.1,70.8]\) \\  & LLaMa-70B & unavailable tools (non-replaceable) & 12.0 & 314 & \([~{}8.6,16.2]\) \\ \hline \multirow{3}{*}{Awareness} & GPT-4o & under-specified & 18.0 & 599 & \([15.0,21.3]\) \\  & Claude-3.5-sonnet & under-specified & 42.0 & 599 & \([38.1,46.0]\) \\  & LLaMa-70B & unavailable tools & 36.0 & 575 & \([32.1,40.1]\) \\ \hline \end{tabular}
\end{table}
Table 3: Confidence intervals of model performance.