AI 智能体如何学习使用工具,以及如何测试

原标题How AI agents learn to use tools—and how to test them

Diyi Yang 从检索失败和 Toolformer 讲起,介绍运行时工具发现、MCP 和可靠性基准。

DYDiyi Yang讲者 · Stanford University
频道
Stanford Online
发布
2026年11月12日
视频
1:19:15
阅读
16 分钟
幻灯片
1
原文
英语
在 YouTube 打开
往下滚动阅读时,视频会缩到右下角继续播放。字幕跟随阅读语言。
阅读语言共 2 种语言可读
由 AI 从英语原文翻译。打开“对照原文”可以逐段核对。
摘要

30 秒看懂

斯坦福大学的 Diyi Yang 说,正确文档即使在模型上下文中,也可能被忽略,因此测试工具型智能体时不能只看信息是否被检索到。她解释早期系统如何学习何时调用外部程序、后续研究如何扩展到数千个 API,以及结构化接口如何让应用在运行时发现工具。看似合理的调用仍可能失败,因此验证参数、控制权限和衡量重复成功率仍然关键。

  1. 1正确答案可能存在,却在中间位置被忽略Yang 展示较早的实验:当相关文档放在长上下文的中间时,回答准确率下降。
  2. 2检索到更多证据不等于用好了证据例子中的检索覆盖率持续上升,而阅读模型的准确率进入平台期,因此她建议谨慎筛选和重排结果。
  3. 3Toolformer 学习哪些已执行调用能改善预测这一早期系统采样并执行候选调用,再保留输出能够降低加权预测损失的示例。
  4. 4多次工具调用比单次调用更难Yang 将早期实验中较差的多跳结果部分归因于可能序列空间很大,以及多步训练示例有限。
  5. 5合成任务将训练扩展到数千个 APIYang 解释了 ToolLLM 如何使用生成的用户请求和解决路径,让较小模型在大型 API 集合上接受训练。
  6. 6MCP 让工具可在运行时被发现,但仍需控制访问宿主连接服务器、列出能力并调用工具;Yang 的课程示例限制哪些人可以发布成绩。
  7. 7可靠性不只是成功一次Yang 对比 pass@k 与要求选中尝试全部成功的更严格指标,后者与真实用户交互有关。

要点建议

  1. 检索更多文档不一定能改善答案:要测试模型是否使用证据,包括证据位于中间时的情况。
  2. 将检索文本视为不可信输入,验证引用、访问权限以及抵御提示注入的能力。
  3. Toolformer 根据候选调用执行后的结果是否改善对后续文本的预测来筛选调用;外部故障可能影响这一信号。
  4. 工具模式或 MCP 服务器有助于提供能力,但应用仍需正确选择工具、验证输入并进行授权。
  5. 评估多步智能体时,除了调用结构,还要检查执行过程和最终状态。
  6. 评估可靠性时,要区分至少一次尝试成功与多次尝试都能稳定成功。
全文

按章节阅读整理后的全文

只看原始文稿
01

检索为何可能遗漏或歪曲证据

Yang 回顾权限泄漏、注意力分散和提示注入,并解释中间丢失效应及引用错误。她仍建议使用检索,但要进行验证。

Diyi Yang 介绍本次讲座的主题:智能体为什么需要工具、模型如何学习选择和使用工具,以及工具如何通过接口提供。最后,她会介绍工具使用的基准测试和可靠性指标。

她首先回顾检索增强生成(RAG):检索外部材料,并用它回答问题或完成任务。即使采用这种设计,检索、阅读以及各阶段之间的衔接仍可能出错。

检索可能暴露智能体不应访问的材料。阅读模型可能被看似相关的文档分散注意力,或面对相互冲突的证据;早期错误也可能沿着检索、阅读、生成的流程传播。

提示注入带来另一种风险:攻击者可以在检索到的文档中放入恶意指令。Yang 说,系统必须谨慎处理检索材料,而不能假定它们可信。

为了说明“中间丢失”现象,她描述了一个包含多份文档的问答提示,其中一份包含答案。她问,如果答案所在文档从开头移到中间或结尾,模型能否同样有效地使用它。

长上下文中答案位置与准确率的关系
幻灯片 1 / 1长上下文中答案位置与准确率的关系Liu 及其同事在 2023 年研究中的曲线展示了相关文档处于不同位置时准确率如何变化。

