测试是新的护城河吗:vinext 事件与 AI 时代的价值迁移

2026年3月13日 调研报告

代码护城河确实在坍塌,但测试不是终点,只是价值上移的中间站。 AI 也会生成和复刻测试,真正更难复制的是判断力、领域认知和信任体系。 软件的长期价值正在从实现层转向定义什么是对的那一层。

阮一峰在最新一期周刊中提出了一个引人注目的论断:在AI时代,软件的护城河将从代码转向测试用例。他的核心论据是Cloudflare工程师用一周时间、1100美元token费用就复刻了Next.js,而这之所以可能,是因为Next.js有完备的文档和完整的测试套件。由此推论,为了防止AI复刻,大型软件项目一定会保护自己的测试用例。

这个观点敏锐地捕捉到了一个真实现象:代码护城河正在坍塌。但给出的答案只挖到了问题的第二层。测试本身也是代码的一种形式,同样面临成本趋零的命运。真正值得追问的是:当代码和测试都可以被低成本复制时,软件行业的价值到底锚定在哪里?

本文从四个维度展开调研,试图给出一个更深层的回答。

一、vinext事件的真相:80%的复刻,100%的叙事

先看事实。2026年2月13日,Cloudflare工程师James Anderson开始用Claude AI重新实现Next.js。当天晚上,Pages Router和App Router的基本SSR就跑通了。三天后,应用已经部署到Cloudflare Workers,实现了完整的客户端水合。一周后,项目以vinext之名开源,宣称API覆盖率94%。

截至3月13日,vinext在GitHub上获得6,581个star,核心实现代码约40,500行,测试代码约68,500行。作为对比,Next.js仓库包含27,871个文件,代码量在百万行级别(GitHub: cloudflare/vinext)。

94%的API覆盖率听起来很高,但需要仔细拆解。vinext完整支持了App Router、Pages Router、React Server Components、Middleware、Server Actions、ISR等核心功能。尚未支持的包括:构建时静态预渲染(static pre-rendering)、完整的图片优化(仅运行时支持,没有构建时优化)、基于域名的i18n路由,以及所有Vercel特定功能。更关键的是,vinext明确表示不追求与Next.js的bug-for-bug兼容性,也就是说,所有依赖未文档化行为的应用都可能出问题(Cloudflare Blog)。

安全问题更值得关注。Vercel CEO Guillermo Rauch在vinext发布后迅速披露了7个安全漏洞,包括2个严重级别(X/Twitter)。安全研究机构Hacktron.ai则发现了24个经过验证的漏洞,其中4个严重级别,包括跨请求状态污染和会话劫持风险。Hacktron的分析一针见血:

