Presentation: Designing AI Platforms for Reliability: Tools for Certainty, Agents for Discovery

TL;DR · AI 摘要
NVIDIA通过平衡确定性工具与代理发现机制,提出构建高可靠性AI平台的方法论,包含LLM-as-a-judge测试金字塔等创新实践。
核心要点
- NVIDIA使用LLM-as-a-judge测试金字塔确保AI系统可靠性
- 确定性工具与代理发现的平衡可避免选择悖论
- 稀有上下文利用提升AI平台可靠性
结构提纲
按章节快速跳转。
- §引言
揭示AI系统可靠性设计的挑战与机遇
- ·核心机制
确定性工具与代理发现的协同作用
展示Llo11yPop项目中的可靠性架构
LLM-as-a-judge测试金字塔的实施步骤
- ›挑战应对
通过稀有上下文解决选择悖论问题
- §结论
构建生产级AI系统需多维度可靠性保障
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- AI平台可靠性设计
- 核心机制
- 确定性工具
- 代理发现
- 测试方法
- LLM-as-a-judge金字塔
- 挑战应对
- 选择悖论解决方案
金句 / Highlights
值得收藏与分享的关键句。
平衡确定性工具与代理发现是构建高可靠性AI系统的关键
LLM-as-a-judge测试金字塔能有效识别AI系统的潜在缺陷
避免选择悖论需通过稀有上下文的利用
为可靠性设计AI平台:确定性工具与代理发现 - InfoQ
InfoQ 首页 演讲 为可靠性设计AI平台:确定性工具与代理发现
AI、机器学习与数据工程
在线 InfoQ AI 安全与隐私工程认证(8月26日):在受监管环境中部署AI?
为可靠性设计AI平台:确定性工具与代理发现
点赞
新下拉阅读列表
- 阅读列表
查看演讲
- 垂直
- 水平
- 全屏
播放速度:
- 1x
- 1.25x
- 1.5x
- 2x
下载
- 演示文稿
53:42
概述
Aaron Erickson 解释了NVIDIA如何设计和测试专用AI代理分层结构。针对高级开发人员和架构师,他阐述了为何平衡确定性工具与代理发现至关重要。了解如何利用稀有上下文、实施LLM作为裁判的测试金字塔,并避免选择悖论,从而构建高度可靠、可扩展的生产级AI系统。
个人简介
Aaron Erickson 在NVIDIA创立了DGX Cloud的应用AI实验室。此前,他在ThoughtWorks和New Relic担任过工程领导职位,之后创立了Orgspace,这是一家开创基于生成式AI的组织设计的初创公司。他是《游牧开发者》和《Professional F# 2.0》的作者,最近推出了NVIDIA的Llo11yPop项目。
关于会议
软件正在改变世界。QCon旧金山通过促进知识和创新在开发者社区中的传播,赋能软件开发。作为以实践为导向的会议,QCon专为技术团队负责人、架构师、工程总监和项目经理设计,这些人员在团队中影响创新。
INFOQ 活动
- 2026年7月9日,东部时间中午12点 从日志噪声到事件智能:AI辅助可观测性的成熟度模型 演讲者:Nicolas Jung - Datadog日志产品经理
- 2026年7月16日,东部时间下午1点 代理时代工程:如何规范、构建、测试和运营AI驱动系统 演讲者:Juveria Kanodia - Harness工程高级总监
- 2026年8月6日,东部时间下午1点 构建高风险事件响应的AI代理评估 演讲者:Brianne Bujnowski - Datadog AI高级产品市场经理,Benjamin Barton - Datadog高级软件工程师
演讲稿
Aaron Erickson:确定性工具与代理发现。在座各位中,有人在过去三年里有过这样的经历吗?我知道,如果我们在这里加入AI会怎样?想象一下可能成功的情况?或者,想象一下如果你只是随意应用AI,让AI处理任何事情,永远不断地投喂token,会发生什么错误?世界上存在这么多糟糕的想法,我们为什么不在列表上再加一个论文石?我认为我们可以做的一件事是,有时通往地狱的道路是由听起来不错但实际上不如我们希望的那样有效的想法铺就的。这是我在加入NVIDIA之前生活的截图。在座各位中,曾在大型组织工作过的人,谁曾经见过组织架构图?比如在Workday中使用过,或者你们公司有特别的版本,你们用它来确定某人向谁汇报?
他们属于哪个团队,诸如此类的问题?我曾围绕这个想法创办了一家初创公司。我们实际上获得了一些融资,也赢得了一些客户。2023年发生的事情大致是这样的:除非你的产品中包含AI,否则你几乎不可能获得更多融资,我认为当时对话就是这样进行的。当然,我们决定采取行动,我知道,让我们为你的组织结构图开发一个ChatGPT插件。我很好奇这个想法能走多远。为什么不试试呢?我们刚刚获得了GPT-4的使用权限。这发生在2023年4月前后,我早就有这个想法,认为总有一天可以用AI来实现这一点。与使用大型咨询公司相比,用AI来进行组织结构调整会有多糟糕?让我们去探索一下。我们开发了一个插件,你可以这样问:"我听说你们正在扁平化组织结构,能帮忙吗?"
工程实现非常重要。也许你应该减少层级。组织结构中层级更少不是更舒服吗?这不是很有趣吗?我们开发了一个插件。这是测试版,你可以看到Model Plugins ALPHA。还有人记得ChatGPT的插件吗?这可能是我们首次能够实现代理功能的地方。现在我们可能称之为MCP服务器,也可能称之为Claude技能。即使在当时,我也觉得这非常强大,非常巧妙。我们只需将多个AI功能组合在一起,就能创造出新的东西。我想知道我们能做些什么。我问自己,为什么不这么做?我们连接了一个端点,允许它读取描述组织结构的JSON结构。我们给了它一系列可以执行的操作,例如将某人从组织中的一个位置移动到另一个位置。
本质上这是一个基于事件的系统,因此很容易将其转化为九种不同的人员移动方式,这些方式最终可以实现组织结构调整。我们问它:"我们为什么不直接进行重组?"它提出了几个不错的建议。当然,这可能与你请咨询公司做的一样标准。我们按下了启动按钮。它能够生成一个重组计划。它实际上会进入系统,从组织结构中收集数据,编写一些Python代码来计算如何移动这些元素,然后调用基于组织的系统,为你生成重组草案。它会将认为适合进行重组的事件收集起来,然后为你生成一个扁平化的组织结构。
我记得向人们展示这个功能时,他们惊讶地说:"等等,我们有一个AI可以帮我们写重组邮件?"这不是个绝妙的主意吗?那些写过重组邮件并认为这会是一篇精彩文章的人,恐怕几乎总是写出了最无聊、最平淡无奇的文本。这简直是LLM的完美应用场景。我想不到还有什么比重组邮件更适合LLM的了,因为重组邮件必须尽可能安全、尽可能平淡。我们会将这些变更集放入重组邮件中。
NVIDIA章节
我们并没有成为人力资源的未来,这一点你可能已经猜到了。对于一些正在疑惑的你来说,我是不是刚走进了《黑镜》的一集?你可能在想,你们这些AI从业者到底在做什么?是不是整天坐在那儿看《黑镜》,然后觉得“这个点子不错,我们应该这么做”?在我脑海中,这件事确实与某些想法有相似之处,但我们需要明确的是,我们是一家初创公司。希望你没有因为这个工具而被重组。如果你真的被重组了,我感到很抱歉。不,我们确实没有成为人力资源的未来。我后来退出了,于2023年加入了NVIDIA。我听说这是一家正在崛起的公司,他们生产的GPU对AI非常有用。我心想,为什么不试试看?也许会成功。然后我开始思考,有很多概念其实是可以相互转化的。我在NVIDIA构建的第一个系统其实并不是AI。
那是一个帮助你理解所有GPU集群并确定如何将GPU分配给NVIDIA内部不同研究团队的系统。在NVIDIA,GPU是一种稀缺资源,有数百个团队需要GPU来构建新模型、尝试新想法、进行新实验,或者开发可能最终演变为Nemotron、Cosmos、自动驾驶模型(AV models)或BioNeMo等基础模型的开源项目。我最初构建这个系统时,发现了一些有趣的类比。在我之前的职业生涯中,我们处理过人力资源管理。你有空缺的职位,有员工,有复杂的层级结构,还有绩效管理,这些都属于HRIS系统(如Workday)的功能。事实证明,我们当时处理的概念与这些非常相似。
我们有GPU资源。人们申请资源的方式,与我之前申请GPU的方式几乎相同。实际上,这并没有太大区别。我们会遇到闲置的GPU集群,这些地方应该分配任务,几乎就像空缺的职位一样。我们有AI训练任务,这些任务可以类比为员工。我们有复杂的层级结构,就像你公司中的组织架构,有副总裁、总监等职位。在这些层级中还有云服务提供商和区域划分,以及区域内的区块。如果你想进行一次训练,你可能希望所有GPU都在同一个区块中,这样InfiniBand网络和其他GPU之间的网络通信才能高效运行。在如何将大量GPU任务分配到集群中的问题上,存在一些非常有趣的约束求解过程。另一个我们需要关注的问题是GPU的可观测性。我们希望了解这些设备的运行情况:是否有风扇故障?是否有功耗波动?结果证明,电力输入这些设备的方式实际上非常重要。还有许多类似的问题需要处理。
LLo11yPop项目(代理架构)
大约四到五个月后,我们的团队推出了名为LLo11yPop的系统。这也是为什么我之后在NVIDIA再也没被允许给任何东西命名的原因——这个名字确实糟糕。当时我认为这个名字很巧妙,既暗示了这是一个用于可观测性的大型语言模型,又在结尾加上了"Pop"使其成为一个完整的单词。对我来说这个命名方式是有效的。我们考虑了多种不同的实现方式,其中一种是直接尝试用AI解决这个问题。但很多时候会出现的问题是,系统会试图同时应用太多不同的方法,就像普通大语言模型那样试图从世界背景中提取上下文并进行泛化。不过我们很快发现,如果对问题进行约束,明确限制LLM需要完成的任务,它在回答这类问题时的准确性会显著提升。
我们不希望用户进入系统后提出像"英伟达股票价格会是多少"这种无关的问题。众所周知,大语言模型会尽最大努力回答问题,可能会给出"根据使用情况,大概是..."这样的回答。但我们不希望系统回答这类问题。我们希望它仅限于回答我们关心的问题类型。我们发现,如果将任务进行拆分,构建检索代理(retrieval agents)会更有效。我们的初始检索代理就是一些能将问题转化为SQL查询、Elasticsearch查询或其他类型API调用的系统。只要对这些代理进行约束并提供几个高质量的示例,就能可靠地从它们那里获取数据。
当时我们只是使用了基础的RAG(检索增强生成)和提示工程。通过构建几十个专门设计的检索代理,每个代理都专注于处理特定类型的查询或表格,我们取得了非常出色的结果。我们将这些检索代理与分析代理(analyst agents)结合使用。分析代理对数据库一无所知,但知道针对特定主题应该提出哪些类型的问题。例如当我们思考H100芯片如何失效时,我们可以使用一个理解散热问题发生机制的分析代理。通过查看我们拥有的大量散热问题事故报告,我们只需进行一些提示工程,初期结合少量RAG,后期进行微调,就能构建出针对特定问题的LLM分析代理。这些代理能够利用检索代理获取相关数据,并推理出可能的解决方案。
我们通过一个具有目标和意图的编排代理来协调这些工作,它可能会与多个分析代理协作,收集关于如何解决问题或以某种方式优化舰队的思路。随后,我们将这些思路传递给操作代理,我们曾试图用操作代理完全自动化整个舰队。不,我们并没有这么做。我们有时会将建议通过Slack、Jira或其他系统表面化,例如:"我们发现了这种状况,它与五年前或三年前发生的某类事件模式有些相似。如何将这一上下文信息传递给负责这些GPU组或服务提供商的相关人员,并告知他们存在潜在问题?"他们将与一些简单的工具代理交互,这些代理类似于你的检索代理,它们只需知道如何调用特定系统。
我有如何创建这个Jira工单的具体示例。你可能会疑惑:"为什么不用MCP服务器来做这件事?这不是它们的职责吗?为什么不用Claude技能?这不是它们的用途吗?"你的疑问是正确的。这些内容都是在MCP和Claude等技术出现之前完成的。我们不得不率先探索,发现如果在上下文窗口中没有提供足够的示例,系统将无法判断该做什么。如果让系统尝试解决过多问题,它会陷入长时间推理,有时甚至会给出完全不准确的结果,因为过度思考会导致这种问题。这些就是我们在探索过程中需要解决的关键问题。
LLo11yPop项目的经验教训
LLo11yPop项目的一些经验教训,再次说明这对我而言非常有趣,因为我们今年已经转向了其他项目,但当时确实有类似LLo11yPop构建的需求。我后来加入的一位工程师用MCP、基础LangChain和一些其他工具,仅用大约六个小时就完成了我们原本耗时五个月的工作。这说明要么我们当时确实不够聪明,要么我们确实有些超前。但这也给了我们充分学习的机会,让我们深入理解MCP、技能和其他高级技术的工作原理。这类系统的首个失败模式之一是:我们拥有一支非常优秀的运维团队,他们总是会提出类似的问题:"僵尸节点在哪里?"当被问到"僵尸节点在哪里"时,如何回答这个问题?
大语言模型可能会提出一些关于它的不错的想法。它会像这样思考:僵尸,我不知道这个词是什么意思,但它可能意味着没有网络连接的地方,于是它会查看一些DCGM指标等信息,然后得出结论,这几乎是对的。这几乎就像你给了实习生GPU基础设施的访问权限,却没告诉他们“僵尸”是什么意思,但他们还是根据猜测得出了自己的理解。事实证明,这些系统依赖于我所说的“稀有上下文”。稀有上下文指的是特定于你公司的内容,比如公司使用的语言,以及“僵尸”对你而言的具体含义。这些内容在不同公司之间会有差异。如果在座有任何AI代理的提供者认为自己的产品可以开箱即用、零样本适配任何公司,那都是胡说八道。你做不到,因为你不知道该公司使用的术语来调整模型,甚至无法通过提示工程让模型给出正确的输出。
没有稀有上下文,你无法像经验丰富的操作员那样知道僵尸节点的位置。我们学到的另一点是,我以前开玩笑说AI代表“愤怒的实习生”,所以这就是你的愤怒实习生。如果你考虑实习生对数据库的理解,有时你会说:“我知道你可以做连接查询,我知道你可以处理复杂查询,但让我们在学习过程中从基础开始。让我们从一个非常宽泛的模式开始,里面有很多列,实际上只需要你执行SELECT、GROUP BY,可能还要做一些过滤,这里有几个关于如何解决分页问题的提示。这是我们读取数据库的一些方式。你对数据库只有只读权限,不能写入任何内容。没有Bobby Tables式的删除操作,比如‘删除表’之类的,这里只有一个非常具体的查询,还有一个只允许你执行读取操作的API端点。”
我们提供了这些条件,当使用扁平化模式时,我们在评估中获得了更好的结果。这可能对很多人来说显而易见,但当你给AI一个更简单的任务时,它通常会有更高的可靠性。我们学到的另一个要点是,如果我们正在驶向地狱,路上最好有出口匝道,而这个匝道就是确定性。在座有多少人听过“确定性”这个词,其实他们真正想表达的是“我不想用AI”?我见过这种情况。在某些地方,你无法反驳AI,因为这听起来像是你不在AI列车上,但你仍会说“我需要它具有确定性”。这是你可以在政治上不可行的情况下,隐含地拒绝AI的方式。在工业界,我觉得这让我们陷入了一个虚假的二分法:要么是确定性的,要么就不是。
我之所以做这个演讲,之所以关心这个话题,是因为确定性是有帮助的。确定性是有用的。当系统中存在能够发现新事物的智能代理时,确定性是实现可靠性的基础。这就是这个演讲的主题。我可以举一个例子:如果你遇到同样的问题,比如大语言模型(LLM)无法正确执行连接操作,或者无法正确统计GPU数量,或者无法准确定位风扇故障的位置,你可以采取一个经验法则,就像在Cursor规则中那样。当你遇到这种情况时,使用具有特定模式的查询,并说明如何参数化它。你通过这种方式简化了AI的问题,同时仍然保留其发现能力。你保留了它的推理能力,但要在给定某些工具和某些类似操作手册的约束条件下进行。你越明确地表达这一点,系统的可靠性就越高。即使系统本身能够完成这些任务,你允许它解决更高层次的问题,因为它不需要消耗计算资源去思考“如何统计事物”这类问题。我不希望它在分类问题上浪费计算资源。
专为特定目标设计的代理分层结构
这是芝士蛋糕工厂的菜单。芝士蛋糕工厂最棒的地方在于,你可以选择任何你喜欢的芝士蛋糕,甚至几乎任何其他食物,但我选择了芝士蛋糕页面。在座各位中,谁曾经看到有人盯着这张菜单看了20分钟还没做决定?如果你喜欢芝士蛋糕,你怎么可能决定呢?它们看起来都差不多,所以如果你不小心选了“西兰花芝士蛋糕”,即使这个选择很有趣,也可能在你的评估集中出错。希望LLM不会让你这么做,但它们也会面临选择悖论。我们发现的一个有用方法是将系统构建为代理的分层结构。你可能会问,你是对组织结构着迷,还是在关注这里发生了什么?也许我确实有点着迷于结构,也许这样表达更准确。
你有一个副总裁(VP)代理,它可能拥有更宽的上下文窗口,但不知道如何执行任何具体任务,就像我们认识的大多数副总裁一样。我不会问我的副总裁如何撰写文档。实际上,如果我有一个特别擅长写作的副总裁,我可能会这么做,但大多数时候,我会向副总裁询问副总裁级别的事务,而不会问他们如何处理报销单。我的经理代理可能有更多想法,也可能对我的目标有更多限制,但我们之所以喜欢个人贡献者,是因为他们能实际做事。他们不只是说空话,不只是发送电子邮件,而是真正完成事情。这就是我们设置这些层级的原因,因为事实证明,AI就像人类一样,虽然我们不应该过度拟人化这些系统,但人类和AI在某些方面确实有相似之处,比如人类也有有限的上下文窗口。
我们构建组织层级结构,是为了让擅长特定领域的人能够以一种可以汇总后实现更大目标的方式运作。代理层级结构也是如此。我们可以构建擅长某一方面的代理,而无需让它们参与不擅长的其他任务。为什么我们没有更多地这样做?事实证明,我们已经在做了。人们发明了真正的人工智能和各种代理系统,使得我们无需单独构建一个。我最喜欢NVIDIA的一点是,一旦我们发现其他公司在某个领域做得比我们更好,我们会立即停止该项目并转向下一个,因为我们的目标是构建其他地方没有的东西,开源后让全世界大规模实施,从而利用你们的创新,从你们那里购买产品。我觉得大科技公司应该在这方面做得更多,帮助初创公司,帮助其他公司专注于特定问题的员工。
我们发现的另一个事情,我想你可能会觉得这很明显。软件工程师认为这很明显。是的,测试金字塔。在座有多少人知道什么是测试金字塔?测试金字塔意味着你将在较低层级的代理上针对具体问题进行测试。你的评估将有点像过去单元测试时的情况,但会有很大不同。我们使用LLM作为裁判。对于我们的目的来说,这已经足够好。我知道有些人有更复杂的技巧,评估的科学方法也有其专门的学问。在我脑海中,最基本的思维模型是:从每个代理层级运行的低级事物开始,专注于该个体数据分析师代理擅长的单元。我将拥有一系列评估,检查是否确实正确地统计了GPU数量,并以可靠的方式执行。
我们实际上将衡量其有效性。我们将查看运营图表,了解它多频繁地得到正确答案。我们将进行抽样,确保它仍然得到正确答案。我们仍然必须使用LLM作为裁判,因为正如你可能理解的那样,当LLM返回一个答案时,它通常会以多种方式表达,因为它们是非确定性的。如果你问它谁是美国的第一任总统,它可能会说华盛顿总统,可能会说乔治·华盛顿,也可能说其他内容。只要方向正确,你可以让另一个LLM判断,这是否与乔治·华盛顿意味着相同。我们使用这种技术。我们在很多地方都使用它。它并不完美,但在这个案例中对我们来说已经足够。你将在这些较低层级拥有这些评估。
分析师代理在聚合其他代理时,实际上是在整合多个工作者代理的工作成果。再次强调,当你向上追溯链条层级时,失败率可能会升高。由于错误累积,不准确性也可能随之增加。这是你必须面对的设计限制之一。分析师代理随后会对聚合了多个低层级代理结果的事项进行测试,以确认我们是否得到了正确答案。这相当于系统中的集成测试,但更为复杂,需要进行大量协调工作,运行成本也更高。运行这些测试需要消耗推理令牌。你将面临不同的运行动态。然后还有端到端的监督代理评估。在最高层级,当我们说要运行一次检查1000个GPU的测试,并对照真实数据查看实际结果时:
我们进行抽样,观察是否得到了正确的结果。这些评估本质上与之前相同,但运行成本更高,执行次数更少,但仍然非常重要。否则,你就会像许多AI试点项目一样失败——当系统达到80%的有效性时,这在金融交易或许多其他领域显然不够,因为80%的准确性仅适用于演示,远不能满足生产环境的要求。
代理原型
在整个过程中,我们总结出几种在实际中可能遇到的代理类型,这些类型可能对构建自主代理系统有所启发。我之前幻灯片中提到过,假设你拥有一支可以随意控制的“白痴军队”,我并不希望AI变成这样。我将其描述为:想象你拥有一群对特定知识领域极度专注的AI,它们除了这个领域什么都不做,但能在这个领域做得非常出色。如果能实现这一点,那不是很好吗?你能想到很多这样的应用场景吗?当我思考这个问题时,当然需要加入一个迈克尔·伯瑞的幻灯片。我想到《大空头》中的这个场景。在这个场景中,他对话的人质疑道:“你想要了解市场上所有抵押贷款债券的情况?”“你想要知道最畅销的抵押贷款债券是什么?”“不,我想知道每个债券中包含的内容,并希望你进行分析。”你是否遇到过别人要求你解决类似的问题?
你可能遇到过类似的情况。我有一个工作者代理,让它查看所有10万个集群,详细分析它们的功率波动问题,并找出那些似乎运行不正常的集群。这是一种异常检测。我们现在有更高效的方法来实现这一点,但在某些领域,这种方法仍然有效,尤其是当系统可能因为模糊的原因而失效,或者需要连接之前未注意到的几个因素时。代理可以得出一些不那么显而易见的结论,并开始揭示这些隐藏的问题。我想很久以前在《黑客词典》中读到过关于这类问题的描述:有些问题就像在海滩上给每块石头上色。某些类型的问题需要大量劳动,它们需要一点脑力,因为每个问题都有其独特之处,我没有太多智力可以投入,但必须付出一点。
我称其为大规模应用的底层智力资源,这或许是一种不同的思考方式。对我来说,这正是典型的工作者代理。去看看所有10万个集群,各种各样的问题。我们实际做过的一个版本是,也许你可以以这种方式查看不同公司。你可能会说,以某种方式查看我投资组合中的所有公司,并寻找某些特定的东西。你可能会说,选取任何重要的名词,查看你组织中的每台服务器,看看它们的配置是否正确,即使我的Terraform说明它们应该以某种方式工作。我觉得我职业生涯中几乎所有有趣的事情都是在自动化某种版本的这个过程。现在我们不需要用if-then语句来实现,而是可以用随机系统,这对我来说是一种解脱。我可以尝试一些新的事情。
另一种类型是沉思型代理。我认为这可以这样理解:如果我们对工作者代理发现的大量异常应用长期推理,并尝试以不同方式思考问题,会怎样?你可以真正地让一个代理从不同视角来解决这个问题,比如一个侧重于安全,一个侧重于纯粹的成本效率,一个侧重于解决延迟问题。你可以为每种你想要的成果设置一些代理,并实际建立一个称为辩论链的结构。几乎就像组建一个代理小组,经过一整晚的思考后得出某种结论。这种AI最好的地方是它不需要躲在聊天机器人背后。事实上,我认为去年看到的又一个聊天机器人可能是我见过最无趣的事情。
我已经厌倦了这些。我喜欢的是像沉思型代理这样的东西,它们可以循环运行,并进行我原本没有编程让系统执行的新类型分析,但能给我带来一些价值。也许我可以找到一种方法,将GPU上发生的功率波动问题与某些你只有在大规模运行这些系统时才会注意到的故障联系起来,而这些在工厂里根本无法测试。还有类似的事情。每个成功解决过某个大型平台上SEV-0事件的人都可能遇到过一些新的、前所未见的故障方式。如果我们能开始运行模拟,并提前发现其中一些问题,我们就能更主动地解决这类问题。对我来说,沉思型代理就是做这件事的:它查看所有这些数据,找出符合你真正关心的某些标准的新模式。你可以根据你能负担的推理成本,创建尽可能多的这类代理。我在NVIDIA工作。我正在给你一些关于需要更多推理的新想法。
由于我们正在讨论组织结构主题,中层管理者代理。请解出x。这并不是某人试图想出新点子,而是你的中层管理者需要将其他人的想法进行筛选,缩小范围,并找出在某个功能中实现目标的方法。我可能有延迟点点...我关心的是客户响应时间。我应该做哪些前3到5件事情来解决这个问题?事实上,你为什么不推荐一些行动方案,这些方案可以整合所有不同的视角,让我能够将Jira工单发送给合适的人员去解决问题,或者找出系统自动创建新Grafana仪表板的方法,以监控某些内容。你可以用各种方式应用这种模式。
你赋予它的这种目标导向行为至关重要。你提供几种不同工具供其使用以达成目标。代理主要只是使用你提供的这些工具。随着你开始调整,你会思考:如果我添加这个工具会怎样?如果我移除这个工具会怎样?或者如果你使用Claude,这个技能会怎样?每天都会出现新的工具形式。你在这里做的是什么?可能是顾问代理。顾问代理相对更被动,它会观察对话模式。这可能是一个仅仅观察、寻找优化方法的代理,比如如何让代理本身更高效运行。它可能会发现某些沟通模式,比如你知道吗?我注意到这个代理总是用相同方式解决这个问题,或者得出相同结论。
也许可以将这种任务委托给确定性系统进行优化。你可能会有某些系统,它们会查看更大范围的可能结果,并提出:如果我们想要实现其他目标,如何模拟这些结果?顾问代理可能会与某些类型的模拟模型或其他系统合作,然后尝试推荐针对整个系统的元操作。
你还有其他类型的代理,比如工具选择代理。我认为这些代理经常被嵌入到我们许多新MCP客户端的框架中。我认为几乎所有构建大规模复合LLM系统的人都会需要类似的东西。它会接收需要完成的任务描述,然后判断使用哪个工具,以及如何调用该工具来完成任务。这种工具选择机制的最早版本,实际上出现在我们最初幻灯片中关于ChatGPT插件系统的介绍中,这本质上就是一个工具选择系统。因为无论你问它什么问题,它都能判断出合适的GPT插件来回答,或者合适的插件序列来回答。在我们广泛使用"agent"这个术语之前,这可能是我们拥有的第一个真正优秀的工具选择代理系统。我认为任何构建复合AI系统的人都最终会构建类似工具选择代理的组件。这些工具不一定是其他AI系统,可能是确定性系统,也未必都是基于LLM的系统。
然后是导演代理。我认为这仍然有点未来化。在座各位谁会去给一个导演代理设定目标,然后说“去吧,自己做吧”?没有人会这么做。我们都在这里。这听起来有点大胆。不过,我认为接下来会发生的是,你会在更小的、受限制的领域看到这种现象开始出现。人们会开始模拟这种场景,他们可能会得到更好的结果。我认为Anthropic曾尝试用这种方式来运营自动售货机,结果非常滑稽。自动售货机并没有赚到多少钱。我认为这不是一个AI的问题,而是设计上的问题。如果他们的未来依赖于自动售货机的正常运作,我敢打赌他们一定会让它正常运作。这只是一个实验,看看这个系统能做些什么。如果你更认真地看待这个问题,并思考如何在OODA循环(观察、定位、决策、行动)中推荐行动,而这就是导演代理所擅长的领域,那么你将开始说:“我会给你一个受限制的问题。”
我会给你一些思考行动的方式。我会从一个简单的指标开始。我们如何减少这些系统中的延迟?我们将开始构建一个能更好地理解延迟的系统,理解哪些系统存在这种延迟,并可能开始发现潜在问题,向人们提出建议。随着你对这个系统的信心逐渐增强,评估结果越来越好,你将看到这类系统逐渐演变为更闭环的系统。我认为目前真正有效执行这种做法的人还很少。从面向未来的发展来看,我认为这绝对是我们在不远的将来一定会做的事情。
准确性与幻觉
如何让所有这些内容都准确?幻觉又该如何处理?幻觉对你来说是个问题吗?当然,是的。这被称为说谎。它同样也是人类的问题。人们有时会幻觉认为某个想法很好,但结果可能并非如此。这是一个独特的人类问题。我记得第一次看到这样的内容是在LinkedIn上,某人说:“不,AI只是一个随机鹦鹉,它永远无法正确数出strawberry(草莓)中的r的数量。”在座各位有没有人以前见过这样的帖子?显然你们在LinkedIn上待的时间不够多。这种事每天都在发生。我总是好奇,为什么人们如此关注strawberry中r的数量?当现实情况是,直接让Python来数r的数量时,这似乎是个奇怪的思考方向。至少两年前,你就可以把这一点写入系统提示中。
在 ChatGPT 中,我认为几乎所有现代大型语言模型系统都有类似的设计。如果遇到需要处理数学或数字的问题,请交给 Python 来处理,用 Python 来解决。至少从两年前开始,它已经能正确识别出“strawberry”这个词中字母 r 的数量,这种表现几乎像是在故意耍弄用户。你可以直接说:“不,我知道怎么处理,就按这个方法做。”对我来说,这最早显示出了一种分歧:一方面有期待确定性结果的人群,另一方面由于大语言模型分词方式的错误或其他原因,系统目前还无法进行这种推理。我很高兴当时出现了这样的批评,因为现在我们已经有了能够在模型内部进行正确推理的模型。这促使最大的大语言模型提供商找到了解决这个问题的方法。
说到底,我们早就有了实际解决这个问题的方法。我认为从 GPT-5 开始,这个模型最终解决了这个问题,或者正在构建这个能力。还有其他类似的情况。在座各位有谁会心算做长除法?有谁了解长除法是什么?这正是我们早期学习数学的方式:你写下来然后进行这个操作。当然不会,应该用计算器。如果遇到复杂的数学问题,就用计算器。我们早就知道这一点。1991 年我在微积分课上偷偷使用 TI-85 计算器时就知道了。我们都看到了达美航空的案例。其中一家航空公司部署了这种聊天机器人系统,结果有人通过提示工程欺骗 AI,让它提供免费的商务舱机票。他们通过精心设计的提示,让 AI 生成了远超合理范围的退款,所有人都意识到 AI 并不可靠。
不,你可以为 AI 设置防护措施。比如,我很高兴 AI 能够推理出为从旧金山飞往奥克兰的航班退还 5000 美元的退款。我们甚至可能有这个航班,但这个航班真的要 5000 美元吗?当然不是。如果你把一个实习生安排在客服团队,你会允许他们未经任何人审核就开具 5000 美元的支票吗?当然不会,你会用人类来监管他们。最初,任何涉及重要事务的操作都应该由人类进行监管。"人工参与"这个说法虽然老生常谈,但我觉得几乎不需要再提,因为显然在很多场景中是合适的,特别是涉及金钱或金钱等价物的场景,比如来回搬运 GPU(这会耗费大量资金),或者像我们今天上午讨论的人力配置,或者任何其他重要事务。
当然,你肯定会进行人工审核。我可不希望有人不经过审核就把代码提交到 GitHub,天哪。当然,我们绝不会在没有人工参与的情况下就发放超过 X 的退款。我们会让顾问代理或其他类型的代理人员审查事件流,以便尽早发现可能存在问题的环节。
谁在座中曾经做过运维工作?谁曾经参与过事故响应会议?当你在修复DNS服务器时,是否总是需要回忆起之前是如何操作的?你是否需要从头开始推导出如何重启Kubernetes集群的步骤?你真的会这样操作吗?不会。你会使用操作手册(runbook)来完成。没有人会说每次都要重新发明轮子来处理新问题。我们不是通过这种方式学习的。我们找到一种有效的方法,然后将其写入SharePoint文档,之后却忘记它,再次重复同样的步骤。这就是我们目前的做法。人们谈论所谓的“真实状态”(ground truth)。你有没有查看过自己的Confluence?你的Confluence中有多少错误信息?你的SharePoint文档中又有多少错误信息?如果要讨论错误信息,我们不妨去问问Oracle,数据库里到底存储了什么内容。
我认为其中存在大量错误信息,这些信息会被大语言模型(LLM)误认为是真实的,因为只要将其写入数据库,它就会被当作真实内容。在NVIDIA,我们做的一件事就是构建所谓的“蓝图”(blueprints)。这是NIM蓝图。我们使用NIM微服务,但其实它并不完全相同。它是一个NVIDIA推理微服务(NVIDIA Inference Microservice)。为了让更多人使用AI,我们希望与其他人分享如何完成这些工作的模式,因此我们构建了名为“便携式深度研究助手”(portable deep research assistant)或“AIQ”的工具。它是一个研究助手。在座各位中,有多少人曾经使用过深度研究工具,比如OpenAI或Perplexity等主要实验室的产品?我用它来做家谱研究,效果非常好。我不确定这是否是典型用例,但对我个人来说确实如此。
我非常喜欢这个工具。有时它会执行更复杂的任务,但有时,我可能并不孤单,我不希望将深度研究工具与我的最敏感数据、最敏感的GitHub仓库或最重要的文档共享给OpenAI或Anthropic等公司,尽管我非常信任他们。对我而言,以及我认为对许多人来说,很明显你需要一种深度研究工具,它能够读取你的数据库,能够读取你实际确认正确的经过审核的SharePoint文档,或者你确认正确的维基文档。你希望它能够访问这些内容。你希望它在一个循环中运行,能够进行推理,可以使用我们的Nemotron模型,也可以使用任何外部模型,这并不重要。
我们更喜欢使用Nemotron模型,但你也可以使用任何外部模型,然后将其放入一个循环中,让它生成内容、扩展想法,并定期进行验证。我认为任何构建过深度研究系统的人,都会发现一个权衡点:你需要在多大程度上将代理(agent)的前提与现实进行对齐。这可能涉及检查数据库、检查文档、再次查看来源,或者在互联网上搜索来源。我们发现,这个权衡点的调节范围是从频繁验证(这会减慢速度,使分析更复杂)到完全不验证(这意味着它会不断推理,最终你可能会突然认为对重组(reorg)使用AI是个好主意)。
这正是其中关键的一点,比如你管理这种“接地”过程的频率对这类系统的工作方式至关重要。深度研究本身不一定要成为独立的产品,它可以是任何你想象得到的产品的一部分,只要你认为这种通过扩展推理和扩展推论来实现目标的思路是有价值的。
在我看来,构建这些智能体时最有效的方式之一,就是赋予它们你信任并经过验证的数据访问权限。我以前的同事Zhamak Dehghani在她的创业公司中构建数据产品。我认为数据产品是那些经过验证、组织良好的数据,而不是随意丢弃的数据,人们对其真实性有高度信心。这些数据是使用AI智能体的最佳对象,因为你在确保数据库事实准确性方面投入了更多努力。准确的数据应由有效的防护机制进行管理。有时这涉及系统级的设置,智能体运行的身份应比你作为用户拥有的权限少得多。目前已有许多人正在构建这类智能体系统,你甚至会看到人们使用Claude Desktop或其他类似系统时,这些系统允许他们以比常规方式更高的权限访问不同资源,查询会以运行该查询的用户身份执行。
我认为这还不够。我认为你需要创建一些类似你自己的身份,但其权限应比你甚至会给系统内实习生的权限还要严格得多。你完全有理由构建一系列具有特定访问权限的AI智能体。它们可以读取某一页内容、某个数据库或某个特定对象,这就是它们的贡献。AI智能体的优点在于,它们不需要晋升,也不担心自己的权限范围是否足够。只要你想,它们可以一遍又一遍地专注于自己的特定任务,并不断学习和提升。智能体是第一类如果构建了正确的强化循环机制,使用频率越高反而会变得越优秀的软件。我认为这也是我们为何在精心设计的反馈循环中考虑有效防护机制的原因,这样它们才能真正兑现承诺,即成为第一类软件——一旦安装后,使用时间越长,性能就越好。
这些反馈循环必须由具备审美和判断力的人来引导,以安排和解决实际问题。我完全不认同这种失业论调,我认为这只是一个借口。我坚信的是,如果你想到制陶工艺,这可能是我想到的最贴切的例子。当你制作陶器时,你就是在制作陶器。你身边有一台机器,它正在将一团黏土塑造成形,而你则在根据自己的审美判断陶器项目的优劣。我对陶器一无所知,所以这些内容是我编的,但你确实会引导它朝着正确的方向发展。你的审美、你的理解、你对客户需求的共情、你对构建过程的理解,结合你对当今技术可能性的掌握,以及对良好软件工程实践的认知,这些因素共同决定了延迟是否合理。
当系统规模扩大时,你必须理解随之而来的各种情况,系统将如何管理所有这些复杂问题?这并非AI目前擅长的领域,至少在可预见的未来,工程师的审美和直觉将发挥更重要的作用。至少,我目前是这样认为的。并非所有人都认同这一点,但这就是我的观点。
AI代理与工具
我还看到,这也是我经常谈到平台的地方,未来将出现大量AI代理,其中许多代理在很多方面都可能出错。有些代理甚至可能在很多问题上完全错误。我每年会有八位实习生加入我的团队,他们通常比AI代理更聪明,但我也允许他们有时犯错。有时,我允许他们产生幻觉,允许他们提出一些超出我们组织常规范围的想法。我之所以这样做,是因为他们可能会犯错八次,但有时也会出现一位实习生构建出Tesseract模型,这正是我们今天提供的模型,用于异常检测。它甚至不是一个大型语言模型,而是一个全新的基础模型。这种允许出错的机制,有时能帮助我们发现一些在传统工具的“如果-那么”约束世界中通常不会考虑的正确方法。
与之形成对比的是工具方面,如果我在处理金融交易,如果我在组织内部进行人员调动并影响他们的生活,如果我在移动GPU时,这些操作可能影响到数千万美元的推理计算能力,这些能力被我们的研究人员用于构建下一代模型,我必须格外谨慎。事实上,这些系统需要由一个真正关心它、深刻理解其运作细节、了解其失败点的人来编写确定性程序。虽然理论上我可以通过足够多的token让AI代理完成这些任务,但人类在直觉方面仍然更胜一筹。人类在快速思维中更能迅速判断出正确的做法。这就是我想要的工具——能够准确执行我所交代任务的工具。
当我使用一个能将资金存入我银行账户的工具时,我完全不希望这是AI完成的。我可能永远都不希望AI来做这件事。我们并不需要AI来完成这个任务。我们不需要。只需给予它访问工具的权限即可。工具访问权限不足可能会带来危险。这才是真正的权衡所在。
谁在这里曾经听过有人说“AI代理不工作”?我试过其中一种。那是一种AI代理。Waymo就是一种AI,它会从你家接你,带你去酒吧,或者带你去参加研讨会,或者带你去其他地方。它能解读各种情境。它被编程来解读各种情境。他们甚至在考虑让AI代理去机场接人。你有没有试过在机场接人?那里有很多不确定性,有很多需要发现的地方。特别是发现人们并不擅长以连贯的方式驾驶或停车。我试过其中一种。它会导航。虽然还没到机场,但我还没试过那种。我见过这种车必须穿过游行队伍,它有效地做到了这一点。它像人类一样,一点一点地慢慢从交叉路口挤出去。
对我来说,这就像我见过的最伟大的工程奇迹之一,也是代理软件工程的奇迹。每当有人告诉我AI代理不工作时,我就会为了好玩预订一辆Waymo。我开车在城里转悠,听听播客,听听Gary Mark的节目。我会听很多这类内容。对我来说,这证明了AI代理确实有效。我们不会制造完全自动驾驶的汽车。但我很乐意拥有一种能判断GPU是否过热并通知我们的自动驾驶系统。如果我们能制造自动驾驶汽车,我们就能做到这一点。我们只需要以正确的方式将这些技术结合起来,不要陷入我认为我们行业很多人正在陷入的陷阱——还记得单体架构与微服务之间的争论吗?你可能在QCon上听过这个争论90次。在模型社区中也有类似的情况,人们想要一个能解决所有问题的庞大单体模型,拥有所有参数,最终实现AGI。
然后我会想到由多个模型组成的模型,就像你在本次演讲的其他部分看到的那样。我们有这样一个模型擅长处理某件事,另一个模型擅长处理另一件事,第三个模型擅长处理第三件事。这就像微服务,它们学习如何非常擅长地完成一件事,并且做得非常好。我们发现这种方法之所以有效,原因与微服务有效的原因相同,但它也带来了微服务的一些复杂性。有一些权衡。你不想直接降到最原子的层面,但解决这些问题的方法将是一组模型和建模技术的组合。
在做这样的演讲时,我想至少传达一下我对“品味”的理解方式。我不知道“品味”有一个好的定义,但我知道当看到它时,我就能识别。哪些类型的问题是好的代理问题?我们如何对这些问题有良好的判断?我喜欢思考的一个方法是,我称之为“寻找愚蠢的钻石”。这些是像“TPS报告的封面是否正确填写”这样的事情。在座有多少人曾经在管理层,不得不证明一些愚蠢的事情?我总是想到那个霍默·辛普森的例子,他面前只有一个“是”按钮,然后就点击“是”。生活中有很多这样的事情,人类必须出于程序性原因去做,但人类实际上并没有做任何检查。他们只是勾选了框,他们只是例行批准了那些300美元以下的费用报告,因为花时间去审查你可能购买的非法口香糖并不值得。
抱歉,如果你这样做而我之后进行审计,我会让你自费买口香糖。你买得起的。在一些低效的公司里,会发生很多愚蠢的事情。分类器,任何可以使用强化学习进行正确性采样并改进模型的工作流程。内容组织者,我们做了一件事,就是使用提示来重写聚合邮件、会议记录等内容,并从中构建维基百科。我们已经扩展了检查员,类似于我之前提到的那样,我会以特定的视角审视一切。我们有约束导航器。我知道这将是最后一种类型,这并不一定需要另一端有大型语言模型。对于约束导航器,我们经常使用不同的技术,例如类似AlphaGo的系统,可以统计地查看非搜索空间中的最佳移动方式,以确定如何将不同大小的GPU以正确的方式排列。这不一定是大型语言模型的问题。即使是重组问题,也更适合约束导航。
结论
从小处着手,专注于单一功能的小型可组合技能,这是起步的方式。从小开始,随着时间推移逐步扩大规模。确定性是好的。从低效的代理开始,它们会为你节省时间。你不需要一次性让整个公司都这样做。这是好事。降低其中的政治因素。它们定义了你能发现什么。从底层做起,稀有上下文。使用评估。测量它们的性能,如果效果不佳,就承认这一点。设计一个系统,通过有效的反馈循环逐步改进。这非常简单。世界将属于那些拥有最狂野想象力的人,因为目前AI在想象力方面还无法很好地实现这一点。
查看更多带有文字稿的演讲
录制于:
2026年7月7日
由
- Aaron Erickson
#### 相关赞助商
#### 相关赞助商
- 2026年7月9日,东部时间下午12点 从日志噪声到事件智能:AI辅助可观测性的成熟度模型 演讲人:Nicolas Jung - Datadog日志产品经理
#### 本内容属于AI、机器学习与数据工程主题
##### 相关主题:
- AI、机器学习与数据工程
- QCon旧金山2025
- 文字稿
- QCon软件开发会议
- 人工智能
- 模型
- 可靠性
- InfoQ
- 相关编辑
- InfoQ上最受欢迎的内容 谷歌发布A2UI v0.9:便携式、框架无关的生成式用户界面 代理AI架构 甲骨文悄然将免费层级Ampere A1计算限制减半,未公开宣布 OpenTelemetry达到CNCF最高成熟度等级 苹果首次将私有云计算扩展至谷歌云 意气用事驱动的工程:AI原生时代云安全的新蓝图