拉尔夫·威格姆自主编码模式Skill ralph-wiggum

Ralph Wiggum模式是一种自主AI编码循环技能,用于实现无人值守的软件开发。它通过AI智能体如Claude在安全沙箱中连续工作,自动处理任务如功能开发、bug修复和代码重构。关键词:AI编码,自主开发,安全沙箱,Claude AI,自动化软件工程,智能体开发。

AI智能体 0 次安装 0 次浏览 更新于 3/12/2026

名称: ralph-wiggum 描述: 自主AI编码循环用于无人值守开发 - 让Claude在您睡觉时持续工作,强制执行沙箱以确保安全 允许工具:

  • Bash
  • Read
  • Write
  • Edit
  • Glob
  • Grep
  • Task
  • TodoWrite

Ralph Wiggum 模式

“我英语不及格?那不可能!” - Ralph Wiggum

Ralph Wiggum 模式是一种自主AI编码循环,使Claude Code能够在没有人工干预的情况下连续工作。以这个坚持不懈乐观的辛普森角色命名,这种技术让Claude在您睡觉时进行"夜班"工作。

关键原则

进度持久化在文件和git中,而不是在LLM的上下文窗口中。

当上下文填满时,循环用新上下文重新启动Claude。新实例从文件系统状态(您的代码、git历史记录和任务跟踪文件)中接续。

何时使用此技能

使用Ralph Wiggum模式用于:

  • 过夜功能开发
  • 错误狂欢(修复多个问题)
  • 测试覆盖率改进
  • 重构大型代码库
  • 文档生成
  • 任何您希望在外出时完成的多步骤任务

安全模型

关键:Ralph需要一个沙箱环境。

Ralph使用 --dangerously-skip-permissions,这可以:

  • 无确认删除文件
  • 读取凭证(~/.ssh, ~/.aws)
  • 发起网络请求
  • 运行任意命令

Ralph将拒绝启动,除非它检测到:

  • 容器环境(Docker/Kubernetes)
  • 网络隔离(无法访问互联网)
  • 非root用户
  • 无法访问敏感路径

快速开始

1. 在项目中初始化Ralph

# 运行初始化脚本来搭建Ralph文件
./ralph-init.sh

这会创建:

  • RALPH_PROMPT.md - 每次迭代中Claude使用的提示
  • IMPLEMENTATION_PLAN.md - 任务跟踪文件
  • ralph.sh - 主循环脚本
  • ralph-sandbox.sh - Docker包装器
  • Dockerfile.ralph - 沙箱容器定义

2. 定义您的工作

# 创建规范目录用于需求
mkdir -p specs

# 写入您的需求
cat > specs/my-feature.md << 'EOF'
## 功能: 用户仪表板

### 需求
- 显示用户的最近活动
- 展示使用统计
- 允许日期范围筛选
EOF

# 更新实施计划
cat > IMPLEMENTATION_PLAN.md << 'EOF'
## 任务

- [ ] 创建仪表板组件
- [ ] 添加活动流API端点
- [ ] 实现日期范围选择器
- [ ] 为仪表板编写测试
EOF

3. 运行Ralph(在沙箱中)

# 推荐:使用Docker包装器
./ralph-sandbox.sh

# 带迭代限制
./ralph-sandbox.sh . 20

# 从另一个终端检查进度
tail -f ralph.log
git log --oneline -10

4. 审查结果

# 查看Ralph做了什么
git log --oneline

# 检查任务完成情况
cat IMPLEMENTATION_PLAN.md

# 验证测试通过
pytest

工作原理

