过去一年多Cursor已经完全代替原先的VS Code,同时也尝试体验了Windsurf, Autopilot等AI工具。在优化遗留系统、加速产品迭代的过程中,同时也受前同事Woody Zuill的Approval Test方法启发,融合总结出一套实用流程方法:AHA。利用AI的智能分析和设计能力,通过日志驱动和增量验证,打造一个结构化、可控的AI编码方式。
AHA核心步骤
AHA由三个关键阶段组成:Assess, Highlight, Approve:
1. 🧪Assess(评估)
目标是建立行为的基准,避免盲目修改。
- 借助AI工具(如Cursor)的智能分析能力,为目标函数添加详细的Trace log(追踪日志)
- 运行系统,捕获日志,把当前日志结果记录作为系统行为基准(Baseline)
2. ✨Highlight(高亮差异)
基于基准日志,明确业务目标或优化需求,依靠AI的智能设计能力生成代码变更建议。
- 检查代码差异(diff),评估改动影响
- 对比日志,验证行为变化是否符合预期
这个阶段的关键是“可见性”:我们不再是盲目修改,而是让日志高亮出行为的改变。
3. ✅Approve(批准变更)
通过日志对比确认改动效果:
- ✅行为达标:批准变更,提交为新的基准
- ❌行为偏差:将日志反馈给AI,迭代调整,回到Highlight步骤
最终,还可以让 AI 基于日志自动生成文档和测试,形成完整的可验证闭环。
🛠 示例流程(使用 Cursor 工具)
- 用 AI 给目标函数添加详细 trace log
- 运行系统,记录当前行为日志(baseline)
- 命令 AI 进行改造
- 查看代码 diff,接受/拒绝/修改
- 运行系统,获得新日志
- 与 baseline 对比,是否行为正确?
- ❌ 不正确:反馈日志给 AI,排查问题,回到第 3 步
- ✅ 正确:反馈日志给 AI,进一步优化和确认
- 让 AI 写文档和测试,提交新的代码基线
适用场景
AHA在以下场景中效果显著:
- 遗留系统重构:缺乏文档或测试,需谨慎验证行为
- 快速产品迭代:确保代码变更满足业务需求
- 性能优化:通过时间消耗日志,迅速发现性能优化的瓶颈
- 增量开发:适合偏好小步提交的敏捷团队