Neodrop
Create
FeedDiscoverMy ChannelsAuto-publishJoin Our Discord
FeedDiscoverCreateMy Channels
1/158
2026-10-16

AI 会写代码,但不会值夜班

16 档顶级海外 AI 创投播客图文笔记
16 档顶级海外 AI 创投播客图文笔记@FC
AI 写代码这件事,在这一期里被当成已经解决的那一半。
a16z 的马丁·卡萨多问 Grepr 创始人贾德·纳乌斯:AI 学会了写代码之后,下一个问题是它能不能把系统跑起来。贾德那个十个人的团队用编码代理把一些项目从六个月压到十天;他自己给出的判断是,他们做的那些分布式系统,还没有任何一个模型真的能想通。而这门生意的客户在节目最后露了脸:Grepr 讲 AI 带来的可靠性,客户只回了一句——能不能省掉九成的 Datadog 账单。
下面按节目原始顺序:先是 12 段逐段要点整理,再是全篇逐句中文译文,一句都没省。

逐段要点整理

a16z 自家的播客,主持人是 Grepr 种子轮的领投方;节目片尾也念了那句免责声明。下面每一段都按节目原始顺序走,行末的角标指向可核对的出处。12

00:00 片头:AI 住的那个世界,和真正的那个世界

  • 官方单集页把这一期的问题写死了:AI 已经能写出数量惊人的生产代码,而写软件和运行它是两个非常不同的问题。2
  • 生产系统面对的是不可预测的负载、失败,以及数量惊人的可能状态;片花给出的判断是,代码这一半看起来已经解决,运维那一半还悬着。23

02:03 来路:同一间办公室、OpenFlow、MIT 与 AppDynamics

  • 两人在斯坦福同一个研究生组,导师是尼克·麦基翁;马丁毕业后创办了 Nicira,贾德留下来做 OpenFlow。3
  • 贾德后来去 MIT 做博士后,跟尼古拉·泽尔多维奇做应用安全,并基于拉梅什·钱德拉的博士工作开过一家公司。3
  • 他在 AppDynamics 待了三年半,公司在那一轮从 200 人涨到 2,000 人;思科在 2017 年以约 37 亿美元收购了这家公司。34
  • 从 AppDynamics 出来,他先到 a16z 做企业方向的合伙人,再到 Imply 做首席产品官,把团队从 15 人扩到 90 多人。135

07:37 可观测性这笔账:基础设施支出里的 5%–20%

  • 他在 2023 年前后跟大量工程负责人聊削减开支,答案永远先是基础设施,然后是可观测性。3
  • 企业真正想买的是可靠性,可观测性只是这个愿望的代理指标;a16z 自己的投资公告把这个比例写成基础设施总支出的 10–15%。13
  • 微服务把每一层采集的数据量都推大了,可观测性成本涨得比产出的功能单元更快,每多花一块钱换来的边际可靠性却在变平。3
  • Grepr 的两层就是这么来的:先在上游把信号抽出来降成本,再把信号喂给 AI 去做排查。16

10:44 AI 进工程:十个人怎么用编码代理

  • 贾德对团队规模的回答是「还很小」,官方单集页写的是十个人。23
  • 他观察到好的工程师会把 AI 放进工作流,让 AI 反过来训练自己;团队变大之后,真正好的工程师与「还行」之间的差距被放大十倍。3
  • 他给这个问题留了边界:团队还小,没有在一百个人身上验证过;而差的工程师并没有因此变好。3

15:13 语法与语义:代码写完之后,机器到底做了什么

  • 贾德把句法定义成你敲进去的字符,把语义定义成机器实际做了什么,也就是系统真正的运行时属性。3
  • 马丁接着指出,有些语义没法从句法里推出来,你必须去测它;SQL 是最经典的例子,同一条查询的执行方式取决于 schema 与数据长什么样。3
  • 两人最后约定,就这场对话而言,一个叫「你在写的代码」,另一个叫「系统实际怎么表现」。3

18:19 他自己的栈:Windows、WSL 与四个会话窗口

  • 他用 Windows,理由是不想学快捷键;开发相关的所有事情都在 WSL 的 Linux 里做,没有图形界面,就用命令行。3
  • 他最近学到的诀窍是让 Claude 开命令行子代理,因为那些能把会话持久保留下来,你还能从别的会话里去跑它们。3
  • 他一次只开三到四个会话窗口,给实现代理配一个「技术负责人」做评审;动手之前自己过一遍 PRD 与设计文档,最后一米仍然由人逐项看过去。3

23:26 十天做完六个月:数据湖里的「自动提升」

  • 他举的最后一个项目是数据湖里的自动提升:日志事件里的每一个字段都变成一列,可以不依赖其他行、单独做过滤。3
  • 这件事花了他大约十天,放在以前要六个月;是生产代码、是为新产品写的,而且是他一个人做的。3

25:21 写代码能验证,跑系统不能

  • 马丁把难点摆开:可用性、正确性、性能都是设计空间里的取舍,而模型连访问模式是什么都不知道。3
  • 他的追问是训练数据到底在哪儿。贾德的回应是一个具体案例:查询优化只有在锚定性能基准和真实查询数据集之后才做得好。3
  • 而「这个系统该给多少内存」这类问题只能靠生产里真正跑过的实验;这些系统目前做得好的一点,是知道自己答不出来,就去跑一个实验。3

30:37 AI SRE:先找「什么变了」,不从告警往回追

  • 大多数 AI SRE 从一个滞后指标出发、往回追根因;贾德认为这条路本身就非常有问题。3
  • Grepr 反过来做:大范围聚类,找出环境里变了的东西,抓住那条早期预警消息,再交给 AI 去推理。3
  • 分工上,一个预测模型负责「不一样」,AI 负责「为什么」;贾德特意澄清,目标不是让代理去预测,而是让它拿到一个「确实有东西变了」的确定性信号。3
  • 这套东西目前在 Grepr 内部和几家客户环境里跑着,他说有两例被忽略之后变成了生产故障。3

36:56 离人类还有多远:查询优化很近,跑集群还不行

  • 问到查询优化,贾德的回答是「很近了」;问到跑一个分布式集群,他的回答是「还没有」。3
  • 马丁的模型是这些模型分布进、分布出:代码那个流形相当可管理,运维更像宇宙那一类东西——重尾、以例外为基础、幂律。3
  • 他顺带讲了一条系统研究的老规律:你总想造一个聪明的算法,而每一次都选了过度配置——swap 到磁盘、自适应路由的震荡,最后都归于 ECMP。3
  • 两人的结论是:能教给模型的是那串排查步骤,而那串步骤过去由人走。3

43:18 状态是不是有限的:从 MP3 的悲哀到安全为什么更难

  • 马丁说,你给程序每加一个 bit,它在运维上能做出来的状态空间就翻一倍,很快就是比宇宙里的原子还多的状态;这也是混沌工程没能走通的原因。3
  • 贾德补上操作侧的现实:人也走 runbook,还有隐藏状态;他的目标是把一切做可见,再把精力放在「揪出那次变化」上。3
  • 研究生组的桑达尔·伊耶讲过一个伤心的领悟:一个 MP3 四分钟、四兆,全是 bit 组成的,所以宇宙里的歌是有限的。3
  • 马丁从投资端给了判断:试图啃运维的公司日子过得艰难得多;安全还要更难,因为那里有一个对手在刻意寻找罕见状态。3

