系列导航
1. 什么是 Ralph Loop
想象一下:你写好一个需求,然后去睡觉,第二天醒来代码就写好了 —— 这就是 Ralph Loop 的魅力!
Ralph Loop 是一种让 Claude Code 自主迭代运行的技术。它的名字来源于《辛普森一家》中的 Ralph Wiggum 角色,寓意着”不断尝试,永不放弃”的精神。

1.1 核心原理
Ralph 本质上是一个 Bash 循环,通过 while true 不断地向 Claude 喂入提示词文件,实现自我迭代改进。
它创建了一个自引用反馈循环:
- 提示词在每次迭代中保持不变
- Claude 之前的工作成果保留在文件中
- 每次迭代都能看到修改后的文件和 git 历史
- Claude 通过读取自己过去的工作来自主改进
1 | ┌─────────────────────────────────────────────────┐ |
2. 快速开始
2.1 启动 Ralph Loop
使用 /ralph-loop 命令启动一个循环:
1 | /ralph-loop "Build a REST API for todos. Requirements: CRUD operations, input validation, tests. Output <promise>COMPLETE</promise> when done." --completion-promise "COMPLETE" --max-iterations 50 |
Claude 会自动:
- 逐步实现 API
- 运行测试并查看失败
- 根据测试输出修复 bug
- 持续迭代直到所有需求完成
- 完成后输出完成标记
2.2 取消 Ralph Loop
如果需要中途停止,使用:
1 | /cancel-ralph |
3. 命令详解
3.1 /ralph-loop
启动一个 Ralph 循环。
语法:
1 | /ralph-loop "<prompt>" --max-iterations <n> --completion-promise "<text>" |
参数说明:
| 参数 | 说明 | 默认值 |
|---|---|---|
<prompt> |
任务提示词(必填) | - |
--max-iterations |
最大迭代次数 | 无限制 |
--completion-promise |
完成标记词 | - |
3.2 /cancel-ralph
取消当前正在运行的 Ralph 循环。
1 | /cancel-ralph |
4. Prompt 编写技巧
写好 Prompt 是 Ralph Loop 成功的关键。下面是一些最佳实践:
4.1 明确完成标准
让 Claude 知道什么时候算”完成”。
反面示例:
1 | Build a todo API and make it good. |
正确示例:
1 | Build a REST API for todos. |
4.2 分阶段目标
把大任务拆分成小阶段,让 Claude 有清晰的执行路径。
反面示例:
1 | Create a complete e-commerce platform. |
正确示例:
1 | Phase 1: User authentication (JWT, tests) |
4.3 引导自我纠错
告诉 Claude 如何处理错误和失败。
反面示例:
1 | Write code for feature X. |
正确示例:
1 | Implement feature X following TDD: |
4.4 设置安全边界
始终使用 --max-iterations 作为安全网:
1 | # 推荐:始终设置合理的迭代上限 |
在 prompt 中也可以加入卡住时的处理方案:
1 | After 15 iterations, if not complete: |
5. 适用场景
5.1 适合使用 Ralph Loop
| 场景 | 说明 |
|---|---|
| 有明确成功标准的任务 | 如”所有测试通过”、”编译成功” |
| 需要迭代优化的任务 | 如让测试通过、修复 lint 错误 |
| 新项目开发 | 可以放手让 Claude 自己干 |
| 有自动验证机制的任务 | 测试、linter、类型检查等 |
5.2 不适合使用 Ralph Loop
| 场景 | 说明 |
|---|---|
| 需要人工判断的任务 | 如设计决策、用户体验评估 |
| 一次性操作 | 如简单的文件修改 |
| 成功标准不明确的任务 | 如”让代码更好” |
| 生产环境调试 | 风险太高,建议人工介入 |
6. 实战案例
6.1 案例一:全栈应用开发
1 | /ralph-loop " |
6.2 案例二:代码重构
1 | /ralph-loop " |
6.3 案例三:Bug 修复
1 | /ralph-loop " |
7. 核心理念
7.1 迭代优于完美
不要期望第一次就完美。让循环去打磨,每一轮都会更好一点。7.2 失败是数据
“确定性的糟糕”意味着失败是可预测的、有信息量的。利用失败来调整 prompt。7.3 操作者技能很重要
成功取决于写好 prompt,而不仅仅是有好的模型。7.4 坚持就是胜利
持续尝试直到成功。循环会自动处理重试逻辑。