就在不久前,Anthropic 发布的 Claude Code 终端工具让开发者们大呼过瘾。但即便如此,我们还是需要不断地在终端输入指令、确认修改、处理报错。如果能给 Claude 加上一个“自动驾驶”系统,让它根据需求文档自主编写代码、运行测试、修复 Bug,直到把功能彻底做完再通知我们,那该有多爽?
这就是 Ralph 诞生的初衷。
Ralph 是一个为 Claude Code 设计的自主 AI 开发循环系统。它不仅能让 Claude 连续工作,还内置了极其聪明的“退出检测”和“熔断保护”,确保 AI 在努力干活的同时,不会陷入死循环或者耗尽你的钱包。
什么是 Ralph 循环?
Ralph 的核心思想源于程序员 Geoffrey Huntley 提出的自主开发理念。它不再是一问一答的交互模式,而是一个闭环的流水线:
- 1. 读取指令:从 PROMPT.md 中获取项目需求。
- 2. 执行任务:驱动 Claude Code 在当前上下文中进行开发。
- 3. 追踪进度:实时更新任务清单,记录执行结果。
- 4. 智能评估:判断当前阶段性任务是否完成。
- 5. 自动重复:如果还没干完,继续下一轮循环,直到达成终极目标。
这种“自主”并不是盲目的,Ralph 拥有完善的监控体系。通过集成的 tmux 仪表盘,你可以像看电影一样,实时观察 AI 是如何一步步构建你的项目的。
为什么它比普通的 AI 脚本更强?
很多开发者尝试过写脚本让 AI 循环跑,但往往会遇到 API 超限、代码陷入逻辑死循环等问题。Ralph 针对这些痛点做了深度优化:
1. 智能退出与熔断机制
Ralph 不会无休止地运行。当它检测到任务清单全部打勾、Claude 连续多次反馈“已完成”,或者发现 AI 只是在原地踏步(比如反复修改同一行代码却无法通过测试)时,它会果断触发“断路器”停止运行,防止浪费 Token。
2. PRD 文档一键转项目
这是 Ralph 最令人惊艳的功能之一。你可以把现有的需求文档(PDF、Markdown、甚至 Word)直接丢给它。它会利用 AI 将这些文档拆解成技术规格书、任务列表和开发指令,自动初始化好整个项目结构。
3. 极强的会话连续性
通过 --continue 参数,Ralph 能够跨越多次循环保留上下文。即使因为 5 小时的 API 限制或者网络问题中断,它也能在重启后无缝衔接之前的进度。
4. 实时监控仪表盘
运行 ralph --monitor 后,它会开启一个直观的界面,显示当前的循环次数、API 调用配额、倒计时以及实时日志。这种一切尽在掌握的感觉,才是开发者需要的。
Star History Chart如何快速上手?
Ralph 的设计非常符合 Unix 哲学:安装一次,到处使用。
第一步:安装(仅需一次)
git clone https://github.com/frankbria/ralph-claude-code.git
cd ralph-claude-code
./install.sh
第二步:初始化你的项目
你可以从一个需求文档开始:
ralph-import my-requirements.md my-project
cd my-project
第三步:开启自动开发
ralph --monitor
接下来,你就可以去泡杯咖啡,看 Claude 在你的终端里指点江山了。
开发者社区的新利器
目前 Ralph 处于 v0.9.8 版本,已经拥有了非常完善的测试覆盖率(276 个测试全部通过)。开发者 Frank Bria 还在持续更新,计划引入日志轮转、干跑模式(Dry-run)以及 Git 自动回滚等更高级的功能。
对于那些厌倦了繁琐重复编码、想要尝试“声明式开发”的同学来说,Ralph 无疑是目前 Claude 生态中最值得尝试的工具之一。它不仅仅是一个脚本,更像是一个初具雏形的 AI 队友。
未来的软件开发,或许真的只需要写好一份完美的 PROMPT.md。
GitHub 项目链接地址:https://github.com/frankbria/ralph-claude-code
推荐阅读