10x 工程师这个说法,最早可以追溯到 1968 年的一项研究。当时有人发现,程序员做同样的任务,效率差距可能非常大。后来也有人指出,这项研究本身并不严谨,但这并不妨碍它变成行业故事:总有那么一个人,一个人能顶一队人,别人做不到的事他能做。

过去,这更像一个传说。你可能听同事讲过,也可能在创业博客里读过,但它总是离真实团队有点远。直到 AI 编码工具 出现,这个故事才开始变味。

从 10x 到 -10x

AI 把10x 工程师从天赋神话,变成了一种看起来可以学习、可以复制的能力。只要会写提示词、会调工具、会拼上下文,一个开发者就能在一个下午生成一大堆代码。过去这些代码,可能需要一个团队写完整个迭代。

于是,社区里开始出现很多类似故事:用 AI 在周末做出一个完整应用,用一套工具链把个人产出拉满,用提示词让开发速度翻倍。问题是,速度本身不是生产力,能被验证的速度才是。

所谓负 10 倍工程师,不是写得慢的人,而是看起来产出很高,却不断把隐患塞进代码库的人。他按时交付,PR 很多,需求响应很快,指标看起来也不错。真正的问题,往往要等到线上故障、回归失败、认证系统崩掉,或者客户开始流失时才暴露。

更麻烦的是,他未必知道自己正在制造负影响。AI 生成的代码很容易带来完成感:页面能跑,测试能过,功能能演示。至于抽象是否合理、边界是否覆盖、后面的人能不能看懂,都会被速度带来的爽感盖过去。

速度不是质量

原文给出一个值得警惕的数据:AI 生成代码的问题和缺陷约为人工编写代码的 1.7 倍。在来源没有进一步确认前,我们先把它当作一个风险信号:AI 辅助开发的默认状态,不应理解为更快地交付高质量代码,而应理解为更快地交付一批需要认真验证的代码。

这并不是说 AI 写代码一定糟糕。真正拉开差距的,是使用者的判断力。优秀工程师会把 AI 当成草稿生成器、方案探索器和重复劳动加速器;负 10 倍工程师会把 AI 输出当成已经完成的结果。

过去,一个糟糕决定可能只影响一个模块。现在,一个开发者借助 AI,很快就能把同一个错误假设复制到认证层、数据管道、部署脚本和监控配置里。坏决策扩散得太快,传统代码审查很难自然消化。

这就是 AI 时代质量问题的核心变化:不是代码里有没有 bug,而是错误假设能不能在进入主干之前被拦下来。

失控半径扩大

软件一直都有缺陷、坏提交和糟糕抽象。区别在于,过去这些问题传播得相对慢,团队还有机会在合并、测试、发布前抓住它们。即使漏到线上,影响也常常只限于某个服务、某条链路或某个页面。

AI 改变的是爆炸半径。一个人可以在很短时间里提交大量改动,而且这些改动还可能横跨多个系统。等团队发现异常时,问题可能已经写进公共库、接口契约、权限逻辑和部署流程里。

这不是多加几个评审就能解决的问题。代码审查原本面对的是人类逐行写代码的节奏,现在面对的是机器辅助下的高吞吐输出。评审压力也变了:不只是看懂一段实现,还要判断一批生成结果背后的意图、假设和系统影响。

换句话说,很多团队的问题不是评审不认真,而是吞吐量和理解力之间的失衡。AI 把代码产出放大了,但验证能力、解释能力和责任机制没有同步升级。

成本怎么出现

负 10 倍工程师造成的成本,不只体现在一次故障上。

直接损失最容易计算。系统不可用多少分钟、SLA 赔付多少、交易失败多少、客户投诉多少,这些都能写进事故报告。真正难算的是那些悄悄流失的客户:他们可能在第二次稳定性问题后离开,也可能在你状态页飘红时转向竞争对手。

工程时间也会被持续吞掉。高级工程师花几个小时追溯一段 AI 生成代码的真实意图,就少了几个小时做架构改进、性能优化或产品能力建设。AI 代码尤其麻烦,因为提交者自己也可能说不清,当初为什么要这样组织代码。

还有一类成本更隐蔽:坏抽象一旦留下来,后续每个迭代都要绕着它走。没人愿意碰,没人完全理解,但每个人都要为它付维护成本。这类技术债不像一次事故那么醒目,却会一点点拖慢团队。

最后是人的损耗。负 10 倍工程师制造的后果,往往要靠最有经验的人兜底。最懂系统的人先被叫醒,最熟悉历史包袱的人留下来善后,最有能力推动长期改进的人反复被拉回救火现场。真正被消耗的不是机器时间,而是团队里最稀缺的判断力。

如何防住 -10x

要防住负 10 倍工程师,重点不是禁止 AI,也不是把所有 AI 生成代码都当成危险品。更现实的做法,是把团队的工程机制,从写代码时代升级到验证 AI 输出时代。

