如果我告诉你,今晚纽约市突然停止运转,你能说出航班无法从肯尼迪机场起飞的几个可能原因吗?地铁在下一站突然停止并滞留在那里。所有的非接触式支付都无法使用。你进入电梯后,它不知道自己在哪一层。电话不再响起。华尔街乃至整个世界陷入停滞。可能的原因是什么?软件。除非另有说明,否则一定是影响了全球的软件问题。没有什么能阻止这个现代世界。纽约市乃至我们整个地球实际上都是由看不见的软件驱动的,其程度之深令人难以置信。
这并非我们要谈论的那种人工智能类软件,而是传统的、确定性的、基于规则的、可靠的软件,正是它为我们带来了现代世界。它是人类在过去70多年里手工打造的。我是Hari,一名产品经理,从事软件开发工作近二十年。我有一个真诚的假设:如果人类历史上存在一个新的行业,那一定是软件行业。因为无论是导航、农业、建筑还是天文学,我们都以不同的形式和形态经历过它们。
虽然如今这些领域可能更加复杂精密,但对我们来说并非全新事物。今天,从通勤上班到观看这段视频,从核反应堆一直延伸到空间站,驱动着125万亿美元经济的共同因素就是软件。因此,如果因为某种原因软件停止运行——就像千禧年问题那样——后果将是灾难性的。我们的现代世界在很大程度上依赖于这类软件,即确定性软件。
这种软件值得你信任你的心脏起搏器,也值得你在乘坐波音747时信赖它。请看左侧的产品图:工程师们被雇佣,他们是每个产品背后判断力的来源,拥有独特的品味。我甚至可以说,他们信仰体系和价值体系都反映在他们交付的软件中。工具链拥有确定性的规则贯穿始终。
运行世界的软件及其旁边的工具链形成了一个交叉反馈循环: assembler 构建了 C,C 构建了 Unix,Unix 构建了一切,然后我们构建了 Kafka、Zookeeper,一直到今天运行世界的 Kubernetes。这张图中唯一的判断力就是人类判断力。我们都知道人类的多样性,而这种差异正是每个产品优势的起源。
这里的方块是整个软件行业和世界经济的高层代表图。谁拥有知识产权?持续的循环在哪里?以及这个循环中工具链的每一块砖如何帮助我们达到新的高度。软件是确定性的还是概率性的,这是一个问题。请保留这张图的概念,让我们看看其中一张卡片是如何变化的。
是的,在人工智能时代,今天的工程师受到模型的协助、驱动,或者有时他们声称是完全自主的——我称之为“租赁”模型。好的一面是,它创造了一个公平的竞争环境,每个人都能平等地获取最前沿的模型和工具。那些以前无法负担谷歌和Meta人才库的团队,现在可以通过API获得智能,声称解决了软件问题。
让我们看看它是否真的解决了问题,或者正在发生什么。如果你仔细观察引擎盖下的情况,你会发现围绕模型的一切——硬件、代理、工具、MCP(模型上下文协议)——仍然是那些老式的确定性软件。构建这些产品的人肯定知道,这些不是AI产品。它们是通过模型构建的同样的老式确定性软件。
没有改变且保持不变的是结果:在一天结束时,世界需要每次都能可靠地执行相同任务的软件。因此,最终产物是驱动我们所知的世界经济的确定性软件。如果是这样,那么AI在这里的角色是什么?它的角色是以最低的成本加速开发现有的确定性软件;以及编写由于预算限制以前从未存在过的、不有趣但困难的确定性问题。
这是我看到的在未来5到10年内将发挥作用的两个用例。所以,底线是:我们将使用概率性齿轮来制造可靠的确定性软件,通过增强(或者有人会说取代)人类判断力。这有可能吗?我们今天处于什么位置?我们将在接下来的演讲中看到答案。
谁认识这个人?我是他的超级粉丝。他是超人,还有他的朋友们。好吧,现在我看到你会连接这些点,因为你知道这几位男士都在精英“10秒俱乐部”中。其中两位相对知名,但三位都是超人,不是吗?2015年有九名选手参赛,他们之间的差异只有0.27秒。加特林以0.1秒之差输掉了金牌。你敢相信吗?
这超出了人类思维的理解范围。科学测量结果显示,尤塞恩·博尔特那天晚上就是那样击败加特林的。但在另一个夜晚,顺序可能完全不同。我跑那100米需要13秒,而不是10秒。你呢?这就是我们与这些在人类能力边缘竞争的非凡运动员之间的差距。
但是,作为一个粉丝,我会像刚才那样为我的偶像辩护。同时我也与这项运动中的专业人士交谈。在他们看来,差距如此微小,以至于当他们在场上时,之前的最佳成绩或世界纪录保持者并不重要。在特定的一天,任何人都可以击败任何人。我将用同样的标准来衡量模型以引出几个观点。
最近斯坦福大学发布的一项研究,Anthropic 1503、Mistral 1460,分数相差87分。排行榜随着每次发布节奏而变化。本周流行的问题是:你在使用哪个模型?使用那个模型让你感觉有多聪明?这难道不是当今餐桌上的热门争论话题吗?
但我可以告诉你一件事,它不一定是一个好的董事会辩论理由。为什么?因为我们往往情感化的一面——就像粉丝时刻——会涌入会议室。毕竟我们都是人类。我不是说不要比较模型,我只是说不应该把微小的移动前沿差距作为产品路线图上的优势。
让我们更深入地挖掘一下,因为有一些数字需要解读。Anthropic 1503、Mistral 1460,相差87分。这并不意味着Anthropic比Mistral聪明87分。实际上,我们应该这样解读分数:它们是基于模型比较得出的相对评级。它告诉我们这些模型彼此之间的排名情况。
在这个评估环境中,它并非绝对的智能标尺。但这里有一个房间里的大象:在这些跨多个团队的对话中,我见过许多组织虽然认为自己在比较模型,但实际上很多时候他们并没有在比较模型。我们错误地比较的是模型的载体或产品。Claude Code 与 Cursor,或者 Codex 的比较并不是模型之间的比较,这更像是牙买加与美国运动员的对比。你是在将一名运动员与其背后的训练体系进行比较。因此,模型是那名运动员或引擎,它提供底层能力;而载体决定了如何使用这个引擎。工具、上下文、指令、编排、记忆工作流以及 MCP 工具调用,这些都是围绕模型的载体。
产品决定了人们为何关心此事,因为那是最终交付物。如今,你可以租用引擎以及随之而来的各种载体,有些紧密耦合,有些松散耦合。如果所有人拥有相同的源代码——就像我们在前一张图中看到的那样——差异化在哪里?过去让不同公司在各自领域蓬勃发展的因素,其根源在于工程师思维的多样性和差异性。鉴于模型现在是租用的,我们越来越多地看到:一旦能力对所有人开放,我们将面对什么?
模型和载体并不关心是谁在输入代码,也不来自世界哪个角落。无论你是 E6、E7 还是初级工程师,面对相同的问题和工具,它给下一个人的反馈与给你的一样。我想把这个结果称为“中位数”。随着每次发布周期的更迭,这个中位数不断变化,正如我们在图表中所见。之前解决的问题被纳入大语言模型(LLM),随后这些发布版本接踵而至,就像软件的开发周期一样。我在这里极度简化了概念,但简而言之,正是这种机制推动着中位数不断前移,这是一件好事。
然而,这也是一种陷阱。因为它足以用于发布,却很难区分下一个人的作品与你有何不同。因为下一个人或竞争对手也可能发布了相似甚至完全相同的产品。这种情况在 2023 年之前是不可能发生的,当时的中位数产品成本高昂,需要团队、时间和技术栈。如今,已解决的问题是免费的,而免费的问题对所有人都是免费的。当你走向客户时,就像其他人一样行动。于是市场上充斥着大量相似的产品,分发渠道成为护城河,而非你的产品本身。
那么在这个新环境中,你能建立什么样的护城河?我将快速引用 GitHub 的数据来重申这一观点:模型与载体的结合正在产生海量的新软件。在我看来,这些确实是优秀的软件,但结果却相似。这并非一群抄袭者的聚集地,绝对不是。这是一群因为拥有相同源头或模具而得出相同时答案的人。我们行业给他们构建的东西起的名字是“AI 垃圾软件”(AI slop)。我想把这个词从你手中拿走,赋予它新的含义。
首先我要公平地说:如果你长期从事开发工作并偶然接触到这种 AI 辅助开发,感觉就像魔法一样,不是吗?因为我们是在对着一个黑箱指点什么。你肯定在某个时刻感到:“哦,它做得真的很好。”两周前我发布了一个 iOS 应用。我一直是一名开发者,但我从未梦想过开发一个应用程序,因为记得我们有过专门的赛道:嵌入式开发人员、应用开发人员。而今天的 AI 正在让每个人成为开发者。在我看来,这是一件好事,我是认真的。“垃圾”这个词带有负面色彩,且他们在没有任何实证分析的情况下使用它。
以下是我的观点:那十万个仓库的激增以及 AI 辅助开发的普及,正在将从未开发过的新人带入这个领域。对于这些新产品,不能仅从专家的角度来审视其成功指标。我想将那一百万个 AI 应用的成功定义为:只要它们达到了创作者所期望的成功标准即可。因为谁定义了什么是成功的产品?对我们来说,可能是带来收入的东西;对其他人来说,可能是在同事面前展示“嘿,看我建了这个很棒的网站”的东西。这也是一种成功。
我在 Lovable 和 Replit 上见过数百万人实际上做到了这一点,这很酷。他们不是 AI 势利眼。当你将一个好问题指向编码代理时,大多数时候结果是实用的,且最终产物可能相似——因为你知道,相同的模具切入了相同的面团。但通过这种方式开发的大多数软件都落入我所谓的“中位数”。我不是让你停止开发或发布它们。对于内部使用来说,这完全没问题。这里唯一的警告是:不要将其视为差异化因素。
但这种中位数缺少一样东西:我们也需要知道其优缺点。这不是新问题。早在 90 年代,每个人都在试图解决搜索问题,大多数人只有基本的爬虫和索引。那些真正解决好这个问题或拥有新颖元素的人将会脱颖而出,因为那是差异化因素。所以今天我说,你能想到的大多数软件的中位数实际上是免费的。但是,如果你想参与公开市场竞争,你需要那种新颖的元素。
在继续之前,先介绍一下我的资历,因为我说了很长时间。我并不是从模型变好才开始构建的。我在公开场合构建了数十个应用程序,并贡献了 Llama Index 和其他仓库。过去三年非常令人兴奋,这也引出了这个主题,同时也让人感到疲惫。我想展示这一点,因为我要展示的 projects 并非业余爱好者的初次尝试。我试图解决一个现实世界的问题,结果却得到了中位数产品。这从未在我的预期之中。
因此我想在这里 coined 几个术语:“构建优先反射”(Build first reflex)。当我们都对 AI 和事物感到兴奋时,我们停止了一些在过去构建昂贵且困难时代所做的事情。那时我搜索的时间多于构建的时间。如今情况反转了。将问题指向编码代理比去阅读那些冗长的输出并做出决定要容易得多。我们不再想做决定了,这正在成为我们技艺中的新常态。那么我们要怎么做?让我们要求编码代理构建一个 Rack 系统。我称之为“构建优先反射”:打开一个问题,打开一个代理。
在前两分钟搭建好脚手架后,我确信如果你习惯了这种开发模式,你可以在2小时内完成一个演示版本的工作成果。你可以把它交给别人,虽然边缘还有些粗糙,但它是能运行的。实际上,你可以在4周内推出一个真正优秀的产品,包含支持等一切服务。但直到那时你才会发现:“好吧,我构建了第400个或第4,000个RAG系统。”我在这里以RAG为例,指出了同样的问题。我们得到的反馈是:“嘿,为什么你要构建第N个RAG系统?当已经有成千上万星标、成熟且功能丰富的开源系统可用时,我们本可以利用它们。我们不应该构建它。”
三年前我们就不会去构建了。“所以它接受了这一点:‘嘿,好吧,我是罪魁祸首。你问:“你能构建吗?”我就着手构建了。如果你当时告诉我这些,我就会做不同的事情。””实际上被构建出来的是中位水平的RAG,这是一个已经被解决的问题。但如果你是第一次构建它,这会让你感到兴奋,因为你会觉得:“我给了一份PDF,指向后端的大语言模型(LLM),然后提出问题。”分块等因素,无论我理解与否,向量数据库都会为我解决问题并给出答案。
微小的胜利会产生大量的多巴胺,而我会像你们一样陷入同样的陷阱。这是冗长的响应,我在上一张幻灯片中定义过它。现在我将停止谈论这些琐碎的问题,展示我的一个应用程序项目。这个项目是前两年的代表作之一,在那期间我开发了许多应用。正如你们所知,“构建优先”的本能反应会触发我的行动。我经常这样做来 coined 这个术语。我通过牺牲外出玩耍的时间来进行构建,跳过许多社交活动和电影之夜。
我当时疯狂地构建着,就像沉迷于一场国际象棋游戏一样。我拥有你能想象到的所有AI平台:Max计划,有时是免费的。在付出了所有这些努力之后,我终于进行了软启动。我有点完美主义倾向,所以在此之前我一直很自负,因为我看到我的想法在瞬间变成了现实。作为一名产品经理,这需要一个大团队和架构师的支持,而我独自一人就能完成所有工作。
直到我发现我还没有与现实校准为止,我一直很自负。真相是,我的圈子告诉我他们曾在别处见过类似的计算器。在任何人认为我抄袭了他们或他们抄袭我之前,令人惊讶的是没有人从对方那里复制任何东西。这是同样的事情,是一种模仿作品。当我分析了一些开放和封闭的计算器时,我发现它们有时甚至不是相似,而是完全相同。
人们怎么会得出相似的解决方案呢?即使你看LLM路由, everywhere 都在收敛。就像那些模型一样,连解决方案也在收敛,并争夺着微小的空间。这就像是你的团队和你的竞争对手拥有相同的开发者一样。因此,你只能通过构建来培养直觉,我相信那些建造者会同意我的观点。我们现在有了重新校准并找到成功路径的东西。
所以在花了两年时间,几乎把所有时间都花在上面的时候,我感到疲惫了,因为我投入了大量的精力。每当我有一个令人兴奋的想法时,我都会带着“构建优先”的本能去实施它。几乎每次我都发现自己处于一个拥挤的赛道中,那里已经有两三个人在竞争;或者我是第一个进入的人,当我休假一个月回来时,会有60个类似的产品出现。
拥有更好分发渠道的人显然会赢得这场战斗。所以我想再 coined 一个新术语:“构建优先,然后呢?”在AI软件开发生命周期中,存在一个“新颖性预算”。如果你能获得至少一单位真正的独特性(就像PageRank对Google那样),你就能在很长一段时间内超越中位水平。你选择一个问题,并希望成为该问题的最佳解决方案,那么你就有很大的机会击败人群。
在前两年里,我日夜钻研架构、智能体设计、提示链和技能等。有人分享说:“嘿,这是我的Claude新工作流。”那是我的Claude新工作流。“我都做过这些事。而且大多数情况下,相信我,如果你没有得到相同的结果,那也很相似。”所以我不得不重新设计我之前展示的计算器。这次我花了几乎所有时间来思考如何差异化,而几乎没有时间去炫耀我的Claude代码或我曾经引以为傲的代码技能。
因为那感觉像魔法一样。来自模型的中位水平并不具有观点性,它只是收敛的最佳实践。所以我选择了一条赛道,并将其视为一种预算。在花费数百万token和多个Max计划两年后,我觉得其他一切现在都是免费的。“新颖性预算”的投资回报率最高。所以在账单开始之前,命名那件独特的事物。
如果你没有独特的东西,那么你可以采用中位水平的方法,因为我相信肯定有很多人已经为你所面临的问题构建了解决方案。告诉我一个没有任何解决方案的问题吧,我会去帮你找到它。然后将这个新颖性计划作为你路线图和项目规划的一部分纳入其中。我现在就是这样做的,并且像审查项目支出一样去回顾它。
老实说,如果你无法说出你项目中独特之处在哪里,那么你应该承认这只是一个学习练习。那也没关系。“失败、学到的教训以及击败中位水平的机制,经过这两年的积累,我总结出了这四条规则。这些不是针对副项目的规则,我希望你将其作为未来几个季度的路线图演讲来执行。”因为你的产品肯定会有孪生版本,有时甚至是开源的。为什么要付出所有努力自己去构建呢?利用它,分叉(fork)它吧!
其中一点是:要极具观点性。AI助手大多数时候会给你提供可能的答案,无论是关于什么的。这些东西对几乎每个人来说都是一样的。它们可能相似,但这属于已经解决的问题范畴。在中位水平的世界里,“观点”是你拥有的最廉价的新颖性,去追求它吧,因为模型无法提供这一点。第二,“从提示到生产”是一条中位路径,这绝对没有任何问题。
如果你觉得你要构建的是一个内部消费的产品,你的团队需要使用它,我完全支持这样做。第三点:这是最迷人的地方。当AI说“完成”时,这意味着对我来说:“好吧,AI已经给出了它的中位产品。我必须从这里开始工作。”这是来自任何编码助手的信号。
代理的工作从那里开始,请记住这一点。目前的编码代理免费提供了上一次伟大的设计成果。它们不会发明下一个 Kubernetes、Zookeeper 或 Kafka,也不会创造那些作为基础构建模块的新事物。它们将负责搭建脚手架,并在多个方面表现出色,但这将是最后一次免费获得伟大设计的机会。那么你的工作是什么?如果你想在这个领域蓬勃发展,你需要找到下一个这样的机会。这里有一些我发现有用的方法。我已经将这些方法与组织内的多位领导者分享过,并收到了很好的反馈。如果你正在领导团队且尚未开始利用 AI 进行构建,这正是为你准备的。
你会看到一堆演示文稿,我确信你每周都会受到它们的轰炸。这看起来很重要,因为领导层的直觉并没有得到校准。回想一下,当他们建立自己的直觉时,他们看到的交付成果需要花费一个季度甚至更长的时间以及整个团队的努力。而今天,一名新工程师出现并声称能在同样的时间内完成原本需要团队和一个季度才能完成的开发工作。因此,这是决定将鸡蛋放在哪些篮子里最困难的时期之一,特别是当你没有沉浸在这种技术中时。
因为没有人可以通过阅读或观看 YouTube 视频、LinkedIn 帖子来重新校准直觉。你必须通过构建来重新校准,只有通过构建才能建立直觉。所以行动指南很简单:三个问题。这些问题不会解决你的所有难题,但它们是很好用的参考问题。第一,“谁已经做过这个了?”这个问题迫使你进行搜索,因为在令人兴奋的 AI 世界中,我们需要驯服由 AI 驱动的“先构建”本能。
第二,“我们拥有什么是下一个团队、我们的竞争对手或团队成员其他人所没有的?”这将新颖性作为头等大事强行植入团队成员的思维中。因为有人会说,更好的提示词只会给你提供一个中等的问题和中等的答案。第三,“这个应用将运行在哪里?”在令人兴奋的 AI 时代,当每个人都在热衷于构建时,强制进行基于结果的思考是一种展示方式。如果你没有分发模式,演示就是昂贵的试错成本。
我在过去的一年里严格应用了所有这些原则。你可能会问:“我之前跟你提到的那个项目怎么样了?”(轻笑)我问了自己这些问题:好吧,如果我要提供高于中位数的价值,那么开放模型和令牌生成系统之间有什么区别?企业为此需要付出什么成本?因为虽然开源权重很流行,但开放权重并不等同于开放的推理能力。我因此吃了苦头,因为在开源权重和生成这些令牌的系统之间存在着十层壁垒。
我们理所当然地认为实验室会为我们提供这一切,包括机器学习运维(MLOps),以及世界上从未见过的不同规模的站点可靠性工程(SRE)。所以,有精确的 KV 缓存、批处理、执行并行性等等,以及它们的各种细分领域。其中一些你需要聘请专家。我不知道这些专家从哪里来,因为这不是行业已经具备的技术或技能。而其中一些,比如第九层利用率,是结构性的问题,你无法购买它。
所以,除非像我说的那样,选择一个特定的问题并致力于成为解决该问题的全球最佳者,否则仅使用这些 AI 工具是无法跨越中位数的。我进行了搜索,发现我之前展示的 244 个计算器都没有做到这一点。因此,我将整个应用程序改为了计算在您的企业内部运行相同权重与在 Neo 云运行并获取令牌之间的成本差异。这就是这个计算器所提供的功能,因为如果你有开放模型想要去构建它,那么区别究竟在哪里?
我收到了许多企业的积极反馈,他们确实想走这条路。因为当人们提到开放模型时,他们会感到兴奋:为了什么?对于考虑部署开源权重模型的组织来说,权重是免费的。但你可能需要检查一下——这是二维码。所以扫描它,将其输入到你的工作负载中,看看哪种方式对你更有利。它是开源且免费的。
这就是这一切的归宿和终点。借助 LLM 的力量,过去三年的构建工作变得指数级容易了。但软件开发的变化和动态在本质上并没有改变。基于提示词的中等产品是有用的,我也交付过它们,它们不是垃圾。但在开放竞争中,它们的持久性很差。除非你拥有巨大的分发模式,否则它们可能无法生存。
所以,如果你想在这个领域蓬勃发展的一种态度是——我可能会重复这一点:选择一个问题并致力于成为解决该问题的全球最佳者。是的,我们可能无法完全攻克它,但这种意图绝对会让你高于平均水平。剩下的唯一问题是:你的 AI 辅助产品能否蓬勃发展?我在中位数水平上花了两年时间,但那是一种教育。我烧掉的每一个令牌都是值得的。
我在开始时问了两个问题:软件会发生什么变化?对我来说,运行着这个 100 万亿美元经济的软件不会发生任何本质变化。世界仍然依赖于确定性软件,至少在可预见的未来是这样,而且可能永远如此。AI 时代意味着我们可以更快地编写代码,但它不会取代确定性软件。因此,我想总结一下:将你所有的精力都投入到一件事上,那就是新颖性。榨干你大脑的每一滴汗水去追求新颖性,因为新颖性是稀缺的,而中位数是免费的。选择权在你手中。谢谢。