Dynamic Tool Dependency Retrieval for Lightweight Function Calling

TL;DR

提出DTDR,基于动态依赖关系的轻量检索提升函数调用成功率23%-104%。

cs.LG 🔴 高级 2025-12-19 46 次浏览
Bhrij Patel Davide Belli Amir Jalalirad Maximilian Arnold Aleksandr Ermolov Bence Major
大语言模型 工具检索 多步依赖 轻量化 动态检索

核心发现

方法论

本文提出的DTDR框架通过结合用户查询和逐步演示的工具调用轨迹,利用函数调用示范学习工具依赖关系,实现动态条件检索。具体机制包括两种变体:基于聚类的DTDR-C和基于线性分类器的DTDR-L。模型输入包括任务描述和工具调用历史,输出为相关工具子集。通过在多个数据集和不同规模的LLM上进行系统评估,验证了其在检索准确率、下游任务性能和计算效率上的优越性。

关键结果

  • 在TinyAgent、TaskBench DailyLife APIs等数据集上,DTDR-L的工具调用成功率提升23%至104%,显著优于静态检索方法。具体表现为F1-score提升20%以上,MRR指标也有大幅改善。实验显示,结合历史轨迹的动态检索能有效减少无关工具的引入,提高函数调用的准确性和效率。
  • 在不同模型规模(Qwen 3 0.6B到14B)和任务复杂度下,DTDR-L保持优越性能,尤其在边缘设备上表现出较低的计算成本和更优的prompt长度。对比静态检索和其他基线,动态方法在多样化场景中展现出更强的适应性和鲁棒性。
  • 通过引入硬掩码和加权掩码策略,优化了工具在提示中的编码方式,进一步提升了模型的函数选择准确率。 Ablation研究表明,动态依赖关系建模在多步任务中尤为关键,显著优于只考虑最新调用的静态方法。

研究意义

本研究突破了静态工具检索的局限,提出动态条件依赖模型,有效解决多步任务中工具相关性不足的问题。其在提升函数调用成功率、降低误用率方面具有重要理论和实践意义,推动了轻量化、边缘端智能系统的应用发展。未来可结合强化学习进一步优化工具选择策略,拓展多模态场景的适应性。

技术贡献

技术创新主要体现在引入基于示范学习的工具依赖建模机制,结合两种轻量级变体(聚类和线性分类)实现动态条件检索。不同于传统静态描述或单步依赖模型,DTDR能根据任务上下文实时调整检索策略,显著提升多步依赖捕获能力。算法设计兼顾模型复杂度与性能,满足边缘设备的资源约束,为未来多模态、多任务系统提供技术基础。

新颖性

本研究首次提出结合任务描述和逐步演示的动态工具依赖检索框架,区别于以往仅依赖静态描述或单步历史的检索方法。通过学习示范中的多步依赖关系,实现对工具调用的高效、精确预测,填补了多步、多依赖场景下工具检索的空白。这一创新为轻量化、适应性强的函数调用系统提供了新思路。

局限性

  • 当前模型对示范数据的质量和多样性敏感,示范不足可能影响依赖关系学习效果。
  • 在极端复杂或长序列任务中,模型仍存在依赖关系捕获不完整或误差积累的问题。
  • 模型在极端资源受限设备上的表现尚需进一步优化,尤其在prompt长度和推理速度方面。

未来方向

未来可结合强化学习或元学习技术,进一步优化工具依赖关系的动态建模能力。探索多模态输入(如图像、语音)对工具依赖的影响,提升模型在实际复杂场景中的适应性。此外,结合知识图谱和大规模示范数据,增强工具调用的鲁棒性和泛化能力,将是未来的重要方向。

AI 总览摘要

