⚠️ AI 时代怎么学
这条决定了前面五步会不会白学
2026 年最需要警惕的陷阱:理解债
AI 生成的代码能跑、测试能过,但你不知道它为什么能跑。阿里云技术文点得很准:
"理解债比技术债更可怕……Java 项目中尤显:接口规范但逻辑错、依赖链混乱、异常处理形同虚设。"
资深架构师 Mark Seemann 上个月写的一段(2026-09-16):
一位读者用 AI 花了一年时间,
搭出了一个规模不小的系统,
却发现自己无法独立维护。
他的结论很克制:LLM 时代编程基础仍然重要 —— 关键是理解相邻抽象层,并且只向 LLM 提出能验证对错的问题。
核心机制
AI 让「写代码」变便宜
↓
让「判断代码对不对」变贵
↓
而判断力只能来自你自己踩过的坑
Netflix 资深工程师 Jake Nations 在 2026 年初的一次公开演讲里说:
"我发布了我不懂的代码,而且我敢打赌,你们也一样。"
他讲的是速度上升、理解深度急剧萎缩这件事。
Andrew Ng 在 2026 年 8 月也给了同样的判断:进入 Agentic Coding 时代,软件工程基本功依然不可替代。
⭐ 一条硬规则
AI 可以解释、可以 review、可以指出错误 —— 但不要让它写你不打算读的代码。
这是从你自己的经历里总结的:student-mgmt 就是"AI 写的、你没读过",所以你现在读不懂它。
继续这样只会重复同一个坑,而且坑会越挖越深。
学法:不是"先学后做",也不是"只做不学"
做 → 卡住 → 查 → 搞懂 → 再往前
先动手,卡住了再去查(问 AI、翻文档、读源码)。带着具体问题去学,效率比"先看完教程"高得多 —— 因为你只学你真正用得到的部分。
🧪 自检标准
随时用这三个问题问自己,判断到底学没学会:
| 问题 | 在测什么 |
| 这块代码为什么这么写? | 换成别的写法会怎样 —— 设计判断力 |
| 线上半夜炸了,第一步查哪儿? | 定位路径是否清晰 —— 调试能力 |
| 这个写法将来会不会埋坑? | 能不能预判 —— 工程直觉 |
三个都答得上来才算学到。答不上来就是"能跑就行"的状态
而现在软件行业最危险的位置,恰恰是:
"experienced enough to feel safe" —— 经验足够到觉得安全。
阶段 0Java 语言基础
MOOC.fi · 赫尔辛基大学 · 免费
⚠️ 这一步是速成,不是完整跟课。你有 JS/TS 底子,语法差异只有那些 —— 目标是两周内把 Java 读顺、写顺,不是刷完 14 部分。
砍掉什么
跳过"什么是变量/循环/条件"这种基础题 —— 你早就会编程了,刷这些是浪费。
原计划 140 小时 → 压缩到 约 20–30 小时,省下的时间全部投到阶段 1。
去哪学
https://java-programming.mooc.fi/
Java Programming I 和 II 各 7 部分,共 14 部分。不需要注册,直接从第一部分开始。
⚠️ 先说清楚它的状态
这是 legacy 课程:不再授予 ECTS 学分,内容也不再更新维护。
但练习和自动评分(Test My Code)都还在正常工作 —— 对"系统学 Java"来说仍然是 2026 年最好的免费资源之一。
为什么选它
- 题目量是真的多 —— 几百道编程练习,不是"试试看"
- 每题自动评分 —— 用 TMC(Test My Code),写完立刻知道对不对
- 用真实的 IDE,不是浏览器里的玩具环境 —— 从第一天就用行业工具
- 完全免费,不用注册
怎么做
时间 约 20–30 小时(速成版)
验收标准
能顺手写出带类、带集合、能读写文件的小程序。
目的不是"学完 Java",是"读 Java 代码不卡" —— 真正的大头在阶段 1。
阶段 1Spring Boot 后端
Spring Academy(官方)· 已全面免费
你已经有能跑的 Spring Boot 项目了,这一步的目标是从"能跑"到"讲得清每一层"。
去哪学
https://spring.academy/courses
Spring Academy Pro 已于 2024 年 4 月全面免费,用工作邮箱注册即可。另有 https://docs.spring.io/spring-boot/ 官方文档和 Baeldung 查漏。
这一步的关键做法
一边学,一边对照你自己的 student-mgmt 代码看。每学一个概念,就回项目里找到它在哪里、为什么这么写。
这样学的不是抽象知识,是你自己项目里正在发生的事。
学什么
- HTTP 与 REST:为什么是 GET/POST/PUT/DELETE,状态码各自什么意思
- Spring Boot 启动流程:容器、Bean、依赖注入到底在干什么
- 分层职责:Controller → Service → Mapper,为什么不能混在一起
- MyBatis-Plus:一个 Java 方法是怎么变成 SQL 的
- 统一响应体 + 全局异常处理:为什么需要
- JWT 认证链路:登录 → 签发 → 拦截器校验,中间发生了什么
- 事务:
@Transactional 什么时候生效、什么时候失效
怎么做
时间 约 60–80 小时
验收标准
指着项目里任意一个文件,你能说出"这里在解决什么问题、为什么这么写"。
做不到就说明还没学会 —— 这正是你之前缺的那一环。
阶段 2React 工程化 + 全栈
Full Stack Open · 赫尔辛基大学 · 免费 · 可申请 ECTS
你工作就用 React,这一步是把它从"会用"推到"懂工程" —— 状态怎么管、数据怎么流、项目怎么组织。
去哪学
https://fullstackopen.com/
有中文翻译(页面右上角可切语言)。课程持续更新,没有"过期版本"问题。完成足够练习后,提交系统会给出开放大学的报名链接,可申请赫尔辛基大学 ECTS 学分。
⚠️ 只取你需要的部分
这门课的后端是 Node.js,而你的后端主力是 Spring Boot。
别两头学。你重点拿 React 深度 + 工程化 + 测试 + 全栈思维;Node 部分当"理解全栈对照"看一遍即可,不用精通。
学什么
- React 深入:状态、副作用、自定义 hook
- 状态管理:什么该放全局(登录态),什么该放组件(表单)
- 服务端状态 vs 客户端状态 —— 前端最容易搞错的地方
- TypeScript 在真实项目里的用法
- 测试:单元测试 + 端到端
- CI/CD 基本概念
怎么做
时间 约 100–150 小时(做重点部分可压缩)
验收标准
React 版 student-mgmt 能跑起来,功能与 Vue 版一致。
并且你能说清"这个数据为什么放在这里" —— 全局还是组件、服务端还是客户端状态。
阶段 3部署与运维
DevOps with Docker · 赫尔辛基大学 · 免费
你服务器上已经全在跑了(nginx、systemd、HTTPS),只是没系统学过。这一步把"能用"变成"懂原理"。
去哪学
https://courses.mooc.fi/org/uh-cs/courses/devops-with-docker-spring-2026
4 章 16 个练习。注意:不要在你这台生产 VPS 上做练习 —— 内存只有 1.9G 且已在用 swap。在你自己的电脑上做。
⚠️ 别在这台服务器上练
这台机器已经在跑 27 个服务,可用内存不到 1GB。Docker 练习在你本地电脑做,别把生产环境搞崩。
学什么
- Docker 基础:镜像、容器、volume、网络
- docker-compose:多服务编排
- 反向代理为什么存在 —— 对照你在用的 nginx
- CI/CD:代码怎么自动跑到线上
- 环境变量与密钥管理(
.env 不进仓库)
怎么做
时间 约 50–80 小时
验收标准
从零把这套重新部署一遍,不用别人插手。
包括:构建、启动、nginx 反代、HTTPS、systemd 守护、看日志排错。
阶段 4AI 应用工程
Spring AI 官方文档 + 动手实践
这一步是你和别人拉开距离的地方。行业现在缺的不是"会调模型的人",是"能把 AI 变成可靠软件的工程师"。
去哪学
https://docs.spring.io/spring-ai/reference/
Spring AI 1.0 GA 已于 2025 年 5 月发布。62% 的企业现在用 Java 支撑 AI 功能。另有 modelcontextprotocol.io(MCP 协议,2025 年 12 月进 Linux Foundation)。
⭐ 你有个别人没有的杠杆
你现在的工作就是 AI 面试官 —— 别人要从零入门 AI,你已经在一个真实的 AI 产品里了,只是现在只能改前端。
走完这一步,你简历上写的不是"用 LangChain 做了个聊天机器人",而是"参与 AI 面试官产品的全链路实现"。
学什么
- LLM API 调用 + 流式输出(SSE) —— 你在
live.lateyoung.site 见过这套
- Prompt 管理:为什么不能把 prompt 散在代码里
- RAG:向量库(pgvector / Milvus)+ 检索 + 拼上下文
- Tool calling:让模型能真的做事,而不只是说话
- MCP:语言无关的协议标准
- Agent 编排:多步、带反馈循环,而不是一问一答
- 成本与延迟:token 怎么算、缓存怎么命中
怎么做
时间 约 80–120 小时
验收标准
你能独立交付一个能用的 AI 应用功能:有检索、有工具调用、能流式返回、成本可控。
而且能说清它的失败模式 —— 什么时候会答错、为什么、怎么改进。