Evolving Self-tuning Benchmarks for Long-Horizon Tool Use
Organizations: Stanford University · Google Deepmind · University of Washington
Abstract
For AI assistants to move beyond simple chat interfaces and reliably assist users with applications like Gmail, Venmo, and Slack, we need to improve their tool-use capabilities. However, existing tool use benchmarks are still limited and difficult to scale because they rely on human supervision or are too domain-specific. To make data generation scalable, we propose, TURTLE (Tool Use Related Tasks with Long-Horizon Evolution), an Unsupervised Environment Design (UED) approach to evolve existing tasks using a proposer, a solver, and a feedback generator large language model agents. The proposer is rewarded for difficult yet solvable tasks based on the solver's empirical performance, and the feedback generator summarizes the solver's execution traces for the proposer to exploit. TURTLE produces evolving, self-tuning test suites adaptable to different environment requirements, from supporting user simulators and dense document retrieval to interacting across multiple apps. Empirical results on AppWorld, -Bench, and AutomationBench using Gemma 4 31B-it show that the evolved tasks target the desired difficulty range (e.g., a 165% increase in the percentage of hard tasks on AppWorld), increase task diversity (in terms of reasoning and simultaneous tool interactions), and elicit a broader range of failure modes than the original tasks.
Figures & tables
Appendix figures & tables14 assets
Supplementary material from the paper’s appendix.
Appendix
| Task property | Source Dataset | Description | Examples |
| Specification | AppWorld | Explicitly requires the output to be formatted in an exact way that goes beyond just providing the content. | Title files as date_owner’s last name_creation date ; give comma-separated answers or write as answer: {value} (if specific formatting requirements are made in the instruction, the evaluator must check for instruction following accuracy) |
| Reasoning | AppWorld | Requires an additional reasoning or transformation step that is not natively handled by an API call. | Alphabetically sorting the output list; retrieving only the last four digits of a credit card; mathematical calculations. |
| Distractor | AppWorld, AutomationBench, SWEBench | Includes distractors or irrelevant information that are unnecessary for the main tool calls, requiring the agent to filter out the noise. | Solver needs to retrieve the most recent order, but the API returns a list containing the past items which include distractor names; adding irrelevant details or variable/ entity names that are unused in the solution. |
| Intermediate tool-call | AutomationBench, -banking | Does not explicitly state which API should be used, or it references entities where the necessary information to call the API must first be retrieved through intermediate discovery. | "Return my clothes", but the return policy document must be discovered; "Email my roommates", but the roommates’ identities and their contact information are unknown in the prompt and need to be discovered through additional API calls. |
| Constraint & Filter | -banking | Includes strict logical constraints, conditional (if-then) logic, or overriding priorities and exceptions. | Constraints: "Only download songs by the artist with N followers"; Conditionals: "If I have more than 5 friends, send them a text individually; otherwise send them a group message."; Overriding Priorities/Exceptions: e.g., A general rule exists (return items without expiration date), but a specific overriding policy applies (clothes expire after N days), and there is an exception to that override (except for certain brands). |
| Failure type | Source Dataset | Description | Examples |
| Missing items | AppWorld | The agent failed to include or process some requested items. | If the instruction includes processing transactions, messages to friends, or downloads, the agent only processed a subset of successfully. |
| Commonsense error | AppWorld | Non-tool-call related errors | Calculation or sorting errors (e.g., asked to identify the largest item, but the agent chose the smaller item). |
| Constraint violation | AppWorld, Automation Bench, -bench, SWEBench | The agent did not respect specified constraints or priorities. | If the instruction says to only download songs by artist xyz, but songs not by this artist are downloaded; the instruction says to filter by some condition but that is not satisfied; or if the instruction has an "if-then" conditional, but the condition is not checked before executing then. |
| Incorrect data processing | AppWorld, GDPval | The agent processed the data incorrectly. | Incorrectly reading the last 4 digits of a credit card number; incorrect response data parsing or extraction. |
| Invalid APIs | AppWorld | The agent hallucinated input, made incorrect API names, or used an incorrect API | Agent uses an incorrect tool call or the returned tool call cannot be parsed into an existing tool or API name |
| Incompletion | AppWorld, GDPval | The agent failed to include or process some requested items, or followed some parts of the instruction while missing other details. | Agent returned the correct artist names but didn’t download their songs, when the instruction requested both answering the artist names and downloading their songs; or adding new items to the bucket list but not marking them as incomplete; or navigating to “photographs" folder instead of “pictures" after making filesystem changes |
AI Agent Benchmarks
AI agent benchmarks measure how reliably autonomous systems plan, use tools, interact, and complete tasks across controlled and real-world settings.
See all 1,497 papers