第 11 章
演示与裂缝
汤姆·霍兰德知道如何管理预期。2021年2月,这位蜘蛛侠的扮演者在接受采访时抛出了一个精心设计的表态:他与漫威影业的合约即将到期,《蜘蛛人:无家日》将是最后一部履约电影。然后他停顿了一下,补充道——如果片商需要,他仍愿意继续出演。
这个表态本身就是一种信用校准。它制造了一个小小的悬念,但悬念的底座是坚实的:三部独立电影累计票房超过四十亿美元,每一次上映都在全球银幕上产生可验证的反馈。演员与制片厂之间的博弈,围绕的不是“是否会继续”,而是“以什么条件继续”。信任在此处不是盲目的,它被精确地锚定在可计量的历史表现上。地面真值在起作用。
三年后,在另一个同样依赖精确反馈的领域,一场关于自主性的演示将这种刚刚建立起来的信用逻辑推向了张力极限。只不过这一次,演示所承诺的,远比一个演员的续约复杂得多。2024年3月12日,一段视频开始在全球技术社区传播。视频画面被分为多个面板。左侧是终端,命令行提示符闪烁,bash命令逐行写入。
中间是代码编辑器,函数在光标下成形,注释被自动填充。右侧是文件树,新目录和文件随着进程不断展开。没有可见的人类手部操作光标或键盘。控制这一切的,是一个名为Devin的智能体。
视频的发布方是一家名为Cognition AI的初创公司,在此之前几乎没有任何公开信息。公司创始人斯科特·吴(Scott Wu)是一位竞争性编程选手,曾在Codeforces上达到过顶级排名。团队规模极小,但这段演示视频的质量无需任何背景背书。Devin在视频中接收了一项从Upwork平台获取的真实编程任务。需求描述使用了模糊的自然语言:“使用Python获取给定URL的搜索引擎排名”。
智能体开始工作。它首先自行搜索API选项,阅读了SerpAPI的文档,决定使用该服务作为数据源。随后,它在终端中创建虚拟环境、安装依赖包、编写主脚本。过程中出现了一次API密钥错误——Devin检测到异常,回溯日志,定位问题,修正了配置文件。最终,脚本成功运行。输出结果被验证。代码提交至GitHub仓库。视频结尾,任务被标记为完成。
终端日志中,一行绿色的输出被反复截图传播。它几乎立刻成为这场演示的图腾:Build succeeded. 0 errors, 0 warnings.
社交媒体在几小时内陷入狂热。风险投资人、科技媒体和工程师账号纷纷按下转发键。Benchmark合伙人比尔·格利(Bill Gurley)在推文中写道:“这就是未来。第一个真正的AI软件工程师诞生了。”Lux Capital的乔希·沃尔夫(Josh Wolfe)将其描述为“ChatGPT之后最具颠覆性的演示”。Y Combinator的保罗·格雷厄姆(Paul Graham)转发时只加了两个字:“注意。”
这两条推文后来被反复引用,不仅因为它们的内容,更因为它们的发表时间。3月12日,演示发布当天。演示的力量在此刻达到峰值。一个看不见人手的软件项目从无到有,自主完成。
它似乎完美印证了前一年被反复论证的地面真值定律——编程任务具有明确的可验证性,代码要么运行成功,要么失败;测试套件、编译日志和功能输出构成了无可辩驳的反馈循环。Devin的演示,看起来正是这一定律工程化的完美胜利。
在随后的七十二小时内,至少六家顶级风投机构接触了这家公司。估值传闻开始以九位数计量。Cognition AI的定位被迅速勾勒出来:它不是在做一个更好的代码补全工具,而是在做“AI软件工程师”——一个可以独立完成编程任务的自主智能体。这个定位让所有此前在Copilot、Cursor和Replit上看到的辅助式AI都显得像是上一代产品。
但信任的计量并非一次性支付。演示创造了一种市场想象,一种关于能力完备性的预期。
这种预期与工程现实之间的差值,构成了一种可以被命名为“演示溢价”的现象。溢价在短期内推高了公司估值和行业关注,但它的释放方式并非由演示者控制。当复核潮来临,溢价的兑现便开始反向运作。用户一旦亲身尝试并遭遇失败,他们收回的不仅仅是好感,而是对整个产品范式的信心。
独立复核结果在随后的几周里开始流出。最先发出系统性质疑的,是一位名为卡尔·布朗(Carl Brown)的资深软件工程师。他不是随机的批评者。布朗拥有十五年以上的工程经验,曾在Stripe担任基础设施工程师,在技术社区以严谨的测试方法论著称。他在自己的博客“Software Engineering Daily”上发布了一篇长文,标题直截了当:《我测试了Devin——它还不是软件工程师》。
布朗的复核方法并不复杂。他选取了Devin演示视频中展示的同类型任务——从Upwork获取需求、搭建环境、编写代码、调试——但系统性地提高了任务复杂度。
他设计的核心测试任务之一,是为一个开源Python库提交一个功能补丁,要求兼容三个以上的Python版本,并且通过该库现有的CI/CD管道。这与Devin演示中的“编写脚本获取搜索排名”相比,核心差异不在于代码行数,而在于约束条件的数量。演示任务只需要处理一个API和一个输出格式。布朗的任务则需要阅读现有代码库的架构、理解项目贡献规范、处理跨版本兼容性问题,以及调试在本地环境无法复现的CI失败。
结果是分层的。Devin成功地创建了虚拟环境,安装了依赖,甚至编写了功能代码的初稿。这部分表现与演示一致。
但它在处理跨版本兼容性时出现了系统性失误。具体表现为:它生成的代码在Python 3.10上运行正常,但在3.8和3.9上触发了一个类型注解相关的SyntaxError。这个错误对于有经验的工程师而言是显而易见的——Python 3.9之前的版本不支持某些类型注解语法。但Devin没有识别出这个根本原因。
当CI管道返回失败日志时,Devin的调试行为进入了一个循环。它反复修改了同一个文件中的同一个函数,每次修改都在解决一个错误的同时引入另一个。第一次修改,它删除了类型注解,解决了SyntaxError,但触发了另一个依赖于类型注解的mypy检查失败。第二次修改,它恢复了类型注解,但使用了不同的语法,仍然在3.8上失败。第三次修改,它尝试在文件顶部添加一个版本检测的兼容性导入,但这个导入本身的语法在3.8上同样不兼容。十五次迭代后,CI仍然未通过。布朗终止了测试。
他在博客中贴出了CI日志的截图。截图中,一行红色错误信息反复出现,每次伴随略有不同的代码修正,但根本性的兼容性问题始终未被解决。日志的核心模式是:SyntaxError: invalid syntax at line 42——ERROR: mypy check failed——SyntaxError: invalid syntax at line 15——ERROR: module import failed——一个循环,十五次重复。
布朗的结论是克制的,但指向了结构性问题:“Devin在明确定义、低约束的任务上表现出色。但当你增加任务的环境复杂度——多版本兼容、现有代码库的架构约束、需要阅读理解而非生成的调试——它的成功率急剧下降。这不是模型的问题。这是自主性假设的问题。当系统缺乏对约束优先级的内在理解时,更多的循环只会带来更多的错误。”
这篇博客在发布后四十八小时内获得了超过二十万次阅读。它的影响力不在于论证的尖锐,而在于证据的粒度。布朗没有发表关于“AI取代工程师”的宏观评论,他贴出了具体的CI日志,具体到行号,具体到错误类型。这种证据让任何试图反驳的人都需要面对同样具体的技术细节。
第二份有影响力的复核来自一家名为Answer.AI的独立研究机构。团队由杰里米·霍华德(Jeremy Howard)和埃里克·里斯(Eric Ries)共同创立,专注于AI系统的实证评估。他们的方法更为系统化:选取了SWE-bench基准测试中的一个子集——这是一个包含真实GitHub issue的数据集,专门用于评估代码修复能力——并试图在受控条件下复现Devin的表现。Answer.AI没有直接访问Devin的权限。这在当时是一个普遍问题:Cognition AI尚未开放公开测试,所有关于Devin表现的讨论都基于演示视频和技术博客。
Answer.AI采取了逆向工程的方法:基于公开信息重建了任务执行流程,然后在相同任务上使用公开可用的模型和工具链进行对比测试。他们的目标是建立一个基线:如果一个智能体在演示中展示了某项能力,那么使用类似的架构和模型,在相同任务上应该能复现大致相当的表现。
研究结果指向了一个更精细的问题。Answer.AI注意到,演示视频中Devin的成功路径高度依赖一种特定的任务模式:需求清晰、外部依赖少、成功标准单一。当任务偏离这种模式——例如,需要理解现有代码库的设计意图、需要判断多个可行方案之间的权衡、或者失败模式不是语法错误而是逻辑错误——智能体的表现就出现了显著衰减。
研究团队在报告中写道:“Devin的演示选择了一个精心裁剪的任务窗口。在这个窗口内,它的表现近乎完美。但窗口的边界,正是目前自主性假设的边界。
这不是对Devin的批评。这是对自主性演示的普遍现象的观察:任何智能体都有一组任务可以被展示为‘完美’,问题在于这个窗口的宽度,以及演示者是否诚实标注窗口的边界。”
这份报告在技术社区引发了更广泛的讨论。Hacker News上,相关帖子的评论区在几小时内积累了超过八百条回复。一些评论者将Devin与一年前的AutoGPT进行类比:两者都在演示中展示了令人惊叹的自主性,但两者也都将这种自主性建立在一个脆弱的假设之上。AutoGPT的假设是循环可以替代判断,Devin的假设是特定条件下的成功可以线性外推为一般条件的能力。但另一些声音更为审慎。前GitHub CTO杰森·沃纳(Jason Warner)在推文中指出:“Devin的演示被过度解读了。它展示的不是一个可以替代工程师的智能体,而是一个可以辅助工程师完成特定子任务的工具。这不是Devin的失败,这是市场叙事的失败。我们又一次把能力演示当成了能力交付。”
这条推文获得了两千三百次转发。它指出了问题的核心:Devin的演示本身并没有说谎,但它在传播中被赋予了一个远超出其工程现实的叙事。“第一个AI软件工程师”这个标签,一旦被贴上去,就设定了观众的预期框架。在这个框架下,观众理解的是“它可以完成工程师能做的任何事”,而不是“它可以在特定条件下完成工程师做的某些事”。
Cognition AI在争议升级后做出了回应。斯科特·吴在3月18日发布了一篇博客文章,标题为《Devin是什么,以及它不是什么》。文章中的关键措辞值得逐字阅读:“Devin是一个AI软件工程助手。它并不是要取代软件工程师,而是处理工程工作中重复、定义明确的部分。我们在演示中展示的是Devin在有明确成功标准的任务上的表现。
自主性是一个光谱,而不是一个开关。我们正在从光谱的左侧向右移动,但还有很长的路要走。”
这段话是一次校准。它将演示中暗示的“自主性”拉回到一个更有限的定义上,同时试图将市场预期重新锚定在一个更现实的水平上。但措辞本身也暴露了校准的难度。“自主性是一个光谱”——这句话在技术上是正确的,但它回避了一个更尖锐的问题:在演示视频中,这个光谱被展示在了哪个位置?观众是否有足够的信息来判断这个位置?
博文发布后,社交媒体上的讨论并没有平息,而是转向了另一个问题:如果演示本身选择了最有利的窗口,那么用户如何判断这个窗口是否适用于自己的任务?这个问题触及了演示溢价的核心困境。智能体演示创造的市场想象,天然倾向于高估能力的完整性和普适性。一段视频中终端日志的滚动、文件树的展开、代码提交的完成——这些视觉信号在观众心中构建了一个关于“自主性”的完整叙事。
但工程现实并非如此。一个智能体在十个任务上的成功,无法被线性外推为在一百个任务上的同等成功率。约束条件每增加一层,失败概率就非线性增长。
这不是Devin特有的问题,这是所有自主性演示都面临的结构性张力。风险投资人态度的变化,为这场信任折价提供了最清晰的量化轨迹。3月12日发布当天,至少四位知名风投合伙人在社交媒体上表达了“颠覆性”级别的评价。一位投资人写道:“这是自GPT-4以来最令人兴奋的技术演示。”另一位称其为“软件工程的GPT时刻”。到了3月25日,当复核报告开始在技术社区广为流传时,同一位投资人在评论区更新了自己的判断:“我仍然相信自主性编程是未来。但Devin的演示让我重新思考‘未来’这个词的时间尺度。我们可能低估了从演示到生产之间的工程工作量。”
另一位合伙人的态度转变更为直接。他在3月12日的推文只有一句话:“终于看到一个真正的AI程序员。”而在3月28日的推文中,他写道:“2024年最值得关注的问题:如何诚实地评估一个智能体的能力边界?我们目前的评估框架还停留在看demo的水平。”
这两条推文之间的十六天,恰好是演示溢价从峰值到释放的完整周期。Devin事件并非孤例。2024到2025年间,多家公司在发布计算机使用智能体或自主工作流产品时,都遭遇了类似的动态。
Adept AI在2024年初展示了其ACT-1模型操控浏览器完成在线预订任务的视频。演示中,一个购物网站的界面上,光标自动移动,点击搜索栏,输入“纽约到旧金山航班”,选择日期,填写乘客信息,整个过程流畅得如同人类操作。科技媒体CNET的标题是:“这款AI可以像人类一样使用任何网站”。但当有限的测试权限开放后,用户在社交平台上分享的体验却指向了另一个方向:同样的任务在稍微不同的网站布局上就会失败,网络延迟的微小变化就能打断整个操作流程,演示中未出现的弹窗广告在现实中让智能体完全迷失。
Magic.dev的演示也经历了相似的轨迹。这家公司在2024年中期发布了一段展示其智能体处理超长上下文代码重构的视频。
在演示中,一个包含数十万行代码的项目被成功重构,依赖关系被正确更新,测试全部通过。视频接收了超过一百五十万次观看。但随后,独立开发者尝试在类似任务上使用时发现,重构质量在上下文窗口接近极限时急剧下降——智能体开始“遗忘”代码库前半部分的架构约束,产生了逻辑上不一致的修改。一位开发者将其描述为“一个在项目前半段很聪明的助手,但到了后半段好像换了一个人”。
这些案例共享一个结构。演示溢价的形成分为三个阶段。第一阶段是初始冲击。一段精心制作的视频或现场演示,展示智能体完成一项看似复杂、实际约束条件有限的任务。视觉上,每一个细节都是真实的:终端日志是真的,代码是真的,提交记录是真的。但选择已在此刻发生——任务被选择,环境被准备,失败的尝试被剪辑。
第二阶段是叙事膨胀。媒体和投资者将单次成功外推为能力完备性,市场想象开始填充技术空白。“第一个AI软件工程师”不仅是一个标签,它是一个承诺。
它承诺了可替代性,承诺了可规模化,承诺了无需人类干预的完整工作流。这些承诺从未出现在Cognition AI的官方表述中,但它们在传播中被自动附加。第三阶段是复核折价。独立测试揭示真实表现边界,市场预期回调,信任被重新定价。但回调的幅度往往超过技术边界本身,因为被辜负的不只是对某项能力的期待,而是对整个自主性叙事的信心。用户收回的不仅仅是好感,而是对产品范式的信任。这种模式在Devin事件中尤为清晰,因为编程领域恰好是地面真值最明确的领域。代码要么运行,要么失败。测试要么通过,要么不通过。没有模糊地带。正是这种明确性,使得演示溢价的落差更加刺眼。将Devin与AutoGPT对照阅读,可以揭示更深层的结构。AutoGPT在2023年春天经历的九十天狂热,与Devin的演示溢价共享一个根源:两者都过度暴露了不成熟的自主性。AutoGPT的核心机制是一个while循环——模型生成任务、执行、观察结果、生成下一个任务。
这个循环在演示中展现出了令人惊叹的涌现行为:一个提示词就能让智能体开始“经营一家公司”或“研究一个市场”。但当用户发现AutoGPT生成的“商业计划”包含了虚构的收入预测和循环论证的市场分析时,狂热开始退潮。循环不能替代判断。地面真值在AutoGPT的案例中根本不存在——没有可验证的反馈,循环只是在放大初始误差。Devin的争议发生在十八个月后,发生在同一个定律被证明为有效的领域。它的地面真值是存在的。代码可以编译,测试可以运行。但复核结果揭示了一个更精细的问题:地面真值只能验证“是否成功”,不能验证“在什么条件下成功”。当演示展示了一个在特定条件下成功的案例,而市场将其解读为在一般条件下的能力时,地面真值本身并没有被推翻——它只是被选择性展示。这是Devin事件更具反讽意味的地方。在AutoGPT的时代,地面真值不存在,所以溢价的释放是彻底的:一旦用户意识到循环无法产生可靠结果,整个范式都被质疑。
在Devin的时代,地面真值存在且被验证了,但溢价的释放仍然发生了——因为演示选择性地激活了地面真值,只展示了它通过的那一面。当最可验证的领域都无法完全锚定演示信用时,信任的脆弱性暴露无遗。这个差异对缰绳层的影响是深远的。缰绳层的核心工程挑战之一,是让人类对智能体的行为建立准确预期。这不仅仅是展示能力的问题,也是管理预期的问题。信任的计量在此显影:自主性不是按智能出售的,而是按信任出售的。权限弹窗、沙箱、人在环、回滚机制——缰绳层的一半工程不是让模型更能干,而是让人类敢放手。但信任的建立需要时间,而信任的破坏只需要一次被夸大的演示。当一个智能体被描绘为“第一个AI软件工程师”,而用户在复核中发现它连多版本兼容性都无法处理时,信任的折价并非只针对那个特定产品,而是扩散到整个品类。每一次被证伪的自信,都在提高人类松手的心理门槛。2024年秋天的后续发展进一步证实了这一点。
当Cognition AI在数周后开始向企业客户提供有限访问权限时,它的定价策略和客户沟通方式发生了明显转变。公司不再强调“自主性”,而是强调“辅助性”。Devin的定位从“AI软件工程师”调整为“工程团队的AI助手”。产品界面中增加了“人在环”确认节点,允许人类工程师在关键步骤介入。这些调整本身是诚实的工程实践,但它们也揭示了演示溢价释放后的真实代价:市场不再相信那个最初的叙事,企业必须从更低的信任起点重新开始爬坡。回到2024年3月那个引爆点。视频中,终端输出了一行绿色的编译成功信息。Build succeeded. 0 errors, 0 warnings.
这行文字被截图、转发、放大,成为一场关于自主性演示的图腾。它没有说谎。在那个特定的任务、特定的环境、特定的约束条件下,代码确实编译通过了。但当它被嵌入一段传播视频中,被附加上“第一个AI软件工程师”的标题,被风险投资人的推文进一步放大时,它的含义被悄然改变。它不再是一个特定条件下的成功记录,而是被解读为一种能力完备性的证明。缰绳层的历史在这里留下了一个重要的教训。演示的力量是巨大的,但它的诚实边界同样重要。学会诚实地展示能力——展示成功的同时也展示失败模式,说明边界的同时也说明边界之外——与控制循环的精度同等重要。因为最终,用户信任的不是一次演示,而是他们在使用中反复验证的能力边界。在这个意义上,Devin的演示事件不是一次孤立的技术争议。它是缰绳层在2024年春天遭遇的一次信任审计。审计的结果不是对技术的否定,而是对展示方式的重新定价。地面真值定律仍然有效,但它必须被诚实地、完整地运用,而不是被选择性地激活。
当编程这一最具地面真值的领域都因演示夸大而遭遇信任折价,一个更深层的压力浮出水面。那些试图让智能体进入更模糊、更缺乏结构化反馈的领域——通过视觉识别操作图形界面、处理网页布局的随机变化、在没有编译器和测试套件的环境中判断行动是否成功——其信任基础将面对怎样的脆弱性?在终端日志和CI管道之外,地面真值需要被重新定义。而那个定义过程,将比任何人预期的都更艰难。