
程序员这个职业的目的,从来不是写代码。是比别人更快更好地实现某个功能,做别人做不到的事,为用户和业务产生价值。代码只是手段,价值才是目的。这件事几十年来从未改变过。

二十年前,顶级程序员靠 C 和 C++ 手写性能极致的代码,做出别人做不到的产品。操作系统、游戏引擎、数据库引擎,这些东西的核心都是手撸出来的。那个时代的杠杆是底层能力。十几年前,杠杆变成了框架和平台。Java、Python 这些东西让你能快速搭起一个复杂业务系统,做出过去需要二十个人月的产品。前几年,杠杆变成了云原生和分布式架构。Kubernetes、微服务、大数据栈让你能做出过去单机时代根本无法想象的规模化系统。今天,杠杆又变了一次,变成了驾驭 AI。一个人借助 AI 工具,能做出过去一个团队才能做的产品。
每一次杠杆变化,都有人说“程序员要被淘汰了“。从 IDE 出现的时候有人说,从框架普及的时候有人说,从云计算兴起的时候也有人说。事实是没有任何一次淘汰程序员,每一次都只是淘汰了那批没跟上杠杆变化的程序员。能跟上的人,杠杆变得更大,价值产出变得更多,日子过得更好。
AI 编程是又一次杠杆变化。不是第一次,也不会是最后一次。看清楚这一点,焦虑就消解了一半。AI 时代不是要你换一个职业,是要你换一条路径,继续做同一件事,比别人更快更好地产生价值。
但路径变化不是小事。如果只是把“写代码“换成“让 AI 写代码“,那确实没多大差别。可这次的变化远比这个深。
路径变了什么?
新路径和旧路径的差异,我会从三个角度讲。这三个角度不是并列的,是层层递进的:从最表层的工作方式,到中间层的能力结构,再到最深层的身份认同。

