AI 智能体如何查找信息并采取行动

原标题How AI agents find information and take action

斯坦福讲师解释实用智能体为何需要检索、描述清晰的工具,以及管理上下文和行动的运行框架。

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

30 秒看懂

AI 智能体不只有语言模型:它还必须查找相关证据、调用真实工具,并在受控循环中使用结果。斯坦福讲师 Afshine 和 Shervine Amidi 解释了快速搜索与更细致的重排序如何配合、结构化工具调用如何将模型连接到实时系统,以及智能体规模扩大时,工具选择和上下文管理为何更加困难。他们还展示了这些组件如何结合成编程智能体,其中权限和协作方式影响系统能够安全执行的操作。

  1. 1快速语义搜索可能遗漏用户需要的精确术语Afshine Amidi 建议将词法匹配与嵌入向量结合考虑:名称和标识符可能适合按精确拼写查找,而语义搜索能处理不同措辞。
  2. 2对少量候选结果进行更细致的重排序交叉编码器同时读取查询和每个候选项,但逐对比较的成本更高。因此,第一阶段检索需要足够高的召回率,才能提供正确文档。
  3. 3模型请求调用工具,应用程序执行操作Shervine Amidi 区分了模型生成的结构化调用和代码执行的外部操作。结果会返回给模型,用于下一步。
  4. 4相似工具过多会增加选择难度工具描述、对话上下文和路由可以帮助缩小工具范围。路由器必须避免隐藏实际需要的工具。
  5. 5运行框架控制模型周围的循环工具、上下文和执行流程让模型输出变成行动与观察。在推理—行动循环中,每次结果都会影响下一次选择。
  6. 6长期运行的智能体会话需要选择性记忆压缩可以删除临时输出或总结先前工作,但每种策略都可能丢失有用细节。长期存储提供了另一个保留选定信息的位置。

要点建议

  1. 当名称、符号或标识符重要时,结合语义搜索和精确匹配。
  2. 先广泛检索,再应用成本更高的重排序;重排序无法找回第一阶段遗漏的文档。
  3. 为工具提供清晰描述和结构化输入,再用有代表性的请求测试工具选择。
  4. 使用服务提供商支持的缓存时,将变化的信息放在可复用的提示词前缀之外。
  5. 压缩上下文时要选择保留什么;简短摘要或滚动窗口可能丢失日后需要的细节。
  6. 增加更多子智能体前,应限制权限并考虑协作成本。
全文

按章节阅读整理后的全文

只看原始文稿
01

语言模型为什么需要外部信息和行动能力

训练数据有截止时间,私有文档可能不在其中,更长的提示词也不能消除检索问题。模型采取行动前,应用还必须提供执行层。

语言模型可以根据训练时学到的模式作答,但其知识有截止时间,也不会自动了解公司的私有文档。Afshine Amidi 从这些限制讲起,因为实用助手必须处理模型训练时尚不可得的信息。

一种办法是把所有相关文档放进提示词,但上下文空间有限,更长的提示词也可能增加成本。更大的上下文窗口并不保证模型能够可靠地使用每条信息:模型仍须在大得多的输入中找到并理解它。

Amidi 介绍了大海捞针测试:将答案放入一大段文本,再要求模型找到它。这类测试可以检验不同位置的信息是否可被获取,但真实任务可能不只是寻找一个孤立事实。

另一个限制是行动。普通模型预测文本;单凭它写出已经发送邮件或查询实时系统,并不会真正执行这些操作。应用必须将其响应连接到能获取信息或作出更改的工具。

这节课分阶段讲解智能体。首先,检索系统为答案选择有用的外部信息;然后,具备工具能力的系统让模型请求操作、接收结果并决定下一步。

这种区别对私有或不断变化的知识很重要。公司的文档可以独立于模型更新,但模型需要在提问时找到相关部分,不能只依靠训练时碰巧存在的内容。

02

检索将选出的证据带入提示词

RAG 将文档切分为块,搜索有用片段,再将其提供给模型。块的大小与重叠程度影响能保留多少上下文。

检索增强生成,即 RAG,通过在生成之前增加搜索步骤来满足这一需求。系统收到问题后检索相关材料,将材料与问题一起提供给模型,再请模型根据材料回答。

初始语料库可能包含很长的文档,因此系统会将其切成较小的块。块大小需要权衡:孤立片段可能丢失必要上下文,而大块会带入无关材料,占用更多模型输入预算。

文档块可以相互重叠,降低边界附近的事实或句子被切断而无法使用的可能性。重叠也会重复文本,因此它是一种设计选择,而不是没有成本的改进。

为了按含义搜索,嵌入模型会将文档块转换为向量,即一串表示内容的数字。它也会对用户查询进行同样处理,再利用相似度找出表示接近查询的文档块。

