
6天,12万行代码:我用 Claude 完成了一次全栈架构升级
一个后端程序员,一个情侣博客,一次跨越 8 年的技术栈升级。没有加班,没有熬夜,只有一个 AI 助手和我。
开篇:一组数字
先说结论,再看故事:
| 指标 | 数据 |
|---|---|
| 升级周期 | 6 天(2026-06-15 ~ 06-20) |
| 代码变更 | 123,000+ 行新增 |
| Git Commits | 65 次 |
| 升级内容 | 后端 + 管理端 + 访客端,全栈重构 |
| AI 贡献 | Claude Opus 4.7,约 80% 代码生成 |
如果告诉你,这是一个人在正常工作时间内完成的,你信吗?
我自己也觉得不可思议。但数据就在那里,Git 历史记录不会骗人。
背景:良人伊欣小窝
先介绍一下这个项目。
良人伊欣小窝(nest)是我和女朋友 joanna 的情侣博客。她是前端程序员,我是后端程序员,我们想用技术记录生活,于是有了这个博客。
项目从 2018 年开始,到现在已经 8 年了。技术栈经历了多次迭代,但核心的"技术债"一直没还:
- 后端:Java 8 + Spring Boot 2.3,单模块架构,代码臃肿
- 管理端:Vue 2 + Element UI,UI 老旧,组件库停止维护
- 访客端:Egg.js + Pug SSR,Node.js 版本老旧,维护成本高
每次想加新功能,都要在这些老代码上修修补补。直到 2026 年 6 月,我下定决心:做一次彻底的架构升级。
但这次,我想试试不一样的方式 —— 让 AI 来干活。
升级内容:5 个 Phase
先看看这次升级要做什么。我把它拆成了 5 个阶段:
Phase 1:后端升级
- Java 8 → Java 17
- Spring Boot 2.3 → 3.5.15
- 单模块 → Maven 多模块
- 引入 Sa-Token 多用户体系
Phase 2:后端拆分(暂缓)
- 原计划:admin 和 visitor 服务拆分
- 实际:保持单体,通过模块化实现逻辑分离
- 原因:情侣博客流量不大,微服务过度设计
Phase 3:管理端迁移
- Vue 2 → Vue 3.5
- Element UI → Ant Design Vue 4 + Vben Admin 5
- 全部业务页面重写(文章、分类、字典、系统配置、素材管理等)
Phase 4:访客端升级
- Egg.js → Nuxt 3
- Pug → Vue 3 模板
- SSR 方案重构
Phase 5:Docker 化
- 后端多模块 Docker 镜像
- 支持 ARM64 + AMD64 多架构
- CI/CD 流程准备
工作量评估:如果是传统开发方式,我估计至少需要 2-3 个月。
但这次,我有一个 AI 助手:Claude。
AI 协作模式:Claude 的角色
先说结论:AI 不是万能的,但用对了地方,效率提升 10 倍不夸张。
Claude(Anthropic Claude Opus 4.7)
- 角色:架构师 + 全栈工程师
- 擅长:
- 技术方案设计(升级方案文档、数据库设计)
- 复杂业务逻辑实现(多模块协调、API 设计)
- 代码迁移(老代码 → 新架构)
- 前后端开发(Spring Boot、Vue 3、Nuxt 3)
- 文档撰写(CLAUDE.md、技术方案)
- Bug 修复(读报错日志 → 定位问题 → 修复)
- 工作模式:通过 Claude Code 直接在本地开发环境操作,读代码、写代码、执行命令
我的角色
- 决策者:架构决策、业务取舍、优先级排序
- 审核者:Review AI 生成的代码,确保质量和一致性
协作流程:
- 我提出需求(如:"实现访客端文章模块 API")
- Claude 设计方案(写文档、定义接口、数据模型)
- Claude 生成代码(Controller、Service、Mapper)
- 我 Review(调整细节、补充业务逻辑)
- Git 提交(AI 自动 commit,带详细说明)
关键点:AI 不是"一键生成",而是高频迭代。一个模块可能要来回对话 10-20 次,每次调整一点,最终成型。
数字说话:AI 提效有多猛
来看具体数据。
时间线对比
| 阶段 | 预估时间(传统开发) | 实际时间(AI 协作) | 提效倍数 |
|---|---|---|---|
| Phase 1:后端升级 | 2 周 | 1 天 | 10x |
| Phase 3:管理端迁移 | 3 周 | 3 天 | 7x |
| Phase 4:访客端升级 | 2 周 | 2 天 | 7x |
| Phase 5:Docker 化 | 3 天 | 1 天 | 3x |
| Visitor API 开发 | 1 周 | 1 天 | 5x |
| 总计 | 2-3 个月 | 6 天 | ~10x |
代码量统计
| 项目 | 新增代码 | Commits | 说明 |
|---|---|---|---|
| nest-server-parent | 37,654 行 | 17 | 后端全量重构 |
| nest-web-admin | ~35,000 行 | 46 | 管理端全业务页面 |
| nest-web-blog | 50,494 行 | 2 | 访客端 Nuxt 3 升级 |
| 合计 | ~123,000 行 | 65 | — |
注:管理端的 172,873 行包含了 Vben Admin 5.7.0 框架初始化,实际业务代码约 35,000 行。
AI 贡献率
我统计了 commit message 的 Co-Authored-By 签名和代码风格:
- 明确 AI 生成:约 60%(有签名 + 结构化 commit message)
- AI 辅助人工调整:约 20%(AI 生成基础代码,我补充业务逻辑)
- 纯人工:约 20%(架构决策、核心业务逻辑、数据库设计)
结论:约 80% 的代码是 AI 参与生成的。
真实案例:Visitor API 一天搞定
举个具体的例子,看看 AI 是怎么干活的。
需求背景
后端需要为访客端提供 19 个 API 端点,覆盖:
- 文章模块(分页、详情、点赞)
- 评论模块(分页、最新评论)
- 链接模块(友链列表)
- 认证模块(注册、登录、登出)
- 首页元数据(男女主人信息、推荐文章)
传统开发流程
- 设计接口文档(1 天)
- 写 Controller、Service、Mapper(3 天)
- 单元测试(1 天)
- 联调修复(2 天)
- 总计:1 周
AI 协作流程
- 我:告诉 Claude "实现访客端 API,参考现有 admin 模块的结构"
- Claude:
- 读现有 admin 模块代码,理解项目规范
- 设计 Visitor API 接口(路径、参数、返回值)
- 生成 Controller、Service、Mapper、DTO
- 处理 Sa-Token 多用户体系(StpVisitorUtil)
- 我:Review 代码,调整几个业务细节(如评论过滤逻辑)
- Claude:编译验证,修复 3 个小错误,提交 Git
- 总计:1 天
关键 Commit
c270b4e feat: 实现访客端认证模块(Phase 5)
1. 扩展 VisitorFacade 接口
- register() 访客注册
- login() 访客登录
- sendRegisterCaptcha() 发送注册验证码
- getVisitorInfo() 获取访客信息
2. 实现 VisitorFacadeImpl
- BCrypt 密码加密
- Redis 验证码存储(5分钟过期)
- Sa-Token 登录(StpVisitorUtil)
3. 创建 VisitorAuthController
- GET /visitor/auth/captcha/mail
- POST /visitor/auth/register/mail
- POST /visitor/auth/login
- ...
编译验证:所有 34 个模块编译成功
注意这个 commit message 的风格:编号列表、详细说明、编译验证结果。这是典型的 AI 生成风格。65 个 commit 里,大部分都是这种格式。
一天 6 个 Phase
更夸张的是,Visitor API 的 6 个 Phase 是在 同一天(2026-06-18) 完成的:
- Phase 1:nest-web-visitor 模块基础骨架
- Phase 2:文章模块
- Phase 3:链接模块
- Phase 4:评论模块
- Phase 5:认证模块
- Phase 6:首页元数据模块
每个 Phase 都是一个完整的模块(Controller + Service + Mapper + DTO),包含多个接口。
如果是传统开发,每个 Phase 至少需要 1-2 天。但 AI 可以:
- 读现有代码,理解项目规范
- 生成符合规范的代码
- 自动处理依赖、配置、编译
- 我只需要 Review 和微调
结果:一天搞定 6 个模块,编译通过,直接可用。
踩坑与反思:AI 不擅长的地方
说了这么多 AI 的好话,也说说踩坑的地方。
1. 架构决策还是得人来
AI 可以给出多个方案,但最终决策必须是人做。
比如 Phase 2(后端拆分),Claude 建议拆成微服务,但我评估了情侣博客的流量(日均 UV < 100),决定保持单体,通过模块化实现逻辑分离。
AI 缺乏业务上下文。它不知道你的用户规模、团队能力、维护成本。这些需要人来判断。
2. 核心业务逻辑要自己写
AI 生成的 CRUD 代码很完美,但核心业务逻辑(如评论过滤算法、推荐权重计算)还是需要自己写。
原因:
- 这些逻辑涉及业务细节,AI 无法凭空理解
- 即使你描述了,AI 生成的代码也要大量调整
- 不如自己写,更可控
3. 数据库设计要谨慎
AI 可以生成表结构,但字段设计、索引优化、数据一致性需要经验。
我有一次让 Claude 设计评论表,它给了一个方案,但我发现缺少 parent_id 字段(支持回复评论)。这种细节,AI 容易忽略。
4. 前端 UI/UX 需要人工调整
AI 生成的前端页面功能完整,但样式细节、交互体验需要人工调整。
比如管理端的表格,AI 用 Ant Design Vue 实现了基本功能,但我调整了列宽、排序逻辑、响应式布局。这些"最后一公里"的工作,AI 做不好。
5. 调试成本不低
AI 生成的代码不是一次成功的,经常需要:
- 编译错误(依赖缺失、类型不匹配)
- 运行时错误(空指针、SQL 错误)
- 逻辑错误(边界条件、并发问题)
每次调试都要和 AI 来回对话,有时候比自己写还慢。
经验:AI 适合批量生成,不适合精细调试。如果一个模块反复出错,不如自己接手。
总结:AI 时代的个人开发者提效
这次升级的收获
- 时间:2-3 个月 → 6 天,提效 10 倍
- 代码量:12 万行,80% AI 生成
- 质量:编译通过率高,代码规范统一
- 学习:通过和 AI 对话,深入理解了 Spring Boot 3、Vue 3、Nuxt 3 的最佳实践
AI 协作的关键原则
- 明确分工:AI 做 CRUD、迁移、文档;人做决策、核心逻辑、UI 调优
- 高频迭代:不要指望"一键生成",而是小步快跑,每次调整一点
- 严格 Review:AI 生成的代码必须 Review,不能盲信
- 善用工具:Claude Code、Git 自动化,工具链要顺
未来展望
这次升级让我看到了 AI 协作的潜力。接下来,我想探索:
- AI 辅助产品决策:让 AI 分析用户需求,提出功能建议
- AI 自动化测试:生成单元测试、集成测试
- AI 运维:自动化部署、监控、故障排查
AI 不会取代程序员,但会取代不会用 AI 的程序员。
这句话听起来像鸡汤,但经历这次升级后,我深信不疑。
附录:技术栈速查
| 层级 | 升级前 | 升级后 |
|---|---|---|
| 后端 | Java 8 + Spring Boot 2.3 | Java 17 + Spring Boot 3.5.15 |
| ORM | MyBatis Plus 3.5 | MyBatis Plus 3.5 + MapStruct |
| 认证 | Sa-Token | Sa-Token(多用户体系) |
| 管理端 | Vue 2 + Element UI | Vue 3.5 + Ant Design Vue 4 + Vben Admin 5 |
| 访客端 | Egg.js + Pug | Nuxt 3 + Vue 3 + Tailwind CSS |
| 部署 | 手动 | Docker(多架构) |
最后:如果你也在考虑用 AI 辅助开发,我的建议是 —— 先从小模块开始,别上来就重构整个项目。
找到 AI 擅长的地方(CRUD、迁移、文档),把不擅长的地方(决策、核心逻辑)留给自己。
这样才能真正提效,而不是被 AI 带着走。
本文首发于 良人伊欣小窝,转载请注明出处。
项目中使用的 AI 工具:Claude(Anthropic)。
原创文章,作者:宁白久,如若转载,请注明出处:《6天,12万行代码:我用 Claude 完成了一次全栈架构升级》https://www.liangrenyixin.cn/article/p/13774112836453376
支付宝扫一扫
微信扫一扫



全部评论: 条