1.最表层的变化是核心动作变了。
旧路径里,你的核心动作是写代码。一行一行手撸,一个 bug 一个 bug 修。写得多、写得快、写得准,就是好工程师。代码量、提交数、解决的 issue 数,都是衡量你的指标。新路径里,你的核心动作不再是写代码,是驾驭 AI 写代码。你告诉 AI 要做什么、检查 AI 做得对不对、判断什么时候交给 AI 什么时候自己拍板、出问题时把 AI 拽回正轨。代码本身依然是产出物,但它不再是从你手里直接流出来的,而是经过你的判断、AI 的执行、再回到你的验收这样一条新链路产生的。
这个变化看起来细微,但它把工程师的核心能力从手感变成了判断。手感是你写过十万行代码之后建立的直觉,知道这段逻辑应该怎么实现、那个边界条件容易出错、这种命名一看就有问题。判断是另一种东西,是你看到 AI 写出来的一段代码,能立刻知道它对不对、是否符合你真正想要的、有没有遗漏关键场景。这两种能力都珍贵,但它们的训练方式完全不同。手感靠时间堆,判断靠认知建。
2.往深一层,能力结构的杠杆点变了。
旧路径里,勤奋和产出基本成正比。你写更多代码、加更多班、踩更多坑,产出就更多。这条路虽然辛苦,但它有用:只要你愿意投入时间,你就能拿到回报。这是过去几十年程序员行业的基本契约,也是无数普通工程师靠“勤奋“在大厂立足的根基。
新路径里,勤奋不再是关键变量,清晰度才是。
想清楚要做什么的人,几条 prompt 就能让 AI 高效产出一个可用的版本。想不清楚的人,就算加再多班、跟 AI 来回拉扯一整天,也只是在反复修正 AI 的猜错。AI 写一版,你看着不对,改改 prompt 再让它写一版,还是不对,又改 prompt…最后忙了一天,什么也没做成。这种场景几乎每个用过 AI 编程工具的人都遇到过。它不是工具的问题,是想得不清楚。
这件事对很多靠勤奋立身的工程师是真正的冲击。他们过去靠加班建立的护城河,被一个想得清楚的小团队加上 AI 轻易碾过。AI 时代,工程师的差距不再线性,而是指数级的。好工程师驾驭 AI 产出爆炸,中等工程师被 AI 的猜错反复拖累,反而比不用 AI 还慢。这种差距,过去十年从未出现过。
3.再往深一层,身份认同变了。
旧路径里,你的身份是写代码的人。产品经理给你需求,你产出代码,价值在代码里。需求对不对、产品有没有人用、商业上能不能跑通,这些事不是你主要操心的,有人替你操心,他们叫产品经理、运营、老板。你只要把代码写好,你就完成了你的本分。
新路径里,你的身份是用 AI 把事情做成的人。代码层的工作被外包给了 AI,留给你的是另外几件事:定义清楚要做什么、判断 AI 做出来的东西对不对、对最终交付的价值负责。这几件事过去都不属于一个纯粹“写代码的人“的职责范围,但现在它们全部回到了工程师手里。
身份变了,关心的东西也变了。当你是代码生产者,你关心代码质量,关心架构优雅,关心是否符合设计模式。这些没错,但它们是手段层面的关心。当你是价值生产者,你关心的是这东西做出来真的有用吗、用户真的需要它吗、它解决的问题真的存在吗。这些是目的层面的关心。关心点变了,人也跟着变了。
这三层变化合起来,是这次 AI 时代和过去任何一次工具迭代最大的不同。过去的工具迭代,改变的是工具本身:从 vim 到 IDE,从手动部署到 CI/CD。这次的变化,改变的是工程师本身:你是谁、你关心什么、你的能力杠杆在哪里。
三、这意味着什么
把上面这些变化推到极致,会引出几个进一步的判断。这些判断很多人不愿意正视,但它们是真实的。
1. 杠杆位置在持续上移。
每个时代的工程师都有自己的杠杆。二十年前是稀缺技术,十年前是稀缺平台,五年前是稀缺架构,现在是驾驭 AI。每次上移,都有一批人跟不上,被时代温柔地放在后面。AI 编程只是这条曲线上的又一个点,不是第一次,也不会是最后一次。
但这一次的上移幅度,比前几次都大。前几次的杠杆变化,基础设施依然要人来写。云原生取代了传统部署,但 Kubernetes 还是工程师写的。这次不一样,杠杆本身具备智能。它会主动产出代码、会和你对话、会犯错、会需要被管理。这意味着工程师从“使用工具“变成了“管理一个能力极强但需要被约束的执行者“。这是一个全新的能力,没有前例可以参考。
2. 责任结构在被重写。
旧路径里,代码出问题,责任在写代码的人。谁写的 bug 谁负责,这是写进职业道德的。新路径里,代码是 AI 写的,但责任全部在驾驭 AI 的人身上。不是“AI 写错了“,是“我没驾驭好 AI“。AI 不承担责任,也无法承担,因为它不是一个法律主体、不是一个有持续身份的个体、不是一个能被追究的存在。
这件事很多工程师没真正想透。你以为把活交给 AI 自己就解脱了,实际上你承担的责任反而更大。过去你只对你写的那段代码负责,现在你要对 AI 产出的整个模块负责,包括你没逐行看过的部分。一旦出问题,没有人能替你顶。客户不会接受“是 AI 写错了“这种解释,法律也不会。
3. 两极分化在加速。
旧路径里,好工程师和中等工程师的差距是线性的。好工程师写代码快两倍、bug 少一半。差距大,但可以追。新路径里,差距是指数级的。会驾驭 AI 的工程师产出爆炸,不会驾驭的工程师反而被 AI 拖累。这种差距,中等工程师在原地不动是追不上的,因为不动本身就是退步,他在驾驭 AI 这件事上每一天都在被甩开。
很多人误读了 AI 编程,以为它是在降低门槛。表面上确实是,一个完全不懂代码的人也能让 AI 给他写出一个能跑的小程序。但这是错觉。真正的门槛没有降低,只是位置变了。过去的门槛是“会写代码“,大多数程序员能跨过。新门槛是“会驾驭 AI 产生真实价值“,大多数人跨不过。总门槛实际是提高的,只不过它提高在另一个维度上,让习惯了旧维度的人产生了“门槛降低“的错觉。
4. 超级个体成为可能,但门槛比想象中高。
“超级个体“这个词最近被反复使用,讲的是一个人借助 AI 做出过去一个团队才能做的事。这件事是真的。一个人加上几个 AI 工具,确实能做出过去五个人才能做的产品。但需要澄清两点。
第一,真正的超级个体不是 AI 时代才出现的。Carmack 一个人写 Doom 引擎,Linus 一个人写 Linux 内核,Notch 一个人写 Minecraft 早期版本。这些人在 AI 出现之前就是超级个体。AI 不是让普通人变成超级个体,是让本来已经接近超级个体的人加速突破临界点。
第二,超级个体的标志不是产出快,是产出有价值。一个人借助 AI 一周写出十万行代码,如果没人用,他不是超级个体,只是产生了十万行垃圾。超级个体的本质是判断力 + 执行力 + 价值感知力的合一。AI 把执行力放大了,但判断力和价值感知力,AI 是放大不了的。
这件事拉开了人和人之间真正的差距。
方法论的当前景观
关注 AI 编程的工程师,大概都遇到过一个共同的困惑。各种方法论满天飞:SDD、Harness Engineering、Vibe Coding、Context Engineering、ReAct、Test-Driven AI、Plan-then-Execute、AI-First Architecture。每个都说自己重要,每个都有支持者。学哪个,都学还是选一个,哪个是真的有用?
业界讨论的主要方法论摆出来,让你看到完整图景。1. SDD(Spec-Driven Development),核心是规格先行,代码服务于规格,规格服务于业务意图。Spec-Kit、OpenSpec、Tessl 是它的主要工具支撑,GitHub 的 Spec-Kit 是当前最活跃的实践之一。它要解决的是“AI 不知道你要什么“这个问题。2. Harness Engineering,字面意思是“挽具工程“。AI 是匹烈马,Harness 是让它能为你拉车的那套挽具。它要解决的是 AI 跑偏、失控、上下文污染、做不可逆操作这一系列问题。它的核心机制包括 System Prompt(用 CLAUDE.md / AGENTS.md 给 AI 一上来就建立规则)、Tools(用 Skills / Slash Commands / MCP 给 AI 提供可复用的能力)、Context(用 Subagents / Memory 让 AI 在合适的上下文里工作)、以及 Permission / Hooks / Plan Mode 这些事前事后的约束机制。3. Vibe Coding,核心是人和 AI 形成默契:用熟比会用更重要、反复练比快速学更重要。它解决的是工具用得不熟、不能形成肌肉记忆的问题。4. Context Engineering,核心是给 AI 的上下文质量决定输出质量。它讨论的是“怎么给 AI 提供合适的上下文“这件事的工程化。它是 SDD + Harness 的一个上层抽象,方向对,但目前还在演化期。5. ReAct / TAO 等 Agent 框架,核心是让 AI 自主规划加执行加反思。它解决的是 AI 只能写一段代码、不能自主完成多步任务的限制。6. Test-Driven AI Development,先写测试约束 AI 行为,再让 AI 写代码通过测试。它解决的是 AI 写代码不可靠、需要事后验证的问题。
还有一些更新的方向,比如 Plan-then-Execute(先规划再执行)、AI-First Architecture(为 AI 协作优化的架构设计),都还在概念阶段。
选SDD 加 Harness
它有完整的概念体系和经过验证的实践经验,不是某个人写了一篇文章就消失了的姿态。覆盖完整工程。它能贯穿从需求到设计、从开发到测试、从部署到迭代的完整软件工程链路,不是只在某个环节有效。
Vibe Coding 更像是一种姿态,告诉你“用熟比会用更重要“,这话没错,但它没有具体的方法论步骤可学,只能作为底色,不能作为主轴。Context Engineering 的方向我很看好,但它目前还处于概念演化期,没有标准工具、没有成熟工作流,你看到的所有实践都是各家在摸索,半年后可能完全不一样。它更适合作为长期展望,作为接下来一两年最值得深入的领域提一下,不适合作为现在的主轴。ReAct 和 TAO 这一类 Agent 框架,适用范围窄,它们是为做 Agent 应用设计的,只在自主决策型应用里发挥作用,不适合作为通用软件工程的主轴。Test-Driven AI 是一个具体实践,不是完整方法论,它更适合作为 SDD 落地的一个具体动作。
SDD 不一样。它有 Spec-Kit 这样的成熟工具支撑,有 specify、plan、tasks、implement 四阶段工作流的具体步骤,有从需求到测试贯穿全程的完整覆盖。Harness 也不一样。它有 CLAUDE.md、Skills、Subagents、Hooks、Permission 这些具体配置和落地方法,经过大量真实工程的实践验证,从开发到部署贯穿全程。
更关键的是,这两个方法论合起来,正好对应 AI 编程的两个核心环节。
SDD 解决的是“想“的问题。它把“想清楚“这件事工程化,通过结构化的 Spec(规格)把模糊的需求变成 AI 能消化的清晰输入。没有 SDD,你和 AI 的协作就是凭直觉聊天。你说一句,AI 凭概率猜你的意图,猜对了是运气,猜错了你再纠正,来回拉扯。有了 SDD,你和 AI 之间有了明确契约,Spec 写清楚了,AI 的执行依据就清晰了,产出的稳定性会有数量级的提升。SDD 的灵魂是把“想“从藏在你脑子里的隐性知识,变成可以被审查、可以被共享、可以被 AI 消化的显性产物。
Harness 解决的是“做“的问题。它把“AI 怎么做“这件事工程化:给 AI 装上缰具,让它在合理边界内工作。AI 是个能力极强但缺判断边界的执行者:它会跑偏(偏离任务焦点)、会失控(改了不该改的代码)、会被上下文污染(读太多无关信息后做出错误判断)、会做不可逆操作(没经过你确认就动手)。Harness 的作用是通过 System Prompt 让它一上来就有规则,通过 Tools 给它可复用的能力封装,通过 Context 管理避免上下文爆炸,通过 Subagents 实现任务隔离,通过 Permission 在它动手之前就拒绝危险操作,通过 Hooks 在它做完之后自动检查,通过 Plan Mode 强制它先规划再执行。这一整套机制下来,AI 从一个“放飞的执行者“变成了“可控的协作者“。
SDD 和 Harness 不是并列关系,是互补关系。SDD 告诉 AI 做什么,Harness 保证 AI 做对。只学 SDD 不学 Harness,你 spec 写得很好,但 AI 跑偏没办法管住,AI 看着 spec 也可能写出不符合 spec 的代码,你没有机制守住。只学 Harness 不学 SDD,你能管住 AI,但 AI 不知道要做什么,你 Hooks 配得很全,AI 因为不清楚需求依然会做出 spec 之外的东西。两个一起,才是闭环。
更深一层,SDD 和 Harness 共享同一个底层假设:AI 不是被信任的,是被工程化使用的。它不像同事一样自己会做事,它是一个能力极强但缺判断边界的执行者,需要被精确指挥、被严格约束、被持续校验。接受这个假设,SDD 和 Harness 都是自然的产物。不接受这个假设,觉得 AI 应该更自主、更“聪明“、更“懂我“,你会觉得 SDD 和 Harness 都太繁琐,而你最终会被这种繁琐的缺失反复打脸。
1. 程序员的目的从未变过:产生价值。变的是路径,从手撸代码到驾驭 AI。路径变化引发的连锁反应是真实的:杠杆位置上移、责任结构重写、两极分化加剧、超级个体的可能性变大但门槛比想象中高。个人层面的回应也很清楚:不要把 AI 编程当新职业,把重心从做转到想,学工具是基础但工具不是目的。
2. 方法论很多,但当下真正成熟可教的就两个:SDD 和 Harness。一个解决“想“,一个解决“做“,合起来是当前最完整的组合。其他方法论存在、有价值,但它们的角色是补充和延伸,不是替代。
这两件事看清楚,你就有了一个判断 AI 编程任何新概念、新工具、新方法论的底座。再有人讨论某个新方法论,你能问出有质量的问题:它满足成熟、可教、覆盖完整工程这三条吗?
它解决的是“想“的问题还是“做“的问题?它和 SDD、Harness 是互补还是替代?
有这些判断之后,你不会被任何新概念裹挟,也不会错过任何真正重要的演进。
夜雨聆风