Ralph Wiggum: Claude Code 的自主循环

转载

Claude Code 的官方插件市场中有一个引人注目的条目:ralph-wiggum。它以《辛普森一家》中的角色命名,实现了自主开发循环,让 Claude 在没有人类干预的情况下工作数小时。

这个插件很简单。但其意义深远。

它的作用

Ralph Wiggum 将 Claude Code 变成一个持久循环。你给它一个提示词,它会一直工作直到完成(或直到你停止它)。

arduino 复制代码
/ralph-loop "将所有测试从 Jest 迁移到 Vitest" --max-iterations 50 --completion-promise "所有测试已完成迁移"

Claude 尝试进行迁移。当它认为完成时,插件的 Stop hook 会拦截退出,重新注入原始提示词,Claude 继续工作。每次迭代都能看到之前运行修改的文件和 git 历史。循环持续进行,直到满足完成标准或达到迭代次数上限。

Stop hook 的工作原理

我之前详细介绍了 Stop hook 机制。Ralph Wiggum 使用退出代码 2 来阻止 Claude 停止并重新注入原始提示词。

背后的理念

这个技术来自 Geoffrey Huntley,他简单地描述道:"Ralph 就是一个 Bash 循环。"

bash 复制代码
while :; do cat PROMPT.md | claude ; done

官方插件用安全控制和更好的用户体验包装了这个模式,但核心思想保持不变:让 Claude 反复失败直到成功。(软件工程的本质。)

这种技术在不确定的世界中是确定性糟糕的。可预测的失败胜过不可预测的成功。

--- Geoffrey Huntley

这颠覆了通常的 AI 编码工作流程。你不是仔细审查每一步,而是预先定义成功标准,让 agent 向这些标准迭代。失败变成数据。每次迭代根据出现的问题改进方法。

技能从"一步步指导 Claude"转变为"编写能收敛到正确解决方案的提示词"。

何时自主循环大放异彩

Ralph Wiggum 最适用于具有明确完成标准和机械执行的任务:

  • 大型重构:框架迁移、依赖升级、跨数百个文件的 API 版本升级
  • 批量操作:支持工单分类、文档生成、代码标准化
  • 测试覆盖率: "为 src/ 中所有未覆盖的函数添加测试"
  • 全新构建:通过迭代改进进行的过夜项目脚手架

共同点:明确定义的成功指标。如果你能精确描述"完成",Ralph 就可以向着它迭代。

真实成果

Huntley 用一个提示词连续运行了三个月的循环:"给我做一个像 Golang 这样的编程语言,但用 Gen Z 俚语作为关键字。"结果是 Cursed:一个功能完整的编译器,有两种执行模式,LLVM 编译为原生二进制文件,标准库和部分编辑器支持。关键字包括 slay(函数)、sus(变量)和 based(真)。

在 Y Combinator 黑客马拉松上,使用该技术的团队 overnight 交付了 6+ 个仓库,API 成本为 297 美元。这些工作如果由承包商完成将花费 5 万美元。

一位开发人员将集成测试迁移到单元测试,将测试运行时间从 4 分钟减少到 2 秒。循环在他们睡觉时处理机械转换。

这些是精挑细选的成功案例。对于每个 overnight 胜利,都有循环在未收敛的情况下耗尽了迭代次数。失败的尝试仍然花费金钱。当你能够以编程方式验证成功(测试通过、构建成功),而不是依赖 Claude 自我评估完成时,该技术效果最好。

成本意识

自主循环会消耗大量 token。在大型代码库上运行 50 次迭代的循环,根据上下文大小,很容易花费 50-100+ 美元的 API 积分。在 Claude Code 订阅上,你会更快达到使用限制。保守设置 ---max-iterations 并监控使用情况。

何时不应使用它

我之前写过关于在追求自动化之前先掌握核心循环。这个建议仍然成立。Ralph Wiggum 不会取代人类判断:它自动化机械执行。

