第一篇讲了 AI 替代的是 System 1(模式匹配),不是 System 2(符号推理)。第二篇讲了职业身份的心理调适。第三篇讲了分化正在发生,中间层被压缩。
这是最后一篇。不讲理论了。讲具体怎么做。
一、可执行清单
以下不是”你应该做什么”的建议——是”根据前三篇的分析,在数据支撑下,什么能力在 AI 时代有最高的市场溢价”的推导。
Tier 1:AI 不能做的(投资回报最高)
1. 跨系统调试
能力描述:一个 bug 跨越多个组件(网络 + 存储 + 并发),需要同时理解所有组件的交互才能定位。
为什么 AI 不行:AI 的上下文窗口装不下整个系统。它能分析单个函数,但不能在”网络延迟 + GC 停顿 + 磁盘 I/O 突增”之间建立因果链。
怎么练:读 postmortem 报告(Google SRE book、AWS 故障分析)。自己写复杂系统并故意注入故障。
2. 性能建模
能力描述:在不跑 benchmark 的情况下预测一个架构方案的性能特征。“这个设计在 10K QPS 下 P99 大约是多少?”
为什么 AI 不行:性能建模需要理解 cache hierarchy、内存带宽、调度延迟、网络 RTT 的交互。这些参数在不同硬件上不同,AI 没有你的硬件信息。
怎么练:跑 benchmark,记录结果,建立直觉。这个博客里的分配器对比、io_uring vs epoll、Go vs C vs Rust 就是这个练习。
3. 约束下的架构设计
能力描述:在矛盾的约束之间做决策。“预算只够 3 台机器,但需要 5 个 9 的可用性” -> 选择什么架构?
为什么 AI 不行:AI 会给你所有可能的方案。你需要的不是方案——是在你的具体约束下,哪个方案的 trade-off 最可接受。
怎么练:参与真实的系统设计。如果你没有机会,读别人的设计文档(raft 论文 vs etcd 实现的差距就是一个好例子)。
Tier 2:AI 很差但在进步的(中期投资)
4. 安全审计
AI 不擅长对抗性思维。它能找到已知模式的漏洞(SQL 注入、XSS),但不能发现新型攻击面。但这个领域 AI 在快速进步,3-5 年后可能不再是壁垒。
5. 技术选型与评估
“我们应该用 Kafka 还是 Pulsar?” AI 给你功能对比表。你需要的是基于你团队的运维能力、数据规模、延迟要求的判断。目前 AI 在这方面差,但随着它接入更多上下文(你的代码库、线上指标),会越来越好。
Tier 3:AI 正在接管的(维持但不要指望溢价)
6. 代码实现
写功能代码的能力仍然需要(你需要验证 AI 输出),但不再是差异化来源。
7. API 文档阅读和调用
AI 比你快。但你需要知道什么时候 AI 的 API 调用是错的。
8. 代码审查
AI 在 lint 级别的代码审查上已经很好了。深层的逻辑审查仍然需要人,但这属于 Tier 1 的调试能力。
二、时间分配建议
假设你每周有 10 小时用于学习和提升(除日常工作外):
| 活动 | 时间 | 类别 |
|---|---|---|
| 读源码 + 画架构图 | 3h | Tier 1: 系统理解 |
| 跑 benchmark + 写分析 | 2h | Tier 1: 性能建模 |
| 读 postmortem / 写故障分析 | 2h | Tier 1: 调试能力 |
| 写博客 / 技术文档 | 2h | Tier 1: 知识固化 |
| 学习新工具/框架 | 1h | Tier 3: 维持基础 |
注意:学习新工具/框架的时间只占 10%。因为这些知识的半衰期短(AI 能秒查),而且 AI 在辅助学习新工具方面已经做得很好了。
三、关于”学什么语言/框架”
短回答:这个问题在 AI 时代变得不太重要了。
AI 降低了语言切换的成本。一个熟练的 Go 程序员用 AI 可以在一周内写出可用的 Rust 代码。语言的差异被 AI 抹平了。
真正重要的不是语言——是领域知识:
| 领域知识 | AI 替代难度 | 薪资溢价趋势 |
|---|---|---|
| Web CRUD | 低 | 下降 |
| 移动端 UI | 低 | 持平 |
| 数据库内核 | 高 | 上升 |
| 网络协议栈 | 高 | 上升 |
| 操作系统/驱动 | 高 | 上升 |
| ML 基础设施 | 高 | 快速上升 |
| 安全/密码学 | 高 | 上升 |
| 编译器/语言运行时 | 极高 | 上升 |
规律:离硬件越近、需要理解的全局不变量越多、AI 生成代码的正确率越低——市场溢价越高。
四、30/90 天训练模板
上面说了练什么。这里说怎么开始。
前 30 天:建立基线
Week 1-2: 选一个你不熟悉的开源系统(推荐 <5 万行),不用 AI,
纯手动读源码。画出核心数据流图。
Week 3: 对同一个系统,让 AI 帮你解释。对比你自己理解的和
AI 解释的差异——差异就是 AI 的盲区。
Week 4: 写一篇 2000 字的架构分析。写不出来的地方就是你
自己的盲区。
30 天后你会有两个清单:AI 的盲区和你的盲区。后面 60 天专攻后者。
Day 31-90:针对性训练
每周固定:
- 2h 无 AI 编码(维持 chunking 肌肉记忆)
- 2h 读 postmortem(推荐 https://github.com/danluu/post-mortems)
- 1h AI 代码审计练习(让 AI 写一段并发代码,用下面的
checklist 审)
- 3h 读源码 + benchmark(交替进行)
- 2h 写博客或内部技术文档
每月一次:
- 找一个线上问题,从告警到根因写完整的故障分析报告
- 不用 AI 独立完成一个小项目(500-1000 行)
90 天后回头看,你会明确感知到自己在 Tier 1 能力上的变化。
五、AI 代码审计 Checklist
每次收到 AI 生成的代码,过一遍这个清单:
□ 资源生命周期:malloc/free、open/close、lock/unlock 是否配对?
□ 错误路径:每个 if (err) 分支是否正确清理了之前获取的资源?
□ 并发安全:有没有共享可变状态?用了什么同步原语?够不够?
□ 整数溢出:有没有 size_t 和 int 之间的隐式转换?
□ 边界条件:空输入、超大输入、负数输入,AI 处理了没有?
□ 性能假设:AI 选的数据结构和算法,在你的数据规模下合理吗?
□ 平台假设:AI 假设了 x86 内存模型、Linux 系统调用、特定编译器行为吗?
这个清单来自我们审计 50 段 AI 代码的经验。AI 最常在前三项上翻车。
六、最后一句话
AI 时代对程序员的要求没有降低——是换了方向。以前的核心能力是”写正确的代码”。现在的核心能力是”判断什么是正确的设计”。
前者是手艺。后者是工程。
手艺可以被自动化。工程不能。因为工程的本质是在不完美的世界里做出足够好的决策——而”不完美”和”足够好”的定义,每个项目都不同。
这不是世界末日。这是手艺人向工程师的进化。和 200 年前手工织布工向纺织工程师的进化一样。痛苦,但方向是对的。
延伸阅读:
- 你的大脑正在发生什么 – 认知基础:System 1 vs System 2
- 程序员的身份危机 – 心理调适
- 分化已经开始 – 宏观趋势
- 技术博客在 AI 时代还有意义吗 – 为什么写作是最好的 Tier 1 练习
这个系列到此结束。 回到技术:eBPF、io_uring、无锁数据结构、Rust——这些是 AI 做不好的领域。去学它们。
数据和引用截至 2025-03。