随着大语言模型(LLMs)在自动化任务中的广泛应用,如何高效、准确地调用外部工具成为关键问题。传统方法多依赖静态描述或单步历史,难以捕获多步骤任务中的工具依赖关系,导致误调用和效率下降。本文提出的Dynamic Tool Dependency Retrieval(DTDR)框架,通过结合用户查询和逐步演示的工具调用轨迹,学习工具间的动态依赖关系,从而实现更精确的工具检索。DTDR包括两种轻量变体:基于聚类的DTDR-C和基于线性分类的DTDR-L,均在多个数据集和不同规模的LLM上进行了系统评估。结果显示,DTDR显著提升工具调用成功率,最高达104%,在边缘设备和云端模型间实现了性能桥接。通过引入硬掩码和加权掩码策略,优化了工具在提示中的编码方式,进一步增强了模型的函数选择能力。这一技术突破不仅改善了多步任务中的工具相关性问题,也为未来边缘智能和多模态系统的工具调用提供了坚实基础。未来工作将结合强化学习和知识图谱,提升模型的泛化和鲁棒性,推动智能自动化的广泛落地。

深度分析

研究背景

大语言模型(LLMs)在自然语言理解和生成中取得突破,但在实际应用中,调用外部工具以完成复杂任务仍面临挑战。早期工作如Toolformer、Schick et al.(2023)通过静态描述或示范学习实现工具调用,但多依赖静态信息,难以适应多步依赖和动态变化的任务场景。近年来,工具检索技术如QTS、ToolNet等引入了基于语义相似性和依赖关系的检索方法,但仍存在静态性强、缺乏上下文动态调整的问题。随着任务复杂度增加,静态检索难以捕获工具间的多步依赖关系,导致调用失误和效率降低。研究逐步转向示范学习和依赖关系建模,但多依赖静态图或单步历史,不能充分反映任务的动态变化。本文在此背景下提出动态条件检索,旨在解决多步依赖捕获不足的问题。

核心问题

核心问题在于传统检索方法无法动态适应任务上下文和工具调用轨迹,导致工具选择不精确。静态描述或单步历史忽略了多步依赖关系,容易引入无关工具或遗漏关键依赖,影响任务完成效率和准确性。尤其在边缘设备上,资源有限,模型需在保证低延迟的同时实现高精度检索。如何设计一种既轻量又能动态调整的工具依赖模型,成为亟待解决的难题。这不仅关系到自动化系统的性能,也影响到实际应用中的用户体验。

核心创新

本研究的创新点包括:1)提出结合任务描述和工具调用历史的动态依赖关系建模框架,突破静态描述的限制;2)设计两种轻量级变体(DTDR-C和DTDR-L),实现实时、上下文感知的工具检索;3)引入示范学习机制,从示范中学习多步依赖关系,提升多任务适应性;4)优化工具在提示中的编码策略(硬掩码、加权掩码),增强模型的函数选择能力。这些创新使得工具检索更具上下文敏感性和多步依赖捕获能力,显著优于传统静态方法。

方法详解

  • �� 输入:用户任务描述和工具调用历史。• 机制:
  • 通过示范学习获取工具依赖关系模型。
  • 设计两种变体:
  • �� DTDR-C:利用聚类和图遍历,构建工具依赖图,动态推断下一步工具。
  • �� DTDR-L:训练线性分类器,根据上下文预测工具子集。
  • 输入任务描述和调用轨迹,输出相关工具子集。
  • 将检索结果硬掩码或加权编码到提示中,供LLM采样下一工具。
  • 迭代执行,直到任务完成或达到最大长度。• 训练:利用示范数据学习工具依赖关系,优化模型参数。• 评估:在多个数据集上测量检索指标(MRR、F1)、下游任务成功率和prompt长度。

实验设计

采用TinyAgent、TaskBench DailyLife APIs、TaskBench HuggingFace和Multimedia数据集,评估工具检索和函数调用成功率。对比静态检索(如ToolNet)和多种基线(BM25、QTS、LR),指标包括MRR、F1、函数选择准确率(FSA)和端到端成功率(SR)。模型涵盖Qwen 3系列(0.6B-14B)和云端模型(GPT-4o),测试不同任务复杂度和资源限制。通过消融实验验证不同编码策略(硬掩码、加权掩码)对性能的影响。