在她展示的经典研究中,性能往往呈 U 形:位于开头或结尾附近的相关材料比中间材料更容易被可靠利用。正确答案可能就在上下文里,却仍然被忽略。

Yang 用一个早期问答例子说明这种效应:图中闭卷得分约为 56,而提供相关文档可以提高到 88。当文档位于中间时,性能可能降回接近没有检索的基线。

检索更多文档会提高答案存在于结果中的概率,但不能保证阅读模型会使用它。图中检索覆盖率在约 50 篇文档时达到 90%,而阅读准确率更早进入平台期;Yang 建议谨慎选择和重排结果。

引用有助于核查答案,但生成的引用本身也可能出错。Yang 说,不能仅因为回答中包含链接或参考文献,就相信流畅且看似权威的内容。

她展示了一项较早的比较:用户对答案的评价很高,但引用精确率低得多。这一反差说明,感知有用性和事实支持是不同的衡量指标。

Yang 说,研究人员在会议论文和学生作业中发现了虚构参考文献,并介绍了会议采取直接拒稿等应对措施。她敦促学生核实参考文献,对自己提交的内容负责。

她提醒说,链接或引文可能让答案看似权威,但不会自动验证内容。提交者仍有责任检查来源。

“大海捞针”测试在长上下文中放入一个相关事实,并改变其位置和周围文本的长度。Yang 展示了较早的 Claude 2.1 结果:上下文越长,失败越多,尤其当事实远离最近阅读的位置时。

在这项测试中,上下文长度和插入事实的位置分别变化。模型随后回答一个依赖该事实的问题。

较早的 GPT-4 测试整体表现更强,但 Yang 指出,上下文较长时仍有性能下降的区域,中间位置仍会出现失败。她认为,标称上下文窗口很大,并不保证模型能可靠使用其中每个事实。

Yang 强调,这些例子针对特定的早期模型和测试。经验教训是应衡量实际检索和阅读表现,而不是从上下文窗口大小推断能力。

被问到为什么出现位置效应时,Yang 提出长距离依赖和位置偏差可能是原因。她将其作为理解观察现象的直觉,而不是对原因的完整证明。

她将模型对近期信息的关注,与人更容易记住昨天而非更早发生的事作比较。这是她用来解释位置偏差的类比。

一名学生问,获取外部知识是否有检索之外的替代方法。Yang 仍然推荐将 RAG 作为有用的通用方法,同时检查正确性、位置偏差、访问权限和注入内容。

对于具体应用,她建议检查系统能否给出正确答案,而不受文档顺序过度影响。安全检查也应涵盖注入内容。

02

智能体为何调用外部工具

早期模型的例子显示其在算术和实时信息上存在困难。外部计算、搜索和服务扩展了智能体的能力,但生成的调用可能无效。

Yang 用早期模型的例子转向工具:模型可能擅长看似更难的问题,却在当前日期、实时事实或算术上遇到困难。她展示了乘法准确率随位数增加而下降的情况。

Yang 用乘法具体说明这种反差:早期模型能解决一些复杂问题,却可能在简单的精确算术中出错。计算器可以提供独立的计算能力。

谜题和动态规划的例子也出现类似趋势:步骤越多,任务对模型可能越难。Yang 建议将精确计算交给外部工具,而不是假设语言模型必须在内部完成每项操作。

她说,当问题需要更多中间步骤时,表现往往变差。这促使人们把操作交给专用软件,而不只依赖流畅的文本生成。

她将局限归为精确推理、获取训练中没有的信息,以及与非语言系统或物理世界互动。计算器和代码可以帮助计算;检索和实时搜索可以提供变化中的信息或私有信息。

实时 API 可以提供当前信息,而检索公司文档可以提供模型训练时没有的材料。不同外部工具解决不同的局限。

其他工具可以提供数据库、浏览器、API、图像生成器或机器人能力。Yang 将工具使用视为广义的智能体能力:系统选择外部操作,并在任务中使用返回结果。

工具可以看作通向模型外部程序的接口。模型以文本形式生成名称和参数;外部程序执行操作并返回结果。

文本接口很重要,因为语言模型本来就处理文本。即使执行发生在外部,时间函数、计算器或天气服务也可以用可识别的名称和指定参数表示。

