Tool use:有效地利用外部工具
Tool use:有效地利用外部工具
2024年7月26日修改
“Tool use”(工具使用)是 AI Agent 工作流中的另一个关键设计模式,这个模式主要关注 AI Agent 如何有效地利用外部工具来增强其执行任务的能力。这可能包括使用计算器来执行精确的数学运算、搜索引擎来获取信息、或者调用API来实现特定的功能。这种设计模式超越了传统的仅依赖预训练变换器(transformer)生成输出的方式,通过赋予LLM额外的工具和能力,使其能够执行更复杂的任务和提供更丰富的输出。
在实际应用中,"tool use"可以体现在以下几个方面:
◦
网络搜索:AI Agent可以通过执行网络搜索来获取关于特定主题的信息,例如,根据用户询问“根据评论者的评价,哪款咖啡机最好?”,AI Agent可能会调用搜索引擎并分析下载的网页内容来提供答案。
◦
代码执行:AI Agent可以执行代码来完成计算任务,例如,在回答“如果我以7%的复利投资100美元,12年后我会得到多少钱?”时,AI Agent可以运行一个Python命令来计算最终金额。
◦
多源信息检索:AI Agent可以使用不同的工具来从多个来源(如互联网、维基百科、arXiv等)检索信息,以及与生产力工具(如发送电子邮件、读写日历条目等)进行交互。
◦
图像处理:AI Agent可以生成或解释图像,这通常涉及到调用图像处理API或其他视觉工具。
◦
自动选择功能:AI Agent可以根据给定的上下文自动选择正确的功能来执行任务。这可能涉及到对功能的详细描述和期望参数的理解。
◦
大规模工具集成:在某些系统中,AI Agent可以访问数百种工具。在这种情况下,可能会使用启发式方法来选择在当前处理步骤中最相关的功能子集。
基于上述内容,我们可以举一个实际的例子来说明"tool use"在AI Agent中的应用:
假设你正在使用一个基于大型语言模型(LLM)的在线聊天系统,你向这个系统提出了一个问题:“根据评论者的评价,哪款咖啡机最好?”在这个场景中,AI Agent会采取以下步骤来使用工具来回答问题:
1.
理解请求:AI Agent首先理解用户的问题是关于咖啡机的评论和评价。
2.
决定使用工具:AI Agent识别到为了回答这个问题,它需要访问最新的用户评论和评分,这超出了其预训练知识的范围。因此,它决定使用网络搜索工具来获取相关信息。
3.
生成搜索请求:AI Agent被训练或提示生成一个特殊的字符串,例如{tool: web-search, query: "coffee maker reviews"}。这个字符串是一个指令,告诉系统执行一个网络搜索,并使用查询字符串“coffee maker reviews”。
4.
执行搜索:后处理步骤会寻找类似上述的特殊字符串。当找到这样的字符串时,系统会调用网络搜索功能,并使用相关的参数(在这个例子中是查询字符串)来执行搜索。
5.
获取并处理结果:搜索功能返回的结果会被传递回AI Agent,作为额外的输入上下文。然后,AI Agent可以进一步处理这些信息,比如提取最受欢迎和评分最高的咖啡机型号。
6.
生成回答:基于搜索结果,AI Agent生成一个回答,告诉用户根据评论者的评价,哪款咖啡机最受欢迎。