52:25 代码之后:受限分布、真实世界,与那 90% 的账单

  • 马丁的框架是:当解空间的分布和训练集的分布一致时,AI 会继续像野火一样烧下去;而当分布是自然世界时,它会难得多、慢得多。3
  • 他举自动驾驶为例:从塞巴斯蒂安·特龙赢下 DARPA 大挑战赛算起,二十年与一千七百亿美元的投入,换来的是比优步更差的单位经济。3
  • 贾德说自己在这件事上更乐观:代码只是一个缩影,如果能在这里跑通,就可以一层一层往上加。3
  • 节目最后收在一个客户身上:Grepr 讲 AI 带来的可靠性,客户只问能不能省掉九成的 Datadog 账单。3

逐句全文翻译

底稿是本期官方整集音频的完整转写(1:00:02);官方没有逐字稿与章节时间点。只保留中文译文,保留说话人标签:片头/马丁/贾德/片尾。转写不带说话人标签,归属由内容判定。23

00:00 片头:AI 住的那个世界,和真正的那个世界

片头:AI 所生活的那个世界全是数字的,而另有一个真实的世界;这两样东西并不一定是一回事。我们刚开始把 AI 拿来做编码的时候,它就是自动补全。当时没有人真正知道,你到底能用 AI 构建出多复杂的软件。后来它基本上冲破了预期,因为我们能够在系统里建模越来越复杂的复杂度。
片头:我只是不知道,运维是不是被同样地约束住了。要学出一个理解全部运维的系统,数据到底在哪儿?我的假设是:数据我们其实都有。我觉得问题也许在复杂度上。以及,你到底能在多大程度上,把你描述的那些运维层面的东西,转换成 AI 可以推理的形式?
片头:很长一段时间里,跑一个分布式集群的脏秘密就一条:靠人来管。你觉得我们现在到了那种地步吗——你可以用 AI 去跑其中一个这样的服务?我觉得已经足够让它把这个循环开起来了。
片头:AI 现在已经能写出数量惊人的生产代码。但写软件和运行它是两个非常不同的问题。这一期里,a16z 的普通合伙人马丁·卡萨多坐下来与 Grepr 的 CEO 贾德·纳乌斯对谈——贾德是一位系统工程师,马丁第一次见到他时,两人都还在斯坦福。他们谈的是:当 AI 从编码走进运维,会发生什么。贾德讲了他那个十个人的团队今天怎么用编码代理、为什么他认为最强的工程师反而从 AI 身上拿到了更多杠杆,以及那些曾经要花上几个月的工作现在怎么能在几天里做完。但更难的问题是代码写出来之后会发生什么。生产系统面对的是不可预测的负载、失败,以及数量惊人的可能状态。马丁和贾德争论的是:AI 能不能学会排查这些系统,
片头:靠发现什么变了、形成假设、再跑实验;还是说,在真实世界里做运维,从根本上就比生成代码更难。而这又引出了这场对话背后更大的问题:当答案并不事先存在于它被训练的那个世界里的时候,AI 还能走多远?

02:03 来路:同一间办公室、OpenFlow 与 AppDynamics

马丁:贾德,谢谢你来做客。可能有人不认识你——贾德是 Grepr 的 CEO,而且我们读研究生的时候在同一个组。我第一次见到你的时候,我们来了个新学生。我走进办公室,桌上摆着一个摩托车头盔和一包万宝路。
马丁:我当时想,这家伙一定酷得没边了。所以我的问题是:你那身酷劲儿都去哪儿了?
马丁:第一个问题。也许先给点背景,简单过一下你的来路。给在听的人说一下,贾德是我认识的最好的系统思考者之一,我很喜欢跟他聊。我们要深入聊的是:从系统的角度看工程,以及 AI 正在怎么影响我们,尤其是运维这类事情上。但先打个底,说说你的背景。
贾德:好。你见到我的时候,正赶上我酷劲儿的巅峰。
马丁:对,你非常酷。摩托车和万宝路。
马丁:我记得我当时想,天啊,烟现在居然是合法的?感觉特别不搭调。我记得尼克有一天看见我在 Gates 楼外面抽烟,他看着我说——
贾德:尼克·麦基翁是我们的导师。
马丁:Gates 是那栋楼。其实我最喜欢的一件事——你还记得巴拉克里希南教授吗?关于他我最喜欢的一点是他抽烟。我当时想,这大概是唯一一个抽烟的教授,我觉得太棒了。
贾德:先说清楚,我现在不抽了。
马丁:对,太老了,人到中年了,不行了。但话说回来,我是跟你一起去斯坦福的。你一直是那个我得仰着头看的人。
贾德:然后就想,这就是我长大之后想成为的那个人。
马丁:因为我比你早入学四年。
贾德:对。所以你比我高四届,你比我早毕业一阵子。你去创办了 Nicira。我留在学校,继续做 OpenFlow 相关的东西,在硬件这一侧做了不少事,其实是从安全角度切入的。我在那儿做过的最有意思的项目之一,是做了第一套大家当时在考虑要用的 SHA-3 实现。我把它们做在硬件里,用来验证它们到底行不行、诸如此类,那是我论文里的一个项目。挺好玩的。后来过了一阵子我决定,我其实不喜欢网络,因为它无非就是把比特从一个地方搬到另一个地方。这能有多难?
马丁:他必须要么在哲学上认同这件事很深,要么就不认同。
贾德:大多数人默认它不深。我觉得它非常深。我是说,它里面有些东西挺有意思的,但对我来说,说到底,那就……算不上。
马丁:对,它打动不了你。
贾德:对。然后我其实去了 MIT 做博士后,跟尼古拉·泽尔多维奇,他也深得吓人、非常聪明。
马丁:对,他非常了不起。
贾德:我那时候做了一些应用安全方面的工作,基于我在那边跟拉梅什·钱德拉一起做的部分研究开了一家公司,他当时还是博士生。但说到底,技术太早了。所以我们做的事……其实很多工作真的都是拉梅什的。
贾德:他的博士课题是:如果你被攻击了、被利用了,你能不能通过回滚跟这个应用相关的整个世界的状态来恢复?然后再把它滚到一个打好补丁的应用版本上,把漏洞去掉。
贾德:然后我们开始把这个东西往真实世界里做。我们说,这听起来真的很难。它其实跟我们今天要聊的东西有点关系——你能在多大程度上真正给运维系统界定出状态?我倾向于认为非常难。不过我们差一点就做成了。差一点。我觉得所有长尾学科都这样,这就是聪明人容易陷进去的原因:你能看到一点点进展,但你就是无限地在逼近一条渐近线。不过扯远了。
贾德:后来我加入了 AppDynamics。我在那儿待了大约三年半。公司从大约 200 人涨到 2,000 人,被思科收购了。我当了一天思科员工。
马丁:然后你就像,贾德。
贾德:你说,我很想让你来跟我一起干,来做这个 VC 的事情。我当时就想,什么鬼,VC 是什么?我是个架构师,我做工程的东西。你说,太好了,你知道得越少越好。你真就是这么说的。是真的。然后我来的第一天,你说——
马丁:慢一点。其实就是,从真正运营的一线转到 VC,需要大脑做很多重构。
贾德:对,对。就像从读博转到做经营一样,你得先把脑子里的损伤治好。这才是真实世界的样子。
马丁:我知道。
贾德:然后我在这儿待了几年,跟你一起做了不少事。那段时间非常好玩。跟很多很棒的人合作,像詹妮弗、马克、本。萨蒂什。对,萨蒂什。我快走的时候,马特来了。然后我加入了 Imply,做他们的首席产品官。帮他们搭建工程和产品团队,从大概 15 人扩到 90 多人,横跨产品、工程、信息安全和设计。这几块我各有一个负责人,我基本上就是坐着协调、整天开会,然后我就想去做点别的事情。于是离开,开始跟很多工程负责人聊他们面对的问题、他们想做的事情。