不要将自主循环用于:

  • 模糊的需求:如果你不能精确定义"完成",循环就不会收敛
  • 架构决策:新颖的抽象需要人类推理,而不是迭代
  • 安全敏感代码:Auth、支付、数据处理需要每一步的人工审查
  • 探索:理解代码库需要人类的好奇心,而不是自动化处理

自主循环自动化机械执行。它们不自动化关于值得构建什么的决策。

agent harness 的模式也适用于此。

更广阔的背景

Ralph Wiggum 是更大转变的一种实现。正如我在《SDLC 正在崩溃》中所写,agent 现在能够维持多小时的推理。规划、构建、测试和部署之间的传统阶段边界正在溶解为连续流动。

自主循环是这种流动的基础设施。不是在人类会话之间进行交接,agent 在迭代之间维护上下文。进度持续存在于 git 历史和修改的文件中。每个"会话"从上一个会话停止的地方继续。

社区在这个模式基础上构建:

  • ralph-claude-code 添加了速率限制、tmux 仪表板和用于故障恢复的断路器
  • ralph-orchestrator 添加了 token 追踪、支出限制、git 检查点和多 AI 支持

这些实现解决了运营挑战:成本控制、状态恢复、监控。官方插件提供核心机制。生态系统构建生产包装器。

安装

bash 复制代码
# 添加官方市场
/plugin marketplace add anthropics/claude-code

# 安装插件
/plugin install ralph-wiggum@claude-code-plugins

# 重启 Claude Code

安装后可用的命令:

  • /ralph-loop "<prompt>" --max-iterations N - 启动循环
  • /ralph-loop "<prompt>" --max-iterations N --completion-promise "text" - 当 Claude 输出确切文本时停止
  • /cancel-ralph - 终止活动循环

安全第一

始终设置 ---max-iterations。---completion-promise 标志使用精确字符串匹配,这是不可靠的。迭代限制是你真正的安全网。

自己试试

选择一个具有明确成功标准的机械任务:

  1. 安装插件(30 秒)
  2. 从小范围开始:"为 src/utils/ 中所有导出的函数添加 JSDoc 注释"
  3. 设置保守的迭代次数:--max-iterations 10
  4. 完成后查看 git diff

该技术奖励提示词工程。如果第一次尝试没有收敛,改进你的成功标准并重试。

睡觉时写代码

对于需要大量判断的工作,坚持使用基础方法。对于具有明确完成标准的批量机械工作,Ralph Wiggum 让你醒来时看到可工作的代码。

相关推荐
量子位10 小时前
陈天桥代季峰打响2026大模型第一枪:30B参数跑出1T性能
ai编程
Tencent_TCB10 小时前
AI Coding全流程教程——0基础搭建“MEMO”健康打卡全栈Web应用(附提示词)
前端·人工智能·ai·ai编程·codebuddy·claude code·cloudbase
量子位10 小时前
港科大教授实测AI眼镜“作弊”:30分钟碾压95%的学生,把传统教学评估体系整破防了
ai编程
FreeCode10 小时前
智能体设计模式:规划与执行模式(Plan and Execute)
langchain·agent·ai编程
HashTang10 小时前
【AI 编程实战】第 6 篇:告别复制粘贴 - 设计一个优雅的 HTTP 模块
前端·uni-app·ai编程
全栈技术负责人10 小时前
Cursor技术文档:前端开发的“断舍离”高效协作指南
前端·ai·ai编程
程序员码歌11 小时前
短思考第270天,2025年赚麻的风口,2026年必冲赛道
前端·ai编程·创业
羑悻的小杀马特13 小时前
NAT 穿透与内网打洞的 “Matrix 式” 通信介绍
ai编程
Jagger_14 小时前
【提示词】主播风格概念化内容创作
aigc·openai·ai编程
冬奇Lab14 小时前
【Cursor进阶实战·04】工作流革命:从“手动驾驶“到“自动驾驶“
人工智能·ai·ai编程