摘要

Ralph 是一个基于“每次迭代使用干净上下文”和本地文件状态管理的自主 AI Agent 框架,用于反复调用 Amp 或 Claude Code,逐条执行并完成 PRD 中的用户故事。

核心价值在于把长链路开发任务拆成可迭代、可回放、可验证的执行循环:每轮都从新上下文开始,通过 prd.json 跟踪故事状态、通过 progress.txt 记录经验、通过 Git 提交沉淀结果,并在质量检查通过后继续推进下一条任务。

其主要约束也很明确:任务粒度必须足够小,项目必须具备类型检查/测试等反馈回路,前端变更需要额外做浏览器验证,否则循环会逐步积累风险。

功能与定位

Ralph 的定位是“PRD 驱动的工程执行框架”,不是单次对话助手。它将需求文档转成结构化待办后,持续调度 AI 编程工具执行最高优先级且未通过的用户故事,直到全部通过或达到迭代上限。

典型使用场景

  • 将产品需求拆分为可执行用户故事后,交由 AI 持续推进实现。
  • 在上下文窗口受限的任务中,通过每轮重置上下文降低漂移与遗忘。
  • 需要边开发边沉淀团队知识时,把可复用经验持续写入 progress.txt 与项目内代理说明文件。

核心功能

  • 支持 Amp 与 Claude Code 两类 AI 编程工具。
  • 每轮按优先级选择一条 passes: false 的用户故事执行。
  • 执行质量检查后再提交,并回写 prd.json 任务状态。
  • 通过 progress.txt、Git 历史、PRD 状态形成跨轮次记忆。
  • 提供 PRD 生成与 PRD 转 JSON 的配套技能流程。

特色与差异点

  • 强调“每轮新实例”的执行模型,减少长会话带来的上下文污染。
  • 用 Git 与文件作为记忆载体,便于审计、回滚与团队协作。
  • 将需求拆分、实现、验证、记录串成闭环,而非只产出代码片段。

使用方式概览

  1. 先准备 PRD,并转换为 prd.json 的用户故事列表。
  2. 在目标仓库启动 Ralph 循环,指定 AI 工具与最大迭代数。
  3. 每轮执行一条故事并完成检查、提交、状态更新。
  4. 所有故事通过后循环结束;未完成则继续下一轮。

限制与注意事项

  • 若单条故事范围过大,AI 易在单轮上下文内失焦,需先做更细粒度拆分。
  • 若缺少类型检查、测试或 CI 反馈,错误会在多轮迭代中叠加放大。
  • 涉及 UI 的故事需要额外浏览器验证链路,否则“通过”状态可能与真实交互不一致。
  • 框架依赖项目内规范与任务定义质量,PRD 不清晰会直接影响执行效果。

链接

关联主题