07:37 可观测性这笔账:基础设施支出里的 5%–20%

贾德:当时——这是二〇二三年的事——所有人都在说,我们想削减开支。好,那你把钱花在哪儿了?每个人都会说,第一是基础设施,第二就是可观测性。于是我开始看这个问题,想搞清楚:为什么大家都觉得它太贵了?结论有几条。第一,人们在可观测性上的花销大概是基础设施花销的 5% 到 20%,但他们真正想买的其实是可靠性——他们想买的是可靠性,以及花费的可预测性,是他们基础设施和应用本身的可靠。
马丁:我明白,我明白,我明白。
贾德:对。所以他们把投在可观测性上的钱当作可靠性的代理指标。而在很长一段时间里,你花越多的钱,得到的可靠性就越多。
贾德:但随着架构变化、变成小得多的微服务、耦合也更垂直之后,每一层采集的数据量都在膨胀。可观测性的市场渗透也深得多,你采集的数据量、以及可观测性的成本,开始比你所产出的功能单元涨得更快。而你每多花一块钱在可观测性上、换来的那点可靠性的边际增长,正在变平。所以大家才觉得它贵。但人们仍然愿意为可靠性付 5% 到 20%。于是问题就成了:我们能不能真的解决这个问题,把那份可靠性的增长找回来——把那点边际可靠性增长找回来——而且不一定要靠多花可观测性的钱,而是靠别的办法?
贾德:所以当时的想法是:好,如果我们能搞清楚什么是信号、什么是噪声,我们能不能把你们采集的那些可观测性数据——到这个阶段,它们大部分是蓬松的填充、是买保险——在上游就做一次信息抽取,上游该做什么就做什么,最后让下游可观测性的成本大幅下降。如果你能在上游实时把那个信号抽出来,那你就有两个收获:第一,降低成本;第二,你能把它喂给别的系统,事后用它来驱动可靠性运维。而当时在远处,有一样东西正进入画面,叫作 AI。我们就想,太好了:如果我们就在数据流里、而且正在抽取那个信号,那我们就处在一个战略位置上,可以把它喂给未来无论会出现什么,因为那一定会需要它。
贾德:于是我们就把它做了出来。Grepr 帮企业做的事情是:一开始是帮它们大幅削减在电报数据上的花销。你把我放进数据流里,即插即用,数据从中间穿过去,成本降 90%。现在我们在建第二层:把那些信号喂进 AI 那一层,由它去排查、去发现哪里出问题、然后把它修好。

10:44 AI 进工程:十个人怎么用编码代理

马丁:我很想听你讲讲你的经验——AI 总体上是怎么改变开发的。很多人都能问这个问题,很多人也回答过,但我就是觉得你是那种工程师里的工程师。
马丁:你做过架构,管过产品,也带过工程团队。你们公司现在有多大?多少人?
贾德:你也知道,还很小。
马丁:你得——我是说,你是在用一个相对精简的团队构建大量软件。所以也许就高层地勾一下:如果你是一个像你这样的资深工程师,
马丁:有架构经验,你觉得人们正在看到的是什么样的收益?也许讲讲你怎么用 AI、你实际看到了什么收益、你的技术栈是什么、你的流程是什么、你怎么想这件事。
贾德:也许我可以给你一个历史视角,讲讲发生了什么。
马丁:好,好,比如在带团队这件事上。
贾德:对,对。我们最早开始用 AI 的时候,它还是自动补全。我记得当时我们在用 Copilot、在 IntelliJ 里,我们说,天啊你看,它把那些测试自动补全了。我们说,是啊,但那只是自动补全而已。然后它非常快地开始演化。我注意到的是:真正好的工程师,总能设法把它放进自己的工作流里,放到一个让 AI 反过来开始训练他们的位置。
马丁:有意思。
贾德:在怎么跟它说话、怎么从它身上拿到最好的东西这件事上。我注意到的是——我注意到的是……要学的东西很多。
马丁:顺便问一句,你觉得这是跟具体模型相关的吗?比如,你是学会了一个笼统的「怎么用 AI」,还是你只是对某一个特定模型变得熟练?
贾德:我觉得不同模型会带来一些细微差别。我敢肯定,看你的推文就知道,你——
马丁:哦,对,我想说的是——
贾德:会有细微差别,但确实存在一种跟 AI 一起工作的方式。
马丁:对,对,对。
贾德:我也认为,跟不同的复合体(harness)一起工作,有各自的方式。比如我们试过用 OpenCode,或者用不同的复合体,或者用 Codex、对比 Claude Code——不同的东西对怎么管理上下文、怎么思考问题、什么时候该起子代理、以及该给它什么样的提示,都有不同做法。比如用 Claude Code 的时候我发现,如果我不告诉它「不要去开 20 个 Fable 代理做基础调研」,它就会去开 20 个 Fable 代理做调研,然后把你所有的 token 烧光。所以这很多东西,你会慢慢学到复合体、模型,以及它们彼此怎么互动,然后它们又怎么跟外面的世界互动。不过我扯远了。
贾德:在我脑子里,我一开始注意到的是:有些人适应得快、学得快、就这么干了,另一些人没那么能适应。而随着我们招进更多的人,那种「还行的工程师」和「真正好的工程师」之间的差距,被放大了十倍。
马丁:你能预测谁会成为好的吗?是不是好的工程师变得更好,而差的工程师没有变好?还是说
马丁:真的是「还行」?
马丁:所以,如果你是好的工程师,你只是变成了更好的好工程师。并不是说有什么差的工程师一夜之间变成了好的工程师。
贾德:不是。
马丁:好。
贾德:从来都是这样:你最终还是得真正理解那个整体设定,因为你的大脑能扛住的复杂度越高,你就能把任务拆得越细,然后分派出去。
马丁:我觉得这也许是个非共识观点。我确实偶尔听到有人这么说,但「更好的工程师会变得好得多」这个说法,听到的人更少。你发现这基本上是普遍成立的吗?
贾德:我是说,你看,我的团队还很小。我们没有在一百个人身上验证过。以我的经验,在我们做的这些事情上,情况就是这样,因为我们做的是分布式系统和分布式算法,而 AI 并不去扛这份复杂度,是你的大脑得扛。所以对我们解决的那些问题来说,没有任何一个模型真的能想通我们做的事。比如我们有一个查询翻译层,我们刚才正好在聊查询优化。你必须真正理解那条查询的语义,理解怎么抵达那条查询的语义,然后把它讲给模型听,再让模型去把那个翻译层建出来。

15:13 语法与语义:代码写完之后的运行时属性

