Ralph:开源AI编程自主循环机器人,把Claude Code变成不眠的开发助理

Ralph是一个开源的自主AI编程循环框架,由snarktank开发。它的核心理念是:给AI coding工具(如Claude Code或Amp)一份产品需求文档(PRD),然后让AI反复执行,直到PRD中的所有任务项全部完成。每一次循环都是一个全新的AI实例,上下文干净,但通过git历史、progress.txt和prd.json在迭代间保持记忆。

这个设计理念来自Geoffrey Huntley,被称为「Ralph模式」——本质上是一个持续运行的autonomous coding agent loop,适合需要AI独立完成较大规模开发任务的场景。

Ralph的工作流程非常清晰:
1. 读取prd.json中的用户故事列表
2. 挑选优先级最高、且passes: false的任务
3. 在新分支上用AI coding工具实现这个任务
4. 运行质量检查(类型检查、测试等)
5. 检查通过则提交代码,标记passes: true
6. 将学习到的经验追加到progress.txt
7. 重复直到所有任务完成或达到最大迭代次数

Ralph的核心文件:
– ralph.sh:bash循环脚本,负责启动新的AI实例
– CLAUDE.md(或prompt.md):针对Claude Code/Amp的提示模板
– prd.json:用户故事列表,每个故事含passes状态
– progress.txt:追加型学习日志,记录每次迭代的发现

安装Ralph非常简单:

git clone https://github.com/snarktank/ralph.git
cd ralph
mkdir -p scripts/ralph
cp ralph.sh scripts/ralph/
cp CLAUDE.md scripts/ralph/
chmod +x scripts/ralph/ralph.sh

给Claude Code安装Ralph插件:

/plugin marketplace add snarktank/ralph
/plugin install ralph-skills@ralph-marketplace

运行Ralph:

# 使用Claude Code(默认)
./scripts/ralph/ralph.sh [最大迭代次数]

# 使用Amp
./scripts/ralph/ralph.sh –tool amp [最大迭代次数]

Ralph对PRD故事的规模有严格要求:每个故事必须在单个上下文窗口内完成。太大会导致LLM在完成前就耗尽上下文,最终产出残缺代码。好的故事粒度应该是:添加一个数据库字段和迁移、在现有页面上加一个UI组件、更新服务器Action中的某个逻辑、给列表页面加一个筛选下拉框。

Ralph适用于:需要AI独立完成中等规模功能模块的开发团队、自动化代码重构任务、AI驱动的前后端联调等场景。项目完全开源,采用MIT协议。

GitHub地址:https://github.com/snarktank/ralph


服务支持:如有兴趣不会搭建,可以联系微信:WRYD6166,开源项目搭建10-50元。

© 版权声明
THE END
喜欢就支持一下吧
点赞12 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容