AnyTool: Self-Reflective, Hierarchical Agents for Large-Scale API Calls

AnyTool:用于大规模 API 调用的自我反思、分层Agent

AnyTool阅读笔记【飞书文档版】

摘要:

  • AnyTool旨在彻底改变大量工具在解决用户查询方面的使用问题

  • 结构简介

    • 具有分层结构的 API 检索器

    • 使用一组选定的 API 候选者解决用户查询的求解器

    • 自我反思机制,如果初始解决方案被证明不可行,该机制会重新激活 AnyTool

  • 先前的评估协议会出现人为导致高通过率,基于此修改了评估协议

  • 引入新的基准测试AnyToolBench

介绍

  • API检索器

    • 链接meta-agent,meta-agent链接不同类别的api-agent,如类别agent和tool-agent

  • 求解器

    • 求解API tool

  • 自我反思

  • 特点

    • 即插即用,不用训练

    • 应用分而治之思想和Rapid API分类构建的API层次结构

      • 显著减少了每个Agent的搜索范围,并克服了与 LLM 中最大上下文长度相关的限制

    • 自我反思机制

      • 显著减少了“过度搜索”简单查询的趋势,同时还为复杂查询提供了上下文更丰富、更深入的搜索。这个闭环系统提高了查询解析过程的效率和有效性。

      • 4-6次自我反思,准确率提高20%,下图在不同数据集上使用不同轮次自我反思的性能曲线

    • 对现实场景进行评估,修改评估协议

  • a)gpt-4(API检索器)给出的检索结果与查询意图无关会给出‘无解’这一答案,这样的“无解”会被认为是正确的,最终会导致Pass Rate变高

  • b)人工审核去除‘无解’,更新Pass Rate计算方式

方法

  • (第 4.1 节)创建 API 候选池。为了提高效率,AnyTool 采用分层架构设计,利用 Rapid API 中提供的结构化 API 组织

    • Rapid API 中的结构化 API 组织

      • 第一层,类别:如体育、金融

      • 第二层,工具:特定类别的工具

      • 第三层,API:每个API属于特定的工具

    • 层次结构

      • 如上方图2

    • API候选池生成(看 图2)

      • 所有Agent,包括元Agent、类别Agent和工具Agent,以多线程方式独立运行

      • 元Agent发送调用自身托管功能的请求(涉及创建类别agent和工具agent和执行特定功能),类别Agent或工具Agent解析请求并执行相应功能

      • 工具Agent调用函数“检查请求是否可解决”并收到返回值“True”时,工具Agent使用“将 API 添加到 API 池”功能将 API 添加到该池中,所有Agent停止操作

      • 完成搜索,标记为“已完成”

  • (第 4.2 节)求解器利用候选 API 来解析查询 Q

    • 求解器发送调用函数的请求,

    • 解释该请求并执行函数,

    • 将函数的结果集成到上下文历史记录中,然后返回到求解器。

    • 触发自我反思机制

      1. 1)“给出解决方案”,GPT-4 审查解决方案并确定查询仍未解决;

      2. 2)“放弃”,求解器无法解决查询。

  • 如果查询仍未解决,AnyTool 会进行自我反思过程(第 4.3 节)以解决问题。

实验评估

  • 使用 ToolBench 包含六个子集过滤了无解情况的:G1-Instruction (G1-I)、G1-Tool (G1-T)、G1-Category (G1C)、G2-Instruction (G2-I)、G2-Category (G2-C) 和 G3Instruction (G3-I)以及自己建立的 AnyToolBench

  • GPT-4-32K

  • 发现 G1-I自子集GPT4 与人类评估的一致性为 96.5%,因而专门使用GPT-4评估

  • 模型简要说明

    • 除了原始的ToolLLM,还有两种ToolLLM变体

      • 1)一种在求解器中用 GPT-4 替换 ToolLLaMA;

      • 2) 另一种放弃 API 检索器并仅依赖参考 API。

    • 4种不同的GPT-4模型

      • 1)一种在求解器中使用参考 API 和思想链算法;

      • 2) 另一个使用参考 API 和 DFSDT 算法;

      • 3) 第三种采用普通Agent进行 API 检索,并将 DFSDT 算法合并到求解器中;

      • 4) 第四个利用 AutoGen 的检索增强生成 (RAG) 功能进行 API 检索,并使用 DFSDT 算法通过选定的 API 候选来解析用户查询。

  • ToolBench结果

    • AnyTool 在平均通过率方面明显优于原始 ToolLLM 和使用参考 API 的 GPT-4,分别高出 +32.6 点和 +19.3 点。

  • AnyToolBench的结果

  • 消融实验

  • 工具Agent管理太多工具(例如,K = 10)会有更大的搜索空间,可能导致忽略相关 API,管理太少工具(例如, K = 3) 可能会导致召回率降低

结论

  • AnyTool 能够利用 16K+ API 来有效处理实际的用户查询

  • AnyTool 的核心是一个分层 API 检索器和一个求解器,采用了独特的自我反思机制,提高了响应用户查询的能力

  • 在 ToolBench 和 AnyToolBench 上进行实验证明了方法相对于现有模型的优越性

  • 提出了两个未来的研究方向

    • 优化 API 的组织以提高性能和效率;

    • 研发专门针对 API 使用的开源 LLM,以促进本地部署

  • 21
    点赞
  • 26
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值