


























Ralph(https://github.com/snarktank/ralph)是一个开源的自主 AI Agent 循环工具,由 Ryan Carson 开发。它的核心思想是:让 AI 编码工具(Amp 或 Claude Code)反复运行,直到所有 PRD(产品需求文档)条目全部完成。
progress.txt 和 prd.json 保持记忆Ralph 的核心是一个 bash 循环脚本(ralph.sh),它会:
prd.json 中选取优先级最高且 passes: false 的 user storyprd.json 中该 story 标记为 passes: trueprogress.txtpasses: true 或达到最大迭代次数这是 Ralph 最核心的设计思想。每个迭代启动一个全新的 AI 实例,只有以下记忆可以跨迭代保留:
progress.txt:学习到的模式和注意事项prd.json:哪些 stories 已完成这避免了单一上下文窗口被填满的问题,使得 Ralph 可以处理超过单个上下文窗口的大型功能。
每个 PRD 条目都应该足够小,能在一次上下文窗口内完成。如果任务太大,会导致:
合适的大小:
太大的任务(需要拆分):
每次迭代后,Ralph 会更新相关的 AGENTS.md 文件。这很关键,因为:
应该添加到 AGENTS.md 的内容示例:
Ralph 只有在存在反馈循环时才能工作:
npm install -g @anthropic-ai/claude-code)jq (brew install jq on macOS)# 从你的项目根目录
mkdir -p scripts/ralph
cp /path/to/ralph/ralph.sh scripts/ralph/
# 为你选择的 AI 工具复制 prompt 模板:
cp /path/to/ralph/prompt.md scripts/ralph/prompt.md # For Amp
# 或者
cp /path/to/ralph/CLAUDE.md scripts/ralph/CLAUDE.md # For Claude Code
chmod +x scripts/ralph/ralph.sh
cp -r skills/prd ~/.config/amp/skills/
cp -r skills/ralph ~/.config/amp/skills/
/plugin marketplace add snarktank/ralph
/plugin install ralph-skills@ralph-marketplace
安装后可用的技能:
/prd - 生成产品需求文档/ralph - 将 PRD 转换为 prd.json 格式Load the prd skill and create a PRD for [your feature description]
回答澄清问题。技能会将输出保存到 tasks/prd-[feature-name].md。
Load the ralph skill and convert tasks/prd-[feature-name].md to prd.json
这会创建 prd.json,其中包含为自主执行结构化的 user stories。
# 使用 Amp(默认)
./scripts/ralph/ralph.sh [max_iterations]
# 使用 Claude Code
./scripts/ralph/ralph.sh --tool claude [max_iterations]
Ralph 会创建功能分支,选取最高优先级未完成的 story,实现它,运行质量检查,提交后更新 prd.json,并将学习到的内容追加到 progress.txt。循环直到所有 stories 通过或达到最大迭代次数。
添加到 ~/.config/amp/settings.json:
{
"amp.experimental.autoHandoff": { "context": 90 }
}
这会在上下文填满时启用自动切换,允许 Ralph 处理超过单个上下文窗口的大型 stories。
问题:jq 未安装
解决:brew install jq (macOS) 或 apt-get install jq (Ubuntu)
问题:AI 工具未认证
解决:确保 Amp 或 Claude Code 已安装并认证
问题:迭代次数用尽但任务未完成
解决:
max_iterations 参数progress.txt 看是否有学习到的模式问题:代码损坏导致 CI 失败
解决:
AGENTS.md 是否包含项目约定prd.json 中标记为 passes: true问题:与我的项目结构不兼容
解决:
prompt.md 或 CLAUDE.md 以匹配你的项目约定AGENTS.md 中包含代码库约定Ralph 是一个巧妙的工具,它解决了 AI 辅助编码的一个核心问题:上下文窗口限制。通过每次迭代使用全新的 AI 实例,并通过 git 历史、progress.txt 和 prd.json 保持记忆,Ralph 可以处理超过单个上下文窗口的大型功能。
✅ 适合:
❌ 不适合:
稳定可靠低价的AI中转站:X API
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。