检索通常分阶段进行。第一轮收集数量可控、看起来可能相关的候选项,并尽量避免漏掉结果;第二轮可以使用成本更高的比较,将最好的候选项排到前面。

生成模型看到的是作为上下文提供的选定结果,而不是模型权重的更新。因此,好的回答依赖两个环节:检索到有用证据,以及让语言模型恰当地使用它。

听众问及文档块的大小及其与原文的关系。Amidi 指出,合适的划分取决于材料和任务:片段必须足够大以保留含义,同时不能把答案淹没在无关内容中。

向量索引让搜索大量预先计算的文档表示成为可能。查询到达时仍需编码,但应用不必针对每个问题将整个文档库再次输入嵌入模型。

03

用语义和精确匹配查找候选结果

双编码器使搜索预先计算的表示成为可能,而词法搜索可以找到精确名称和标识符。混合搜索、查询转换及上下文化文档块分别解决不同的检索问题。

在双编码器中,查询和每篇文档分别编码。因此文档部分可以提前准备,新查询到来时能快速计算相似度。这种速度使它适合第一轮广泛检索。

语义相似不等于精确匹配。如果查询包含人名、标识符或独特的技术术语,向量搜索可能遗漏词法搜索能够找到的精确字符串。

BM25 是一种成熟的词法排序方法:它根据查询中的词以及这些词的信息量为文档打分。当精确词语比宽泛的相似性更重要时,它为系统提供另一条获取证据的途径。

混合搜索将词法和语义信号结合起来,目的是同时利用两类匹配:文档可能因为包含同一个罕见标识符而相关,也可能因为用不同措辞表达了同一个想法而相关,或者两者兼有。

问题本身的写法也可能增加检索难度。对于嵌入模型来说,简短问题和长篇答案可能看起来很不像,即便答案恰好包含用户需要的内容。

一种称为假设文档嵌入的方法,先请模型起草一个可能的答案,再用这份假设文档进行搜索。草稿是搜索辅助,而不是证据:系统仍须检索真实的支持材料。

查询分解采用另一种方式:把复杂请求拆成多个较小的搜索,让每一部分分别检索证据。系统随后需要把结果汇总起来,回答最初的问题。

在建立索引前,也可以为文档块添加一段简短描述,说明其在原文中的位置。这种上下文前缀能帮助片段保留从长文中切出时丢失的信息。

反复生成这些上下文描述可能成本高昂。Amidi 指出,缓存提示词的固定部分,可以在为多个文档块生成描述时避免反复为同一段长文档上下文付费。

04

重排序把更多计算用于较小的候选集

交叉编码器共同读取查询和候选项,进行更细致的比较。它的效果取决于初始检索器是否找到相关材料。

候选集缩小后,交叉编码器可以进行更细致的比较。它不再独立编码问题和每篇文档,而是将查询和候选项一起处理,生成相关性分数。

联合输入让查询中的词元可以与候选项中的词元相互作用,从而评估两者之间的关系;比较两个独立生成的向量时,这些关系可能被遗漏。

Amidi 用服装举例说明关系为何重要:如果问题问哪件衣服是红色,仅仅匹配颜色和衣物术语是否出现可能不够,模型还需要将颜色与正确的物品联系起来。

更细致的比较需要付出计算成本。对大型文档库中的每篇文档运行交叉编码器会很昂贵,因此快速检索器先提出小得多的候选集,再由交叉编码器对候选项重排序。

两阶段设计使第一阶段的召回率至关重要。如果相关文档从未进入候选集,重排序器就无法找回它。反过来,传入更多候选项可能扩大覆盖范围,也会增加重排序成本。

05

把检索当作排序问题来衡量

排序指标衡量相关结果是否靠前,精确率和召回率则呈现不同取舍。评估需要有代表性的查询和相关性判断。

检索系统应该通过测量来评估,而不是只看几个貌似合理的答案。Amidi 介绍了将返回结果与相关性标签比较的排序指标,包括归一化折损累计增益、平均倒数排名、精确率和召回率。

折损累计增益奖励排在列表前面的有用结果:高度相关的结果排在第一位,比同一结果埋在后面得分更高。归一化版本将排序与理想顺序比较,使不同查询之间的结果更容易比较。

归一化折损累计增益
幻灯片 1 / 2归一化折损累计增益幻灯片展示了 NDCG 如何将检索排序结果与理想排序进行比较。

平均倒数排名关注第一个相关结果出现的位置。它排在第一位时,倒数排名高于排在后面时;对多个问题求平均,可以概括系统通常多快找到答案。

精确率衡量返回结果中有多少比例相关;召回率衡量所有相关材料中有多少被检索到。增加候选项数量可能提高召回率,也可能引入更多无关结果,因此合适的平衡取决于后续步骤。

指标需要有代表性的问题集和相关性判断。一个检索配置在某个例子上表现良好,仍可能在特定应用关心的名称、术语或文档类型上失败。

