6天,12万行代码:我用 Claude 完成了一次全栈架构升级

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 生成的代码,确保质量和一致性

协作流程

  1. 我提出需求(如:"实现访客端文章模块 API")
  2. Claude 设计方案(写文档、定义接口、数据模型)
  3. Claude 生成代码(Controller、Service、Mapper)
  4. 我 Review(调整细节、补充业务逻辑)
  5. 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. 设计接口文档(1 天)
  2. 写 Controller、Service、Mapper(3 天)
  3. 单元测试(1 天)
  4. 联调修复(2 天)
  5. 总计:1 周

AI 协作流程

  1. :告诉 Claude "实现访客端 API,参考现有 admin 模块的结构"
  2. Claude
    • 读现有 admin 模块代码,理解项目规范
    • 设计 Visitor API 接口(路径、参数、返回值)
    • 生成 Controller、Service、Mapper、DTO
    • 处理 Sa-Token 多用户体系(StpVisitorUtil)
  3. :Review 代码,调整几个业务细节(如评论过滤逻辑)
  4. Claude:编译验证,修复 3 个小错误,提交 Git
  5. 总计: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 可以:

  1. 读现有代码,理解项目规范
  2. 生成符合规范的代码
  3. 自动处理依赖、配置、编译
  4. 我只需要 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 时代的个人开发者提效

这次升级的收获

  1. 时间:2-3 个月 → 6 天,提效 10 倍
  2. 代码量:12 万行,80% AI 生成
  3. 质量:编译通过率高,代码规范统一
  4. 学习:通过和 AI 对话,深入理解了 Spring Boot 3、Vue 3、Nuxt 3 的最佳实践

AI 协作的关键原则

  1. 明确分工:AI 做 CRUD、迁移、文档;人做决策、核心逻辑、UI 调优
  2. 高频迭代:不要指望"一键生成",而是小步快跑,每次调整一点
  3. 严格 Review:AI 生成的代码必须 Review,不能盲信
  4. 善用工具: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)。