马丁:对在听的人里可能不那么懂计算机科学的人来说,你说的「语义」是什么意思?
贾德:语义其实就是事物的含义。比如「狗」这个词的语义,就是那个四条腿走路、会汪汪叫的动物。而句法是:它只是一个三个字母的词、由三个不同的字母组成。词的形状不一样,而不同词的形状可以不同。但不同的词也可以表达同一个意思。所以它们可能有相同的语义、但不同的句法。狗和幼犬的语义可能略有不同,它们指的是同一……但两者又离得很近。所以,就计算机
马丁:对。
贾德:科学而言,我用很简单的方式描述就是:句法是你敲进去的字符,语义是机器实际做了什么。所以它是系统真正的运行时属性。
马丁:所以你学的是计算机科学,我学的是电子工程。好,你成了计算机科学家,我成了 VC。问题就出在这儿。
贾德:明白了。
马丁:对。总之我当时只是想让在听的人理解一下:一个是真正的句法,也就是写代码——当你说句法的时候,你是在说代码本身;而当你谈语义的时候,你字面上是在说:你有一台解释那份代码的机器,不管它是不是编译过的,那台机器会做某些事,而语义就是那台机器实际做的事。这两件事显然是不同的。比如有些语义,你光看句法根本推不出来,你根本不知道那台机器会做什么。所以你必须去测它。
贾德:你必须去测它。而且它测出来的走向可以有各种各样。这方面有一个非常经典的例子就是 SQL:你可以写一条 SQL 查询,但它实际怎么执行、执行多久,完全取决于 schema 长什么样、数据库里的数据长什么样等等。
马丁:但那我不会叫作语义,我会把它叫作性能特征。
贾德:哦,当然,我觉得那会是……我的说法是:那条查询里属于语义的部分是——取决于数据的形状或者配置,你最终可能会得到不同的语义,因为就像你说的,你想让 null 被当成 false,而除非你也知道系统的配置等等,你是不知道这一点的。
马丁:好,好。就这场对话而言,我想我们就这么说:一个是你在写的代码本身,另一个是系统实际怎么表现,第二个我们就叫它语义,这样我们才能继续聊下去。
贾德:那你想叫它什么?我们得
马丁:我们得深入它的语义,把话说清楚。
贾德:因为这里面有很多——我知道,好,好。我们就保持在高层面上。好,那我们回到

18:19 他自己的栈:Windows、WSL 与四个会话窗口

马丁:其实在节目开始之前,你和我就在瞎聊,你当时说,现在有些项目你一个星期就能做完,而过去要一个团队花上几个月。你能不能带我们过一遍:你个人是怎么演化过来的?做项目的方式,以及你看到的那些收益——比如你的技术栈和你的流程。
贾德:我用 PlotCode。
贾德:我要说一件其实挺好笑的:我用 Windows。
马丁:什么?
马丁:难道不是这家公司微软做的吗?
马丁:对。所以是——对,Windows。
贾德:我用 WSL,所以开发之类的所有事情我都用 Linux。它没有 X、没有 UI。我就用命令行。
马丁:那你怎么用 Windows?
贾德:因为我就是一直不想去学那些快捷键。
马丁:你是打游戏的吗?是不是会
马丁:切过去打 Counter-Strike 之类的?
贾德:不然还能为什么。我不是在恨 Windows,我是说,你知道,我九十年代用过它,那真的就是唯一的原因:我一直不想去学那些快捷键。我讨厌单键鼠标,我讨厌那种只有一个键的东西,我讨厌打快捷键要按一堆修饰键之类的。我从来就是……我就想,为什么要浪费时间?所以我说,行,我装 Linux,我就在 Windows 里用。于是 WSL,我用 Claude Code。
马丁:WSL 是什么?
贾德:就是 Windows Subsystem for Linux。挺好的。他们实际上是在 Windows 里用虚拟机跑 Linux 内核,然后给你访问它的入口。他们做得很好。
马丁:很好。Windows、WSL、Claude Code。
贾德:还有 Claude Code。我最近在用的最新的一样东西,是我用 Opus 5.5,我告诉它——那是个非常好的模型,非常出色。最近这两周我丢出了这些巨大的、二十个 PR 起步的东西,直接扔给我团队去评审。
马丁:然后他们就说,哦。
贾德:我就说,别担心,它很糟糕。就好像新的汇报关系变成了:下面的人来给 CEO 评审 PR。我们是不是已经走到这一步了?
马丁:不是,是所有人都在写同样的东西。所有人都在写。所有人都在写。对,我评审我的人的 PR。然后就是,所有人的 PR 到处乱飞。一边皱眉一边看 PR。
贾德:对。
马丁:但评审这个环节确实变了很多。
贾德:对,我们开始更专注于……更多地专注于测试,以及做类似「黄金期望」这样的东西,看它们是不是在往不同的方向漂移等等。
马丁:嗯。
贾德:但 Opus 5——我最近学到的一个诀窍是:不要用子代理,你基本上让 Claude 去开命令行的子代理,因为那些能把自己的会话持久地保留下来。所以你可以让它单独把这些代理开起来,你还可以从别的会话里去跑它们,等等。这样你在上下文上会高效得多。
马丁:你同时跑多少个代理?多少个?
马丁:多少个?
马丁:什么多少个?
马丁:代理。
贾德:代理。我一般同时开三到四个会话窗口,因为我发现超过这个数,我就开始在几件事之间丢上下文了,因为它们会更快地做完,然后就等在那儿。
马丁:那它们是通过 PR 互相交互的吗?就是这么运作的?那些子代理之间?
贾德:不是,它们直接通过命令行交互。
马丁:哦,哇。好。
贾德:比如我会让那个负责实现的主代理配一个
贾德:技术负责人做评审。它们基本上就是互相提问:这个说得通吗?这个说不通吗?评审我的 PR,等等。于是它们就一起在这些 PR 上迭代。它们还有一份 PR 文档,基本上就是一份设计文档,什么都在里面。我做的第一件事是让那个代理去做,让技术负责人去评审那份 PR 文档。我自己过一遍 PRD,过一遍设计文档,确认它说得通,逐块细看,确认所有算法都成立、所有部件都成立、分工成立、PR 之间的切分和它们之间的关系成立。然后我告诉它:开始做吧。看看哪里可以并行,然后开别的代理去实际做。

23:26 十天做完六个月:数据湖里的「自动提升」

贾德:但说到底,你必须把这一切重新收回到一套栈里,能作为一个人一项一项地看过去。否则它就变得又乱又杂,你根本处理不了。
马丁:那时间上——你能不能给个概念,你现在做一个项目,和比如说六年前比,时间差多少?
贾德:我最近交付的那个项目大概是这样……顺便说清楚,这是生产代码。
马丁:对,这是生产代码。你接下来要说的是「交付生产代码」这个前提下的收益。
贾德:对。我举个例子,最后那批 PR,是我们叫作「数据湖里的自动提升」的东西。在数据湖里,你把所有数据都存着。通常数据是列式的,parquet 文件、Iceberg 之类。
贾德:而从日志来的数据是半结构化的,列是任意的,等等。为了拿到最好的数据布局、并且能高效快速地查询,最理想的情况是:日志事件里的每一个字段都变成一列,你可以不依赖其他行、单独对它做过滤。我们把这件事叫作自动提升,或者叫切碎(shredding)。而做这样一件事极其复杂。你得去搞清楚:元数据系统是怎么工作的?元数据系统的提交是怎么工作的?你怎么协调不同的写入者,等等。
马丁:然后……
贾德:那件事大概花了十天。放在以前,大概要六个月。
马丁:哇。
贾德:而且是单个人。
马丁:哇。这是你一个人做的?还是?
贾德:就我自己。
马丁:这太离谱了。
马丁:就是大概十倍、二十倍的提升。
贾德:对。
马丁:而且是生产代码,是为新产品写的。
贾德:对。
马丁:你知道,我经常有一个问题。我很能理解:这些模型是在有史以来写过的所有代码上训练的,对吧?所以我能理解它们为什么能生成代码,那是句法那一半。

