TOOLVERIFIER: Generalization to New Tools via Self-Verification
Dheeraj Mekala, Jason Weston, Jack Lanchantin, Roberta Raileanu, Maria Lomeli, Jingbo Shang, Jane Dwivedi-Yu
TL;DR
ToolVerifier introduces a self-verification framework that generalizes tool use to unseen APIs by decomposing tool calls into tool selection and parameter generation, each augmented with contrastive verification questions. A synthetic ToolSelect dataset supports zero-shot tool selection from large tool libraries, while few-shot demonstrations accompany parameter generation; verification questions are generated offline to refine decisions. Across four ToolBench tasks with 17 unseen tools, ToolVerifier achieves a 22% average improvement over few-shot baselines, with verification contributing additional gains (up to 14 points in parameter verification). The approach demonstrates that dual-stage verification and synthetic data can substantially enhance robustness and generalization in tool-based LLM behavior, with practical implications for building general-purpose assistants capable of new-tool adaptation.
Abstract
Teaching language models to use tools is an important milestone towards building general assistants, but remains an open problem. While there has been significant progress on learning to use specific tools via fine-tuning, language models still struggle with learning how to robustly use new tools from only a few demonstrations. In this work we introduce a self-verification method which distinguishes between close candidates by self-asking contrastive questions during (1) tool selection; and (2) parameter generation. We construct synthetic, high-quality, self-generated data for this goal using Llama-2 70B, which we intend to release publicly. Extensive experiments on 4 tasks from the ToolBench benchmark, consisting of 17 unseen tools, demonstrate an average improvement of 22% over few-shot baselines, even in scenarios where the distinctions between candidate tools are finely nuanced.
