写在前面——这两年带了不少新人,也见过一线团队里「用 AI 起飞」和「被 AI 淘汰」两类人。这篇是我对"AI 时代该怎么学编程"这件事的一些梳理,不是方法论的宏大叙述,是给还在迷茫的同行一点可执行的参考。
一、一个被忽视的事实——AI 同时抬高了代码产出的上限和下限
三年前我们讨论"程序员要学什么",回答通常是一份语言+框架+基础课的长清单。现在再问同样的问题,会发现清单已经失效——
- 语言语法?Copilot / Cursor 帮你补全;
- 框架 API?问一句 Claude 比翻 5 页文档快;
- 算法细节?LeetCode 题解秒出;
- 调试报错?stack trace 往 AI 里一贴,解法自来。
**AI 把"把代码写出来"这件事的边际成本压得极低。**结果是——三个月前还在 crud 的人,现在能独立搭出一个看起来像样的 SaaS MVP;但与此同时,一个能让系统在 10 万 QPS 下不崩的人,和一个只会让 AI 帮他堆代码的人,差距被进一步放大了。
我在团队里观察到最残酷的一幕是——同一个岗位的两个候选人,一个工作 2 年熟练使用 Cursor,另一个工作 8 年但没怎么用 AI 工具。按产出数据看,两人已经接近持平。但做 code review 的时候分化开始显现:8 年的那位指着一段 AI 生成的代码说"这里的并发控制有问题,10 个并发请求会同时修改同一个 cache key";2 年的那位茫然——因为他从来没自己调过这类 bug。
这不是关于工龄,是关于判断力的积累方式正在发生根本变化。
二、学习的目标变了——不再是"能写",而是"能判断"
以前学编程,目标是"我能不能自己把它实现出来"。现在这个目标已经对 AI 失去意义,因为 AI 能实现的东西远比你多、比你快、比你全。
新的目标应该是三件事——
1. 你能不能判断 AI 给的代码是不是对的?
2. 你能不能判断 AI 给的代码是不是好的?
3. 你能不能判断 AI 在"胡说八道"?
"对的"意味着功能跑得通、边界 case 处理正确;"好的"意味着可维护、可扩展、性能可接受;"胡说八道"则是 AI 自信满满地给你一个不存在的 API、一段逻辑颠倒的算法、一个会在生产环境炸掉的方案。
这三个判断的能力,没有任何一个是 AI 能"替你具备"的。它们全部建立在你自己对底层的扎实理解之上。
三、具体该学什么——四条硬骨头
我把现在真正值得学的东西,梳理成四条:
1. 一门主力语言的运行时 & 内存模型
不是会用语法,而是理解:JVM 的 GC 怎么工作、Python 的 GIL 为什么存在、Go 的 goroutine 调度器是怎么跑的、JS 的事件循环和微任务队列是什么关系。
**为什么重要?**因为一旦出现性能问题 / 内存泄漏 / 偶发挂掉,AI 给你的是症状性解法,你要判断根因。根因永远在运行时。
2. 操作系统、网络、数据库三大基础
- 操作系统——进程/线程/协程、内存分页、文件系统、I/O 模型;
- 网络——TCP/IP、HTTP/2、HTTPS 握手、DNS、CDN 的边界;
- 数据库——索引结构、事务隔离级别、锁、日志,MVCC 原理。
这三块是"AI 生成代码背后发生了什么"的底层。没有它们,你永远看不懂为什么同样的代码在测试环境跑得好好的,上了生产就炸。
3. 系统设计能力
从"写一个函数"升级到"设计一个系统"。这一块最难靠 AI 学——因为系统设计本质是在做权衡,而 AI 只能给你选项,不能替你判断业务约束。
练习方法很简单:找一些典型场景(短链、Feed 流、秒杀、IM、支付),自己画图、自己分层、自己取舍。然后把你的方案丢给 AI 挑刺,比你直接问 AI"怎么设计"强十倍。
4. AI 自己的生态
这是新增的一块,不可跳过。包括:
- 大模型基本原理(Transformer、Attention、Scaling Law 这些概念得懂);
- Prompt 工程(不是术语堆砌,是真的能把一个模糊需求拆成可执行的提示);
- RAG、向量数据库、Agent 编排(LangGraph、DSPy、Pydantic AI 这些框架);
- 推理部署(vLLM、量化、投机解码、多 LoRA);
- LLM 观测与 eval(Langfuse、RAGAs、Phoenix)。
不是每个人都要炼大模型,但你得懂"AI 系统是怎么搭出来的",否则三年后你会发现自己和前端工程师不懂 React 一样尴尬。
四、一个可操作的学习节奏
如果你现在 0 基础或处于迷茫期,我的建议是这样分阶段——
Phase 1(0 - 3 个月):打地基
- 一门语言,从语法到运行时彻底搞懂一遍
- 数据结构与算法:不是为了刷题,是为了脑子里有复杂度这个维度
- 操作系统基础(进程、线程、内存、I/O)
Phase 2(3 - 6 个月):搭框架
- 一个主力框架(后端比如 FastAPI / Spring / NestJS;前端 React / Vue / Next.js)
- 数据库基础(SQL 原理 + 一种 NoSQL)
- 版本控制(Git 的内部模型,不是 10 条命令)
- 部署(Docker + 一种云,理解 CI/CD 流水线)
Phase 3(6 - 12 个月):补 AI 肌肉
- Prompt 工程 + RAG 实战
- Agent 框架实战(LangGraph / Pydantic AI / DSPy 任选一个深入)
- 本地部署 + 推理优化(Ollama、vLLM)
- LLM 观测(Langfuse)
Phase 4(12 个月后):进入系统设计 & 领域深耕
- 经典系统设计 case study
- 选一个细分方向深入(安全 / 基础设施 / 大模型推理 / 数据工程……)
五、一些和 AI 协作的小习惯
最后说几个我自己这两年养成的习惯,每个都显著提升了学习效率——
- **不直接要代码,先要方案。**让 AI 先给你 3 种实现思路,比较优劣后再要具体代码。
- **不问"怎么做",问"为什么这么做"。**AI 给你代码后,追问每一个设计决策的理由。
- **反向 debug。**故意在代码里埋坑(比如改掉索引字段、破坏事务边界),然后让 AI 找 bug。如果它找得到,说明它懂;如果它找不到,这正好是你该深入的地方。
- **定期"裸写"。**每周一天不开 AI,强迫自己从 0 手写一小段代码。这段时间的痛苦感,就是你基本功在长的地方。
写在最后
AI 时代最大的焦虑其实不是"我会不会被替代",而是"我怎么知道自己到底学到了什么"。
这个问题的答案不在工具里,在你自己身上——你有没有建立独立的判断标准,有没有积累下自己的踩坑经验,有没有在别人都用 AI 糊弄事的时候坚持把一件事做透。
顺便提一下——我最近在整理一个叫 gufacode.com 的技术学习站,把上面提到的四条硬骨头(语言、基础、系统设计、AI 生态)都按体系做成了教程,从 Python / 算法 / 系统设计 / 操作系统 / 数据库到 RAG / Agent / LangGraph / Pydantic AI / LlamaIndex / Diffusion 都有。
每个教程 10-12 章,写法上尽量说清"为什么这么做",不是搬官方文档的水货。有需要补系统课或 AI 方向入门的,可以去翻翻。