跳转到内容

迭代优化工作流

提示、观察、再提示,直到满意。这是 AI 辅助开发中最核心的循环。不要期望一步到位 — 迭代优化才是常态。


  1. 带着明确目标的初始提示
  2. Claude 生成输出
  3. 对照标准评估
  4. 给出具体反馈:“把 X 改成 Y,因为 Z”
  5. 重复直到完成

带着清晰的意图和约束开始:

创建一个用户资料卡的 React 组件。
- 展示头像、姓名、简介
- 包含编辑按钮
- 使用 Tailwind CSS
- 移动端响应式

Claude 生成代码后,评估:

  • 是否满足需求?
  • 缺少什么?
  • 哪里有问题?
  • 哪里可以更好?

提供有针对性的修正:

不错的开始。需要以下修改:
1. 头像应该是圆形,不是方形
2. 编辑按钮只在查看自己资料时显示(添加 isOwner 属性)
3. 简介超过 3 行后截断,显示"展开更多"

继续迭代直到满意:

好多了。还有一点:
- 添加数据加载时的骨架屏状态

模式示例
指明位置”第 23 行:把 === 改成 ==
明确动作”在表单外层添加错误边界”
给出原因”删除 console.log,因为它会泄露用户数据”
标注优先级”关键:修复 SQL 注入。可选:添加分页。“
反模式为什么无效更好的替代
”做得更好”没有方向”通过提取验证逻辑来提高可读性"
"这不对”没有具体说明”日期格式应该是 ISO 8601,不是 Unix 时间戳"
"我不喜欢”太主观”使用函数组件替代类组件"
"修复 bug”太模糊”修复:1) 第 12 行的空值检查,2) 循环的越界错误”

Claude 可以在明确完成标准的情况下自我迭代。

持续改善代码质量,直到:
1. 所有测试通过
2. 没有 TypeScript 错误
3. ESLint 零警告
每次迭代后运行检查并修复问题。
满足所有标准后停止。
迭代直到满足:
- 95 分位响应时间 < 100ms
- 测试覆盖率 > 80%
- 所有无障碍检查通过
- 打包大小 < 200KB

使用 PostToolUse hook 在每次编辑后自动运行验证。例如,配置 Edit 工具的 hook 自动运行 lint 和测试。Claude 看到失败后可以自我修正。

当迭代过程中上下文膨胀时:

/compact
继续优化搜索算法。
我们已经取得了不错的进展,聚焦在剩余问题上。

在取得重要进展后:

进展不错。我们做个阶段性提交:
- 提交当前内容
- 列出剩余问题
- 继续下一个优先事项

脚本和自动化生成是迭代优化投资回报率最高的场景 — 实践中报告可节省 70-90% 的时间。脚本自包含、可独立测试,且能立即产生价值。

大多数生产就绪的脚本在 3-7 次迭代后出炉:

迭代重点提示模式
1基本功能”创建一个 [目标] 的脚本”
2-3约束 + 边缘情况”添加 [约束]。处理 [边缘情况]。“
4-5加固”添加错误处理、日志、输入验证”
6-7打磨”针对 [指标] 优化。添加使用文档。“
# 迭代 1 — 基本功能
创建一个列出 Kubernetes 命名空间中 Pod 的 PowerShell 函数。
# 迭代 2 — 添加过滤
添加:按标签选择器和 Pod 状态过滤。
显示:Pod 名称、状态、运行时间、重启次数。
当前脚本:[粘贴或引用]
迭代目标:[具体改进]
约束条件:
- 必须保留:[要保持的现有行为]
- 不能:[要避免的事项]
- 目标环境:[操作系统、shell、运行时]
成功标准:[如何验证此次迭代有效]

广度优先

同一层级的所有问题修完再深入:

  • 第一轮:修复所有类型错误
  • 第二轮:修复所有 lint 警告
  • 第三轮:提高测试覆盖率
  • 第四轮:优化性能

深度优先

完全做完一个区域再转到下一个:

    1. 完善认证流程(所有方面)
    1. 然后转到用户管理
    1. 然后转到设置

优先级驱动

按重要性排序处理:

    1. 安全问题(关键)
    1. 数据完整性 bug(高)
    1. 用户体验问题(中)
    1. 代码风格(低)

一种专门的迭代模式:Claude 审查代码 -> 修复 -> 再审查,直到收敛。

┌─────────────────────────────────────────┐
│ 审查自动修正循环 │
│ │
│ 审查(找出问题) │
│ ↓ │
│ 修复(应用修正) │
│ ↓ │
│ 再审查(验证修复) │
│ ↓ │
│ 收敛(改动极少)→ 完成 │
│ ↑ │
│ └──── 重复(设置最大次数) │
└─────────────────────────────────────────┘
对这个 PR 进行带自动修正的审查:
1. 多 Agent 审查(3 个聚焦不同范围的 Agent)
2. 修复所有 🔴 必须修复的问题
3. 再审查,确认修复没有引入新问题
4. 修复所有 🟡 应该修复的问题
5. 最终审查一次
6. 当只剩 🟢 可选改进时停止
最大迭代次数:3
如果某次迭代改动少于 5 行,提前停止
护栏目的实现方式
最大迭代次数防止无限循环硬限制:3 次
质量门禁确保修复有效每次迭代前运行 tsc && lint
受保护文件防止风险变更跳过:package.json、migrations、.env
变更阈值判断是否收敛变更少于 5 行则退出
回滚能力恢复错误修复每次迭代前 git commit

# 错误
"其实还是换个方案吧..."
(重复 5 次)
# 正确
确定一个方案后在其中迭代。
如果方案本身有误,明确重新开始。