来源:LangChain 频道《Bridgewater's Pocket Analyst Tool (PAT)》技术演讲(2026) 讲者:Brendan McManus(桥水应用 AI 团队负责人)、Michael Wren、Santi White 说明:本讲稿由 YouTube 自动字幕(简体中文机译)整理,逐段保留原话时间码。仅供参考。
全文约 169 段,时长约 25:38。
0:00 【Brendan McManus】开场:写了 50 年的投资逻辑,如何变成 AI 优势

[0:06] Brendan McManus: 大家好。我叫 Brendan McManus,是 Bridgewater Associates(一家系统性宏观对冲基金)应用人工智能团队的负责人。
[0:14] Brendan McManus: 我在 Bridgewater 工作了将近十年,最初是一名软件工程师,后来成为一名系统投资者和研究员,而最近几年,我一直致力于弥合投资和技术之间的差距。
[0:27] Brendan McManus: 今天,我和我的同事 Michael Wren 以及 Santi White(分别是本项目投资负责人和技术负责人)一起来到这里,向大家介绍我们内部开发的一款名为 PAT(Pocket Analyst Tool,口袋分析师工具)的出色工具。
[0:39] Brendan McManus: 到本次演讲结束时,大家应该都明白我们是如何构建一个人工智能分析师的,它能够在几分钟内完成几个小时的专家研究工作——该分析师已在公司内部部署给数百名投资者,并且能够从每一次互动中学习。
[0:55] Brendan McManus: 除此之外,我们还会向您展示我们是如何构建这样一个系统的。
[1:00] Brendan McManus: 所以在我们向大家展示我们构建的产品之前,我想先快速介绍一下 Bridgewater 的人工智能方法。
[1:07] Brendan McManus: 桥水基金几十年来(50年)一直在思考如何将市场和经济编码到复利系统中。
[1:15] Brendan McManus: 而这一切实际上都始于你现在在屏幕上看到的东西:我们 1980 年的债券制度,它被写在一张黄色的法律用纸上。 这个想法很简单。
[1:24] Brendan McManus: 每次你想进行交易时,都要把认为这笔交易合理的理由详细写下来。
[1:30] Brendan McManus: 写下完整的因果逻辑。因为一旦你这样做,其他投资者就可以查看你写的内容,帮助你找出哪里出了问题,并帮助你改进这个过程。
[1:41] Brendan McManus: 每当你学到新东西,你就划掉一条规则,写下一条新规则,这创造了一个非常了不起的学习过程,而这正是过去 50 年来我们在 Bridgewater 所做的一切的基础。
1:52 【Brendan McManus】桥水怎么做 AI:既是投资者,也是实践者
[1:52] Brendan McManus: 几十年来,我们不断完善这一过程,将我们关于交易的每一条经验、每一种方法、每一条规则——如何以及为什么——都编纂成一个机器可读、人可读的专家系统。
[2:07] Brendan McManus: 现在我们确实掌握了相当庞大的数据宝库。而所有这些数据,实际上都为我们迎接人工智能时代奠定了良好的基础。
[2:16] Brendan McManus: 我们不必再回去把所有东西都写下来给经纪人了。它早已摆在那里,我们可以加以利用。 在深入探讨这个工具之前,我想先谈谈我们在 Bridgewater 更广泛地是如何看待人工智能的。
[2:27] Brendan McManus: 我们通过两种方式来实现这一点。首先是作为投资者。作为投资者,我们需要深入了解影响全球市场和经济的每一个主要动态因素。
[2:36] Brendan McManus: 就像我们必须了解新冠疫情或最近的石油供应冲击一样,我们也必须了解人工智能。
[2:42] Brendan McManus: 供需不匹配的具体形态是什么?推动此次扩建的因素是什么?这些因素最终会对市场产生怎样的影响?
[2:49] Brendan McManus: 对于我们投资者而言,这是最基本的理解。我们研究人工智能的第二种方法是作为实践者——这也是我们今天大部分时间将要讨论的内容。
[2:59] Brendan McManus: 作为实践者,我们正在将人工智能应用于研究过程的各个方面,最终目标是构建一个能够执行我们人类投资者每天都在进行的各种活动的人工智能投资者。
3:11 【Brendan McManus】研究闭环与「人造投资者」路线图
[3:11] Brendan McManus: 那么,我们的人类投资者究竟在做什么呢?我们把它看作是一个研究圈。
[3:16] Brendan McManus: 投资者不断感知外部世界正在发生的事情,提出关于什么是真相以及他们可能遗漏了什么的问题,进行分析调查以试图回答这些问题,综合他们的发现,并最终将他们学到的任何东西都融入到我们构建的专家系统中,形成综合的理解。
[3:37] Brendan McManus: 真正关键的是最后一步。我们通过这个过程学到的一切都会被重新存储到人类可以调用的共享记忆中。
[3:47] Brendan McManus: 因此,你可以想象,如果你要构建一个人工智能投资者,它需要能够完成这项研究过程的所有不同步骤。
[3:57] Brendan McManus: 你可以想象,已经构建了多个独立的子代理,分别专注于研究圈的每个部分。
[4:04] Brendan McManus: 而这正是我们对待人工智能的方式。我们正在为人类投资者必须做的每一件事构建独立的子代理,借鉴我们在过去 50 年中积累的相同理解。
[4:16] Brendan McManus: 但今天,我们只打算谈谈其中一种代理——专注于研究过程调查部分的代理:那种需要人类分析师花费数天甚至数周才能完成的深度分析工作。
[4:29] Brendan McManus: 我们将这个工具称为 PAT,即掌上分析工具。 需要说明的是:PAT 与我们的贸易方式无关。
4:30 【Brendan McManus】PAT 是什么,不是什么
[4:36] Brendan McManus: 这实际上是为了开展深入的探索性研究,使我们的投资者能够探究他们以前根本没有精力去探究的问题。
[4:44] Brendan McManus: 那么我们究竟建造了什么?我们开发了 PAT,即掌上分析工具。
[4:49] Brendan McManus: 从一开始,规格就很简单。我们必须让 PAT 能够像我们的人类投资者一样,在进行调查或分析工作时完成所有事情。
[5:00] Brendan McManus: 而这一切都始于数据。PAT 必须能够搜索和读取我们内部拥有的所有不同数据——例如,从结构化时间序列数据(例如,几十年前的股票价格)到非结构化数据(例如,我们订阅的经纪交易商研究报告或我们制作的内部备忘录)。
5:01 【Brendan McManus】PAT 必须做到的五件事:数据、工具、可诊断分析、上下文、学习
[5:16] Brendan McManus: PAT必须能够搜索并读取所有内容。PAT 还必须能够使用我们人工分析师可以使用的所有不同工具。
[5:23] Brendan McManus: 我们开发的所有专有工具,用于可视化、诊断或评估我们开发的指标理念的质量。
[5:31] Brendan McManus: 除此之外——这对于技术受众来说可能会更有趣一些——PAT 运行的许多分析,如果由人工分析师来运行,则需要花费数小时。
[5:41] Brendan McManus: 这意味着分析相当复杂,这意味着 PAT 的分析必须完全可诊断——不仅对人类而言,而且对在后台运行的代理而言,这些代理会读取痕迹,理解并确保每个计算都是正确的。
[5:57] Brendan McManus: 除此之外——而这正是我们过去 50 年来所记录的一切开始发挥作用的地方——PAT 了解我们所有的背景。
[6:06] Brendan McManus: 它可以访问我们所有的投资流程和框架。 它非常清楚我们的分析师应该如何工作,因为在过去的 50 年里,我们一直都在记录这些工作内容。
[6:15] Brendan McManus: 最后,PAT 也需要学习。它必须不断积累自身的经验,这不仅对一位投资者有利,而且对公司的每一位投资者都有利。
6:24 【Brendan McManus】一家 50 岁的对冲基金,到底怎么造这套系统
[6:24] Brendan McManus: PAT目前还不是原型机。实际上,它几个月前就已经在内部部署了。
[6:28] Brendan McManus: 现在每天都有数百名投资者使用 PAT,这带来了一个非常惊人的改进飞轮效应:当投资者使用PAT 进行实际研究时,我们的代理程序会在后台持续运行,扫描这些交互,找出 PAT 出错的地方,开发人工审核的基准,这反过来又会改变上下文,以及我们为 PAT 构建的工具——这使得 PAT不仅对一个人,而且对每个人都得到了改进。
[6:56] Brendan McManus: 最后,在我们深入探讨我们所构建的东西之前,我想留给大家一个我经常被问到的问题:
[7:01] Brendan McManus: 一个成立 50 年的对冲基金是如何构建出你们即将看到的这种东西的?
[7:06] Brendan McManus: 其实,这一切都始于你愿意做出改变。构建 PAT 的团队最终是一个在公司内部孵化的应用人工智能初创公司,它能够非常灵活、快速地行动,同时还能利用公司内部的资源。
7:09 【Brendan McManus】多原型团队:投资者、技术人、科学家并肩
[7:23] Brendan McManus: 除此之外,我们还组建了多类型团队,让投资者、技术专家和科学家并肩工作,共同打造产品。
[7:34] Brendan McManus: 我认为,如果你要开发这样一款产品,这确实是一件非常关键的事情。
[7:39] Brendan McManus: 投资者带来了背景信息和特定领域的专业知识。技术人员带来架构能力。
[7:45] Brendan McManus: 而科学家们则带来了严谨性。如果要为专家用户构建人工智能系统,就必须组建这种多类型原型团队。
[7:53] Brendan McManus: 说到专家用户,我们内部有数百名专家用户在使用我们所有的 AI 工具(不仅仅是 PAT),他们每天都在生成信号,表明这些工具应该如何随着时间的推移而发展和改进。
[8:06] Brendan McManus: 最后,我们还有一个非常棒的复利生态系统可以接入。50 年的共享数据、工具和方法,不仅是为了我们的人类分析师而构建的,也是为了我们构建完全人工智能投资者的旅程中的代理人而构建的,该人工智能投资者能够做到今天人类所能做的一切。 那么,接下来我将把话筒交给投资负责人 Michael Wren,让他演示一下我们开发的产品,并带大家了解一下产品架构。
8:32 【Michael Wren】现场演示:PAT 实时分析——石油供应冲击与中东冲突

