引言
传统的AI编程助手,说到底还是“对话式”的——你问一句,它答一句,然后就没下文了。但对真正的开发工作来说,这种模式根本不够用。
想想看这些场景:你想让Claude帮你重构整个项目,它写完几个文件就撂下一句“我完成了”;你想让Claude持续修复bug,直到测试全部通过,它跑一次就自动停下来;你想让Claude“过夜干活”,第二天发现它早就睡大觉了。
2025年夏天,一位名叫Geoffrey Huntley的澳大利亚开发者(主业是牧羊人)写了个只有5行的bash脚本。思路很简单:不断重启Claude Code,反复喂给它同一个任务。他给这个脚本取名“Ralph Wiggum”——《辛普森一家》里那个屡败屡战、从不放弃的角色。
就这么个简单脚本,让整个硅谷炸了锅。不到两周,相关项目在GitHub上收获了7000多颗星。有人用它一晚上生成6个完整项目,花297美元的API成本干完了价值5万美元的活儿。甚至有人靠着它,在3个月内构建了一门完整的编程语言。
这一章要解决的核心问题只有一个:怎么让Claude Code像个真正的开发者一样,持续工作,直到任务真正完成。
核心原理:为什么AI会“过早停止”?
在介绍具体方法之前,得先搞清楚问题根子在哪儿。
AI的“完成判断”不可靠
大语言模型有个天生的缺陷:它根本没法准确判断自己到底干完了没有。
人类的完成标准是客观的——所有测试通过、功能完整可用、代码质量过关。可AI呢?只能凭“感觉”判断。它可能觉得“看起来差不多了”就停,或者觉得“输出够多了”就收工,又或者纯粹是不知道接下来该干什么,索性停下来。
这就不难理解,为什么需要一个外部系统来把关,而不是把决定权完全交给AI自己去“感觉”。
解决方案的核心思想
解法的核心,说白了就是让AI在一个“循环”里干活。
每次它想收工的时候,外部系统就来查岗三件事:真的干完了?符合客观标准了吗?还有没有遗漏?但凡有一条没满足,就把任务重新塞回去,继续下一轮。
这个思路的实现方式千差万别——从简单的bash脚本到复杂的编排系统,但本质都一样。
方法一:While True Bash Loop(最原始的方法)
这是最简单粗暴的实现方式。本质上就是写一个无限循环,每次重启Claude Code,喂给它同样的任务描述。
最精简的实现,5行代码就搞定:
#!/bin/bash
while true; do
cat PROMPT.md | claude
done
工作原理
脚本的工作流程直白得很。第一步,读取PROMPT.md里的任务描述;第二步,启动Claude Code并把任务塞给它;第三步,Claude开始干活并输出结果;第四步,Claude干完自动退出;第五步,循环重新启动,回到第一步——除非你手动按Ctrl+C中断,不然它就一直跑下去。
优缺点
这方法的好处是极其简单,谁都能看懂,不用任何配置,拿来就能用,特别适合快速验证想法。
缺点也同样明显:它没法判断任务到底干完没有,搞不好就无限空转,没有安全保护机制,还白白浪费API调用额度。
实际使用示例
先创建一个PROMPT.md文件来描述任务。比如重构用户认证模块:
# 任务:重构用户认证模块
要求:
1. 将所有认证逻辑抽取到独立的AuthService类
2. 添加单元测试,覆盖率 > 80%
3. 更新相关文档
当所有测试通过且文档更新完成后,输出:任务完成
然后创建循环脚本并运行:
chmod +x loop.sh
./loop.sh
安全改进版
为了避免无限空转,加个迭代次数限制就好:
#!/bin/bash
MAX_ITERATIONS=50
iteration=0
while true; do
iteration=$((iteration + 1))
echo "=== 迭代 $iteration/$MAX_ITERATIONS ==="
cat PROMPT.md | claude
if [ $iteration -ge $MAX_ITERATIONS ]; then
echo "达到最大迭代次数,停止"
break
fi
sleep 5 # 稍作等待,避免API限流
done
这个改进版加上了最大迭代次数限制,每次循环会显示当前进度,到上限自动停。每次循环间还加了5秒延迟,防止触发API限流。
方法二:Ralph Wiggum Plugin(官方推荐)
Ralph Wiggum是Anthropic官方推出的插件,专门用来解决长时间任务的问题。名字取自《辛普森一家》里的角色,象征“尽管失败,仍坚持尝试”的精神。
核心机制:Stop Hook
Ralph的核心机制叫做Stop Hook。当Claude想要退出时,Stop Hook会拦截这个退出信号。然后系统开始检查:输出特定的完成标记了吗?没找到?那就重新注入原始prompt,开始下一轮迭代。找到了?那才放行让Claude退出。
这个机制保证了Claude不会因为“感觉差不多了”就撂挑子,必须真正完成明确标记的任务才能收工。
安装
Ralph Wiggum是Claude Code的官方插件,有两种安装方式。
方式一:通过官方插件市场安装(推荐)
# 在Claude Code中运行
claude
# 添加官方插件市场
/plugin marketplace add anthropics/claude-code
# 安装Ralph Wiggum
/plugin install ralph-wiggum@claude-code-plugins
# 验证安装
/plugin list
方式二:直接从GitHub安装
# 进入插件目录
cd ~/.claude/plugins/
# 克隆插件仓库
git clone https://github.com/anthropics/ralph-wiggum-plugin.git
装完之后,你就可以用这些命令了:
/ralph-wiggum:ralph-loop- 启动循环/ralph-wiggum:cancel-ralph- 取消循环/ralph-wiggum:help- 查看帮助
基本使用
基本用法就是通过/ralph-wiggum:ralph-loop命令:
/ralph-wiggum:ralph-loop "构建一个待办事项API,包含CRUD操作、输入验证、测试。全部完成后输出COMPLETE " --max-iterations 50 --completion-promise "COMPLETE"
参数说明
最重要的两个参数是--max-iterations和--completion-promise。
--max-iterations设置最大迭代次数,是安全机制,推荐设在20到100之间。就算任务没完成,到了这个数也会停,防止无限循环烧掉API额度。
--completion-promise指定完成标记文本,得是个明确唯一的标识。当Claude的输出中包含这个标记,Ralph才会认为任务完成,允许退出。推荐用COMPLETE、TASK_DONE这类清晰的标记,别用模棱两可的词。
Prompt编写最佳实践
写好Prompt是Ralph成功的关键。
不好的Prompt,没有明确的完成标准。比如简单一句“写一个todo API”,AI写个基础框架就说完成了——没测试、没验证、没文档。
好的Prompt应该包含详细的阶段性要求和明确的验收标准。可以这样写:
首先分阶段描述任务。阶段1是基础功能,列出所有CRUD端点:POST /todos创建任务、GET /todos获取列表、GET /todos/:id获取单个、PUT /todos/:id更新、DELETE /todos/:id删除。阶段2是输入验证,标题不能为空,完成状态必须是布尔值。阶段3是测试,为每个端点编写测试,覆盖率大于80%。
然后列出验收标准:所有测试通过、代码通过linter检查、README包含API文档。
最后指定唯一的完成标记:。
这样一来,Claude就知道确切要做什么、什么时候才算真干完了。
更多Prompt模板示例
这里有些常见任务的Prompt模板,可以直接用,也可以按需改。
模板1:测试迁移(Jest → Vitest)
/ralph-wiggum:ralph-loop "将项目中所有测试从Jest迁移到Vitest:
- 保持所有测试逻辑不变
- 更新配置文件(vite.config.js、vitest.config.js)
- 替换Jest特有的API(如jest.mock → vi.mock)
- 确保所有测试通过
- 移除Jest相关依赖
验收标准:
- npm test全部通过
- package.json中无jest依赖
- 项目能正常构建
完成后输出:VITEST_MIGRATION_COMPLETE " --max-iterations 40 --completion-promise "VITEST_MIGRATION_COMPLETE"
模板2:UI/UX优化(移动端优先)
/ralph-wiggum:ralph-loop "把这个项目的UI/UX做得更像一款精致的、移动端优先的语言学习App:
- 统一间距与留白(使用4px基础单位)
- 建立清晰的字体层级(标题/正文/辅助信息)
- 统一卡片、列表等组件样式
- 添加底部导航(Home/Learn/Quiz/Progress/Settings)
- 确保在移动设备上显示良好
验收标准:
- npm run build成功
- 无TypeScript错误
- 主要页面在移动端预览正常
完成后输出:UI_UX_COMPLETE " --max-iterations 25 --completion-promise "UI_UX_COMPLETE"
模板3:批量添加TypeScript类型
/ralph-wiggum:ralph-loop "给项目中所有函数添加TypeScript类型注解:
- 优先处理src/目录
- 为函数参数和返回值添加类型
- 避免使用any,使用具体类型或unknown
- 添加必要的类型定义
验收标准:
- npm run typecheck通过
- 无@ts-ignore或@ts-any注释
- 代码能正常运行
完成后输出:TYPES_ADDED " --max-iterations 30 --completion-promise "TYPES_ADDED"
模板4:TDD驱动功能开发
/ralph-wiggum:ralph-loop "使用TDD方式实现用户结账功能:
1. 先写测试(checkout.test.ts)
2. 运行测试(会失败)
3. 编写最小代码使测试通过
4. 重构优化
5. 重复直到所有测试通过
功能要求:
- 购物车商品列表
- 运费计算
- 优惠券应用
- 支付表单验证
验收标准:
- 所有测试通过(npm test checkout.test.ts)
- 代码覆盖率 > 80%
- ESLint无错误
完成后输出:CHECKOUT_COMPLETE " --max-iterations 25 --completion-promise "CHECKOUT_COMPLETE"
模板5:代码风格统一
/ralph-wiggum:ralph-loop "统一项目代码风格:
- 使用Prettier格式化所有文件
- 统一命名规范(变量camelCase,组件PascalCase)
- 移除未使用的导入和变量
- 统一字符串引号(单引号)
- 统一分号使用(不使用)
验收标准:
- npm run lint通过
- 代码风格一致
- 构建成功
完成后输出:STYLE_UNIFIED " --max-iterations 20 --completion-promise "STYLE_UNIFIED"
实战案例
有个很出名的案例,是在Y Combinator黑客松上。一个团队用了Ralph Loop。晚上11点他们设置了任务:根据specs目录下的6个产品需求,依次实现每个项目的MVP,每完成一个输出特定的完成标记。最大迭代次数设200次,然后就去睡觉了。
第二天早上醒来,发现已经有6个可演示的项目等着他们,API调用成本才297美元。这就是Ralph的威力——你睡觉的时候,AI还在干活。
另一个案例来自Boris Cherny(Claude Code负责人)。他用Ralph加上Opus 4.5模型,30天内提交了259个PR,总共497次提交,新增4万行代码,删掉3.8万行代码。最惊人的是,这100%由Claude Code完成,没有人工写过一行代码。
还有个更疯的案例:CURSED编程语言。这是Ralph的创建者Geoffrey Huntley用Ralph Loop在3个月内自主构建的一门完整编程语言。这门语言用Gen Z俚语作为关键字(比如slay、sus、based),但更关键的是,它包含了一个完整的LLVM编译器实现、标准库,和部分编辑器支持。这个项目展示了Ralph Loop的真正潜力——给它一个清晰的目标,它能连续干几个月,真把复杂的项目做出来。
更多真实案例
有个开发者用Ralph重构一个遗留项目。项目代码混乱,没有测试,文档缺失。他给Ralph的任务是:先给现有代码加测试,然后逐步重构,每次重构完确保测试通过,最后更新文档。
设置好让Ralph跑了一整个周末。周一回来一看,项目已经发生了47次提交,代码结构清晰,测试覆盖率达到75%,还有完整的API文档。成本大概12美元。
Ralph的哲学
Ralph体现了三个核心思想。
第一,迭代大于完美。别指望一次就完美,让循环来改进。第一次可能只写个框架,第二次修bug,第三次优化代码,第四次加测试,每次都更好一点。
第二,失败就是数据。每次测试失败都是改进的机会,别怕失败,从失败里学习。
第三,持续尝试。Keep trying until it works——这就是Ralph的精神。
什么时候适合/不适合使用Ralph
搞清楚Ralph的适用场景很重要,能帮你省时间省成本。
✅ 适合使用Ralph的场景
| 场景 | 原因 |
|---|---|
| 测试迁移 | 有明确目标(新框架),测试通过即可验证 |
| 大规模重构 | 可以定义具体的重构规则 |
| 框架迁移 | 迁移完成后代码能正常运行 |
| 批量添加类型 | typecheck通过即完成 |
| 测试覆盖率提升 | 覆盖率百分比是客观指标 |
| 文档生成 | API文档可以自动验证 |
| UI/UX统一改进 | 可以定义具体的设计规范 |
| Bug修复(有复现步骤) | 测试通过即修复成功 |
❌ 不适合使用Ralph的场景
| 场景 | 原因 |
|---|---|
| 架构设计决策 | 微服务vs单体需要权衡 |
| 安全相关代码 | 安全漏洞可能很隐蔽 |
| 需求模糊的任务 | 没有明确完成标准 |
| 探索性工作 | 需要不断调整方向 |
| 创意性设计 | 需要人类审美判断 |
| 简单一次性任务 | 用Ralph是浪费 |
判断标准
问自己三个问题:
- 我能定义明确的完成标准吗?不能?不适合。
- 有客观的验证方法吗?(测试、构建、类型检查)没有?不适合。
- 这个任务需要我持续反馈吗?需要?不适合。
如果三个答案都是“否”,那就放手让Ralph去干吧!
方法三:增强版Ralph
这是社区对官方Ralph的增强实现,在GitHub上可以找到frankbria/ralph-claude-code项目,增加了很多安全机制。
额外特性
增强版提供了几个额外的安全特性。
第一个是双重退出条件。官方Ralph只需要检查完成标记,增强版要同时满足完成标记和显式EXIT_SIGNAL才会真正停止。也就是说,就算Claude输出了完成标记,如果没明确说要退出,循环还会继续,可以做进一步的验证和改进。
第二个是速率限制功能。默认设成100次/小时,防止因为某种bug导致无限循环时,API账单爆炸。你可以根据需要调整。
第三个是智能熔断器。如果系统连续5次检测到完成标记,会强制退出。这是为了防止某种边缘情况导致循环没法正常结束。
第四个是实时仪表盘。增强版提供了命令行界面,可以显示当前迭代次数、任务进度、预估成本等信息,随时掌握状态。
安装
安装增强版Ralph,先从GitHub克隆仓库:
git clone https://github.com/frankbria/ralph-claude-code.git
cd ralph-claude-code
./install.sh
安装脚本会自动设置好所需的文件和配置。
使用
使用增强版Ralph分两步。先用ralph-setup命令初始化项目:
ralph-setup my-project
这会在项目里创建所需的配置文件。然后用ralph loop命令启动循环:
ralph loop
配置文件
增强版Ralph用配置文件.claude/ralph-config.json来设置参数:
{
"maxIterations": 50,
"rateLimitPerHour": 100,
"completionPromise": "TASK_COMPLETE",
"exitSignal": "EXIT_NOW",
"costAlertThresholds": [10, 50, 100]
}
maxIterations是最大迭代次数。rateLimitPerHour是每小时速率限制。completionPromise是完成标记文本。exitSignal是显式退出信号。costAlertThresholds是成本预警阈值,花费达到这些金额时会发出警告。
方法四:Agent Teams(多袋里并行)
当任务足够大,单个Claude不够用时,就需要“团队协作”了。
Agent Teams是一个高级功能,允许多个Claude实例并行工作,通过共享任务列表来协调依赖关系。适合超大型项目——比如Nicholas Carlini的实验里,16个并行Agent在两周内编写了超过10万行代码,构建出一个能编译Linux内核的C编译器。
Agent Teams的内容比较复杂,我们会在下一节《3.3 Agent Teams 多袋里协作》里详细讲解。
方法五:后台任务(Ctrl+B)
这是一个简单但实用的非阻塞执行方法。
基本操作
使用方式很直观。当Claude开始运行一个任务时,按Ctrl+B就能把它推到后台。
比如你说:“运行完整测试套件”。Claude开始运行。按Ctrl+B,Claude会返回:“任务已推送到后台(ID: task_abc123)”。然后你可以继续说:“同时,帮我分析这个日志文件”。Claude就会在后台跑着测试,同时帮你分析日志。
查看后台任务
有几种方式查看后台任务。用/tasks命令可以列出所有后台任务,包括任务ID、状态、启动时间等信息。按Ctrl+T可以快速查看任务状态的摘要。也可以从列表里选某个任务,把它恢复到前台(Bring to foreground),查看它的实时输出。
适用场景
后台任务适合几个典型场景。
第一个是长时间运行的测试。完整测试套件可能要几十分钟,用后台任务可以在测试运行的同时继续开发。
第二个是大型项目构建。构建过程可能耗时很长,后台运行不会阻塞其他工作。
第三个是批量文件处理。比如批量重命名、批量格式化,都可以在后台进行。
第四个是任何你不想等着的事情。
安全机制:防止无限循环
任何自动循环系统都得有安全保护,不然可能失控。
硬性限制
最基本的保护是设置--max-iterations(最大迭代次数),这个是必须的。不管任务完成没有,到了这个次数就停,防止无限循环烧掉API额度。
还可以设时间限制,比如最长运行4小时后自动停止。或者设API预算警告,花费到一定金额(比如10美元、50美元、100美元)时暂停并通知你。
智能检测
可以加些智能检测来发现死循环。比如检查最近几次提交有没有实质变化:
if [ $(git diff HEAD~5 | wc -l) -eq 0 ]; then
echo "最近5次提交没有实质变化,可能陷入循环"
exit 1
fi
如果最近5次提交的代码差异很小,说明可能陷进死循环了,该停就停,该报警就报警。
成本预警
配置文件里可以设置成本预警阈值:
{
"costAlertThresholds": [10, 50, 100],
"alertAction": "pause_and_notify"
}
花费到10、50、100美元时,系统会暂停任务并发送通知,让你决定要不要继续。
人工检查点
对特别重要的任务,可以设置人工检查点:
if [ $((iteration % 10)) -eq 0 ]; then
read -p "已完成 $iteration 次迭代,继续吗?(y/n)" answer
if [ "$answer" != "y" ]; then
break
fi
fi
这样每10次迭代暂停一次,等你确认要不要继续。有问题可以及时干预。
实战:用Ralph Loop构建完整的BBS论坛系统
接下来通过一个完整的例子,看看Ralph Loop到底能干什么。我们将从零开始构建一个仿BBS论坛系统,包含用户鉴权、发帖、用户中心和管理后台。
项目目标
构建一个功能完整的BBS论坛系统,包含:
用户端功能:
- 用户注册、登录、退出
- 浏览帖子列表(分页)
- 查看帖子详情
- 发布新帖
- 评论功能
- 个人中心(查看自己的帖子、修改个人信息)
管理后台功能:
- 管理员登录
- 用户管理(封禁、解封)
- 帖子管理(删除、置顶)
- 评论管理
- 系统统计
技术栈:
- 后端:Node.js + Express + SQLite数据库
- 前端:React + React Router + Axios
- 认证:JWT Token
- 样式:Tailwind CSS
准备工作
先安装Ralph Wiggum插件:
claude /plugins:add ralph-wiggum
启动Ralph Loop
启动Ralph Loop,让它把整个项目干完:
/ralph-wiggum:ralph-loop "请从零开始构建一个完整的BBS论坛系统,使用TDD方式开发。项目结构要求:- backend/目录:Express API服务器- frontend/目录:React前端应用- 两个目录都有各自的测试后端功能要求:- 使用Express框架- SQLite数据存储(better-sqlite3)- JWT用户认证(jsonwebtoken + bcrypt)- 用户表:id、username、password、email、role、createdAt- 帖子表:id、title、content、authorId、category、pinned、createdAt- 评论表:id、content、postId、authorId、createdAt后端API端点:- POST /api/auth/register - 用户注册- POST /api/auth/login - 用户登录- GET /api/posts - 获取帖子列表(分页、分类筛选)- GET /api/posts/:id - 获取帖子详情- POST /api/posts - 发布帖子(需登录)- PUT /api/posts/:id - 编辑帖子(作者或管理员)- DELETE /api/posts/:id - 删除帖子(作者或管理员)- POST /api/posts/:id/comments - 发表评论(需登录)- GET /api/user/profile - 获取个人信息(需登录)- PUT /api/user/profile - 更新个人信息(需登录)- GET /api/admin/stats - 管理员统计(需管理员)- GET /api/admin/users - 用户列表(需管理员)- PUT /api/admin/users/:id/ban - 封禁用户(需管理员)前端页面要求:- /login - 登录页- /register - 注册页- / - 首页(帖子列表)- /post/:id - 帖子详情- /new - 发布帖子- /profile - 个人中心- /admin - 管理后台(需管理员权限)管理后台功能:- 用户管理(查看、封禁、解封)- 帖子管理(查看、删除、置顶)- 评论管理(查看、删除)- 系统统计(用户数、帖子数、评论数)TDD要求:- 先写测试,后写代码- 每个功能都要有对应的测试- 后端使用Jest,API测试要覆盖所有端点- 前端使用Vitest,组件测试要覆盖主要功能- 认证中间件要有测试验收标准:- 运行npm test(后端)全部通过- 运行npm test(前端)全部通过- 前端可以正常启动并使用- 后端API可以正常响应- 普通用户和管理员权限正确隔离- 代码通过ESLint检查完成后输出:BBS_SYSTEM_COMPLETE " --max-iterations 150 --completion-promise "BBS_SYSTEM_COMPLETE"
预计时间
根据项目复杂度:
人工编写的话,大概得40到60小时(包括数据库设计、认证系统、前后端联调、测试)。
用Ralph Loop的话:
- 基础版本(核心功能):约3到5小时
- 完整版本(包含管理后台、测试):约6到10小时
监控进度
Ralph Loop运行时,可以通过几个方式监控进度:
查看迭代次数:Ralph会显示当前迭代次数和最大次数,可以估算剩余时间。
查看日志:可以看到Claude正在干什么——设计数据库、写API、实现前端组件、修bug。
测试状态:每次测试运行的结果都会显示,通过的测试会增加,失败的会减少。当失败的测试开始变少,就说明项目快完成了。
完成后验证
当Ralph Loop输出完成标记后,需要手动验证:
# 后端测试
cd backend
npm test
# 前端测试
cd frontend
npm test
# 启动后端
cd backend
npm start
# 启动前端(另一个终端)
cd frontend
npm run dev
打开浏览器,测试以下流程:
- 注册新用户
- 登录
- 浏览帖子
- 发布新帖
- 发表评论
- 访问个人中心
- 退出后用管理员登录(默认账号:admin/admin123)
- 测试管理后台功能
注意事项
Ralph Loop虽然强大,但有几点要注意:
第一,Prompt越详细,结果越好。模糊的Prompt需要更多迭代来修正。
第二,设合理的迭代次数。BBS系统比较复杂,建议至少100次迭代。
第三,TDD是推荐方式。先写测试能大幅减少调试时间。
第四,最终还是要人工验证。AI可能漏掉边界情况或特殊场景,特别是安全相关的功能。
第五,数据库设计要仔细。Ralph可能需要几次迭代才能设计出合理的数据库结构。
方法对比与选择
各种方法各有特点,适合不同的场景。
While True Loop最简单,5行代码就能工作,适合快速实验和原型验证。但功能有限,没有完成检测,只能靠迭代次数限制。
Ralph Wiggum是通用推荐,适合大部分场景。有完整的Stop Hook机制,支持完成标记检测,有官方支持,文档完善。
增强版Ralph更适合生产环境,有双重退出条件、速率限制、智能熔断器等额外的安全机制。
后台任务适合简单的非阻塞执行,按Ctrl+B就能用。但只是简单的后台运行,没有循环机制。
总结
让Claude Code长时间工作的核心思想其实很简单:别让它“一次完成”,而是让它“持续尝试直到真正完成”。
所有方法本质上都在做同一件事:给Claude一个任务,让它工作,检查是不是真干完了,没干完就继续下一轮。
选哪种方法,看你的具体需求。
想要简单快速?用While True Loop。5行代码就能工作,但功能有限。
想要通用推荐?用Ralph Wiggum。官方支持,功能完整,适合大部分场景。
如果是生产环境?用增强版Ralph。有额外的安全机制,更可靠。
(Agent Teams多袋里协作的内容请参考下一节《3.3 Agent Teams 多袋里协作》)
希望这一章的内容能帮你更好地利用Claude Code,让AI真正成为你的生产力工具,而不是只会聊天的机器人。
参考资料
官方资源
- Claude Code官方文档 - Claude Code的完整官方文档
- Ralph Wiggum Plugin README - Ralph Wiggum插件的官方文档
- Claude Code Hooks系统 - Hooks系统的官方文档
社区项目
- frankbria/ralph-claude-code - 增强版Ralph实现,包含额外的安全机制
- Awesome Ralph - Ralph资源和示例精选列表
- Ralph Ryan - 结合PRD生成和Ralph循环的实现
- snarktank/ralph - 原始Ralph实现
文章与教程
英文资源
- Geoffrey Huntley - Ralph Technique - Ralph技术的原创者
- 构建可靠长时运行AI袋里的有效框架实践 - Anthropic工程博客精读
- Claude Code全攻略 - 完整的使用指南
实战案例
- CURSED编程语言 - 用Ralph在3个月内构建的完整编程语言
- Boris Cherny's 30 Days - 259个PRs案例分享
- Y Combinator黑客松 - 6个项目过夜生成的案例
- Geoffrey Huntley's Blog - Ralph创始人的技术博客
