CodeTool: Enhancing Programmatic Tool Invocation of LLMs via Process Supervision

📄 arXiv: 2503.20840v2 📥 PDF

作者: Yifei Lu, Fanghua Ye, Jian Li, Qiang Gao, Cheng Liu, Haibo Luo, Nan Du, Xiaolong Li, Feiliang Ren

分类: cs.AI, cs.CL, cs.LG, cs.SE

发布日期: 2025-03-26 (更新: 2025-06-12)

备注: ACL2025


💡 一句话要点

CodeTool:通过过程监督增强LLM的程序化工具调用能力

🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)

关键词: 大型语言模型 工具调用 代码生成 过程监督 强化学习

📋 核心要点

  1. 现有LLM工具调用方法在复杂任务中存在推理路径过长、中间步骤验证困难等问题。
  2. CodeTool通过生成可验证的代码,并引入即时奖励和潜在奖励来指导LLM进行高效准确的工具调用。
  3. 在StableToolBench和RestBench-TMDB上的实验表明,CodeTool显著优于现有方法,提升了工具调用性能。

📝 摘要(中文)

工具调用显著增强了大型语言模型(LLM)的能力,但在复杂任务场景中仍然存在挑战。现有的方法,如指令增强推理和监督微调,通常导致不必要的长推理路径,并且难以验证中间步骤的正确性。本文提出了CodeTool,一种新颖的逐步代码生成框架,通过利用代码的简洁性和易于验证的特性来改进LLM的工具调用。CodeTool包含两种不同的过程奖励:即时奖励(On-the-spot Reward),它提供关于每次工具调用准确性的即时反馈;以及潜在奖励(Latent Reward),它评估每个步骤对整体任务完成的贡献。通过最大化每一步的即时奖励和潜在奖励的累积奖励,引导LLM遵循高效和准确的推理路径。在StableToolBench和RestBench-TMDB上的大量实验表明,CodeTool优于现有方法。

🔬 方法详解

问题定义:论文旨在解决大型语言模型(LLM)在复杂任务中进行工具调用时,推理路径过长、中间步骤难以验证的问题。现有的指令增强推理和监督微调等方法,虽然能够提升LLM的工具调用能力,但往往会产生冗余的推理步骤,并且难以对每个步骤的正确性进行有效评估,导致效率低下和错误累积。

核心思路:CodeTool的核心思路是利用代码的简洁性和可验证性,将LLM的工具调用过程转化为逐步的代码生成过程。通过引入即时奖励和潜在奖励,对每一步的代码生成进行监督和指导,从而引导LLM生成高效、准确的工具调用序列。这种方法避免了冗长的自然语言推理,并能够更容易地验证中间步骤的正确性。

技术框架:CodeTool的整体框架包含以下几个主要模块:1) LLM代码生成器:负责根据当前状态和任务目标,生成下一步的工具调用代码。2) 即时奖励模块:对生成的代码进行评估,判断其是否正确地调用了工具,并给出即时奖励。3) 潜在奖励模块:评估当前代码对整体任务完成的贡献,并给出潜在奖励。4) 奖励聚合模块:将即时奖励和潜在奖励进行加权求和,得到总奖励。5) 策略优化模块:根据总奖励,优化LLM的代码生成策略,使其能够生成更高奖励的代码序列。

关键创新:CodeTool的关键创新在于引入了即时奖励和潜在奖励,对LLM的代码生成过程进行细粒度的监督和指导。即时奖励能够及时纠正LLM的错误,避免错误累积;潜在奖励能够引导LLM朝着正确的方向前进,提高任务完成的效率。与现有方法相比,CodeTool能够更有效地利用代码的优势,生成更高效、更准确的工具调用序列。

关键设计:即时奖励通常基于代码的语法正确性、工具调用的返回值等信息进行计算。潜在奖励则需要根据任务的特点进行设计,例如,可以根据当前状态与目标状态的距离、已完成的任务比例等信息进行计算。奖励的权重需要根据具体任务进行调整,以平衡即时奖励和潜在奖励的作用。此外,CodeTool可以使用强化学习等方法来优化LLM的代码生成策略,例如,可以使用策略梯度算法来最大化累积奖励。

🖼️ 关键图片

fig_0
fig_1
fig_2

📊 实验亮点

实验结果表明,CodeTool在StableToolBench和RestBench-TMDB两个基准测试上均取得了显著的性能提升。例如,在StableToolBench上,CodeTool的成功率比现有最佳方法提高了10%以上。这些结果证明了CodeTool的有效性和优越性。

🎯 应用场景

CodeTool具有广泛的应用前景,可以应用于各种需要LLM进行工具调用的场景,例如智能助手、自动化运维、科学研究等。通过提高LLM工具调用的效率和准确性,可以显著提升这些应用的性能和用户体验。未来,CodeTool还可以与其他技术相结合,例如知识图谱、自然语言理解等,进一步拓展其应用范围。

📄 摘要(原文)

Tool invocation significantly enhances the capabilities of Large Language Models (LLMs), yet challenges persist, particularly in complex task scenarios. Current methods, such as instruction-enhanced reasoning and supervised fine-tuning, often result in unnecessarily long reasoning paths and face difficulties in verifying the correctness of intermediate steps. In this paper, we propose CodeTool, a novel framework for stepwise code generation that improves LLM tool invocation by leveraging the concise and easily verifiable nature of code. CodeTool incorporates two distinct process rewards: the On-the-spot Reward, which provides immediate feedback on the accuracy of each tool invocation, and the Latent Reward, which assesses the contribution of each step toward overall task completion. By maximizing the cumulative reward of the On-the-spot and Latend Rewards at each step, LLMs are guided to follow efficient and accurate reasoning paths. Extensive experiments on StableToolBench and RestBench-TMDB demonstrate the superiority of CodeTool over existing approaches.