25:21 写代码能验证,跑系统不能

马丁:但接下来,比如你在做核心基础设施,假设你在做分布式算法,它的那些性质——它运行起来怎么表现——是完全不一样的。很多时候你光看句法根本不知道会发生什么。它实际会怎么表现,可用性、连正确性,都取决于负载长什么样:访问模式是什么?流量是什么?
贾德:不过你说的是它的性能方面,还是说它的
马丁:语义?
马丁:嗯,我想的是可用性。你可能必须加锁,于是它在一段时间里就不可用了。我说的是正确性。比如你可能决定做最终一致性,那你读的时候就是不一致的,因为没有锁。
马丁:好。然后是性能:也许你缓存,也许你不缓存。所以这些都是设计空间里的取舍,对吧?对。
马丁:还有,性能——访问模式,你不会知道它在这些情况下会怎么表现,对吧?所以我就会想:好,我有一个 AI,我能理解它为什么会写出一个通用分布式数据存储的代码,
马丁:比如。但我不理解它怎么知道要做那些必要的取舍,因为它连访问模式是什么都不知道。而且也不是说这些东西能——训练数据到底在哪儿?去学出一个能理解全部运维的系统。比如今天我们依赖人来管集群、来优化数据库等等。
马丁:所以你能不能讲讲,你怎么看这件事——我理解写代码那一半,但你手上是这些很深的运维系统,你怎么把 AI 用到这个问题上?比如,我们到底有没有取得一点进展?还是说这仍然是一个悬而未决的问题?
贾德:我觉得问题也许在复杂度上。以及,你到底能在多大程度上,把你描述的那些运维层面、那些在生产里发生的东西,转换成 AI 可以推理的形式。
贾德:对,就是这样。比如怎么——
马丁:AI 怎么才能对这样一个系统做推理?先说第一点:你觉得它写出来的代码,能不能真的预测会发生什么?它在这件事上做得有多好?第二点是:好,那我们要怎么让它对这件事做推理?所以我们先问第一个:如果我用了你的方法——贾德式的写代码方法——然后我搭了一个很大的分布式系统,它在性能、正确性上到底有多少时候是对的?它在运维上到底有多少时候是相当合理的?
马丁:顺便说一句,我在做一个分布式的、高斯泼溅的渲染器。我会说它很烂。真的很难看。因为你有几百万个高斯泼溅,要换进换出、要流式加载。而它完全取决于运行中的系统。所以这个问题上,没有任何一个模型做得好。
贾德:所以在我们这儿,我发现的是:我们其实把性能基准长什么样、系统应该怎么跑,定义得非常清楚。在我们要拿到正确性能时,在我们的流处理器里实际构建的约束是什么,也定义得很清楚。但每隔一阵子,它就会做出一些……
贾德:我最近这个项目全是关于查询优化和查询性能的。所以我说,嘿——这是个经典例子,属于比较难的那一类。我说:你生成的代码很烂。修一下。它就开始一条条过。它一开始没意识到的是:它根本没有对代码做任何优化。它说,这没问题啊,看着挺好的,问题在哪儿?我说,你看,这边这些合取项你在做,而这个特定的项是重复的,本该被消掉。然后它说,啊,好,让我搞清楚。接着它基本上走上了一条线索,去弄明白它到底能优化哪些东西来改善这件事——它围绕这个建了一堆假设。
贾德:但说到底,因为它能把这件事锚定在性能基准上,而我说:你看,这里有一份数据集,是那些查询和用户在问什么。去干吧。所以它这样能做得相当不错。但当问题变成
贾德:这个东西该给多少内存?它完全不知道。而那必须来自在生产里真正跑过的实验。所以我认为,这些系统目前在运维这类事情上真正做得好的地方是:它知道自己大概回答不了这个问题,那就让我想办法跑一个实验,去把这个信息拿到。但当然,到了运维上,生产系统不会按你预期的方式表现。而从根本上说,这就是故障会发生的原因。
马丁:那你有没有在做那种 AI SRE 的事情——就是一个正在跑的系统带着日志,你把日志喂给 AI,它帮你调?有吗?效果怎么样?

30:37 AI SRE:先找「什么变了」,不从播报往回追

马丁:因为就我听来的经验,别人在做这件事的效果都不太好。我听到的反馈都不怎么样。
贾德:有几件事。第一,我们在运维和安全的两个方向都在做这件事。但我们处理它的方式,和别人做 AI SRE 的方式不一样。那些系统里有很多基本上都从一个滞后指标出发:比如这个指标突然跳了,或者这条告警出来了。然后从那里往回走,穿过一个非常复杂的系统,去判断为什么会这样。
马丁:对,比如。
贾德:对,就是这样。这就是为什么那些东西不 work:往回去追根因,本身就非常有问题。所以我们反过来做,
贾德:问的是:我们能不能一开始就去发现,你的环境里有没有什么东西不一样了、变了?比如我们能不能做大范围的聚类,大范围地在干草堆里找那根针——找出那个不一样的东西?
马丁:哦,所以你的假设是:它之前一直好好的,现在不好了。那就是发生了什么事。
贾德:但它也可能只是正常流量模式发生了变化,对吧?那也没关系。
马丁:那也没关系。
贾德:所以我们在看的是:事情出问题的时候,系统通常会以某种方式告诉你出了事。如果它一切正常、按正常规模在扩,什么都不会发生。但有时候你会看到某条消息,说「错误:连接数用尽」,或者「内存超限」,或者「资源缓冲区被清空了」,或者某种迹象——某种非常早期的预警,表示发生了什么。而那条消息就是我们要抓住的,然后从那里往下走,看:这是不是我们真要去查、要去处理的问题?
马丁:那它做得怎么样?
贾德:到目前为止,做得相当不错。我是说,我们
贾德:内部在自己的系统上在跑它。我们也在几家客户的环境里跑过它。而在有几例里,我们忽略了它,那几例后来都变成了生产故障。
马丁:真的?哦,哇。好。这事从直觉上——我能理解这些模型怎么会懂句法,因为就像我说的,它们是在有史以来写过的所有代码上训练的,结果发现这覆盖了很多有用的情形。可我其实很难想象出软件实际运维的边界在哪里。
马丁:对吧?我是说,这话听起来很荒唐,但它其实差不多是真的:你给一个程序每加一个 bit,它在运维上能做的事的状态空间就翻一
贾德:一倍。所以你会非常快地到达——比宇宙里的原子还多的状态。而这大概就是
贾德:为什么这类产品化的运维方法从来没有真正 work 过。比如混沌工程那套东西从来没有真正 work 过。而实际上,很长一段时间里跑一个分布式集群的脏秘密,就是靠人来管。所以我就好奇:而且,你要训练一个 AI 去做这件事,你得有足够的数据、足够的配置。所以我就想问:你觉得我们现在到了那种地步吗——你可以用 AI 去跑一个分布式集群、或者跑其中一个服务?还是说这还在路上?
贾德:我觉得已经足够让它把这个循环开起来了。对。我是说,说到底,我觉得
贾德:我同意你说的。空间是无限的,有非常多不同的东西。但说到底,人也是在 runbook 上操作的。而且,确实生产里有很多事情
贾德:最终需要有个人去看,比如:这太复杂了;这里有一个隐藏的状态,它之所以我知道,是因为前几天我在饮水机旁边跟另一个人聊,他跟我说了他部署的这个东西。所以有很多东西,可能并不在系统状态里可见。但我会论证的是:我们真正要做到的目标,是拿到足够多的电报数据和足够的理解,让一切都真正可见——「这是系统长什么样,这是它怎么工作的,诸如此类」。然后我认为,归根到底,运维里最终真正冒出来的大多数问题——假设这个系统此前一直跑得
贾德:还行——都是因为发生了某种变化。对。如果你能专注在那个目标上:搞清楚那次变化是什么,然后一路走下去——
马丁:这里有个蠢问题:我从来不觉得这些生成模型擅长预测。而听起来你讲了很多预测建模的事,比如你预测一个变化、或者建立一个基线然后检测异常。是我理解错了吗?
贾德:不,你没理解错。
马丁:好。
贾德:因为目标其实不是让这个代理去预测,而是让它拿到一个「确实有东西变了」的确定性信号。
马丁:我明白了。我明白了。好。
马丁:等等,等等。所以是有一个单独的模型做预测那部分,然后它去提醒 AI?
贾德:对。
马丁:好,这说得通。
贾德:对。所以我们做的事是:你把每天多少 PB 的日志给我们,我们全部扫一遍。每次我们在你的日志里看到一种以前没见过的新模式冒出来、一个我们没见过的东西,我们就把它提给 AI。
马丁:我明白了。所以那是一个预测模型,做的是预测模型真正擅长的事——判断出什么是偏离常态的。
贾德:正是。
贾德:然后它交到 AI 手上,AI 用它来判断该做什么。
贾德:所以 AI 基本上就能去推理,把这件事一路推下去。它可以说:哦,这条消息——让我去看看代码,搞清楚它是从哪儿来的、理解这段代码在干什么;让我看看以前有没有发生过。所以它基本上就是跑各种假设和启发式,试着理解:这说得通吗?它在某种意义上是有意义的吗?然后它就能决定该怎么处理它。
马丁:那你觉得我们离——还是回到查询优化,不是日志那些——你觉得我们离让 AI 基本上
马丁:去做一个人过去在查询优化上做的工作,还有多远?

