输入
用户先用 PRD skill 创建 tasks/prd-[feature].md,再用 Ralph skill 转成 prd.json。每个 user story 必须足够小,并有可验证验收标准。
Autonomous Agent Loop
Ralph 是一个围绕 PRD 的自治编码循环:每轮启动新的 Amp 或 Claude Code 实例,只实现一个最高优先级且未通过的用户故事,通过 git、progress.txt 和 prd.json 保留跨轮记忆。
Ralph 把长任务拆成多个“干净上下文”的短迭代,减少单个上下文过长导致的遗忘和混乱。它适合有清晰 PRD、可验证验收标准、自动化质量门禁的代码库。
脚本默认会使用 amp --dangerously-allow-all 或 claude --dangerously-skip-permissions --print。这意味着它本质上是高权限自动编码循环,必须在隔离分支和低风险环境中使用。
| 项目 | 观察 |
|---|---|
| 仓库 | snarktank/ralph,默认分支 main,MIT License。 |
| 定位 | README 描述为 autonomous AI agent loop,重复运行 AI coding tools,直到 PRD 中所有条目完成。 |
| 工具 | 支持 Amp CLI 和 Claude Code。Amp 是默认工具,Claude 通过 --tool claude 选择。 |
| 主要文件 | ralph.sh、prompt.md、CLAUDE.md、prd.json、progress.txt、skills/prd、skills/ralph、.claude-plugin。 |
| 可视化 | 仓库包含 flowchart/ 和 ralph-flowchart.png,并提供 GitHub Pages 交互流程图。 |
prd.json,找到 passes: false 的最高优先级故事。progress.txt 和 AGENTS/CLAUDE 规则文件。# Amp 默认
./scripts/ralph/ralph.sh 10
# Claude Code
./scripts/ralph/ralph.sh --tool claude 10
/plugin marketplace add snarktank/ralph
/plugin install ralph-skills@ralph-marketplace
用户先用 PRD skill 创建 tasks/prd-[feature].md,再用 Ralph skill 转成 prd.json。每个 user story 必须足够小,并有可验证验收标准。
Ralph 会产生代码变更、git commit、更新后的 prd.json、追加式 progress.txt、可能的 AGENTS.md 或 CLAUDE.md 规则更新。
适合数据库小迁移、单组件改造、服务端动作、列表过滤、清晰的 UI 小故事。不适合“整个仪表盘”“添加完整认证”“重构全部 API”等大块任务。
ralph.sh 对 Amp 使用 --dangerously-allow-all,对 Claude Code 使用 --dangerously-skip-permissions。如果项目里有删除脚本、部署脚本、生产凭据或外部写入权限,风险很高。
每轮都会读取 git history、progress.txt 和 prd.json。如果上一轮记录了错误模式或提交了有问题代码,后续轮次可能把错误当成事实继续放大。
prd.json 和 progress.txt 是跨轮记忆。如果里面混入不可信指令,可能影响后续 Agent 行为。PRD 应只承载结构化需求,不承载权限绕过指令。
Ralph 依赖“项目自己的质量检查”。如果没有测试、typecheck 或浏览器验证,它仍可能把坏代码标为通过并提交。
| 阶段 | 建议 |
|---|---|
| 启动前 | 在干净 feature branch、临时工作树或容器中运行;移除生产密钥;设置较小 max iterations。 |
| PRD | 每个 story 控制在一个上下文可完成,验收标准必须可测试,UI story 必须要求浏览器验证。 |
| 执行中 | 每轮后审查 commit、diff、progress;发现偏航立即停止循环。 |
| 完成后 | 人工跑完整测试、代码审查、secret scan,再决定是否合并。 |