对于代码,精确匹配仍然有用。命令行文本搜索可以直接找到已知符号或错误消息;当用户能描述行为,却不知道代码使用什么词时,语义检索可能有所帮助。

向量数据库有助于组织和检索候选嵌入向量,但它只是系统的一部分。分块、嵌入模型、查询、重排序和评估都会影响最终进入语言模型的证据。

06

工具调用将模型连接到实时系统

模型生成结构化请求,应用代码执行操作并返回结果。良好的描述和示例帮助模型选择并使用工具。

Shervine Amidi 接着讲解固定文档集合的限制:关于当前状态或用户位置的问题,可能需要在请求发生时获取信息。工具正是在这里扩展了模型能够做的事。

在工具调用系统中,模型选择工具并以结构化形式提供参数。外围应用执行实际操作,将结果返回模型,让它在下一次响应中使用结果。

提出操作建议和实际执行操作之间的区别很重要。模型生成请求,应用代码与外部服务通信;返回值随后加入对话,使模型能够根据工具实际提供的信息推理。

例如,实时查询可以使用应用提供或解析的位置来请求当前结果。单靠静态文档索引,无法保证答案反映随时变化的数值。

工具还包括搜索、计算器和代码执行。有些工具只读取信息,另一些则可能产生对话之外的影响,例如写入文件或调用其他系统上的操作。

模型需要知道每个工具的用途和接受的参数。清晰的名称、描述以及输入输出格式,有助于它选中预期操作并构造应用能够执行的请求。

工具使用可以作为一种通用模式学习,而不必为未来的每个函数单独训练模型。推理时,可用函数及其描述作为上下文提供,模型据此为当前请求作出选择。

因此,工具描述的质量是实际工程中可以调整的因素。如果模型反复选错工具或传错字段,就应收集有代表性的例子,并根据这些情况修改描述或接口。

结构化接口也为应用提供了验证参数和处理失败的位置。请求的调用可能格式错误或返回错误;外围系统需要提供足够的结果信息,让模型恰当地继续。

07

更小、更清晰的工具菜单有助于选择

功能重叠的工具可能让模型困惑并占用上下文。路由和上下文有助于选择子集,但必须保留任务所需工具的访问权。

当多个函数的用途重叠时,选择工具会更加困难。相似的描述可能让模型在看似合理、但实际效果不同的操作之间犹豫。

Amidi 用一个涉及“熊”的模糊请求说明,仅靠词语可能无法确定想要的操作。应用在行动前需要分辨用户的真实意图和相关上下文,尤其是在错误行动会产生后果时。

一种方法是只展示当前任务可能用到的工具子集。对话历史、记住的偏好和其他上下文可以帮助选择子集,而不必把应用拥有的每个工具都展示给模型。

较小的模型或路由步骤可以在主模型接收工具前帮助选择候选项。这减少了上下文中的工具文档量,但路由步骤不能过滤掉完成任务所需的函数。

大型菜单有两项成本:占用输入空间,也可能让相似工具更难区分。更好的分组和清晰描述可以改善选择,而不必要求模型每轮都考虑一长串未区分的工具。

模型仍需要获取缺失参数的方式。如果请求中的信息不足以安全地选择操作或填写参数,追问可能比悄悄猜测更好。

08

MCP 标准化工具和资源的访问方式

客户端连接到通过共享接口提供能力的服务器。如果支持缓存,稳定的提示词前缀也可能降低重复处理工具定义的成本。

Model Context Protocol,即 MCP,为应用将面向模型的客户端连接到服务器提供的能力提供了一种通用方式。协议提供共享接口,避免每一组配对都需要发明专门的集成方式。

MCP 客户端与服务器
幻灯片 2 / 2MCP 客户端与服务器图中展示了宿主如何通过 MCP 客户端访问服务器提供的工具、提示词和资源。

MCP 服务器可以提供客户端可调用的工具、可访问的资源和可复用的提示词。客户端发现可用能力,并把相关定义传入模型的工作上下文。

协议不会让模型本身执行外部代码。应用和服务器仍负责执行操作并返回结果;模型则在推理和交互中使用描述及结果。

工具定义和其他重复上下文为提示词缓存提供了机会。如果提供商支持,复用不变的前缀可以减少对本来每次模型调用都要发送的材料进行的重复处理。

提示词的顺序和稳定性会影响复用。与放在输入前部的当前时间戳或快速变化的消息相比,固定工具定义更适合作为可复用的前缀。

缓存存续时间涉及权衡。更长的存活时间可以让重复请求受益,而缓存材料发生变化后最终需要刷新;最佳选择取决于应用流量和内容的稳定程度。

缓存只节省提示词中匹配部分的工作。工具描述、顺序或其他前部上下文的变化都可能减少复用,因此应用除了考虑工具,也应考虑提示词布局。

