ralph
AI 自主循环编程框架,让 AI 按 PRD 逐条完成任务直到全部通过
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
AI 自主循环编程框架,让 AI 按 PRD 逐条完成任务直到全部通过
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你写好产品需求文档(PRD),然后泡杯咖啡回来——代码竟然全部写完了。这听起来像是科幻,但正是 Ralph 想要实现的目标。
Ralph 的作者是独立开发者 Ryan Carson,他在 Twitter/X 上分享了这个项目后迅速走红。这个项目的灵感来自 Geoffrey Huntley 提出的 "Ralph 模式"——一种将 AI 编程工具变成真正的 autonomous agent 的工程实践。Ryan 的核心洞察是:与其让 AI 一次生成全部代码(这会导致上下文污染和质量下降),不如让它像人类开发者一样,按需求逐条完成,每步都验证,通过 git 记录进度。
Ralph 的本质是一个自主循环执行框架。它驱动 AI 编程工具(目前支持 Amp CLI 和 Claude Code),按照预设的 PRD 逐条完成任务,直到所有需求通过验证。
工作流程如下:读取 prd.json 中的需求 → 找到优先级最高且 passes: false 的条目 → 调用 AI 工具实现该功能 → 运行质量检查(类型检查、lint、测试)→ 若检查通过则 git commit → 更新 PRD 状态 → 追加进度日志 → 循环直到全部完成。
这种设计的精妙之处在于每次迭代都是全新的上下文——不会有之前对话的残留信息污染当前任务。进度通过 prd.json、progress.txt 和 git 历史持久化,下一轮迭代可以读取并延续。
Ralph 的代码库极其精简:核心文件只有 ralph.sh(bash 脚本)、CLAUDE.md(给 Claude Code 的指令)和 prompt.md(给 Amp 的提示词模板)。没有复杂的依赖,没有沉重的框架,只有一个 bash 脚本驱动整个循环。
progress.txt 文件有一个巧妙的知识积累机制:每次迭代完成后,AI 需要将发现的代码模式、可复用的经验记录到文件顶部的 ## Codebase Patterns 区块。这样,后续迭代能从"前辈"的经验中学习,避免重复踩坑。这相当于给 AI agent 配了一个小型知识库。
skills 目录包含两个技能包:prd 用于生成产品需求文档,ralph 用于将 PRD 转换为 prd.json 格式。安装方式支持直接复制到项目、复制到全局配置,或作为 Claude Code Marketplace 插件安装。
Ralph 的目标用户是有一定工程经验的开发者,需要:
对于 AI 爱好者来说,Ralph 的价值在于它展示了"AI 编程工具 + 结构化需求文档"可以实现接近全自动的软件开发。对于 AI 开发者,它提供了将 AI agent 从玩具变成生产力工具的工程范式参考。
Ralph 尚未经过大规模生产项目的验证。它在简单到中等复杂度的项目中表现较好,但对于需要跨系统理解、多方协调或需求频繁变更的场景,效果仍有待观察。另外 PRD 的质量直接决定了最终代码的质量——Garbage in, garbage out。
作者自己也承认,Ralph 更像是一个"思考实验",探索 AI 编程的边界在哪里,而非一个开箱即用的完美解决方案。
Ralph 代表了 AI 编程工具的一个新兴方向:从"一次性生成"向"迭代式自主开发"的范式转变。类似 AutoGPT、Devin 的思路,但实现更轻量、更可控。随着 Claude Code、Amp 这类工具的成熟,这类 PRD-driven agent 框架可能会成为 AI 时代软件开发的标准工作流之一。