[8:32] Michael Wren: 好的。谢谢你,布伦丹。[掌声]我叫迈克尔·兰。我是 Pocket Analyst Tool 的投资负责人,简单介绍一下我自己:
[8:41] Michael Wren: 我在 Bridgewater 工作了五年,最初是以技术专家的身份加入的,但大部分时间都担任投资人的角色。
[8:46] Michael Wren: 而如今,我主要关注的是如何将人工智能融入到我们的投资流程中。
[8:51] Michael Wren: 接下来,我非常乐意为大家演示一下Pocket Analyst Tool,重点介绍它的功能,并向大家展示 Bridgewater 的投资者是如何使用它的。 在我身后,您可以看到 PAT 登录页面,上面有我们今天演示将要使用的提示信息。
[9:04] Michael Wren: 要点是:我们要求 PAT研究市场对近期中东冲突的反应,并将今天的事件与类似的历史事件进行比较。
[9:12] Michael Wren: 最后,我们请 PAT 制作了一些可视化图表,以突出今天的情况与以往的石油供应冲击有多么相似或不同。
[9:21] Michael Wren: 这是过去几个月里我们在 Bridgewater 一直在研究的一个实际问题,而 PAT 一直是投资者用来帮助我们加快研究过程的工具。
[9:29] Michael Wren: 但在提交提示之前,我想花点时间谈谈我们在设计 PAT 的安全防护装置时遇到的一个有趣的安全问题。
9:33 【Michael Wren】每个用户的隔离难题:每位投资者都有自己的 PAT
[9:37] Michael Wren: 我们的出发点是:PAT 要真正发挥作用,就必须能够获取投资者在进行研究时可以获取的所有信息。
[9:44] Michael Wren: 但问题是,在桥水基金,不同的投资者可以获得不同的信息。例如,可能有一位投资者可以了解我们目前在所有市场上的持仓情况,而对于这位投资者来说,其净利润也需要包含这些信息。
[9:57] Michael Wren: 但有些分析师可能接触不到这些信息,因此同样重要的是,我们不能不小心将这些安全的知识产权泄露给这些分析师。
[10:04] Michael Wren: 因此,与 Claude Code 等工具不同,Claude Code 中每个人都使用相同的系统提示和相同的工具,而 Bridgewater 的每个人都拥有一个独特的 PAT 版本,该版本根据他们可以看到和看不到的内容量身定制。
[10:14] Michael Wren: 实际上,这种独特性仅仅取决于每个人的 PAT 所处的环境和所拥有的工具。
[10:20] Michael Wren: 那么,接下来我们就提交题目了。本分析的第一件事是 PAT 搜索网络和我们的非结构化数据库,以便更好地了解当今世界正在发生的事情,并将其置于历史背景下进行分析。 对于这些现代聊天应用程序来说,网络搜索本身就是基本功能。
10:24 【Michael Wren】类人巡检的时间序列搜索:准确率从 50% 到 90%
[10:38] Michael Wren: 但真正的区别在于我们订阅的非结构化内容的广度,PAT 能够搜索这些内容。
[10:44] Michael Wren: 我们拥有一个数据库,其中包含来自世界各地的数百万份文档,内容包括经纪商文章、盈利记录、内部电子邮件等等。
[10:52] Michael Wren: 而且该数据库几乎是实时更新的,每天都有数千件新作品加入。
[10:57] Michael Wren: 这与我在上一张幻灯片中提出的观点有关:为了让 PAT 真正发挥作用,它必须访问其用户能够访问的所有内容,以便尝试模拟其用户实际执行的操作。
[11:09] Michael Wren: 一旦收集到这些背景信息,PAT 的下一步就是在我们的时间序列数据库中搜索分析所需的数据。
11:14 【Michael Wren】计划即分析:澄清问题,产出高质量研究计划
[11:16] Michael Wren: 这是一个包含数千万个序列的数据库,这些序列我们已经在内部建模了50 年。该数据库包含来自外部世界的数据(例如石油价格),以及内部推导出的概念,例如我们认为 12 个月后的通货膨胀率。
[11:30] Michael Wren: 搜索代理使用RAG、重新排名等传统搜索技术,但我们发现真正起到决定性作用的是加入类似人类的检查元素。
[11:40] Michael Wren: 我的意思是:当人类研究人员寻找数据时,他们不会仅仅根据时间序列的名称来判断。
[11:46] Michael Wren: 他们会查看序列的频率、货币,以及最重要的是,序列中的值是否与他们的先验知识一致。
[11:53] Michael Wren: 因此,将这种推理方式融入到我们的搜索代理中,使我们的准确率从大约 50% 提高到了 90%。
[12:01] Michael Wren: 现在,PAT 在掌握了背景信息和数据后,会向用户提出澄清问题,并可能提供一些探索其他角度的想法。
[12:10] Michael Wren: 在 PAT 的开发过程中,我们逐渐认识到,计划实际上就是分析。
[12:14] Michael Wren: 如果我们能够制定一个高质量、详细的计划,我们有信心能够始终如一地执行该计划,并取得我们想要的成果。
[12:23] Michael Wren: 桑蒂稍后会更深入地探讨这个问题。虽然如今聊天机器人中客服人员提出澄清问题已经相当普遍,但我们真正关注的是这些问题的实质内容。
[12:32] Michael Wren: 我们投入了大量时间和精力来构建有助于形成这种能力的背景和基准。
[12:38] Michael Wren: 我们教会了 PAT 什么是一个好的研究问题,什么是一个坏的研究问题,所以这种来回交流有助于人类——他们往往在计划方面投入不足——完善我们认为的高质量研究计划。
12:49 【Michael Wren】并行代码生成:3 个任务和 20 个任务耗时一样
[12:49] Michael Wren: 现在,在所有模糊不清的地方都得到解决之后,PAT 进入了规划阶段。
[12:53] Michael Wren: 在规划阶段,它正在做的事情有:A,生成分析中将要产生的所有数据框;
[12:59] Michael Wren: 制定所有这些数据框的模式;然后最重要的是,弄清楚所有这些数据框是如何连接的。 从时间角度来看,这个规划阶段成本相对较高,但这是我们有意付出的成本,因为它可以让我们在执行过程中做很多事情。
[13:15] Michael Wren: 现在计划已经确定,计划执行的第一步是生成代码。鉴于我们有如此详细的计划,我们可以使用子代理并行地为分析中的每个数据帧生成代码。
[13:28] Michael Wren: 这样做之所以有效,是因为每个子代理都知道它依赖哪些数据框,知道这些数据框的模式,也知道它正在生成的数据框的模式应该是什么。
[13:37] Michael Wren: 因此,对于包含三个数据框的分析,或者包含大约 30 个数据框的中等规模的分析,在两种情况下生成代码所需的时间大致相同。
[13:48] Michael Wren: 代码生成完成后,我们会执行 Python 函数,并由代理监督执行过程,如果发现运行时错误或无意义的值等情况,代理会进行干预。 在执行之前,我想指出,这些分析的时间序列输出与我们实际从中提取输入的数据库是同一个数据库。
[14:06] Michael Wren: 我认为这很重要,原因有二。第一:这表明 PAT 分析的任何输出与我们多年来制作的任何人工上传的系列都无法区分。
[14:15] Michael Wren: 更重要的是,PAT 分析的任何输出都可以作为后续分析的输入。
[14:20] Michael Wren: 这样就创造了一个人类和智能体可以非常轻松地相互协作、共同利用彼此工作的环境。
14:27 【Michael Wren】自我纠错:PAT 在返回结果前先检查自己的活
[14:27] Michael Wren: 现在,执行完成后,就像您希望初级分析师在向您汇报之前仔细检查他们的工作一样,我们也希望 PAT 这样做。
[14:34] Michael Wren: 因此,在分析的这个阶段,PAT 将查看已计算的数据和生成的可视化结果,并确保数字看起来合理,图表看起来清晰。
[14:43] Michael Wren: 如果 PAT 发现任何异常情况,它会退后一步,诊断问题,完善分析,并确保对结果满意后再反馈给用户。
[14:54] Michael Wren: 最终生成的是这份交互式报告,其中的可视化图表看起来就像Bridgewater 的投资者制作的图表一样。
[15:01] Michael Wren: PAT 使用的是我们内部开发的同一个图表库,并利用了我们几十年来一直在内部开发的同一个现有文本库。
[15:08] Michael Wren: 所以您可以在这里看到如何放大、缩小这些图表,甚至可以将此交互式报告中的数据发送到我们的内部图表工具,在那里您可以随时进行进一步的修改。
[15:18] Michael Wren: 在把它交给桑蒂之前,我想谈谈 PAT 如何随着使用而变得更好。
15:24 【Michael Wren】「教导」按钮:自动造基准、自动提 PR
[15:24] Michael Wren: 这种情况主要有两种发生方式。第一种是 Brendan 之前提到的自主系统,其中智能体审查已完成的对话,寻找 PAT 可以变得更智能的方法。
[15:34] Michael Wren: 第二个选项——也是我们将要展示的选项——更加明确,用户可以在分析的背景下启动这个学习过程,如果他们认为从与 PAT 的互动中可以学到一些东西的话。
[15:45] Michael Wren: 所以,这里用户只是要求提供不同的可视化效果。请注意,该用户并没有说有什么问题——他们只是想要一个不同的视角,他们认为这个视角对于回答当前的问题很重要。
[15:56] Michael Wren: 如果他们认为 PAT 应该从一开始就生成或建议这组可视化内容,他们可以点击“教学”按钮,这将生成一个代理来浏览对话,寻找诸如行为错误、上下文差距或用户引导等可以提前处理的问题。
[16:11] Michael Wren: 用户可以修改此内容或按原样发送,当他们提交时,会发生以下情况:
[16:16] Michael Wren: 首先,后端代理将创建一个我们预期会失败的基准测试。 这表明我们可以重现这种不良行为。 然后它会遍历我们的上下文存储库或测试框架本身,直到基准测试通过为止。 然后,在确认通过此基准测试后,我们并没有导致套件的其余部分失败后,我们收到了一条 Slack 消息,其中包含拉取请求,包括代理想要对 PAT 进行的更改。
[16:37] Michael Wren: 这样做的好处是,下次有人带着类似的问题来找 PAT 时,我们希望他们能立即获得更好的 PAT 版本。 现在我想把技术概述交给桑蒂。
[16:48] Santi White: [掌声]大家好。谢谢你,迈克尔。我是 Santi,Pocket Analyst 工具的技术负责人。