36:56 离人类还有多远:查询优化很近,跑集群还不行

贾德:我觉得很近了。真的?
马丁:真的?
贾德:是。哇。
贾德:跑一个分布式集群——
马丁:我就想到,比如你有詹姆斯·考林,MIT 的博士,他跑着一个分布式集群。集群一挂,公司就不转了;集群一好,它就在跑。我不知道。你觉得我们到了那种地步吗——你会说一个 AI 能做这件事?还没有,还没到。
贾德:好。
贾德:我觉得,我是说,你看,非常非常简单地讲:我们开始把 AI 用来编码的时候,它是自动补全。当时没有人真正知道,你到底能用 AI 构建出多复杂的软件。
马丁:而且我们当时看着它的时候,我们说:啊,AI 永远做不了这个、那个、随便什么。然后它基本上冲破了预期,因为我们能在系统里建模越来越复杂的复杂度。我就是觉得,在这件事上我是个很简单的思考者。对我来说,这些模型就是分布进、分布出。而结果发现,训练在有史以来创造的每一行代码上,这个流形其实是相当可管理的。我就是不知道运维是不是被同样地约束住了。它给我的感觉更像是宇宙那一类东西:重尾、以例外为基础、幂律,以及所有那些对这些模型来说很难学的东西。但我不知道。我是说,你是这个领域里的人,所以也许情况不是这样。也许它们是可管理的。但我要告诉你,
马丁:系统的历史,你也知道,就是你总想造一个聪明的算法,去做那件高效的事——聪明的虚拟内存管理、聪明的拥塞控制、聪明的路由。而我们每 一次 都做了什么?
贾德:我们造了更复杂的东西。
马丁:不,我们每一次都过度配置。不开玩笑,真的是每一次。记得把内存换到磁盘上的 swap 吗?兄弟,你要是真用了那个,你就完了。你的电脑就死了。所以我们其实就是过度配置
马丁:内存。还有路由——你知道有多少种自适应路由算法吗?我们会去响应流量,但会震荡。我们最后说,算了,我们过度配置。我们直接用 ECMP。所以我就觉得,系统的历史就是你不去预测,你过度配置,因为你做不到。而我觉得……
贾德:所以我觉得,在运维这一侧,要么我们这样造系统——我们一开始就把系统造成过度配置的,这样你就不必去做那些复杂的运维工作;要么也许 AI 能像人那样做,但我觉得它和代码非常不同,因为你面对的是例外。没有多少数据,诸如此类。我就是觉得那是一个不同的领域。但我不知道,我是个 VC,我就是……
贾德:你知道,我在这件事上更乐观,原因是我生活在我所面对的那个世界里:我们做的事其实就是在处理可观察的世界。
马丁:我正要说,你才是这方面真正的专家。我来问你这些问题其实挺傻的。
贾德:不,完全不会。因为在我的世界里,我的假设是:数据我们都有。
贾德:就是:我们知道什么时候冒出一件新事情、什么时候出现一个例外、什么时候负载变了,诸如此类。在我的世界里,所有这些都已经被收集过、被流式处理过了,而我们可以——
马丁:对,但那个模型并没有在一个为这些东西提供依据的来源上被训练过。
贾德:不是,不是。那会非常难。但这里的故事不是:嘿,
贾德:克劳德先生,这儿有一堆日志,是不是出什么事了?对吧?它要能做的是远远更多的:去跑实验、去钻进去看,有哪些形状的因果链真的能对上那个实际存在的环境。
马丁:存在。我明白了。所以,这就是你之前说的那个。现在我明白你在说什么了。你是在说:
马丁:这个宇宙是重尾的。会发生的坏事的数量大概是一个例外式的东西,但用来排查它的那套步骤是可控的。而这正是你能教给这些模型的东西,
马丁:而这也正是它们所拥有的。所以,如果你给它正确的信号,它就能走过若干步骤,把这个问题的范围真正约束住。
贾德:正是。
马丁:有意思。
贾德:正是。所以它其实真的在接替人的角色。因为还记得吗,
马丁:还记得整个混沌工程那一波吗?对。它之所以没能走下去,是因为你很快就想去
贾德:把那个状态空间——那个有宇宙里的原子那么多的状态空间——很快地、用一个动作把它变得可管理。而真正去做这件事的、用一串步骤把它压下来的,是人。这就是你说 AI 会去做的事。
马丁:对。
贾德:所以目标不是让模型直接说「会发生这个」。而是:嘿,走一遍这套工作流,去确定发生了什么。我们也在安全这一侧试同样的事。比如在安全里,你有
贾德:你的统计里有一些不一样的东西变了——比如存在哪些实体这件事上的某种行为差异,各种东西的基数差异。于是它就成了这个宇宙里的一个扰动。我们把这个信号拿出来喂给 AI,说:嘿,AI,想出一堆可能存在的因果链,然后一条条去验证,看有没有哪条对得上我们实际看到的数据模式。所以这件事就变得更像——我不知道——把一个方块塞进去,找到那个钉子、或者找到那个正好合上这个钉子的洞。而在我看来,那件事还要更难
马丁:因为运维那件事的论证是:你的系统会进入一些非常罕见的坏状态,而这种罕见状态有很多。所以它就不是那种你能训练一个模型去做的事情,因为它能进入的坏状态实在太多。也许你可以靠走步骤把它压下来。而安全那件事看起来更难,因为这还不只是罕见状态的自然分布。你实际上是有一个对手,他在……刻意去找罕见状态,刻意去找你做不到的地方。所以可能是这样:代码会先被解决,运维要久一点,而安全要久得多。

