ARTICLE · 1109200
从 Stanford CS146S 看软件工程正在发生的结构性变化
数据说明:本文所有数字均来自两个可查来源 —— Stanford Digital Economy Lab(Brynjolfsson / Chandar / Chen,Canaries in the Coal Mine?,2025-11-13 版,基于 ADP 薪资数据)与 SignalFire《State of Tech Talent Report 2026》(2026-06-22)。SignalFire 是风投机构的行业报告,不是同行评审论文,引用时已标注。CS146S 的周次标题与评分构成来自课程官方页面。

01|先看看一组数据
2026 年,软件行业出现了一个看起来矛盾的现象。
一边是初级岗位在塌。
SignalFire《State of Tech Talent Report 2026》的数据:大型科技公司的整体招聘比 2019 年低 25%,而新毕业生 / 初级岗位的招聘下降约 65%(早期创业公司约 76%)。
斯坦福数字经济实验室用 ADP 薪资数据做的另一项研究更具体:22–25 岁的软件开发者,2025 年 9 月的就业人数比 2022 年末的峰值下降了近 20%。而同一份研究里,经验更丰富的开发者就业基本稳定。
另一边,大学没有停止教软件工程。
更值得注意的是:Stanford 新一代 Software Engineering 课程 CS146S: The Modern Software Developer,第一周就是「Build Claude Code in 200 lines」,十周终点是「The Software Factory」。
于是问题就变成了:
如果 AI 已经越来越会写代码,为什么还需要软件工程师?
把一次软件交付拆开来看:
AI 最先压低的,是中间那一段 Implementation 的成本, 不是整个 Software Engineering 生命周期。
这件事在一手数据里有一个非常锋利的说法。SignalFire 的报告原文是:
"Junior engineers can slow a team down because the operational bottleneck has moved from writing code to reviewing it."
(初级工程师可能拖慢团队 —— 因为瓶颈已经从「写代码」转移到了「审代码」。)
这句话解释了为什么同一份报告里会出现这样一组数字:
| −25% | |
| −11% | |
工程是受影响最小的职能之一。 而且工程师占大厂全部招聘的比例,从 2019 年的 46% 升到了 55%。 注意这里的因果不是「工程师更值钱了」,而是:别的东西缩得更快。 工程岗本身仍低于 2019 年。
斯坦福那项研究还给出了机制层面的证据:就业下降集中在 AI 会替代(automate)劳动的岗位,而 AI 更多是增强(augment)劳动的岗位,变化不明显。
而且调整主要发生在就业量上,不是薪资上。
所以:
「会写 Python」越来越不构成稀缺能力。
「知道什么时候代码写错了,以及为什么错」仍然是。
03|来看看Stanford CS146S 的设计
Stanford开了一门很有意思的课程,叫做 The Modern Software Developer。
CS146S 的十周官方标题是:
把这条线读一遍,会发现它其实在回答一个问题:
如果代码越来越由 Agent 生产,工程师的工作会一路退到哪里?
从第 2 周开始,课程讨论的就是 Context、Instructions、Environment、Review、Permissions、Delegation、Governance。
也就是说:
CS146S 并没有取消 Software Engineering。它是在增加新的工程层。
04|工程师从「写代码」退到了哪里?
这部分是我认为全文最值得讨论的地方。
可以把它看成一条退却路线,一共七个阶段。
第一阶段:Code
我写代码。
第二阶段:Prompt
我告诉 AI 写什么。
第三阶段:Context
我决定 AI 能看到什么。
第四阶段:Specification
我决定什么才算正确。
第五阶段:Evaluation
我决定如何证明它正确。
第六阶段:Governance
我决定它允许做什么、不允许做什么。
第七阶段:System
我设计一套系统,让大量 Agent 可以持续生产软件。
所以:
Prompt Engineering 可能只是过渡层。真正长期存在的是 Software Engineering 的上移。
因为 Prompt 只是第三、第四阶段之间的一个临时接口。真正被重新定价的,是定义正确、验证正确、约束行为这三件事。

这里笔者不想简单回答「要」。
更准确的说法是:编程能力内部正在重新定价。
正在贬值
记 API
背语法
CRUD
简单 Todo 项目
单纯复制教程
只追求「代码能运行」
正在升值
数据结构与计算思维
系统设计
Debug
Testing
Code Review
Security
Observability
Git / GitHub 阅读真实代码库
Specification
Evaluation
Agent orchestration
在 Agent 大量产出代码之后,瓶颈从写代码移到了审代码(这正是 SignalFire 那份报告的原话)。审代码、判断对错、定位失败原因,反而变成了卡点。
于是结论不是「不需要学编程」,而是:
编程教育不能再把「写代码本身」当作终点。
06|不同的人,训练方式应该怎么变
作为一个既在写代码、又在教编程、同时在拆 Agent 系统的人,我把我认为最实际的四条路径列在这里。
学生
从: Python → Flask → Todo
变成:
Python → Git → 读开源项目 → 用 Agent → Review Agent 的产出 → 写 Evaluation
关键变化是多了一个「审」的环节。只会让 AI 生成,不会判断生成得对不对,训练是不完整的。
初级程序员
从:
变成:
「我能不能让 Agent 稳定地产出 10 倍代码,并且我能判断哪些是对的?」
放大的不是打字速度,是验证能力。
资深工程师
从: 「我会不会被 Agent 替代?」
变成:
「我能不能设计一个 Agent Software Factory?」
家长
未来真正值得训练的,不是孩子能不能比 AI 写得更快,而是当 AI 给出答案的时候,他有没有能力判断这个答案是不是对的。
当生产成本趋近于零,判断成本反而成了主要成本。
AI 正在让「写代码」从软件工程的核心劳动,变成软件生产系统中的一个可调用环节。
当代码越来越便宜,真正昂贵的就不再是「把代码写出来」,而是定义什么应该被写、让 Agent 获得正确上下文、判断结果是否正确,以及让整个系统能够安全地持续运行。