惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Last Watchdog
The Last Watchdog
Exploit-DB.com RSS Feed
Exploit-DB.com RSS Feed
S
Secure Thoughts
MongoDB | Blog
MongoDB | Blog
博客园 - Franky
T
Tor Project blog
Threat Intelligence Blog | Flashpoint
Threat Intelligence Blog | Flashpoint
Google DeepMind News
Google DeepMind News
L
LINUX DO - 最新话题
博客园_首页
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
Vercel News
Vercel News
Last Week in AI
Last Week in AI
月光博客
月光博客
cs.CL updates on arXiv.org
cs.CL updates on arXiv.org
P
Proofpoint News Feed
博客园 - 叶小钗
NISL@THU
NISL@THU
C
Check Point Blog
K
Kaspersky official blog
N
News and Events Feed by Topic
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
A
Arctic Wolf
T
Threatpost
GbyAI
GbyAI
L
LINUX DO - 热门话题
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
P
Privacy & Cybersecurity Law Blog
N
News and Events Feed by Topic
Scott Helme
Scott Helme
P
Privacy International News Feed
The Register - Security
The Register - Security
G
GRAHAM CLULEY
Recorded Future
Recorded Future
Apple Machine Learning Research
Apple Machine Learning Research
C
Cybersecurity and Infrastructure Security Agency CISA
B
Blog
Project Zero
Project Zero
Cyberwarzone
Cyberwarzone
Webroot Blog
Webroot Blog
Microsoft Security Blog
Microsoft Security Blog
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
D
DataBreaches.Net
J
Java Code Geeks
AWS News Blog
AWS News Blog
Help Net Security
Help Net Security
Engineering at Meta
Engineering at Meta
M
MIT News - Artificial intelligence
T
Threat Research - Cisco Blogs
Google DeepMind News
Google DeepMind News

BlogFinder

日常漫步 Vol.24 之漫步前山河 - 雅余 周报 #1-聊聊本周的收获 - Edwin's Blog 我的OpenCode必装插件与Skill Write Something 掌中之物未必在掌握之中 · CRIVU PiliNara,一个更顺手的 PiliPlus 分支 「NekoEcho」:做一个必有回响的猫娘主题博客 2026-05 书影音总结 简化博客主题 - 安迪 你要加油呐 我第一次发布 npm 包 拾花小记#45:中考前的二三事 – 小改学习志 黛西花园5月游 #18 枇杷又熟了的五月月报 一些奇奇怪怪的需求?word仿方正书版的几个小操作 - Xiobb's Blog 0419 御温泉之旅 修复了一些bug,网站基本上趋于稳定了 - 新锐博客 又回到四十年前 如何定义成功 迷鹿屋2026已重新上线 科技冰火两重天+一周回顾 ${title} 热度退了,我反而用得更深了-咕咚同学 我到底该不该换个域名? 随身WIFI折腾记 - 安迪 博客撰写体验提升——hexo pro插件 为什么不用相机把屏幕上的接关密码拍下来? 国清寺与天台山 – Ouroboros ★★★★☆《挽救计划》——久违的经济上行感 - Davidの3号基地 删除右键“打开方式”里多余选项 第三周刊_No.53|一切都会被支付两次 安卓APP通话记录与录音上传踩坑记录 - 子舒的博客 天量下跌 inBox 笔记 2.3.8,把工具栏交给了你-咕咚同学 我把小龙虾搬到了微信-咕咚同学 安好 - 响石潭 Compound Engineering Plugin:让每个工程单元都比上一个更容易 MOSS-TTS Family:开源高质量语音与声音生成模型家族深度解析 Crawl4AI:专为 LLM 设计的开源 Web 爬虫与数据抓取工具 Build Your Own X:从零实现你最喜欢的技术——程序员进阶的终极资源清单 Anthropic Skills:用文件夹教 Claude 专业技能的开源框架 1年的去月球(下) - 梅之夏 欢迎回来。 简单讲讲 ASN.1 与 OID DTV - 直播聚合客户端 5.22-5.27 – 不兴江 还没去过鸭川 – 不兴江 张晶晶同学三刷林志颖 关于我 – 不兴江 爱与嫉妒 – 不兴江 港股被持续做空 备案码花了四百块-咕咚同学 一句话生成封面:我给公众号做了4种风格的AI封面生成技能 「官」方認證 再谈费曼学习法 2026-05-28T00:34:11+08:00 2026-05-28T00:28:45+08:00 离谱的英语学习指南:基于AI的英语进阶系统方法论 iii:零集成架构的后端统一运行时 Claude Code Harness:让 Claude Code 工作有迹可循的工程化框架 Heretic:全自动移除大语言模型审查机制的开源工具 MarkItDown:微软开源的万能文档转 Markdown 利器 Harness:让 Claude Code 秒变多智能体协作工厂 这段时间尽折腾AI Agent了,确实极大地提高了效率 近期动态:两个新站点正式上线啦 误判解除!zhouayuan.com 腾讯安全申诉成功 - 周阿源|玩具设计・插画日常・生活随笔 全都违法 – 个人工作记录 关于zhouayuan.com被误判 “含违规信息” 的说明与申诉记录 - 周阿源|玩具设计・插画日常・生活随笔 小米 MiMo v2.5 Pro 白嫖 最大的人间清醒,兜里有钱,但是不花。 夜晚靓歌(12):于文文现场solo - 王志勇的Blog 今日插画:风扬起的倔强 - 周阿源|玩具设计・插画日常・生活随笔 回门习俗 独立网卡 - 忘记了回忆 500亿入股人工智能企业 从命令行到桌面智能体-咕咚同学 第一性原理读书笔记 行者微评论223-加班の守株待兔-博客|政治与时事-风雨行者 ZOZO开源物理接触求解器:GPU加速的可扩展仿真引擎 OpenStock:开源股票市场交易平台技术深度解析 MoneyPrinterTurbo:基于AI的全自动短视频生成工具深度解析 Claude-Mem:为 Claude Code 构建的持久化记忆压缩系统 Twenty:可代码化定制的企业级开源 CRM 平台技术深度解析 2026-05-26T22:59:17+08:00 企业级开源大模型部署平台 GPUStack 实战教程 1年的去月球(上) - 梅之夏 Sevalla - 静态网站托管服务 不用翻墙、不用注册、不用月费,普通人也能用上 Claude Code 装修灯具要注意⚠️ 黄梅天先锋 - 游子微博 公安备案顺利办结,站点备案全部完成 - 周阿源|玩具设计・插画日常・生活随笔 第三次兑换天猫超市卡了宗宗酱-三维狐少儿编程 Don't think, feel. - Rolen's Blog 人这一辈子,到底图个什么 博客迁移 - Edwin's Blog 情感赛道写作模板 再现本轮行情的典型特征 裁员与平常心-咕咚同学 别让“偷懒”,成为隐私泄露的破绽 片刻 - Jdeal | Life is like a Design.
Ralph:让 AI 编码工具自主循环跑完所有 PRD 任务的量产神器
Cheman · 2026-05-27 · via BlogFinder

