name: 重构 description: 代码重构工作流 - 分析 → 规划 → 实施 → 审查 → 验证
/refactor - 重构工作流
带有审查关卡的安全重构。
何时使用
- “重构 X”
- “清理此代码”
- “将此提取到模块中”
- “改进 Y 的架构”
- 大规模代码重构
- 技术债务减少
工作流概述
┌──────────┐ ┌────────────┐ ┌──────────┐ ┌──────────┐ ┌───────────┐
│ phoenix │───▶│ plan- │───▶│ kraken │───▶│plan-reviewer│───▶│ arbiter │
│ │ │ agent │ │ │ │ │ │ │
└──────────┘ └────────────┘ └──────────┘ └──────────┘ └───────────┘
分析当前代码 规划变更 实施重构 审查变更 验证测试通过
代理序列
| # | 代理 | 角色 | 输出 |
|---|---|---|---|
| 1 | phoenix | 分析当前代码,识别改进区域 | 分析报告 |
| 2 | plan-agent | 创建安全重构计划 | 逐步计划 |
| 3 | kraken | 实施重构 | 代码变更 |
| 4 | plan-reviewer | 审查变更以确保正确性 | 审查报告 |
| 5 | arbiter | 验证所有测试仍然通过 | 测试报告 |
重构原则
- 测试优先:确保重构前有足够的测试覆盖
- 小步骤:每个变更都应该是可独立验证的
- 行为保留:重构期间无功能变更
- 可审查:变更应易于审查
执行
阶段 1: 分析
Task(
subagent_type="phoenix",
prompt="""
为重构分析:[目标代码]
识别:
- 当前痛点
- 代码异味
- 改进机会
- 风险区域
- 测试覆盖差距
"""
)
阶段 2: 规划
Task(
subagent_type="plan-agent",
prompt="""
规划重构:[目标代码]
分析:[来自 phoenix]
创建:
- 逐步重构计划
- 每个步骤应:
- 小而专注
- 可独立测试
- 可逆
- 识别受影响的文件
- 风险缓解策略
"""
)
阶段 3: 实施
Task(
subagent_type="kraken",
prompt="""
实施重构:[目标代码]
计划:[来自 plan-agent]
要求:
- 严格遵循计划
- 每个步骤后运行测试
- 如果测试失败则停止
- 无行为变更
"""
)
阶段 4: 审查
Task(
subagent_type="plan-reviewer",
prompt="""
审查重构:[目标代码]
变更:[来自 kraken 的 git diff]
检查:
- 行为保留
- 无意外变更
- 代码质量改进
- 模式一致
"""
)
阶段 5: 验证
Task(
subagent_type="arbiter",
prompt="""
验证重构:[目标代码]
- 运行完整测试套件
- 验证无回归
- 检查类型错误
- 运行代码检查
"""
)
重构类型
提取模块
phoenix → plan-agent → kraken → plan-reviewer → arbiter
重命名/重构
phoenix → kraken → arbiter (更简单,跳过详细规划)
架构变更
phoenix → plan-agent → [kraken → plan-reviewer] × N 阶段 → arbiter
示例
用户: /refactor 将验证逻辑提取到单独模块
Claude: 启动 /refactor 工作流...
阶段 1: 分析当前结构...
[生成 phoenix]
发现:验证逻辑分布在 4 个文件中
- form.ts (行 45-120)
- api.ts (行 200-280)
- user.ts (行 15-45)
- order.ts (行 88-130)
阶段 2: 规划提取...
[生成 plan-agent]
计划:
1. 创建 src/validation/index.ts
2. 提取通用验证器
3. 逐个文件更新导入
4. 每个变更后运行测试
阶段 3: 实施...
[生成 kraken]
完成所有 4 个步骤,每个步骤后测试通过
阶段 4: 审查变更...
[生成 plan-reviewer]
✅ 所有行为保留
✅ DRY 改进(移除了 45 行重复代码)
✅ 新结构一致
阶段 5: 最终验证...
[生成 arbiter]
✅ 312 个测试通过,0 回归
重构完成!
安全标志
--dry-run:规划但不实施--step-by-step:每个变更后暂停以获取批准--coverage-check:在继续前要求 >80% 的覆盖