重定义代码审查

代码审查不能再只看格式、命名和局部实现。审查者必须能回答几个问题:这段代码解决了什么问题?假设是什么?会影响哪些边界?失败时会发生什么?作者也必须能解释并证明自己提交的代码,不能把 AI 当作挡箭牌。

比较可行的做法,是让 PR 明确写出使用了哪些 AI 工具,哪些部分由 AI 生成或大幅改写,并附上针对 AI 常见问题的检查清单。比如是否生成了过度抽象、是否遗漏异常路径、是否引入不熟悉的依赖、是否绕开已有约定。

代码合并之后,作者也要对相关事故承担完整责任。这里的重点不是追责,而是让开发者真实感受到下游后果。只有当人需要为 AI 输出负责,AI 才不会变成逃避判断的工具。

把 QA 和 E2E 测试放到中心

面对高吞吐的 AI 代码,QA 和 E2E 测试 不能只做发布前的补票环节。它们应该成为团队拦截错误假设的主防线。

好的端到端测试,不是为了证明一切正常,而是尽量模拟真实用户路径,主动寻找系统会在哪里坏掉。尤其是认证、支付、权限、数据一致性、跨服务调用这类关键链路,发布前必须能通过自动化跑出足够强的信号。

QA 也需要更有攻击性。不要只验证 happy path,还要主动设计失败路径、边界输入、异常网络、脏数据和状态不一致场景。AI 生成代码最容易在这些地方露出问题。

用发布策略限制伤害

即使审查和测试都做得不错,也不能假设坏变更一定会被挡在门外。发布系统本身也要能控制损失。

Feature flag 可以让功能先放给小部分流量,Canary 发布 可以在小规模环境里提前暴露异常,Circuit breaker 和自动回滚可以在故障扩大前快速止损。这些机制的价值,是让一次坏合并不至于立刻变成全量事故。

这里的关键不是堆工具,而是把风险限制在可观察、可回滚、可隔离的范围内。

让工具提前暴露风险

负 10 倍工程师通常不是故意破坏系统。他觉得自己很高效,AI 看起来也很可靠,合并前所有指标可能都是绿的。问题在于,风险信号没有出现在该出现的位置。

团队需要在合并前看到这些信号:复杂度突然上升、覆盖率出现缺口、依赖发生漂移、安全扫描异常、引入了团队不熟悉的模式。静态分析、依赖审计、自动安全扫描和覆盖率差异分析都不是新东西,但当 AI 代码比例升高后,它们的重要性会明显上升。

再进一步,工具不应该只告诉你代码有没有问题,还应该帮助团队判断哪里最值得人工重点看。评审资源永远有限,工具要做的是把注意力推到最可能出事的地方。

奖励慢下来的人

很多组织嘴上说质量重要,实际奖励的却是最高产出。需求准时上线会被看见,提前发现风险却常常只是避免了一场本来不会被记录的事故。时间久了,愿意慢下来检查的人,反而容易被看成进度阻碍。

要改变这种文化,就必须让谨慎变得可见。抓住高风险缺陷、主动推迟不成熟发布、拒绝合并自己解释不清的代码,都应该被视为工程贡献,而不是消极保守。

AI 时代真正稀缺的,不是会让工具多写几百行代码的人,而是知道什么时候该停下来验证、重构,甚至扔掉一个看似能跑的 PR 的人。

从入职开始训练 AI 判断力

组织文化从新人入职时就开始形成。很多团队会教新人如何使用 AI 工具、如何遵守 AI 治理政策,却很少系统训练他们如何质疑 AI 输出。

更有价值的 onboarding,应该包含这些内容:AI 编码工具常在哪些地方失败,什么样的生成结果看起来正确但并不可信,如何为 AI 代码补验证,如何解释自己为什么采纳某段输出,什么时候必须让人重新设计方案。

如果只教会使用工具,却不训练判断力,团队就是在给负 10 倍工程师铺路。

输出之外还有判断

AI 让很多人第一次觉得,自己离10x 工程师很近。但这个称号真正值得追求的部分,从来不是输出量,而是判断力。

优秀工程师知道哪些捷径可以走,哪些捷径会变成地雷;知道什么值得做,什么应该删掉;也知道一个实现即使能跑,只要难以理解、难以验证、难以维护,就不应该急着合并。

如果开发者只是因为 AI 帮自己写得更多,就自称 10x 工程师,本质上还是在用错误指标衡量工程能力。真正值得团队信任的人,是那些愿意放慢速度、质疑 AI 输出、补齐验证闭环,并且敢于推翻错误方案的人。

真正拉开差距的能力,不是更快地生成代码,而是在不破坏系统的前提下,把正确的东西交付出去。


相关阅读

##### FunTester 名片|万粉千文,百无一用


↙↙↙阅读原文可查看相关链接,并与作者交流