43:18 状态是不是有限的:从 MP3 的悲哀到安全为什么更难

贾德:嗯,不过我也在想——我不知道,对我来说,整个世界在某种程度上都是量子化的。普朗克长度。物理学家是这么说的吗?我不知道,我不是物理学家。
马丁:我真的不知道我现在在说什么,但我真的觉得时空是被离散化成一个个「普朗克」的。不过对,我同意你刚才说的。对运维、对系统总体来说,可能的状态、以及在它们之间那些走得通的路径,确实是离散的。
马丁:可能有一大堆。可能有一大堆。我跟你说,你记得我们研究生组里的桑达尔吗?
贾德:记得。桑达尔·伊耶?
马丁:伊耶,对,对,对。我记得他有一次来找我,看起来特别难过。他说,马丁,我刚有了一个特别伤心的领悟:你知道吗,你随便拿一个 MP3——还记得 MP3 吗?
贾德:他说,我们听的那个音乐?
马丁:对。他说,MP3 有一个有限的
马丁:范围。四分钟,大约四兆。那就意味着,宇宙里的歌是有限的。
马丁:不,因为它全是由 bit 组成的,而它是四兆,那就意味着你可以把每一个常数都枚举出来。我对这种想法特别难过——关于音乐是有限的这件事,对吧?
马丁:而这真的是——他跟我说这段话的时候,我们正走在 The Dish 那条路上。我说,兄弟,操,你知道你已经多快就越过「宇宙里的原子数」了吗?你连它的一个边角都还没碰到,对吧?那是二的三次幂的二的三次幂那么大的东西。兄弟,你在说什么?开心点。二的三次幂的二的三次幂,四兆。这才多少——
马丁:所以某种程度上,我确实认为我们低估了系统能进入多少种状态。而从我这个看这些公司的 VC 的角度,我告诉你:那些试图啃运维的公司,日子过得很艰难——比啃代码的那些艰难得多,因为我觉得那是一个难得多的问题。
贾德:我百分之百同意。那是一个难得多的问题。而且不只是因为系统本身——有随机发生的外部负载落在你身上,或者有人刚把一个新东西推到生产里、谁也没告诉;
贾德:或者某种状态是真的会在「这个发生了、那个也发生了」之后出现的,然后你就落到死锁里。而且它还牵涉到更多的人,不只是写代码的那一个人。它还牵涉到……
马丁:知识的池子也是分散的。
贾德:正是。
马丁:以及要把这些碎片连起来、拼到一起所需要的那些互动。但
贾德:说到底,我想到的是 AI 现在在哪儿、有哪些可能的未来、以及所有这些东西的深度和前向能力。我觉得代码只是……
马丁:对我来说,它就是一个缩影。也许我只是太宿命了。也许我只是对世界怎么运转太悲观了。我把一切都看成沿着某种概率路径走的东西。
马丁:很多人会说,这不是宿命论,恰恰相反——他们会说,这非常乐观。对我来说,我不觉得宇宙会那么容易就交出它的秘密。但我们会看到的。我是说,这就是那个大问题。而我会说:到目前为止,它还不是一个已经被回答的问题。
贾德:对,还不是。
马丁:但我不知道。有很多事情,我们人类以为它是随机的、或者不可能处理的——
贾德:是,绝对是。
马丁:——而那正是我们在编码上看到的。你看,一开始人们以为:你能用代码实现的那些东西,可能的世界是有限的,你没法让一个系统去理解人脑所需要的全部复杂度。
马丁:太有意思了,居然是我在跟你讲这个,而你是那个看向未来的 VC,却在说「不」。那好,我讲讲我的看法。我的看法是:这些模型,你是拿数据去训练它,那个
马丁:所以你训练在数据上,它代表一个分布,而这个分布有用或者没用。当你训练在语言上、而它居然有用,这在我看来说明人类太了不起了:他们看着这个宇宙——一个非常高维的系统——然后把它归约成了一个对模型来说真正有用的流形,对吧?但那和宇宙本身是不一样的。当然。从这种高维到语言的归约——它是更低
马丁:维的。
马丁:而我认为,代码是把一台机器的全部运维状态,归约成了那些让它运转起来的结构。所以对我来说,在「指令或者描述」和「宇宙实际怎么跑、系统实际怎么跑」之间,仍然有一道断裂。我认为我们可以朝它取得进展,但我要说的是:你其实是在逼近仿真。有些东西在计算上是不可归约的——你必须真的把它跑一遍才能拿到答案,你不能只是预测它。而
马丁:所以,也许我们只是碰到了某条事件视界,在这里——
马丁:模型会解决任何你不需要真的去仿真就能拿到答案的东西。
贾德:对。但为什么?为什么一定要那样想?你为什么不把它想成:它需要现在回答这个问题,而它可以去仿真、或者可以规划自己的执行、去拿到它回答问题所需要的信息——
马丁:对,也许那就是我们要去的地方。对。
马丁:对,差不多就是这样。说得也对。而我认为:存在一个更低维的空间,也就是你会走的那串步骤,我们可以用 AI 把这一大部分压缩掉;然后剩下那些它做不了的步骤,它可以写出代码去做,或者去仿真。而你提的那个点是:这个模型其实没法自己去发现那些我们需要的、额外的世界维度,来把宇宙建模进它的世界里。那大概
马丁:是真的。但它能不能真的把一位科学家仿真得足够像,从而走到那一步?也许能。好。
贾德:好。我能问你一个问题吗?
马丁:当然。
贾德:你觉得 VC 这份工作里,有多少是 AI 能驱动的?
马丁:我的 VC 模型是:它高度依赖关系。我就是相信市场其实是相当有效的。所以重点不是找到别人都没找到的那家公司。我认为大家都能找到对的公司,我觉得市场是有效的。然后我还有另一个 VC 模型:我认为科技是正向的,我对所有科技都偏乐观,我不担心 TAM。所以关键在于「进入」——是能不能融到钱、能不能拿下项目、以及拿下来之后能不能带来价值。而这里面很多东西是初创公司自己天然做不到的,比如招募大高管、或者在这方面帮忙。所以我对风险投资的看法是:这件事你得是个人才能做,因为那才是这份工作的实质。所以在这一点上,我不觉得 AI……听着,如果你给一个 AI 一个仿真宇宙,让它可以去——随便什么——奖励作弊式地建立信任关系,那行。但我觉得那得是……
马丁:话虽如此,我要说:我见过 AI 做的分析,和我共事过的任何初级分析师一样好、甚至更好。所以在分析这件事上它们很棒。但我觉得这更多是在控诉 VC 们的分析能力,而不是在说模型有多强。我就是觉得这一切都是歌舞伎表演、都是扯淡。我就觉得,对的那批 VC 就是:科技是净正向的,科技浪潮总会带来价值,我们去找最好的公司然后投它。市场非常、非常有效。所以我觉得这个问题的答案几乎是个技术性细节。我的回答几乎是个技术性细节。
贾德:那,比如,你知道,我来这儿就是想问你

52:25 代码之后:受限分布、真实世界,与那 90% 的账单