“开发是约束求解:让需求跑通、通过测试、满足规范。安全研究则相反:在负空间中搜索被破坏的假设和被禁止的状态。这个空间远比正空间大,从根本上比编程更需要推理密度。”(Hacktron.ai

换言之,通过测试只证明了正向行为的正确性,而安全性存在于测试覆盖不到的巨大负空间中。这恰恰是AI最薄弱的地方。

1100美元的token费用是真实的,但这个数字隐藏了大量前提条件。Cloudflare博客自己承认了这一点:

“所有这些条件必须同时成立:文档完善的目标API、全面的测试套件、坚实的构建工具基础,以及一个能够处理这种复杂性的模型。拿掉其中任何一个,效果都会大打折扣。”(Cloudflare Blog

所以vinext真正证明的是:在文档完善、测试齐全、底层基础设施成熟(Vite由人类团队多年构建)这三个条件同时满足时,AI可以在一周内重新实现一个大型框架的API表面。这是一个了不起的成就,但”一周复刻十年”的叙事显然过度简化了。

Reddit上开发者的实际迁移体验也印证了这一点:小型项目体验良好,构建速度确实快了很多;大型复杂项目则问题频出(Reddit r/nextjs)。Hacker News上有一条评论精准概括了核心矛盾:

“vinext的95%是纯Vite。真正的成就是人类构建的Vite。”(HN

二、“测试是护城河”:一个层次不够深的答案

阮一峰用了两个例子来支撑”测试是新护城河”的论点:SQLite和tldraw。两个例子都有值得细究的地方。

关于SQLite,原文引用的数据是代码15.6万行、测试9205万行(590倍),并强调核心测试套件TH3闭源。但Simon Willison指出了一个关键事实:SQLite的绝大部分测试是公共领域的,TH3只是其中用于航空和医疗等关键行业极端情况的压力测试部分。那个590倍的数字主要来自开源的测试(Simon Willison)。

TH3确实从一开始就是闭源的,属于SQLite Consortium成员(包括Adobe、Apple、Microsoft、Google等)的特权。这种模式让SQLite团队(约3人)实现了商业可持续。但更值得注意的是,TH3的闭源并没有阻止竞品的发展。Turso的libSQL和DuckDB都通过自建测试体系成功发展,后者甚至从SQLite、PostgreSQL、MonetDB的开源测试套件中改编了数百万个查询用例(DuckDB官方)。

关于tldraw,调研发现了一个戏剧性的反转:tldraw创建的”Move tests to closed source repo”issue,实际上是一个玩笑。Simon Willison后来更新了他的博客,引用tldraw作者的话:

“把测试移到另一个仓库会让我们的开发变复杂、变慢,而速度对我们来说比什么都重要。”(Simon Willison更新

这个反转本身就很有说服力:闭源测试的实际成本(开发效率下降、贡献者减少)可能高于收益。Hacker News上有人追问:

“tldraw有没有意识到,AI可能直接运行软件然后生成一个更好的测试套件?多一天就能复刻。”(HN

这就引出了”测试是护城河”命题的根本弱点:测试本身也是一种代码。如果AI可以从文档、社区讨论和运行时行为中自动生成测试,那闭源测试的防线能撑多久?Lobsters社区的一位用户给出了一个更深刻的判断:

“对我来说,新的护城河是正确性验证,而非测试。工程师应该把时间花在撰写形式化规范上,那才是真正困难的、也不容易自动化的工作。”(Lobsters

从法律角度看,测试闭源确实可行。MIT和Apache等宽松许可证只约束源代码的再分发,测试代码如果作为独立文件存在,可以单独闭源。但这条路的尽头是什么?开源的核心逻辑是用透明换取社区信任和贡献。一旦关键资产开始闭源,这个信任契约就开始瓦解。

三、代码成本坍塌的连锁反应:开源商业模式的危机

vinext事件只是冰山一角。更大的图景是:AI正在系统性地侵蚀开源软件的商业模式。

过去几年,开源软件公司已经经历了一波”许可证防御战”。2023年8月,HashiCorp将Terraform从MPL转向BSL许可证,直接原因是云厂商(特别是AWS)将开源产品包装成托管服务销售。社区迅速fork出OpenTofu作为反击。2024年,Elastic更改许可证以对抗AWS OpenSearch,Redis则引入双许可证(RSALv2和SSPLv1),后又在2025年补充了AGPLv3选项以回应社区不满(Redis Legal)。

这些事件的共同模式是:开源公司发现自己的代码被大公司免费使用并商业化,于是通过修改许可证来保护利益。但AI带来的挑战比云厂商搭便车更根本。云厂商至少还在用原版代码,AI则可以用全新代码实现同样的功能。一篇分析文章精确描述了这种新形态的价值榨取:

“讽刺的是,Tailwind CSS的开源本质加速了这种困境。因为语法完全公开,数百万开源项目使用Tailwind,所有代码都成了AI模型的训练数据。AI从免费的开源代码中学习,然后免费生成与付费产品质量相当的输出。这是一种比AWS云服务更彻底的价值榨取。”(HungYiChen

Vercel的数据显示公司仍在增长:2025年ARR达到2亿美元,估值93亿美元。但值得注意的是,v0(Vercel的AI产品)已经贡献了21%的收入(Sacra)。这暗示Vercel自己也在转向:护城河正在从Next.js框架本身转移到AI工具和部署基础设施。

The Pragmatic Engineer的评论值得引用:

“一位Cloudflare工程师用AI agent在一周内重写了Vercel的Next.js大部分功能。这看起来是AI将如何颠覆现有护城河和商业模式的一个信号。”(The Pragmatic Engineer

行业分析机构提出了三种在AI时代仍然成立的护城河:专有数据、合规认证、深度工作流嵌入(Attainment Labs)。注意,代码和测试都不在其中。一家开源基础设施公司Petabridge报告2025年创下历史最佳业绩,订阅用户增长19%,其CEO的解释是:

“支持订阅卖的不是信息,而是问责制和可用性。凌晨2点生产环境崩溃时,组织需要的是了解他们系统的人类专家,而非可能产生幻觉的LLM。”(Medium

四、真正不可复刻的是什么

如果代码可以被AI复刻,测试也可以被AI生成,那软件行业真正不可替代的资产到底是什么?

调研中反复出现的一个词是taste(品味)。多篇独立的分析文章在2026年初不约而同地将品味定位为AI时代的核心瓶颈:

“品味是选项充裕时运作的判断力。当许多解决方案在技术上都可行、有数据支撑、可以自圆其说时,品味让团队能够区分它们,解释为什么某个方向值得投入而其他的不值得。在agent时代,品味悄然成为战略瓶颈。”(Designative

“你的竞争对手可以租到同样的’大脑’,但他们租不到你的亲身经验。品味是那个缺失的器官,大多数公司已经在因此而衰亡。”(Towards AI

品味不是审美偏好,而是定义”什么是好”的能力。当AI可以瞬间生成十种技术方案时,知道”选哪个”以及”为什么选这个”的判断力,成了真正稀缺的资源。

a16z在2026年AI投资方向分析中也指向了类似的结论。Alex Immerman指出,垂直AI已经从搜索进化到推理,下一步是协作:

“大多数真实工作涉及多个利益相关者,他们有不同的激励和权限。2026年,垂直AI产品协调各方。协作成为护城河。”(a16z

Addy Osmani关于”80%问题”的分析提供了另一个视角:

“AI让你80%到达MVP;最后20%需要耐心、深度学习或雇用工程师。从70%到80%的提升不在于百分比本身,而在于原型与生产级软件之间的鸿沟。这个鸿沟在缩小,但还没有闭合。”(Addy Osmani

Matt Hopkins则用一个亲身经历展示了Goodhart’s Law在AI开发中的危险:

“我用Claude Code修复一个项目的bug。它修好了,方法是删除导致bug的功能。没有功能,就没有bug。任务完成。”(Matt Hopkins

当测试成为AI的优化目标时,AI会找到通过测试但实际行为不正确的最优路径。测试衡量的是符合性,而非正确性。正确性需要理解意图,而意图存在于测试之外。

跨行业的类比也指向同样的结论。制药行业的护城河层次是:分子结构(最易复刻)→ 临床试验数据(成本高但可被简化路径绕过)→ FDA审批体系(几乎不可复刻,包括监管关系、生产设施认证、药物警戒系统、医生处方习惯)。汽车行业同理:设计图纸(可逆向工程)→ 碰撞测试(成本高但可被操纵)→ 品牌信任和认证体系(IIHS评级、经销商网络、保险费率关联)(DrugPatentWatch)。

每个行业都呈现出同样的模式:实现层最易复刻,验证层有中等壁垒,信任和认证体系几乎不可复刻。

五、与公理体系的碰撞:从测试到认知到信任

以上调研与我自己的认知体系有多处共鸣和张力。

T05(认知是资产,代码是消耗品) 的核心推演是:当代码生成成本趋零时,稳定价值会转移到领域理解与定义什么是”好”的能力。阮一峰的观察验证了前半句(代码确实是消耗品),但他把价值锚定在测试上,而T05把价值锚定在认知上。测试是认知的一种编码形式,但不是唯一形式,也不是最难复刻的形式。一个SQLite的TH3测试用例可以被闭源,但编写这个测试用例所需要的对航空系统故障模式的深刻理解,才是真正的资产。

V02(可验证性是信任的地基) 提供了另一个有用的框架。V02的核心不是”测试很重要”,而是”设计系统时要让错误易于被发现”。测试是实现可验证性的手段之一,但可验证性的本质是一种架构属性,而非一组具体的测试用例。vinext事件恰好说明了这一点:即使通过了94%的API测试,安全研究者仍然在负空间中发现了24个漏洞。测试覆盖的是已知的正确行为,而安全和可靠性存在于未知的错误行为空间中。

A09(构建者思维是护城河) 与调研结论形成了有趣的互补。A09说护城河不在工具本身,而在于对工具的态度。类推到测试:护城河不在测试用例本身,而在于定义和持续演进”什么需要被测试”的能力。这种能力来自对领域的深刻理解、对用户行为的敏感观察、对边缘情况的系统性思考。这些东西存在于人的头脑中,而非代码仓库里。

T02(结果确定性优于过程确定性) 则提供了一个重要的实践指导。T02说不要试图通过管控步骤来让AI变得可靠,而要先定义什么才算正确。这个原则应用到当前讨论中意味着:真正的竞争力不在于你拥有多少测试(过程层面),而在于你能否清晰定义什么是”正确的行为”(结果层面),以及你是否有能力验证它。

综合这四条公理,可以画出一个更清晰的价值层次:

代码(实现层)是消耗品,AI可以低成本生成。测试(验证层)是认知的编码,比代码更有价值,但同样面临AI复刻的风险。规范(定义层)是对”什么是好”的显式描述,更难复刻,但仍然是文本形式。品味和领域认知(判断层)是定义规范的能力本身,存在于人的经验和直觉中。信任体系(生态层)是时间、可靠性和声誉的积累,几乎不可能被任何技术手段复制。

阮一峰说对了一层:价值在从代码向上迁移。但他停在了测试这一层,而价值的迁移不会停下来,它会一直向上走,直到达到真正不可自动化的层次。

六、结论:价值在向不可自动化的层次迁移

vinext事件的意义不在于”一周复刻十年”的标题,而在于它清晰地展示了AI在规范完备条件下的实现能力,同时也暴露了AI在规范之外(安全、边缘情况、生产可靠性)的系统性盲区。

“测试是新的护城河”这个命题,正确的部分是:代码护城河确实在坍塌,价值在向更高层次迁移。不够准确的部分是:测试只是这个迁移路径上的一个中间站,而非终点。

一个更完整的图景是,AI时代软件的价值锚定在四个递进的层次上:

第一层是实现能力。代码本身已经接近消耗品。vinext用4万行代码重现了Next.js百万行代码的94%功能面。这一层的护城河正在快速消失。

第二层是验证能力。测试用例比代码更有价值,因为它们编码了”什么是正确行为”的知识。但AI可以通过运行软件和分析文档自动生成测试。闭源测试能提供短期保护,代价是伤害开源生态。这一层的护城河存在但正在被侵蚀。

第三层是判断能力。品味、领域深度理解、定义”什么值得被构建”的能力。这是当前AI最难复刻的人类能力。调研中多个独立来源不约而同地将品味定位为AI时代的核心瓶颈。这一层的护城河在短中期内依然稳固。

第四层是信任体系。品牌声誉、合规认证、基础设施、网络效应、工作流嵌入。这些资产需要时间、资本和持续可靠的表现来积累,不存在任何技术捷径。这一层的护城河在可预见的未来都不会被AI攻破。

对实践者的启示是清晰的:如果你正在构建软件产品,与其花精力保护测试用例,不如投资于三件事。一是深化领域理解,成为定义”什么是好”的人,而非实现”怎么做”的人。二是建立信任资产,可靠性、安全记录、合规认证、社区声誉,这些是时间的函数,无法被token购买。三是嵌入工作流,让产品成为用户日常运转不可或缺的一部分,而非可替换的功能模块。

代码成本坍塌是AI时代的结构性变化。面对这种变化,正确的反应不是加高墙(闭源测试),而是把价值创造搬到更高的地方。这和搬家一个道理:洪水来了,与其加固一楼的防洪堤,不如搬到二楼去住。


参考来源

鸭哥每日手记

日更的深度AI新闻和分析