Skip to content
返回 AI 编程

Claude Code 智能体重构模式

用 Claude Code 驱动安全的大规模重构:范围、规划、检查点、验证。

Claude Code高级

为什么

Stack Overflow 2025 开发者调查显示 9.7% 的开发者使用 Claude Code,JetBrains 2026 年 1 月 AI Pulse 发现 18% 的专业开发者在工作中使用,较 2025 年 9 月增长 1.5 倍。大规模重构(重命名核心类型、换框架、迁移 200 文件)是智能体工具的用武之地,但也是无人监督时破坏力最大的场景。

范围限定、带检查点的模式将高风险的 2 小时手动重构变为 15 分钟监督运行,并留下可二分查找的干净 git 历史。

何时使用

用于跨超过约 10 文件或触及被多模块导入的共享类型的重构。避免用于单文件编辑(用 Cursor Cmd+K)以及无法描述为机械规则的变更(那些需逐处人工判断)。

如何做

1. 从干净树开始并创建重构分支: git checkout -b refactor/migrate-zod 2. 显式限定任务范围以防止爆炸半径: "仅修改 src/api/ 和 src/middleware/ 下的文件。不碰 src/data/。" 3. 先要计划,不要代码: "列出每个导入 'validateBody' 的文件及所需变更。暂不编辑。" 审查计划。执行前拒绝或调整。 4. 在检查点中执行,每步一个 commit: "将 src/api/users.ts 迁移到 zod。运行 tsc。绿则提交。出错则停。" 5. 持续验证。每次提交后运行门禁: npm run check && npm test 若红,贴回错误:"修复你刚在 src/api/users.ts 创建的 tsc 错误"。 6. 用 git 而非聊天检查结果: git log --oneline refactor/migrate-zod ^main git diff --stat main..refactor/migrate-zod 审查声明范围外的任何文件视为红旗。 7. 仅在完整门禁通过并人工审查 diff stat 后合并: npm run check && npm test && npm run build git checkout main && git merge --no-ff refactor/migrate-zod

示例

将 40 个路由从手写验证器迁移到 zod: $ git checkout -b refactor/zod-migration $ claude > 范围:仅 src/api/**/*.ts。暂不碰 src/data/ 或测试。 > 步骤 1:列出每个使用 'assertValid(req.body)' 的路由及所需 zod schema。输出表格,不编辑。 [审查 40 行表格,确认 schema] > 步骤 2:对表中每个路由,用 zod schema + safeParse 替换 assertValid, 运行 tsc,每路由一 commit。首个错误即停。 结果:40 个 commit,全绿。检查: $ git diff --stat main..HEAD src/api/users.ts | 12 +- src/api/books.ts | 14 +- ...(40 文件,0 个在 src/api/ 之外) 干净范围、可二分查找的历史、声明范围外零文件。

常见问题

  • ⚠Error: Cannot find module '@anthropic-ai/claude-code' → 运行 `npm install -g @anthropic-ai/claude-code`;需 Node.js 18+。
  • ⚠跳过计划:在 40 文件上直接编辑会产生 40 个错误编辑。始终先审查计划。
  • ⚠错误:限流:"429 Too Many Requests" → 运行 `/cost` 查用量,`/compact` 压缩上下文,或等待配额重置。
  • ⚠Error: Cannot find module '@anthropic-ai/claude-code' → 运行 `npm install -g @anthropic-ai/claude-code`;需 Node.js 18+。

最佳实践

  • ✓始终先要计划并在任何编辑前审查。计划廉价,错误编辑不廉价。
  • ✓声明硬范围并在每次运行后用 git diff --stat 验证。拒绝任何范围外文件。
  • ✓每逻辑步骤用约定式消息提交,使历史可二分查找。
  • ✓合并前运行完整门禁(check + test + build),而非仅 tsc。
  • ✓用专用重构分支并以 --no-ff 合并以保留步骤历史。

常见问题解答

如何限定 Claude Code 重构范围以防止爆炸半径?

在提示词中声明硬范围('仅修改 src/api/ 下的文件,不碰 src/data/')并在运行后用 `git diff --stat` 验证。拒绝声明范围外的任何文件。范围限定是智能体重构最重要的安全控制。

为什么编辑前先要计划?

40 文件重构上直接编辑会产生 40 个错误编辑。先要计划('列出每个文件及所需变更,暂不编辑')可廉价发现误解。计划数秒可审查;错误编辑数分钟才能撤销。

如何保持重构 commit 可二分查找?

每逻辑步骤用约定式消息提交('feat(api): migrate users route to zod')且绝不提交红。配置出错即停,使类型失败中止运行而非在历史中留下损坏的中间 commit。

如果 Claude 重构中途丢失上下文怎么办?

长会话忘记原始规则。用 /compact 压缩历史,然后压缩后立即重申范围规则和规格。对超大重构,拆成多个会话并用序列化 JSON 在其间交接。

合并前如何验证大重构?

在重构分支运行完整门禁(npm run check && npm test && npm run build),审查 `git diff --stat main..HEAD` 找范围外文件,并人工审查 diff。用 --no-ff 合并以保留可二分查找的步骤历史。