┌─────────────────────────────────────────────────────────────────┐
│                    外部BASH循环                                  │
│                                                                  │
│   while :; do                                                    │
│       ┌─────────────────────────────────────────────────┐       │
│       │           CLAUDE会话                             │       │
│       │                                                  │       │
│       │  1. 读取RALPH_PROMPT.md                          │       │
│       │  2. 检查IMPLEMENTATION_PLAN.md                   │       │
│       │  3. 选择一个任务,实现它                         │       │
│       │  4. 运行测试,提交更改                           │       │
│       │  5. 上下文填满 → 会话结束                        │       │
│       └─────────────────────────────────────────────────┘       │
│                           ↓                                      │
│       Git提交保存进度                                            │
│       循环用新上下文重新启动                                      │
│   done                                                           │
└─────────────────────────────────────────────────────────────────┘

文件参考

RALPH_PROMPT.md

每次迭代加载的提示。为您的用例自定义:

# Ralph模式指令

您正在自主Ralph模式下操作。

## 每次迭代
1. 读取IMPLEMENTATION_PLAN.md和git日志
2. 选择一个待处理任务,标记为进行中
3. 完全实现并测试
4. 标记完成,提交更改

## 规则
- 绝不跳过测试
- 每次有意义的更改后提交
- 如果受阻,记录原因并继续

IMPLEMENTATION_PLAN.md

持久任务跟踪(在上下文重置中存活):

## 任务

- [x] 任务1(在迭代1中完成)
- [x] 任务2(在迭代2中完成)
- [ ] 任务3(进行中)
- [ ] 任务4(待处理)

ralph.sh

带沙箱强制执行的主循环。关键特性:

  • 拒绝在沙箱外运行
  • 可配置迭代限制
  • 每次迭代后提交git
  • 优雅的关闭处理

ralph-sandbox.sh

Docker包装器,可以:

  • 如果需要,构建沙箱镜像
  • 仅挂载项目目录
  • 禁用网络(--network none
  • 设置资源限制(内存、CPU、PIDs)
  • 放弃所有能力

配置

环境变量

变量 默认值 描述
RALPH_MAX_ITERATIONS 0(无限) 在N次迭代后停止
RALPH_MODEL sonnet 使用的Claude模型
RALPH_COST_LIMIT 50.00 最大花费(美元)(带成本监控钩子)
ANTHROPIC_API_KEY 可选 API密钥(Claude Code订阅不需要)

沙箱覆盖(危险)

仅用于您已验证的自定义沙箱环境:

RALPH_I_KNOW_WHAT_IM_DOING=sandboxed ./ralph.sh

最佳实践

提示工程

  1. 具体 - 告诉Claude每次迭代具体做什么
  2. 单一任务焦点 - "选择一个任务"防止上下文膨胀
  3. 要求测试 - 在提示中包含测试
  4. 跟踪进度 - 使用IMPLEMENTATION_PLAN.md作为共享状态

任务分解

将大任务分解为小的原子部分:

## 坏
- [ ] 实现用户认证

## 好
- [ ] 创建带电子邮件、密码哈希的用户模型
- [ ] 添加POST /api/register端点
- [ ] 添加POST /api/login端点
- [ ] 添加密码重置流程
- [ ] 添加JWT中间件
- [ ] 编写认证测试

监控

# 实时观看迭代
tail -f ralph.log

# 检查提交
watch -n 5 'git log --oneline -10'

# 监控资源使用
docker stats

安全钩子(推荐)

安装这些钩子以增加安全:

# 阻止危险操作
skillz hooks install ralph-safety-check

# 跟踪API成本
skillz hooks install ralph-cost-monitor

故障排除

Ralph无法启动

检查沙箱检测输出。您需要至少通过3个检查:

  • 检测到容器
  • 网络隔离
  • 非root用户
  • 无法访问敏感路径

Ralph卡在任务上

  1. 检查ralph.log中的错误
  2. 更新IMPLEMENTATION_PLAN.md以解除阻塞
  3. 添加澄清笔记到RALPH_PROMPT.md

失控的迭代

设置MAX_ITERATIONS或使用成本监控钩子:

./ralph-sandbox.sh . 20  # 在20次迭代后停止

参考