用途
Ralph Wiggum Loop 用于在担心上下文窗口耗尽,或需要处理大量 PR 评论时,通过外部 shell 循环为每条 PR 评论启动一个全新的智能体会话。每次调用只完成一个工作单元(分类或修复),然后退出,由 shell 循环负责重复执行。该模式可避免上下文窗口耗尽,并适用于任何接受标准输入的智能体。
主要能力
- 每次迭代启动一个全新的智能体会话,避免上下文窗口耗尽。
- 与任何接受标准输入的智能体兼容。
- 通过状态文件跟踪进度:CODE_REVIEW_PLAN.md(静态指令文件)、PR_COMMENTS_PLAN.md(分类与进度状态,每次运行更新)、PR_REVIEW_DONE(所有评论处理完毕后由智能体写入,用于终止循环)、.pr-review/plan-<id>.md(针对非平凡修复的逐评论计划,解决后删除)。
使用方式
该技能不通过聊天调用,而是在终端运行 shell 循环,将 CODE_REVIEW_PLAN.md 通过管道传给每次迭代的新智能体会话。
Claude:
while [ ! -f PR_REVIEW_DONE ]; do
cat CODE_REVIEW_PLAN.md | claude -p --dangerously-skip-permissions
done
Codex:
while [ ! -f PR_REVIEW_DONE ]; do
cat CODE_REVIEW_PLAN.md | codex exec --yolo -
done
任何接受标准输入的智能体:
while [ ! -f PR_REVIEW_DONE ]; do
cat CODE_REVIEW_PLAN.md | <agent-command>
done
设置(每个 PR 一次)
将本技能中的 CODE_REVIEW_PLAN.md 复制到项目根目录:
# Project-local install (default — installed without --global):
cp .agents/skills/ralph-wiggum-loop/CODE_REVIEW_PLAN.md .
# Global install (installed with --global):
cp ~/.claude/skills/ralph-wiggum-loop/CODE_REVIEW_PLAN.md .
路径取决于技能的安装方式。先检查 .agents/skills/(项目本地);如果找不到,则使用全局技能目录。
可选:将以下文件加入 .gitignore:
CODE_REVIEW_PLAN.md
PR_COMMENTS_PLAN.md
PR_REVIEW_DONE
.pr-review/
工作原理
| 迭代 | PR_COMMENTS_PLAN.md 是否存在 | 智能体做什么 |
|---|---|---|
| 第 1 次 | 否 | 获取所有 PR 评论,进行分类,写入该文件 |
| 第 2–N 次 | 是 | 修复最上方未解决的评论,标记为完成 |
| 最终 | 是,全部已解决 | 写入 PR_REVIEW_DONE,循环终止 |
每个会话都很小:一次分类或一次评论修复。
清理
rm -f CODE_REVIEW_PLAN.md PR_COMMENTS_PLAN.md PR_REVIEW_DONE
rm -rf .pr-review/
适用场景
- 需要处理大量 PR 评论时。
- 担心上下文窗口耗尽时。
- 希望使用任意接受标准输入的智能体进行 PR 评论分类与修复时。
限制与注意事项
- 不要在你不完全信任的仓库上使用 --dangerously-skip-permissions 运行循环。
- 不要让循环在前几次迭代之后无人值守地运行,而不检查智能体提交了什么。
- 不要将所有 PR 反馈打包成一个大提交(每个智能体会话最多提交一个修复)。
- 不要在循环运行时删除 PR_COMMENTS_PLAN.md——这是共享状态文件。