引言
软件工程正在经历一场真实的重写,不是缓慢发生的,也不是遥远的未来,而是现在。
几组数据可以说明问题的规模:
- AI 编码工具 Cursor 的人均营收约 330 万美元,而普通 SaaS 公司的中位数是 13 万美元——差距达到 25 倍
- OpenAI 用 4 名工程师在 28 天内 完成了 Sora Android 应用的开发
- AI 目前参与了全球约 41% 的代码编写
- 微软的内部实验发现,引入 AI 后工程师有 73% 的时间用于战略工作(架构、规划、评审),纯实现工作从约 50% 降至个位数
这不是效率的小幅提升,而是整个开发方式的结构性变化。
一、瓶颈转移:代码不再是稀缺资源
过去,写代码是最贵、最慢的环节。现在这个逻辑已经反转。
代码变便宜了。 AI 可以以远超人类的速度生成代码。真正稀缺的,是代码的前后两端:
| 阶段 | 过去 | 现在 |
|---|---|---|
| 代码之前 | 架构设计需要人力 | 仍需要人力:规格说明、上下文输入、需求判断 |
| 代码本身 | 人工编写,慢且贵 | AI 生成,快且廉价 |
| 代码之后 | 测试、审查 | 更重要:验证 AI 输出的正确性、安全性、系统适配性 |
软件工程师的角色,正在从”写代码的人”转变为”让正确的代码被生成出来的人”。判断力、架构思维、领域知识,比键盘输入能力重要得多。
二、开发流程的重构:传统 SDLC 已过时
传统软件开发生命周期(SDLC)正在被一套更精简的流程替代:
规格说明(Spec)→ 计划(Plan)→ 生成(Generate)→ 验证(Validate)→ 部署(Deploy)
几个关键转变:
1. Spec 优先,而非设计优先或 MVP 优先 规格说明是唯一的真相来源,代码是可再生的产出物。只要规格正确,代码可以随时丢弃并重新生成。最高效的团队已经在这样做了。
2. 任务粒度要小 不是”做一个完整功能”,而是”一个可隔离、可审查、可测试的小任务”。每个循环本质上是一个 TDD 检查点:写规格 → 生成 → 验证 → 前进。
3. 迭代周期大幅压缩 过去需要 10 周的探索周期,现在压缩到 4 周。原型可以在几小时内产出,而不是几周。这让”先做再验证”变得比”先规划再行动”更划算。
4. 试错成本接近于零 当构建一个原型只需要几天,你不需要向上级申请许可才能探索一个想法。失败的代价足够低,可以快速迭代:做 10 个实验的时间,过去只够做 1 个。
5. 原型 vs 生产:区别在流程,不在工具 AI 同样适用于原型和生产环境。区别在于围绕它建立的纪律:代码审查、安全检查、架构监督。一项调查显示,18 位 CTO 中有 16 位报告了因 AI 生成代码绕过质量流程而导致的生产事故。
三、上下文工程:被忽视的最大变量
很多人觉得 AI 生成的代码质量很差,问题往往不在模型,而在于给 AI 的上下文。
用一个类比:AI 就像一个刚来的外包工程师,对你的代码库、架构规范、安全要求一无所知。如果你只给它说”写一个 REST API”,输出当然是通用的、不贴合实际的代码。
上下文工程(Context Engineering)的本质是:
- 维护持久的上下文文件(架构文档、编码规范、安全策略)
- 让 AI 理解你的系统是”怎么做的”,而不只是”做什么”
- 精准控制每次任务输入的上下文范围:太少 → 输出跑偏;太多 → 模型失去焦点
工具层面的支持:
- RAG:自动检索相关文档,减少人工筛选
- 语义搜索:找到概念相关的代码,即使命名不同
- 图数据库:映射组件间关系,帮助 AI 理解系统如何连接
上下文工程不是一次性设置,它需要随系统演进持续更新。大多数 AI 失败案例,不是模型问题,而是上下文问题。
四、组织结构的变化:扁平化与产品 Pod 模式
技术工具变了,组织结构不变,等于把新技术套进旧架构——就像当年把传统应用套进 Kubernetes 却期待性能飞跃,结果一无所获。
新的组织逻辑:
核心单元:产品 Pod(3-5 人)
- 端到端拥有一个用户可感知的产品区域(前端、后端、数据库、部署、监控全包)
- 可以独立决策和交付,不依赖多层审批
- Pod 的 Lead 应该是工程师,而不是会安排会议的管理者
一个 Pod 的典型配置:
- 1 位高级工程师或架构师
- 1-2 位 AI 增强型工程师
- 跨 Pod 共享:设计师、质量工程师、代码架构师、产品负责人
扩张原则:Pod 只横向复制,不纵向扩张。当一个产品区域太复杂,把它拆成两个 Pod,而不是让原来的 Pod 变大。
唯一的永久团队:平台团队
- 负责内部开发平台:CI/CD、开发环境、可观测性、AI 工具层
- 专家(DBA、网络、安全)的价值从”亲自动手做”转为”把专业知识编码成自助服务能力”
- 建立共享 AI 工具:自定义 MCP 服务器、专属 Agent、自动执行安全策略的护栏
同时,各 Pod 自己也应该构建 AI 工具,平台团队的另一个职责是观察 Pod 的实践并把好的工具沉淀到平台,惠及所有人。
五、角色变化:哪些在扩张,哪些在收缩
AI 是一个放大器,它放大你本来的能力。高级工程师加上 AI,产出卓越;缺乏判断力的人加上 AI,制造大量错误却看不出来。两者之间的差距不是缩小了,而是扩大了。
| 能力 / 角色 | 趋势 | 原因 |
|---|---|---|
| 架构思维 | 大幅扩张 | AI 无法做跨系统权衡和组织约束判断 |
| 高级工程 / 系统设计 | 保留并投资 | 判断 AI 输出是否正确、安全、适配架构 |
| 平台工程 | 增长 | AI 生成代码越多,基础设施复杂度越高 |
| 产品策略 | 保留,转型 | 去掉写票、管 backlog;保留策略、洞察、跨职能协调 |
| 常规实现(初中级工程师) | 大幅减少 | 样板代码、简单 bug、基础增删改查正是 AI 最擅长的 |
| 手动测试 / QA 执行 | 大幅减少 | 转型为质量工程:定义测试策略、构建 AI 测试框架 |
| Scrum Master / 流程协调 | 消除 | 团队自组织 + AI 处理文档和报告 |
| 常规文档编写 | 大幅减少 | AI 负责 API 文档、变更日志、参考文档 |
| 初级视觉设计 | 减少 | 线框图、原型、组件由 AI 处理 |
评估每个人的 4 个维度:
- AI 杠杆:能否用 AI 工具倍增产出?
- 架构判断:能否发现 AI 引入的细微 bug 和设计缺陷?
- 领域知识:是否理解系统”为什么”这样建?
- 跨职能范围:能否跨多个领域工作?
六、初级开发者的危机与出路
如果不再大量招聘初级工程师,下一代架构师从哪里来?这是整个行业正在回避的问题。
初级开发者的处境最尴尬:他们的传统工作(样板代码、简单 bug)正是 AI 最擅长的,而他们又还没有足够的系统判断力来做高价值的工作。
但这不意味着初级岗位应该消失,而是需要重新定义:
- 审查 AI 输出,学习系统思维
- 用 AI 做一遍,再不用 AI 做一遍——真正理解底层发生了什么
- 学习的重点是系统和领域上下文,而不是语法记忆
同时,从小就接触 AI 的年轻人有一种不同的思维方式——他们天然倾向于”描述我想要什么”而不是”逐行输入”,这种面向编排的思维在新范式下反而是优势。最聪明的公司会同时利用老一代的领域知识和新一代的 AI 原生思维。
七、更大的图景:需求会扩张,不会消失
每一次自动化浪潮的历史规律都是:当某件事变得更便宜更快,对它的需求会上升,不会下降。
- ATM 出现后,银行柜员没有减少,银行开了更多网点
- 电子表格出现后,会计没有消失,财务工作的边界扩大了
现在每家公司都有一个永远做不完的需求积压:想做但没人力做的功能,知道存在但没时间修的 bug,想改但排不上优先级的体验。AI 让这些积压终于有机会被清空。
真正危险的做法是:只是削减人力而保持同样的路线图。这样你的竞争对手会用同样的 AI 工具构建更多,最终把你淘汰。
正确的问题不是”我需要多少人完成原来的事”,而是”我现在能做多少过去做不到的事”。
总结:现在可以做什么
- 按能力评估团队,而不是职位头衔——谁有 AI 杠杆?谁有架构判断力?谁理解领域深度?
- 选一个 Pod 做试点,3-5 人,端到端拥有一个产品区域,给他们 AI 工具和自主权,看看会发生什么
- 投资上下文工程——建立持久的上下文文件、架构文档、编码规范。这是提升 AI 输出质量的最高杠杆点
- 衡量真正重要的指标——交付周期、变更失败率、人均营收;放弃故事点、代码行数、提交次数
- 不要等待确定性——确定性不会来。已经开始(即便不完美地)的公司,会遥遥领先于等待时机的人
AI 是一个放大器。它放大你的判断力、你的架构能力、你的领域知识。如果你的核心价值是”会打字”,那确实要担心了。但如果你的价值在于思考,AI 只是让你的思考产生更大的影响。