Skip to main content
QUICK REVIEW

[论文解读] EASYTOOL: Enhancing LLM-based Agents with Concise Tool Instruction

Siyu Yuan, Kaitao Song|arXiv (Cornell University)|Jan 11, 2024
Topic Modeling被引用 4
一句话总结

EASYTOOL 提出了一种框架,可将多样、冗长且不一致的工具文档转化为简洁、统一且标准化的工具说明,从而提升基于大语言模型(LLM)的智能体对工具的使用能力。通过净化关键信息并生成结构化、示例丰富的工具描述,EASYTOOL 降低了 token 消耗,并在多个基准测试中显著提升性能,包括在使用 ReAct 提示法的 ChatGPT 上,FuncQA 基准测试中实现 28.3% 的绝对准确率提升。

ABSTRACT

To address intricate real-world tasks, there has been a rising interest in tool utilization in applications of large language models (LLMs). To develop LLM-based agents, it usually requires LLMs to understand many tool functions from different tool documentation. But these documentations could be diverse, redundant or incomplete, which immensely affects the capability of LLMs in using tools. To solve this, we introduce EASYTOOL, a framework transforming diverse and lengthy tool documentation into a unified and concise tool instruction for easier tool usage. EasyTool purifies essential information from extensive tool documentation of different sources, and elaborates a unified interface (i.e., tool instruction) to offer standardized tool descriptions and functionalities for LLM-based agents. Extensive experiments on multiple different tasks demonstrate that EasyTool can significantly reduce token consumption and improve the performance of tool utilization in real-world scenarios. Our code will be available at \url{https://github.com/microsoft/JARVIS/} in the future.

研究动机与目标

  • 解决因工具文档不一致、冗余和不完整,导致基于大语言模型的智能体在选择和使用工具时效率低下的问题。
  • 通过生成紧凑、标准化的工具说明,减少大语言模型推理过程中工具文档的 token 负担。
  • 在无需微调或访问模型权重的情况下,提升基于大语言模型的智能体在真实世界工具使用任务中的表现。
  • 通过统一、人类与模型均可读的工具说明格式,实现外部工具的即插即用式集成。

提出的方法

  • EASYTOOL 从异构的工具文档源(如 RapidAPI、Hugging Face、HFModel)中提取并整合关键信息,生成单一、统一的工具说明。
  • 采用多步精炼流程:信息净化、功能抽象和使用一致模板的结构化格式化,模板包含名称、描述、参数和示例用法。
  • 该框架生成简洁、以示例驱动的工具说明,包含基于场景的使用指导和参数规范。
  • 利用大语言模型从原始文档中合成工具说明,确保在不同工具之间保持清晰性、完整性和一致性。
  • 该方法通过避免模型微调,转而依赖优化后的工具说明进行提示工程,支持开源和黑箱大语言模型。
  • 该框架设计为可扩展且可伸缩,适用于文档极少甚至没有文档的工具,如在 FuncQA 上所展示的。

实验结果

研究问题

  • RQ1统一、简洁的工具说明格式是否能显著提升大语言模型智能体在真实任务中选择和使用外部工具的能力?
  • RQ2EASYTOOL 如何在保持或提升工具使用性能的同时减少 token 消耗?
  • RQ3EASYTOOL 在工具文档不完整或极少的情况下,能在多大程度上提升大语言模型智能体的表现?
  • RQ4在复杂推理任务中,标准化、示例丰富的工具说明是否优于 few-shot 示范和思维链提示法?
  • RQ5EASYTOOL 是否能在无需微调的情况下,有效应用于开源和专有大语言模型?

主要发现

  • 在单跳 FuncQA 基准测试中,Vicuna-30B 的准确率从使用 ReAct 时的 45.00% 提升至 65.00%,提升了 20.00 个百分点。
  • 在多跳 FuncQA 问题上,Vicuna-30B 的准确率从 7.35% 提升至 11.76%,提升了 4.41 个百分点。
  • 使用 EASYTOOL 后,ChatGPT 在多跳 FuncQA 上的准确率从使用 ReAct 时的 41.17% 提升至 48.53%,提升了 7.36 个百分点。
  • 在 FuncQA 上,ChatGPT 的工具错误率从 9.38% 降至 2.34%,表明其在工具选择和参数使用上的正确性显著提高。
  • 与原始文档相比,EASYTOOL 将工具文档所需的 token 数量最多减少了 70%,显著降低了推理成本。
  • 该框架在包括 RestBench 和 FuncQA 在内的多个不同基准测试中,均在开源和专有大语言模型上展现出一致的性能提升。

更好的研究,从现在开始

从阅读论文到最终审阅,大幅缩短您的研究时间。

无需绑定信用卡

本解读由 AI 生成,并经人工编辑审核。