09

运行框架将模型调用变成智能体循环

智能体将模型、工具、指令和执行工作流结合起来。推理—行动循环使用每次行动的观察结果指导下一步。

运行框架是围绕模型、使其能够完成任务的一切:可调用的工具、收到的指令和上下文,以及决定行动后发生什么的工作流。Amidi 将模型比作引擎,它仍需要车辆的其他部分。

ReAct 是推理与行动的缩写,它将智能体组织成一个循环:考虑当前情况、选择行动、观察结果,再利用观察结果决定下一步。

恒温器提供了一个简单例子:观察温度,与目标比较并采取行动,然后再次观察。对于基于模型的智能体,行动则可能是搜索、编辑文件或另一次工具调用。

这个循环让智能体能够应对事先无法知道的结果。它可以先搜索,检查返回内容,再决定是否需要再次搜索或执行其他操作,而不必在收到反馈前确定完整计划。

当不同智能体需要通信时,智能体间协议旨在标准化这种交换。外围系统仍需要决定各智能体负责什么,以及它们之间传递哪些信息。

10

压缩与记忆管理长期工作

删除旧输出、滚动窗口和摘要能减少上下文大小,但各有丢失有用细节的风险。长期记忆会保存选定信息,供以后检索。

长期运行的循环会积累上下文。压缩可以减少后续携带的内容,例如删除临时工具输出、保留最近窗口,或为先前工作创建结构化摘要。

每种方法都会丢弃一些东西。滚动窗口简单直接,却可能丢失早期的重要决定;摘要可以保留选定事实,却可能遗漏后来才发现重要的细节。合适策略取决于智能体必须记住什么。

Amidi 区分了当前上下文与长期记忆。智能体可以将有用信息保存在活动对话之外,并在需要时检索,而不是在每个提示词中保留所有历史消息。

记忆系统需要决定保存什么以及何时检索。智能体应保留可能有助于未来工作的信息,但检索和摘要也可能引入无关或不完整的上下文。

11

编程智能体结合搜索、指令和行动控制

编程智能体可以检查文件、运行命令,并根据结果迭代。工具权限、界面延迟以及协调子智能体的成本共同影响实际系统。

编程智能体把这些想法结合起来。它读取指令和源文件、搜索代码库、提出或编辑代码、运行工具并检查结果。它的能力既取决于底层模型,也取决于提供工具的运行框架。

Amidi 说,由于编程智能体会与执行环境交互,行动需要安全控制。早期的审批系统要求用户允许或拒绝许多单独操作;他描述了自动审批方法,其中一个独立、较轻量的模型会评估拟议行动。

grep 这样的普通文本搜索命令可以成为有用的编程工具,因为精确的符号或错误消息通常能直接指向代码。Amidi 说,编程智能体经常使用这种快速、精确的检索,而不是传统的语义 RAG。

AGENTS.md 等代码库指令文件为每次会话提供持久的本地规则和偏好,让用户可以指定希望编程智能体在特定环境中如何工作。

技能将可重复的工作流打包为指令,也可能包含脚本及其他资源。Amidi 建议先端到端完成一个工作流,再请编程智能体将其转化为可复用的技能。

Amidi 提到 Pi,作为精简编程运行框架的一个例子。通过保持外围提示词和工作流精简,它提供了一个共同环境,用于比较不同模型的表现。

计算机使用智能体通过观察截图、发出操作来使用图形界面。Amidi 说,这种方式目前效率不高,因为智能体需要反复截图并预测下一步操作。

子智能体可以承担独立的一部分工作并返回结果。Amidi 指出,每个新智能体都需要自己的上下文和完整的智能体循环,因此会产生成本,一些精简框架会避免或限制这种成本。

智能体群将协作推进一步:多个智能体相互通信,为共同目标工作。Amidi 提到近期的数学进展是其中一种用途,同时指出拥有大量强大智能体的系统也可能暴露漏洞。

作为这一安全问题的例子,Amidi 让学生阅读一个模型评估与威胁研究团队对 Hugging Face 事件的记录。课程最后,他将这篇材料列为阅读内容。

同频道的其他文章

4 张幻灯片1:17:14EN → 简体中文
Stanford Online· 2026年11月13日DSPy、LangGraph 与 AI 智能体周围的工程Michael Ryan · Stanford UniversityMichael Ryan 通过日历演示比较智能体框架,并说明评估、恢复和追踪为何重要。Agent orchestration评估智能体工程+2
幻灯片1:19:15EN → 简体中文
Stanford Online· 2026年11月12日AI 智能体如何学习使用工具,以及如何测试Diyi Yang · Stanford UniversityDiyi Yang 从检索失败和 Toolformer 讲起,介绍运行时工具发现、MCP 和可靠性基准。智能体工程MCPAI agents+2
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