关于 ralph-wiggum
ralph-wiggum 是面向多项可测试任务的规格驱动自主编码 Skill。每轮都会启动全新的 Agent 进程,并通过测试和验收标准推动任务完成。
主要功能
- 01每轮使用全新 Agent 上下文
- 02按规格选择任务
- 03通过测试和 Lint 施加约束
- 04构建与规划模式
- 05记录会话及迭代日志
适用场景
- 01实现多项功能规格
- 02执行长时间自主编码
- 03验证验收标准和测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ fstandhartinger/ ralph-wiggum --skill ralph-wiggum安装后在 Claude Code 中输入/ralph-wiggum确认已加载。
详细介绍
Ralph Wiggum
通过规范驱动开发实现自主 AI 编码
什么是 Ralph Wiggum?
Ralph Wiggum 将 Geoffrey Huntley 的迭代式 bash 循环与规范驱动开发相结合,实现完全自主的 AI 辅助软件开发。
关键在于:每次迭代都使用全新上下文。每次循环都会启动新的 Agent 进程,并使用干净的上下文窗口,从而避免上下文溢出和性能下降。
何时使用此技能
符合以下情况时,请使用 Ralph Wiggum:
- 你需要实现多个规范或功能
- 你希望 AI 自主完成各项任务
- 你需要一致、可验证地完成验收标准
- 你希望避免长时间会话中的上下文窗口问题
工作原理
┌─────────────────────────────────────────────────────────────┐
│ RALPH LOOP │
├─────────────────────────────────────────────────────────────┤
│ Loop 1: Pick spec A → Implement → Test → Commit → DONE │
│ Loop 2: Pick spec B → Implement → Test → Commit → DONE │
│ Loop 3: Pick spec C → Implement → Test → Commit → DONE │
│ ... │
│ │
│ Each iteration = Fresh context window │
│ Shared state = Files on disk (specs, plan, history) │
└─────────────────────────────────────────────────────────────┘
安装
快速安装(通过技能安装器)
# Using Vercel's add-skill
npx add-skill fstandhartinger/ralph-wiggum
# Using OpenSkills
openskills install fstandhartinger/ralph-wiggum
完整设置(推荐)
如需完整设置 Ralph Wiggum,包括章程和访谈:
# Tell your AI agent:
"Set up Ralph Wiggum using https://github.com/fstandhartinger/ralph-wiggum"
Agent 会引导你完成一套轻松愉快的简易设置:
- 快速设置(约 1 分钟)——创建目录、下载脚本
- 项目访谈——聚焦于你的愿景和目标(而非技术细节)
- 章程——创建一份适用于所有会话的指导文档
- 后续步骤——清晰指导你创建规范并启动 Ralph
对于现有项目,Agent 会自动检测技术栈。访谈会优先了解你正在构建什么,以及为什么要构建。
核心概念
1. 每次循环都使用全新上下文
Ralph 循环的每次迭代都会启动一个新的 AI Agent 进程。这意味着:
- 不会发生上下文窗口溢出
- 不会随着时间推移而性能下降
- 每项任务都从干净的状态开始
2. 在磁盘上共享状态
状态通过文件在循环之间持久保存:
specs/— 包含验收标准的功能规范ralph_history.txt— 记录突破、阻碍和经验IMPLEMENTATION_PLAN.md— 可选的详细任务拆分
3. 完成信号
只有在以下条件均满足时,Agent 才会输出 <promise>DONE</promise>:
- 已验证所有验收标准
- 测试通过
- 更改已提交并推送
bash 循环会检查此短语。如果未找到,则会重试。
4. 通过测试施加反向压力
测试、代码检查和构建充当护栏。Agent 必须先修复问题,然后才能输出完成信号。
使用方法
创建规范
成功的关键:每份规范都需要有清晰、可测试的验收标准。Ralph 会依据这些标准判断任务是否真正“完成”。
# Feature: User Authentication
## Requirements
- OAuth login with Google
- Session management
- Logout functionality
## Acceptance Criteria
- [ ] User can log in with Google
- [ ] Session persists across page reloads
- [ ] User can log out
- [ ] Tests pass
**Output when complete:** `<promise>DONE</promise>`
好的标准:“用户可以使用 Google 登录,且会话可以持久保存” 不好的标准:“身份验证可以正常工作”
验收标准越具体,Ralph 的表现就越好。
运行循环
# Start building (Claude Code)
./scripts/ralph-loop.sh
# With max iterations
./scripts/ralph-loop.sh 20
# Using Codex CLI
./scripts/ralph-loop-codex.sh
日志(捕获所有输出)
每次循环运行都会将所有输出写入 logs/ 中的日志文件:
- 会话日志:
logs/ralph_*_session_YYYYMMDD_HHMMSS.log(完整运行记录,包括 CLI 输出) - 迭代日志:
logs/ralph_*_iter_N_YYYYMMDD_HHMMSS.log(每次迭代的 CLI 输出) - Codex 最后一条消息:
logs/ralph_codex_output_iter_N_*.txt
两种模式
| 模式 | 用途 | 命令 |
|---|---|---|
| build(默认) | 选择规范、实现、测试、提交 | ./scripts/ralph-loop.sh |
| plan(可选) | 创建详细的任务拆分 | ./scripts/ralph-loop.sh plan |
核心原则
放手让 Ralph 自主发挥
相信 AI 能够自我识别、自我纠正和自我改进。观察模式并调整提示词。
YOLO 模式
要让 Ralph 有效运行,请启用完全自主模式:
- Claude Code:
--dangerously-skip-permissions - Codex:
--dangerously-bypass-approvals-and-sandbox
⚠️ **使用风险自负。**仅限在沙盒环境中使用。