51工具盒子

依楼听风雨
笑看云卷云舒,淡观潮起潮落

AnyTool:一个可以处理16000个API的Agent框架

https://arxiv.org/abs/2402.04253

这篇文章介绍了一个名为AnyTool的Agent系统,它旨在通过大规模API调用来解决用户查询。内容概括如下:

  1. API检索器(API Retriever)

    • AnyTool利用了一个分层结构的API检索器,这个结构分为三个层次:元代理(meta-agent)、类别代理(category agents)和工具代理(tool agents)。

    • 元代理负责根据用户查询动态生成类别代理,每个类别代理对应Rapid API中的一个类别,并负责从该类别的工具集合中识别最相关的工具。

    • 类别代理进一步创建工具代理,这些代理负责搜索其管理的工具中的API,并将可能解决查询的API添加到API候选池中。

  2. 求解器(Solver)

    • 解求解器的目标是使用生成的API候选池来解决用户的查询。它实现了一个单一代理,利用GPT-4的函数调用能力。

    • 解求解器可以采用深度优先搜索决策树(DFSDT)或链式思考(Chain of Thought, CoT)方法来解决查询。

  3. 自反思机制(Self-Reflection Mechanism)

    • 如果初始解决方案未能解决用户查询,AnyTool的自反思机制会重新激活系统,首先激活API检索器,然后是求解器。

    • 在API检索器中,自反思机制会识别查询未解决的原因,并根据这些原因重新激活代理,从工具代理到类别代理,最后到元代理。

    • 在求解器中,如果求解器决定放弃,它会提供放弃的原因和不相关的API名称。然后,这些API将从候选池中移除,求解器将使用新的提示、更新的API候选池和清理过的历史上下文重新激活。

  4. 评估协议(Evaluation Protocol)

    • 文章还提出了一种新的评估协议,称为AnyToolBench,以更好地反映实际应用场景。这个协议通过手动审查所有查询,只保留那些可以通过API池中的特定API解决的查询。
  5. 实验与结果

    • 实验结果表明,AnyTool在处理各种数据集时的性能优于ToolLLM和GPT-4的变体。例如,在ToolBench上,AnyTool的平均通过率比ToolLLM提高了35.4%。

AnyTool的设计充分利用了GPT-4的函数调用特性,通过分层结构和自反思机制,有效地利用了超过16,000个API来解决用户查询,同时避免了对外部模块的训练需求。


赞(3)
未经允许不得转载:工具盒子 » AnyTool:一个可以处理16000个API的Agent框架