Yang 将例子扩展到日历、电子邮件、图像生成、翻译系统和词典。工具不一定是新模型:现有服务或专用模型也可以提供智能体缺少的能力。

工具目录可以包括常规服务和专用模型,例如翻译系统。智能体不必在内部重新实现每项能力。

对于乘法问题,模型会输出带有操作数的计算器调用;天气问题则可以触发天气函数。两种情况下,模型都使用外部答案,而不是仅靠自身生成结果。

工具调用以包含操作和输入的结构化文本表示。外部系统完成工作,再把输出返回给模型。

一位观众问,基于文本的调用如何应对类型检查、版本管理和语义变化。Yang 说,生成的名称或参数可能是虚构的或无效的,因此外部检查可能失败;这些都是实际的工具使用故障模式。

另一个问题问模型能否动态创建工具。Yang 说,已有研究探索即时生成工具或接口,但生成的工具本身可能包含错误,也可能重现模型记住的内容。

03

用 Toolformer 和 ToolkenGPT 教模型使用工具

Toolformer 根据预测损失插入并筛选调用;ToolkenGPT 用学习得到的词元表示工具。Yang 讨论了多步调用为何更难。

接着,讲座讨论模型如何学习何时调用工具、选择哪个工具以及提供哪些参数。Yang 介绍 Toolformer,将其作为把这些决定转化为学习问题的早期方法。

Toolformer 的设置是在普通文本中加入调用、结果和后续文本。Yang 用计算和事实性问题说明,在哪个位置插入外部答案可能改善后续文字的预测。

预期行为包括确定调用位置、选择合适的 API、生成参数并使用返回结果。Yang 将每一步都视为学习问题的一部分。

早期系统使用五种工具:问答、计算器、搜索、翻译和日历。在增强后的示例上训练,可以让模型在推理时学会输出工具调用并使用结果。

通过在普通句子中加入候选 API 调用来构建训练示例。推理时,训练后的模型可以在生成文本时输出特殊调用格式。

为了构建示例,该方法会考虑句子中哪些位置可能适合插入 API 调用,然后在这些位置采样候选调用并在外部执行。

选定插入位置后,流程会采样可能的调用并执行,得到可以比较其有用性的候选响应。

筛选步骤要判断返回结果是否改善了对后续文本的预测。加权损失更重视附近的词元,因此工具结果的即时影响比远处词语更重要。

损失比较包括一个提供调用但不提供结果的基线。这用于检验返回信息是否在调用文本之外增加了价值。

Yang 将包含完整调用和结果的损失,与没有调用或有调用但没有输出的基线比较。如果结果让预测改善超过某个阈值,候选示例就可以保留用于训练。

在 Pittsburgh 的例子中,图中没有调用时损失为 2.5,有调用但没有答案时为 2.1,提供执行后的答案时为 0.8。相对于较强基线的改善为 1.3;损失越低越好。

一位观众问,当外部服务可能返回缓存数据或发生故障时,这种方法有多可靠。Yang 同意,服务器不可用、请求格式错误和错误响应都会影响训练信号,说明学习式方法存在局限。

Yang 指出,即使候选调用看起来合理,外部服务也可能不可用或返回错误。流程评估的是实际返回内容,这可能限制得到的信号。

她展示的例子中,有用的日历调用比无用调用得到更高分数。这个分数旨在判断特定工具响应是否对文本中的特定位置有帮助。

Yang 说,相比大得多的基线模型,Toolformer 基于 GPT-J 的小模型在展示的数学和时间信息等任务上表现良好。这一历史结果说明,工具访问可以弥补模型的某些局限。

一名学生问,工具调用发生在词元生成之中,还是发生在智能体轮次之间。Yang 说,早期例子将调用插入生成流;较新的智能体可以产生更长的轨迹,先尝试一个工具,再选择另一个。

这一区别在历史上很重要:在词元流中插入调用,并不是组织智能体的唯一方式。后来的系统可能明确规划、检查结果,再选择下一步行动。

ToolkenGPT 采用相关的词元方法:用学习得到的词元嵌入表示每个工具。选中该词元时,生成暂停,模型提供参数,外部工具运行,结果返回后再继续生成。

