Claude 插件 Ralph Loop 完全指南:从入门到精通
分享小贴士每日一贴,贴一贴 Ralph Loop 插件
一、核心概念:什么是 Ralph Loop?
Ralph Loop 是基于 Ralph Wiggum 技术的迭代开发方法,核心思想很简单:
while :; do
cat PROMPT.md | claude-code --continue
done
工作原理:
-
同一个提示词被重复喂给 Claude -
每次迭代中,Claude 看到上一次的工作成果(通过文件和 git 历史) -
Claude 在此基础上继续改进 -
直到满足完成条件
💡 核心理解:这不是”Claude 对话话自己”,而是”同一个提示词 + 累积的工作成果”
二、入门:基础命令
1. 启动循环
/ralph-loop "你的任务描述"
最简单的例子:
/ralph-loop "为这个项目添加单元测试"
2. 停止循环
/cancel-ralph
取消当前正在运行的 Ralph loop。
三、进阶:控制循环
命令选项
|
|
|
|
|---|---|---|
--max-iterations <n> |
|
--max-iterations 10 |
--completion-promise <text> |
|
--completion-promise "DONE" |
完整语法
/ralph-loop "任务描述" --max-iterations 20 --completion-promise "TASK COMPLETE"

实战示例
示例 1:带次数限制
/ralph-loop "优化数据库查询性能" --max-iterations 15
示例 2:带完成承诺
/ralph-loop "重构用户认证模块" --completion-promise "AUTH REFACTORED" --max-iterations 20
⚠️ 重要提示:如果不使用
--max-iterations或--completion-promise,Ralph Loop 会无限运行!
四、精通:完成机制
Completion Promise 工作原理
要让 Ralph Loop 自动停止,Claude 必须输出特定的标签:
<promise>TASK COMPLETE</promise>
完整示例:
/ralph-loop "修复登录bug,所有测试通过后输出 <promise>FIXED</promise>" \
--completion-promise "FIXED" \
--max-iterations 10
自我引用机制
第1次迭代:收到提示词 → 修改文件 → 尝试退出
第2次迭代:收到相同提示词 → 看到第1次的修改 → 继续改进
第3次迭代:收到相同提示词 → 看到前2次的修改 → 深化完善
...
💡 技巧:Ralph Loop 利用文件持久化和git 历史让 Claude “记住”之前的工作,而不是把输出直接喂回给 Claude。
五、适用场景
✅ 适合使用 Ralph Loop 的任务
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
❌ 不适合使用 Ralph Loop 的任务
|
|
|
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
六、实战技巧与小贴士
🎯 技巧 1:明确完成标准
❌ 不好的提示词:
/ralph-loop "改进代码质量"
✅ 好的提示词:
/ralph-loop "改进代码质量,确保所有函数有注释、代码行数减少20%,完成后输出 <promise>CODE IMPROVED</promise>" \
--completion-promise "CODE IMPROVED" \
--max-iterations 15
🎯 技巧 2:设置合理的迭代次数
根据任务复杂度设置:
-
简单任务:5-10 次 -
中等任务:10-20 次 -
复杂任务:20-50 次
🎯 技巧 3:使用版本控制保护
Ralph Loop 会修改文件,建议:
# 启动前创建分支
git checkout -b ralph-loop-work
# 完成后合并
git checkout master
git merge ralph-loop-work
🎯 技巧 4:监控进度
Ralph Loop 会在每次迭代中看到之前的进度,你可以:
-
在任务文件中添加进度标记 -
使用 TODO 列表跟踪状态 -
在 git commit 消息中记录进展
🎯 技巧 5:组合使用其他工具
Ralph Loop 可以与其他 Claude Code 功能结合:
-
/commit:定期提交进度 -
测试工具:每次迭代后运行测试验证 -
分析工具:检查代码质量指标
七、故障排除
问题:Loop 不停止
原因: 没有设置完成承诺或达到最大迭代次数
解决:
-
检查是否设置了 --completion-promise或--max-iterations -
确认 Claude 输出了正确的 <promise>标签 -
使用 /cancel-ralph手动停止
问题:迭代效率低
原因: 提示词不够明确或任务过于复杂
解决:
-
拆分成多个更小的 Ralph Loop 任务 -
细化完成标准 -
在提示词中提供更具体的指导
八、学习资源
-
原始技术介绍:https://ghuntley.com/ralph/ -
Ralph Orchestrator:https://github.com/mikeyobrien/ralph-orchestrator -
本插件帮助: /ralph-loop:help
九、快速参考卡片
基本语法:
/ralph-loop "任务" [--max-iterations N] [--completion-promise TEXT]
停止循环:
/cancel-ralph
完成标记:
<promise>你的完成文本</promise>
工作流程:
1. 编写清晰的提示词
2. 设置完成条件
3. 启动循环
4. 监控进度
5. 必要时取消
🎓 核心理念:Ralph Loop 是”确定性失败在不确定世界”的工具——失败是可预测的,这使得通过提示词调整进行系统性改进成为可能。
夜雨聆风
