Ralph 是一种基于持续 AI Agent 循环的开发方法论,由 Geoffrey Huntley 提出
正如 Geoffrey Huntley 所描述的:"Ralph 就是一个 Bash 循环" - 一个简单的 while true,反复向 AI Agent 提供提示文件,让它迭代改进工作直到完成。
这个技术以《辛普森一家》中的 Ralph Wiggum 命名,体现了尽管遇到挫折也要坚持迭代的哲学。
本插件使用 Stop Hook 拦截 Claude 的退出尝试,在当前会话内创建自参照反馈循环:
# 只需运行一次: /ralph-loop "Your task description" \ --completion-promise "DONE" # Claude Code 自动执行: # 1. 处理任务 # 2. 尝试退出 # 3. Stop Hook 阻止退出 # 4. Stop Hook 再次传入相同的提示 # 5. 重复直到完成
Ralph Wiggum 插件的强大功能
在当前会话内创建反馈循环,无需外部 Bash 脚本。Claude 可以看到自己之前的工作并持续改进。
通过 completion-promise 参数设置完成条件,Claude 只有在任务真正完成时才会输出承诺语句退出循环。
可设置最大迭代次数作为安全网,防止在不可能完成的任务上无限循环。
循环状态保存在 .claude/ralph-loop.local.md 文件中,支持监控当前迭代进度。
利用 Claude Code 的 Stop Hook API 拦截退出,实现无缝的迭代控制。
适合与测试、Linter 等自动验证工具配合使用,通过测试结果驱动迭代改进。
Ralph 背后的核心原则
插件提供的 Slash 命令
在当前会话中启动 Ralph 循环
取消当前活动的 Ralph 循环
删除 .claude/ralph-loop.local.md 状态文件,停止当前循环。
编写有效 Ralph 提示词的技巧
什么时候使用 Ralph,什么时候不使用
Ralph 技术的真实应用案例
快速开始使用 Ralph Wiggum 插件
以跳过权限检查模式启动(用于自动化循环)
从 Marketplace 添加并安装 Ralph Wiggum 插件
启动一个带迭代限制的 Ralph 循环
设置完成条件,当输出指定文本时才退出循环
优化 UI/UX 的完整提示词示例
随时强制停止正在运行的 Ralph 循环