Yang 用数学问题中的最大公约数函数说明这个机制。系统在普通推理文本和工具模式之间切换,而不是在一段不间断的生成中算出全部答案。

合成示例可以训练工具嵌入,但 Yang 强调了一个历史弱点:在展示的结果中,需要多次调用的任务表现远差于单次调用任务。她说,多步工具使用仍比选择单个操作更难。

被问到原因时,Yang 指出可能的调用序列搜索空间很大,而训练数据中的多步工具示例相对有限。在她的解释中,组合搜索问题是主要原因。

04

将训练扩展到数千个 API

ToolLLM 使用合成请求和轨迹,而 Gorilla 研究 API 调用与检索感知训练。Yang 介绍结构评估和 API 幻觉。

一名学生问,模型如何发现新创建的工具。Yang 借此从固定的少量工具转向旨在扩展到数千个 API 的方法。

ToolLLM 收集大量 API 描述,并使用能力较强的模型合成合理的用户请求和解决轨迹。Yang 说,她展示的系统覆盖了该集合中超过 16000 个 API。

这一流程先提示 ChatGPT 为工具生成用户请求,再让它尝试使用可用工具完成任务。生成的解决路径构成 ToolBench 数据集;较小的 Llama 模型可以在这些示例上微调,得到 ToolLLaMA。

运行时,ToolLLaMA 接收一条指令和候选 API,利用学到的工具使用行为生成答案。训练示例来自模拟请求和解决路径。

Yang 区分了用生成的任务示例训练较小模型与经典知识蒸馏。这些示例模拟具体用户请求和解决步骤,不需要访问另一个模型私有的内部推理。

Yang 强调,生成具体合成任务与提取模型的隐藏推理不同。产生的示例仍可用于训练另一个模型。

她展示了语音转文字的工具调用失败:一个例子虚构了参数,另一个则为转写请求选择了翻译工具。相似的名称和接口让正确选择 API 与参数变得困难。

调用可能以多种方式失败:API 可能是虚构的,参数可能不存在,所选函数也可能针对错误任务。Yang 用转写与翻译说明这些区别。

Gorilla 是另一个将语言模型连接到 API 的系统。Yang 介绍了从模型中心收集的约 1600 个 API,以及用 GPT-4 生成合成指令后进行模型训练的方式。

她介绍了检索感知训练,让模型同时接触正确和错误的文档。目标是在检索文档不匹配时提高稳健性,而不是简单复制上下文中的内容。

推理时,系统将用户请求与可用 API 描述匹配并构造调用。Yang 指出,用户可能只看到最终结果,尽管中间选择和调用会消耗词元并产生成本。

精确字符串匹配对 API 评估可能过于严格。她介绍的方法将调用解析为抽象语法树,并与参考结构比较,帮助区分不存在的 API 和其他格式错误的调用。

语法树让提出的调用结构可以与参考结构比较。Yang 用它讨论无效 API 名称,以及原本可以识别的调用内部出现的错误。

Yang 展示的结果中,Gorilla 相对于所比较的基线,测得的 API 幻觉更少、准确率更高。结构有效只是评估的一部分;一个看似可执行的调用,本身并不能证明任务已正确完成。

05

从 REST、函数调用到 MCP

Yang 比较接口模式并解释运行时工具发现。课程系统示例说明了权限和令牌隔离的重要性。

这些训练方法带来维护问题:新 API 可能需要额外训练或更新工具表示。Yang 转向讨论运行时一致描述工具,让模型通过共享接口发现它们。

共享的运行时描述改变了集成问题:模型可以读取可用工具的描述,而不必通过重新训练将每个工具永久编码进去。这并不消除测试其选择的必要性。

她比较了三种接口模式:REST 请求、结构化函数调用和模型上下文协议(MCP)。思路从让模型适应固定工具集合,转向让应用能够发现服务。

Yang 将 REST、函数调用和 MCP 描述为连接应用与服务的不同方式。它们在不同层次提供信息,而不会自动解决所有集成问题。

一个 REST 示例向天气端点发送带位置参数的 HTTP 请求,并读取响应。调用方需要知道端点、参数名称和响应格式等细节。

函数调用以结构化模式描述工具,并让模型给出名称和带类型的参数。应用代码可以验证请求、执行函数并返回结果;随着工具变化,模式仍需要维护。

