项目重构是检验 Vibe Coding 能力的典型场景. 它不只要求模型生成新代码, 还要求模型理解旧逻辑、识别技术债务、保持业务行为并完成验证.

先明确边界

AI 很擅长在目标模糊时自由发挥. 但在重构场景中, “看起来更现代”并不等于“业务行为正确”.

开始前需要明确:

  • 哪些功能必须保持完全一致
  • 哪些技术债务允许顺手修复
  • 哪些功能允许 AI 自主优化
  • 哪些模块不在本次范围内
  • 验收标准和回退方式

AI 还容易面向未来过度设计. 面向未来并非没有价值, 但开发者需要判断哪些扩展真的必要. 如果初期没有及时控制方向, 几轮迭代之后可能得到一个结构复杂、维护成本更高的新系统.

Code Review 不可省略

你需要知道 AI 是怎么实现任务的, 而不是只确认代码能运行.

一个极端的简化例子是:

def add(a, b):
    return 2

如果测试只覆盖 add(1, 1), 代码和测试会形成一个伪闭环, 但实现显然不符合预期. 实际项目中的问题会隐蔽得多: AI 可能在业务函数中残留 mock、绕开原有校验, 或者通过修改测试来迎合错误实现.

因此需要通过 Code Review 及时纠偏, 并检查:

  • 是否保留原有业务语义
  • 是否引入不必要的抽象
  • 是否绕开真实依赖
  • 测试是否验证行为而非实现细节
  • 异常路径和边界条件是否覆盖

模型能力演进

在早期模型阶段, AI 通常只能较好地处理单个文件或单条后端功能链. 项目范围扩大后, 容易因为模型能力与 context window 的限制出现前后冲突.

随着上下文窗口和编码能力提升, 将项目拆分为模块逐步重构变得可行. 但“能够生成”并不等于“能够交付”: 旧系统的技术债务、隐含业务规则与缺失测试仍然会限制最终质量.

比较稳定的方案是将强推理模型与大上下文模型结合, 先理解和规划, 再分模块实施与验证. 模型进步提高了能力上限, 但没有取消工程管理.

一个可复用的 AI 工作流

一套简单的工作流可以拆为四个阶段.

1. 文档准备

如果相同能力已经在其他项目中实现过, 先让 AI 从现有代码提炼一份通用接入文档:

请理解当前项目的 SSO 认证结构, 并生成一份基于 Vue + FastAPI
的 SSO 接入文档, 为另一个尚未接入 SSO 的项目提供参考.
后端从 @authentication.py 出发, 前端从 @service.ts 出发.

文档需要删除项目路径、内部域名、Token 和具体环境信息, 只保留可迁移的设计.

2. 需求描述

将文档作为上下文, 明确目标项目中的模块对应关系:

请根据 @sso_integration_guide.md 对当前项目进行 SSO 集成.
文档中的核心模块对应当前项目的应用模块.

3. 问题解决

实施后使用实际现象继续收窄问题:

访问本地开发地址时没有进入 SSO 登录流程, 而是进入了用户名密码页面.
请排查原因.

预期行为:
1. 检查认证信息.
2. 未登录时跳转到 SSO.
3. 登录完成后保存认证信息.
4. 从后端用户信息接口完成登录.

这里刻意不携带真实域名、端口、Token 名称与内部接口地址.

4. 迭代规则

问题解决后, 将必要经验写回文档或规则:

请根据本次排查结果, 将必要信息更新到 @sso_integration_guide.md,
以便后续接入时避免同类问题.

这样一次任务的经验才能成为下一次任务的起点.

核心原则

AI 可以放大实现速度, 也可以放大错误方向. 在重构任务中, 开发者最重要的工作从“逐行编写”转变为“定义边界、提供上下文、审查方案与验证行为”.