结果分析

动态检索(DTDR-L)在所有数据集上均优于静态方法,FSA提升最高达104%,MRR和F1指标也显著改善。特别是在边缘设备模型(Qwen 3 0.6B)中,成功率由静态方法的23%提升到65%以上。引入示范学习和多步依赖建模,有效减少无关工具引入,提升函数调用的准确性。硬掩码策略在小模型中表现优异,减少prompt长度,提升推理速度。整体结果验证了动态条件检索在多场景、多任务中的优越性。

应用场景

该方法适用于边缘设备智能助手、自动化工作流、企业协作平台等场景,能显著提升工具调用的准确性和效率。依赖少、资源占用低,适合低延迟需求的实时系统。未来可结合多模态输入和强化学习,拓展多任务、多模态场景的应用范围,推动智能自动化的普及。

局限与展望

模型对示范数据的依赖较大,示范不足会影响性能。复杂长序列任务中依赖关系可能捕获不全,误差累积。在极端资源受限设备上,prompt长度和推理速度仍需优化,未来需结合模型剪枝和知识增强技术以提升鲁棒性。

通俗解读 非专业人士也能看懂

想象你在厨房做菜,手边有很多食材和工具。每次做菜都需要用不同的厨具,比如刀、锅、搅拌器。有时候,你会提前准备好所有工具,但有时也会根据菜的不同,临时决定用哪些工具。传统的方法就像提前把所有可能用到的厨具都放在桌子上,等你需要时再挑选。而本文提出的方法像是一个聪明的助手,它会根据你正在做的菜和你之前用过的工具,动态地帮你挑选最合适的厨具。这样,不仅节省空间,还能确保用到的工具正是你需要的,做菜也会变得更快更好。这种智能助手就像厨房里的神奇助手,能根据不同菜谱和你的习惯,灵活地帮你准备工具,让厨房变得更高效、更有趣。

简单解释 像给14岁少年讲一样

想象你在学校里参加一个科学实验,你需要用到很多不同的工具,比如试管、显微镜、温度计。每次做不同的实验,所用的工具也不一样。有时候你会提前准备好所有可能用到的工具,但有时候你只知道大概需要哪些。传统的方法就像把所有工具都放在桌子上,等你用到时再找。而这个新方法就像有个聪明的助手,它会根据你正在做的实验内容和你之前用过的工具,帮你动态挑选出最合适的工具。这样,你就不用一开始就准备所有工具,也不会用错工具。它就像一个会观察你、理解你需要什么的智能朋友,让你做实验变得更快、更顺利。未来,这样的助手还能帮你学习更多新技能,变得更聪明、更贴心!

原文摘要

Function calling agents powered by Large Language Models (LLMs) select external tools to automate complex tasks. On-device agents typically use a retrieval module to select relevant tools, improving performance and reducing context length. However, existing retrieval methods rely on static and limited inputs, failing to capture multi-step tool dependencies and evolving task context. This limitation often introduces irrelevant tools that mislead the agent, degrading efficiency and accuracy. We propose Dynamic Tool Dependency Retrieval (DTDR), a lightweight retrieval method that conditions on both the initial query and the evolving tool calling plan. DTDR models tool dependencies from function calling demonstrations, enabling adaptive retrieval as plans unfold. We benchmark DTDR against state-of-the-art retrieval methods across multiple datasets and LLM backbones, evaluating retrieval precision, downstream task accuracy, and computational efficiency. Additionally, we explore strategies to integrate retrieved tools into prompts. Our results show that DTDR improves function calling success rates between $23\%$ and $104\%$ compared to state-of-the-art static retrievers.

cs.LG