函数调用周围的应用可以在执行前检查输出参数是否符合预期模式。模式描述调用,但不能保证模型选择了正确函数。

Yang 将 MCP 介绍为 AI 应用与工具或数据提供方之间的通用协议。服务器提供能力,客户端连接让宿主在运行时发现和调用这些能力,使集成可以在兼容应用之间复用。

按她使用的术语,宿主是应用程序,服务器提供对资源或工具的访问,客户端是宿主与服务器建立的连接。多个连接并不意味着有多个人类用户。

宿主可以请求服务器的工具列表,其中包括名称、描述和输入模式,然后带参数调用选定工具。模型仍须选择合适的操作并提供有效输入。

Yang 说,开发者可以使用库表达较高层次的工具规范,而不必手写每条协议消息。她的例子为智能体封装了课程服务。

对于课程学习管理系统,Yang 设想可以列出作业、读取提交内容或发布成绩的工具。这些能力需要不同权限:仅仅连接智能体,不能让每位用户都有权修改成绩。

在她的例子中,MCP 服务器位于智能体与课程 API 之间并检查访问权限。她描述了如何将课程 API 令牌与智能体令牌分开,以便集成能够执行对每个调用者的权限限制。

06

评估工具调用和重复使用的可靠性

Yang 介绍函数调用基准、模拟客户交互和基于执行的检查。她区分了一次成功与稳定表现。

Yang 介绍 Berkeley Function Calling Leaderboard,将其作为工具使用评估的参考来源。她描述了对调用结构、实际执行和最终状态的检查,包括正确答案是没有合适工具可用的情况。

她回顾 ToolBench,随后介绍 τ-bench:智能体与模拟客户互动,例如更改或取消航班,并必须按照任务要求使用工具。

对于多轮交互,Yang 区分了 pass@k 和更严格的可靠性指标 pass-hat@k:前者要求 k 次尝试中至少成功一次,后者要求选中的所有尝试都成功。用户需要系统稳定工作,而不是多次尝试中只成功一次。

她指出,τ-bench 已扩展到早期零售和航空场景之外。Yang 最后强调,评估指标会影响基准测试对可靠性的判断。

同频道的其他文章

1:11:21EN → 简体中文
Stanford Online· 2026年11月12日斯坦福研究者用 AI 挑战思考,而非取代思考Cynthia Bailey, Mark Algee-Hewitt, Megan Ma, Markus Covert · Stanford University一位人文学者、法律研究者和生物工程师介绍如何使用模型,同时保持判断力与人类解读。AI for scienceAI in EducationHuman-AI Collaboration+2
3 张幻灯片1:16:31EN → 简体中文
Stanford Online· 2026年11月11日构建 RAG:从文档分块到能够搜索的智能体Diyi Yang · Stanford UniversityDiyi Yang 讲解索引、混合检索和重排序的工作原理,以及智能体为何需要检查搜索结果。RAG 与知识库Hybrid searchAI agents+1
1:03:19EN → 简体中文
Stanford Online· 2026年11月11日管理 AI 的信息来源:按需检索,也要适时省略上下文Cynthia Bailey · Stanford UniversityStanford 讲师 Cynthia Bailey 解释如何检索文档、适时省略上下文,以及防范藏在来源中的指令。RAG 与知识库上下文工程Prompt injection+1
4 张幻灯片1:17:53EN → 简体中文
Stanford Online· 2026年11月10日语言模型设计如何影响智能体的上下文工程Michael Ryan · Stanford University斯坦福的 Michael Ryan 将解码、注意力和推理机制与智能体构建者的实际选择联系起来。AI agents上下文工程Inference
2 张幻灯片1:16:16EN → 简体中文
Stanford Online· 2026年11月10日Cynthia Bailey:清楚提问、核验证据,保留独立判断Cynthia Bailey · Stanford University斯坦福讲师介绍实用提示方法、上下文管理,以及防止技能悄悄退化的方法。Prompting & in-context learningHuman-AI CollaborationEducation
2 张幻灯片1:04:32EN → 简体中文
Stanford Online· 2026年11月6日粒子滤波 SLAM 如何分离机器人的路径与地图Marco Pavone · Stanford UniversityMarco Pavone 推导使粒子建图算法可行的条件独立性。Robotics机器学习基础