mcpField

Reflexion Debug Loop

精选按需触发
代码质量最多 8 轮

关于 Reflexion Debug Loop

这是一个手动触发的调试循环,以失败的测试或复现用例为目标。每一轮先运行指定测试,记录失败原因的简短反思,再修改代码并重新验证,最多进行 8 轮。

主要功能

  1. 01通过 --testNamePattern 只运行目标测试
  2. 02最多 8 轮,避免无限重试
  3. 03每轮的反思记录会指导下一次修复
  4. 04支持 Claude Code 和 Cursor

适用场景

  1. 01最近的改动导致某个测试失败
  2. 02已将缺陷报告写成复现测试
  3. 03用单个可复现测试缩小回归范围
目标
运行 npm test -- --testNamePattern=<failing-test> 时,原先失败的测试或复现用例能够通过。
退出条件
复现测试以退出码 0 结束时停止;若 8 轮后仍失败,也到此为止。
每轮之间运行
npm test -- --testNamePattern=<failing-test>

启动提示词

在 Claude Code / Cursor 中粘贴运行,Agent 会按下面的步骤循环执行,直到满足退出条件。

prompt.md
开始运行“Reflexion Debug Loop”循环。
目标:运行 npm test -- --testNamePattern=<failing-test> 时,原先失败的测试或复现用例能够通过。
最大轮数:8。
第 1 步:复现缺陷 — 运行目标测试并读取输出。如果退出码为 0,则循环结束;否则记下失败的断言和报错信息。 `npm test -- --testNamePattern=<failing-test>`
第 2 步:反思原因 — 根据本轮输出和之前各轮的记录,写下失败原因的假设,并排除已经证明无效的思路。
第 3 步:修改代码 — 针对假设做最小范围的修改,然后进入下一轮,由重新运行的测试结果来判断修复是否有效。
每轮之间运行:`npm test -- --testNamePattern=<failing-test>`
退出条件:复现测试以退出码 0 结束时停止;若 8 轮后仍失败,也到此为止。

步骤

每一轮按顺序执行;未满足退出条件会进入下一轮,最多重复 8 轮。

01
复现缺陷

运行目标测试并读取输出。如果退出码为 0,则循环结束;否则记下失败的断言和报错信息。

$npm test -- --testNamePattern=<failing-test>
02
反思原因

根据本轮输出和之前各轮的记录,写下失败原因的假设,并排除已经证明无效的思路。

03
修改代码

针对假设做最小范围的修改,然后进入下一轮,由重新运行的测试结果来判断修复是否有效。

未通过 → 下一轮满足条件即退出

支持的 Agent

可以直接运行这个 Loop 的编码 Agent。

Claude Code
Cursor

评论

支持 Markdown