[16:54] Santi White: 我相信在座的各位中,很多人都和我们一样,正在开发编码代理产品。
[16:58] Santi White: 而且建造一个这样的房子真的很难。编码代理非常反复无常且难以预测,它们经常犯错。
[17:04] Santi White: 如果你运气实在不好,他们就会失控,试图彻底摧毁你的数据和其他所有东西。
[17:09] Santi White: 因此,打造一款人们喜欢的好产品已经很难了,但要打造一款人们想要融入日常工作流程的产品就更加困难了。
[17:16] Santi White: 对冲基金交易的金额高达数十亿美元,因此我们不能仅仅依靠感觉编码分析来开展这些分析。
[17:24] Santi White: 我的专业背景是编译器理论和编程语言设计。编译器对性能的要求非常相似:
[17:33] Santi White: 它们必须完全确定、完全正确且可靠。例如,驾驶飞机时绝对不能出现差一的错误。
[17:40] Santi White: 这里也有一个类似的形状。编译器接收用户代码并将其编译成类似 JavaScript 的语言,而编码代理接收用户提示或计划并将其编译成 Python 语言。
[17:51] Santi White: 我们非常喜欢这种方法,虽然我今天时间不多,但我们会重点学习这一点,希望你们能把它运用到自己的工作中。
[17:59] Santi White: 我们将从聊天代理开始。这里的目标是让聊天代理和用户对他们想要完成的事情达成共识。
18:08 Santi White:把编码智能体当成编译器问题
[18:08] Santi White: 聊天代理是用 LangGraph 实现的。我们主要将其用于持久化状态。
[18:12] Santi White: 它具有出人意料的取消和续期功能。我们以前自己处理这些东西,结果却更糟糕。
[18:20] Santi White: 聊天代理可以访问工具调用。迈克尔指出了其中一些问题。所以有数据序列搜索、非结构化搜索,而每一种搜索都可以称为一个工具。
[18:28] Santi White: 然后,一旦聊天代理知道了分析所需的所有数据,它就会制定计划并调用工具给子代理,也就是我们的编码代理。
[18:36] Santi White: 这将生成一个 Python-Pandas 分析报告。那你为什么要拆散你的两个经纪人呢?
[18:42] Santi White: 我们很早就决定,我们的投资者并非程序员出身——他们关心的是投资。
[18:47] Santi White: 所以我们决定只讨论投资相关的内容。最终,我们得到了一款产品,其中编码只是一个纯粹的实现细节。
[18:55] Santi White: 从聊天记录来看,你看不出底层有代码。其他令人欣喜的意外:你会得到清晰的上下文,因此每个代理都会专注于自己的工作,并自然而然地得到改进。
[19:07] Santi White: 而且我们还可以根据自身需求对聊天体验进行很多定制。我们现在要讨论的是,我们的投资领域背景质量非常高。
[19:16] Santi White: 我们教聊天客服人员如何像桥水基金的投资者那样说话。教授这门学科需要用到很多专业术语。
[19:23] Santi White: 因此,用户和代理就像Bridgewater 的同事一样互相交谈。
[19:28] Santi White: 我们也允许投资者像开发人员一样参与代码库的开发——迈克尔就证明了这一点。
[19:33] Santi White: 这一点非常重要。你的用户很可能比你更擅长撰写上下文。因此,保持谦逊,让他们直接参与,是赢得比赛的好方法。
19:44 【Santi White】用 LangGraph 搭对话智能体,以及为何编码只是纯实现细节
[19:44] Santi White: 关于聊天,我最后一点要说的是:我们教给聊天代理的不仅仅是上下文——最终你会得到一个模糊的上下文,虽然信息量很大,但感觉不像是一个工作流程。
[19:54] Santi White: 相反,我们为代理人提供了分步指南,指导他们如何处理某些类型的分析。 这时它更像是一款产品了。
[20:01] Santi White: 可靠的工作流程。演讲的其余部分将围绕我个人最喜欢的部分——编码代理展开。
[20:08] Santi White: 这是编码代理的高级架构图。你在这里看到的所有内容实际上都只是Python代码。
[20:13] Santi White: 它受到 LangGraph 的影响,但没有代理编排。大家都在拍照。 那太棒了。
[20:20] Santi White: 我们将从左边开始,也就是聊天代理制定的分析计划。分析计划被分解为若干任务。
[20:30] Santi White: 每个任务大致对应一个 Python 函数,该函数将计算一个数据框。
[20:35] Santi White: 以下是一个示例模式。它会获得一个名称、要计算的内容的描述,以及关于应该输出的数据框的结构和语义信息。
[20:45] Santi White: 我们期望每个任务都能通过 LLM 确定性地编译成一段代码。
[20:51] Santi White: 因此,两个 LLM 处理同一任务时,应该生成语义等效的代码——输出值完全相同。
[20:59] Santi White: 因此,我们的分析计划不仅仅是像 Claude Code 中那样的一份待办事项清单。
[21:03] Santi White: 相反,我们将其视为一个自然语言 Python 项目。因为我们掌握了大量细节信息,现在我们要进入代码生成阶段,并应用一些高级技术。
21:13 【Santi White】自然语言 Python 项目:确定性任务与并行 LLM 生成
[21:13] Santi White: 首先,我们将其拆分成多个任务,然后并行生成 LLM。由于我们的计划非常详细,因此计划末尾的可视化任务已经知道它需要从尚未完成的代码生成中获取的所有内容,例如用于加载数据的代码。
[21:31] Santi White: 当我们将其与 Claude Code 进行比较时,你会发现,在相同的上下文和相同的计划下,我们生成代码的速度平均快了大约四倍。 但是,由于存在超大规模,一个包含 20 个任务的计划与一个包含 3 个任务的计划所花费的时间相同。 现在我们有了代码,接下来我们要执行它。 你可能只想简单地执行代码,但遗憾的是,如今的 LLM
[21:53] Santi White: 在我们的任务上并不完美,所以它们通常不会一次性完成任务。 相反,我们的做法是,从计划中得到任务,并根据任务生成代码,然后运行代码,将其与任务进行比较,看看是否正确,如果不正确,则编辑代码,并继续操作直到完成。
[22:10] Santi White: 我们对代码做的第一件事是静态分析,然后找出有向无环图 (DAG),并并行应用我们的验证代理。
[22:18] Santi White: 这里同时验证两个任务。因此,一个包含 5 个任务的计划可以简化为 3 个层次,而一个包含 20 个任务的计划可能需要 4到 5 个层次的验证。
[22:28] Santi White: 我希望你们从这部分幻灯片中记住的重点是,我们在架构中强制执行正确性。
[22:35] Santi White: 再次强调,没有主动策划。这是普通的 Python 代码,所以防护措施非常困难,代理不能忘记验证。
22:37 【Santi White】并行验证智能体:在架构层强制保证正确
[22:42] Santi White: 他们被迫进行验证。结果是,当我们对任何方案运行测试套件时,95% 的情况下,两个不同代理生成的代码完全相同。
[22:53] Santi White: 所以它本质上是一个确定性的编码代理。而且,因为我们有这样一个可复制的代理,所以在扩展规模、攀登高峰和评估的过程中,我们得到了比基于感觉或LLM作为评判者的评估更可靠的东西。
[23:10] Santi White: 凉爽的。我还要谈谈执行层这个话题。通常情况下,编码代理会自行调用其代码。
[23:17] Santi White: 它们生成代码,然后通过终端自行调用。这里存在一些权衡取舍。
[23:22] Santi White: 工具调用延迟很高,而且正如大家所经历的,它们有时会在传输过程中丢失。
[23:28] Santi White: 所以,我们改用 LLM 的代码。我们采用经典的静态分析流程,将缓存注释注入 Python 代码中,以避免重新执行,并通过自定义框架运行它。
[23:42] Santi White: 这是Claude Code 调用自身代码与 Pocket Analyst 的一个基准测试示例。
[23:48] Santi White: 我们速度更快,因为我们从不重复加载数据或重复执行中间步骤。
[23:54] Santi White: 但真正的胜利并不在于第一次运行代码,而在于第二次运行。哦,好了。
[23:59] Santi White: 这是一个基准测试,我们选取计划中的最后一个图表,然后更改其名称。
24:00 【Santi White】执行层:静态分析、缓存注解、近乎瞬时的二次运行
[24:04] Santi White: Claude Code 将会重新运行所有代码——基本上耗时相同,尽管它在编辑代码方面速度更快。
[24:10] Santi White: 但 Pocket Analyst 基本上可以立即执行第二轮代码。
[24:13] Santi White: 这意味着,当你作为投资者参与产品开发时,你可以对投资分析进行小的调整,而无需进行常规迭代,从而节省成本。
[24:25] Santi White: 好了,时间到了。我们学到了很多东西,但很遗憾,我们只能介绍这些。
[24:29] Santi White: 首先,我们坚信应该让我们的经纪人专注于特定领域。我们并不真正相信通用型、功能强大的代理。
[24:37] Santi White: 他们制作的演示视频非常酷。我相信我们很多人都送过这些东西。
[24:40] Santi White: 但要把这变成一个可以依赖的日常工作流程,真的很难。相反,我们通常会选择非常具体的工作流程,并对其进行严格的基准测试,然后逐步提高这些基准测试的精度。
[24:52] Santi White: 事后你可以添加这些药剂,但反过来就难多了。最后一点算是思考练习——我希望它能激发人们的兴趣,并有人能从中有所收获:把智能体编码看作是编译器问题,而不是智能体问题。
[25:06] Santi White: 编译器已经存在了几十年,它们拥有大量的技术,可以更可靠、更正确、更确定地生成代码。
[25:13] Santi White: 我们很乐意聊聊这个话题。在此,我要特别感谢我们的直属团队。
[25:19] Santi White: 还有很多其他成员,但这是直接参与的团队。谢谢。我们将在户外参加AMA(Ask Me Anything,问我任何事)活动。
25:29 【Santi White】三点启示:专精智能体、为窄工作流造基准、像编译器一样思考
[25:29] Santi White: 我们非常乐意和你聊聊,看看你是否也对这些问题感兴趣。今晚到时候见。
[25:36] Santi White: 太感谢了。[掌声]
夜雨聆风