一、项目概述

Ralph(https://github.com/snarktank/ralph)是一个开源的自主 AI Agent 循环工具,由 Ryan Carson 开发。它的核心思想是:让 AI 编码工具(Amp 或 Claude Code)反复运行,直到所有 PRD(产品需求文档)条目全部完成

核心特性

  • 自主循环:AI 工具会反复执行,直到所有任务完成
  • 新鲜上下文:每次迭代都是全新的实例,避免上下文污染
  • 记忆持久化:通过 git 历史、progress.txtprd.json 保持记忆
  • 支持多工具:Amp(默认)和 Claude Code 均支持
  • 质量检查:每次迭代后运行类型检查、测试等质量保证

二、技术原理

架构设计

Ralph 的核心是一个 bash 循环脚本(ralph.sh),它会:

  1. prd.json 中选取优先级最高且 passes: false 的 user story
  2. 启动一个全新的 AI 实例(Amp 或 Claude Code)
  3. AI 实现该 story
  4. 运行质量检查(类型检查、测试)
  5. 如果检查通过,提交代码,并将 prd.json 中该 story 标记为 passes: true
  6. 将学习到的内容追加到 progress.txt
  7. 重复上述步骤,直到所有 stories 都 passes: true 或达到最大迭代次数

关键技术点

1. 每次迭代 = 新鲜上下文

这是 Ralph 最核心的设计思想。每个迭代启动一个全新的 AI 实例,只有以下记忆可以跨迭代保留:

  • Git 历史:前序迭代的提交记录
  • progress.txt:学习到的模式和注意事项
  • prd.json:哪些 stories 已完成

这避免了单一上下文窗口被填满的问题,使得 Ralph 可以处理超过单个上下文窗口的大型功能。

2. 小任务原则

每个 PRD 条目都应该足够小,能在一次上下文窗口内完成。如果任务太大,会导致:

  • 上下文窗口被填满
  • 生成的代码质量差
  • 迭代失败

合适的大小

  • 添加一个数据库列和迁移
  • 在现有页面添加 UI 组件
  • 更新带有新逻辑的 server action
  • 给列表添加过滤下拉框

太大的任务(需要拆分)

  • “构建整个仪表盘”
  • “添加身份验证”
  • “重构 API”

3. AGENTS.md 更新至关重要

每次迭代后,Ralph 会更新相关的 AGENTS.md 文件。这很关键,因为:

  • AI 编码工具会自动读取这些文件
  • 未来的迭代(以及未来的人类开发者)会从发现的模式、陷阱和约定中受益

应该添加到 AGENTS.md 的内容示例

  • 发现的模式(“这个代码库对 Y 使用 X”)
  • 陷阱(“更改 W 时不要忘记更新 Z”)
  • 代码库的有用上下文(“设置面板在组件 X 中”)

4. 反馈循环

Ralph 只有在存在反馈循环时才能工作:

  • 类型检查捕获类型错误
  • 测试验证行为
  • CI 必须保持绿色(损坏的代码会在迭代间复合)

三、安装与快速开始

前提条件

  • 安装并认证以下 AI 编码工具之一:
  • 安装 jq (brew install jq on macOS)
  • 为你的项目准备一个 git 仓库

安装方式

方式一:复制到你的项目

# 从你的项目根目录
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

方式二:全局安装技能(Amp)

cp -r skills/prd ~/.config/amp/skills/
cp -r skills/ralph ~/.config/amp/skills/

方式三:作为 Claude Code Marketplace 使用

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

安装后可用的技能:

  • /prd - 生成产品需求文档
  • /ralph - 将 PRD 转换为 prd.json 格式

四、使用方法与实战

完整工作流

第 1 步:创建 PRD

Load the prd skill and create a PRD for [your feature description]

回答澄清问题。技能会将输出保存到 tasks/prd-[feature-name].md

第 2 步:将 PRD 转换为 Ralph 格式

Load the ralph skill and convert tasks/prd-[feature-name].md to prd.json

这会创建 prd.json,其中包含为自主执行结构化的 user stories。

第 3 步:运行 Ralph

# 使用 Amp(默认)
./scripts/ralph/ralph.sh [max_iterations]

# 使用 Claude Code
./scripts/ralph/ralph.sh --tool claude [max_iterations]

Ralph 会创建功能分支,选取最高优先级未完成的 story,实现它,运行质量检查,提交后更新 prd.json,并将学习到的内容追加到 progress.txt。循环直到所有 stories 通过或达到最大迭代次数。

配置 Amp 自动切换(推荐)

添加到 ~/.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 已安装并认证

运行时错误

问题:迭代次数用尽但任务未完成
解决

  • 将大任务拆分为更小的 stories
  • 增加 max_iterations 参数
  • 检查 progress.txt 看是否有学习到的模式

问题:代码损坏导致 CI 失败
解决

  • 确保质量检查命令正确配置
  • 检查 AGENTS.md 是否包含项目约定
  • 手动修复损坏的代码,然后在 prd.json 中标记为 passes: true

兼容性

问题:与我的项目结构不兼容
解决

  • 自定义 prompt.mdCLAUDE.md 以匹配你的项目约定
  • 添加项目特定的质量检查命令
  • AGENTS.md 中包含代码库约定

六、总结

Ralph 是一个巧妙的工具,它解决了 AI 辅助编码的一个核心问题:上下文窗口限制。通过每次迭代使用全新的 AI 实例,并通过 git 历史、progress.txtprd.json 保持记忆,Ralph 可以处理超过单个上下文窗口的大型功能。

适用场景

适合

  • 有详细 PRD 的中型功能
  • 可以拆分为小任务的复杂功能
  • 需要多次迭代才能完成的任务

不适合

  • 一次性小型修复(直接用 AI 工具即可)
  • 没有清晰 PRD 的 exploratory 工作
  • 需要人类创意或审美的设计工作

最佳实践

  1. 写好 PRD:详细的 PRD 是成功的关键
  2. 拆分任务:每个 story 应该足够小,能在一次上下文窗口内完成
  3. 保持 CI 绿色:损坏的代码会在迭代间复合
  4. 更新 AGENTS.md:将学习到的模式记录下来,帮助未来的迭代
  5. 使用反馈循环:类型检查、测试、浏览器验证都是宝贵的反馈

稳定可靠低价的AI中转站:X API