贾德:这个问题——你知道,我们一开始是专门聊运维的。但对我来说,存在一个 AI 写代码的世界,那差不多是它生活的那个抽象仿真世界。然后是剩下的世界。
马丁:对,正是。
贾德:整场讨论就是这个:有 AI 生活的那个世界,全是数字的——训练数据、分布内的那个世界;然后有真实的世界。
贾德:而那些东西并不一定是一回事。
马丁:对,它们经常不是。
贾德:所以问题是——
贾德:你需要把 AI 训练到什么程度,它才能在一个世界里活下来?以及,究竟需要什么——我不想回答「你需要训练什么」这个问题,但我好奇的是那些空着的地方。我们刚聊了一点运维,你说,哦,我不知道它会不会被解决。我说,马丁啊,它是会被解决的。在我脑子里,还有那么多别的东西。比如自动驾驶:很长一段时间里我们以为那不会发生。但显然它其实是会做成的,它会发生,只是要花时间,原因有很多。所以你看来,接下来紧跟在代码后面的,还有哪些阶段、哪些领域?
马丁:我的感觉是:AI 会在受限领域里继续像野火一样烧下去——在那个领域里,解空间的分布和训练集的分布是一样的。代码的句法分布和训练集的分布是一样的;生成图像的分布和训练集的分布是一样的。在这些领域里,我觉得它会继续像野火一样烧。而在那些解空间的分布是自然世界的领域里,我觉得——它会难得多、慢得多,而且我认为经济上的等效会难得多。自动驾驶就是一个很好的例子。我记得塞巴斯蒂安·特龙
马丁:在我还在斯坦福的时候赢下了 DARPA 大挑战赛。记得吗?我们当时说,万岁!自动驾驶马上就到。说真的。结果它花了二十年、一千七百亿美元的投入,换来的是一个比优步还差的单位经济,对吧?所以我认为,解决那些你不得不面对真实宇宙分布的真问题,就是要难得多、难得多。所以我把 AI 看作一个通用的工具——一个非常有效的工具,一个你有一个数据分布、然后希望把它应用到某些问题上的工具。我们会把它用到一堆东西上,而我认为经济均衡会决定什么行得通、什么行不通。因为我觉得它是一个非常非常通用的工具,就像一个通用函数逼近器。而它最后落在哪里——我是说,还是那句话……
贾德:你知道,我之前说的一件事是:AI 当时在训练人类怎么用它。
贾德:而我经常会想,有些看起来无解的问题,原因就在于世界就是那样的。然后我们试图把 AI、或者我们正在造的工具,去套到那个原本就那样的世界上。但在有些情况下,我们其实倾向于改变世界,让它去贴合我们实际能做的事——
马丁:从这个角度……哦,百分之百,当然。我觉得这就是机器人的故事。对,正是。它字面上就是机器人的故事。百分之百,对。自动化数据仓库。我总会想到的那个问题是:我们当时在看那些数据仓库之类的东西,唯一做成的那一个,是那个「你知道吗,干脆把整件事全自动化掉」的。对。
贾德:我很好奇,随着我们改进、或者改变、或者扩展我们想用 AI 工具去解决的领域范围,我们在多大程度上会真的开始对世界建模,或者改变世界、改变那些实际可能发生的事情,让它去贴合
贾德:AI 需要它看起来的样子。对,我是说,我觉得眼下很多 AI 只是在数字世界里运行。
马丁:对。而对这个来说,它的解集就是和训练集同样的分布。某种意义上,所以那没问题。而我认为,还是那句话,就均衡而言——当你面对真实世界的时候,
马丁:你想解决任何问题都可以,问题只是算力和钱。而那个均衡点会是一个经济上的均衡点。而我认为,影响你求均衡的那个函数的一种方式,就是约束环境,就是
马丁:约束这个系统。所以我觉得我们现在正处在这个元经济均衡的飞轮里:我们在用一套被大家看重的解集,去优化一个超级通用但极其低效的过程。而我认为我们会有三十年这样的时间,会创造大量的价值。你知道,
贾德:我听到一个好笑的故事。我们做出了这个 AI 的东西,然后我们去跟人聊,去联系客户,说:嘿,我们做了这个 AI 的东西,我们在帮客户变得更可靠,这是我们在做的事。他们说,太好了,我们想跟你聊。然后我们上了电话,我们说,好,我们做的事是这样:我们造了这套系统,帮你优化数据、帮你降低成本,然后它帮你变得更可靠,因为现在我们能在问题变成故障之前就发现并解决它们。他们说:等等等等等等,往回一点。你说你们能省掉我们九成的 Datadog 账单?
贾德:对。那正是我现在想买的。
贾德:但那个 AI 的东西,就是……不,不,不,不。那才是我们现在想买的。
贾德:对。有意思的是,很多东西……比如对代码这件事,我总是这么想:哦,代码这件事,大家一听就懂。他们会说,哦,真行,它还真能 work。而在运维这一侧、或者超出它之外的任何东西上,就很难理解它真正的价值、很难给它定一个美元数字,也很难真的把那个钱付出来。
马丁:对。
贾德:我同时也觉得,从编码的角度看,它字面上就是工程生产力,而这在这些公司的开销里是最高的一行之一。所以它就非常直截了当。
马丁:正是。
贾德:但你也可以换个角度想:它是 SRE 的生产力,或者是你业务挂了——也许你能少一次故障、而那值多少钱。我不知道。这很怪。我觉得人们在这之外是怎么想它的……对,我
马丁:也还是觉得,代码这件事之所以那么神奇,是因为它太好了,而且没有人以为那会发生。而我认为现在运维这些东西,它还很……还非常早。它还非常早。
贾德:好。
马丁:好吧,这是一次很棒的聊天。谢谢你,贾德。谢谢你来。
贾德:谢谢。
片尾:感谢收听本期 a16z 播客。如果你喜欢这一期,请点赞、评论、订阅、给我们评分或写一条评价,并把它分享给你的朋友和家人。想听更多,请到 YouTube、Apple Podcasts 和 Spotify。在 X 上关注我们 @a16z,并订阅我们的 substack:a16z.substack.com。再次感谢收听,我们下一期见。
片尾:提醒一下:这里的内容仅供参考,不应被视为法律、商业、税务或投资建议,也不应被用来评估任何投资或证券,并且不面向任何投资者或 a16z 任何基金的潜在投资者。请注意,a16z 及其关联方也可能持有本播客中讨论的公司的投资。更多细节——包括我们的投资清单链接——请见 a16z.com/disclosures。

References

  1. 1
    a16z 官方投资公告《Investing in Grepr》(2025-01-22,可观测性占基础设施支出 10–15%)

    a16z.com

  2. 2
    The a16z Show E1230 官方单集页(AI Can Write the Code. Can It Run the System?)

    a16z.simplecast.com

  3. 3
    The a16z Show 官方 RSS(本期整集音频 enclosure,逐句译文底稿)

    feeds.simplecast.com

  4. 4
    思科官方新闻稿《Cisco to Acquire AppDynamics》(约 37 亿美元)

    newsroom.cisco.com

  5. 5
    a16z 官方作者页 · Martin Casado

    a16z.com

  6. 6
    Grepr 官方发布文《Why We Built Grepr》(900 万美元种子轮与 90% 降本口径)

    grepr.ai

16 档顶级海外 AI 创投播客图文笔记
16 档顶级海外 AI 创投播客图文笔记@FC

This story was produced automatically by a channel. One sentence is all it takes for Neodrop to keep producing for you.

Related content

Comments