原始标题: Claude Code Let’s Build: The Ralph Loop Easy Setup Testing

发布日期: 2026-01-18 | 来源频道: @AllAboutAI

📝 深度摘要

1. 对话背景与核心主题

本视频由技术博主展示了一套基于 Claude Code 的自动化开发循环系统——“Ralph Loop”。该系统旨在解决 AI 代理在长时间项目中"上下文膨胀"和"自主性退化"的核心痛点。博主通过两个完整的实战项目(VR 影院房间 3D 应用 + Suno API 音乐生成老虎机),演示了如何让 AI 代理在无人值守模式下自主完成从任务规划到代码实现的完整开发流程。

2. 核心干货概览 (Agentic Stack & Assets)

类别 名称 核心用途 / 技术意义
核心 AI 代理 Claude Code 承担代码编写、任务执行、验证测试的核心职责,每次迭代启动全新实例以避免上下文污染
自动化/触发工具 Ralph Loop Scripts 通过 bash 脚本实现 24/7 全天候自主运行,支持迭代次数配置(25次/20次)和自动重试机制
项目管理文件 PRD.json 以 JSON 格式存储任务清单、任务状态(passes 字段)、进度日志,实现任务记忆持久化
执行脚本 Ralph.sh 主循环入口脚本,负责调用 Claude Code、解析 PRD、更新任务状态、提交 Git 变更
外部 API 集成 Suno API 第二个项目集成的音乐生成接口,通过 Slot Machine 机制随机生成音乐提示词并调用 API

3. 智能体架构与 SOP (Architecture & Implementation Deep Dive)

环境搭建与初始化

PRD 结构设计:任务列表采用 JSON 格式,每个任务包含 task(任务描述)、passes(完成状态,boolean)、dependencies(依赖关系)字段。进度日志存储在 progress.txt 中,供后续迭代读取以了解项目当前状态。

Loop 脚本核心逻辑(Ralph.sh):

  1. 读取 PRD.json,筛选出 passes: false 的任务
  2. 按依赖关系和优先级排序,选择最高优先级的未完成任务
  3. 启动 Claude Code 实例,传递任务描述
  4. Claude Code 执行任务、运行测试和类型检查
  5. 任务完成后更新 PRD,将对应任务的 passes 设为 true
  6. 将进度追加到 progress.txt,执行 Git commit
  7. 关键步骤:关闭当前 Claude Code 实例,清空上下文,启动全新实例处理下一个任务
  8. 所有任务完成后输出 “Ralph complete” 并停止

权限模式:使用 --print-dangerously 参数启用 Allow Dangerous 权限,允许 Claude Code 自动执行终端命令而无需逐个确认。

自主运行逻辑链 (The Loop)

每次迭代的完整闭环流程:

  • 感知阶段:读取 PRD.json 确定当前进度和下一个任务
  • 执行阶段:Claude Code 接收任务描述,创建代码、编写测试、执行验证
  • 反馈阶段:运行 npm test 和类型检查工具验证代码正确性
  • 修正阶段:若测试失败,Claude Code 自动修复并重新验证
  • 持久化阶段:更新 PRD 状态、记录进度日志、提交 Git 变更
  • 重置阶段:销毁当前 Claude Code 实例,释放上下文内存,下一轮迭代从头开始

实战案例还原 (Use Cases)

项目一:VR 影院房间(22 个任务)

  • 技术栈:Three.js (3JS)、180度球面屏幕、视频播放器集成
  • 功能实现:用户可在 3D 空间中行走,视频在弧形幕布上播放,支持菜单选择视频、进入影院按钮
  • 运行结果:约 1 小时完成全部 22 个任务,博主仅在最后测试阶段介入

项目二:Suno 音乐老虎机(20 个任务)

  • 技术栈:Three.js + Suno API
  • 功能实现:4 轴老虎机,每轴包含音乐类型、乐器、标签等选项;Spin 后随机组合提示词调用 Suno API 生成歌曲
  • 运行结果:25 分钟完成 13 个任务,最终 20 次迭代全部完成,仅需后续小幅调整文本方向问题

细节支撑

网络异常处理:视频中 VR 项目运行期间遭遇 Wi-Fi 断开,Loop 自动停止;重连后从中断处继续执行(PRD 状态已持久化)。

Token 消耗预警:博主明确提到"这会消耗大量 Token",但强调产出价值远超成本。

小型 Bug 修复:音乐老虎机项目发现文本垂直显示问题(非水平),博主在迭代完成后手动修复了一行 CSS。

4. 核心执行资产 (CLI Commands & Prompts)

指令集还原

# 启动 Ralph Loop(自主模式,25次迭代)
./Ralph.sh --iterations 25

# 或在 Claude Code CLI 中直接运行
claude --print-dangerously [command]

PRD.json 示例结构

{
  "tasks": [
    {
      "task": "创建 Three.js 项目结构",
      "passes": true,
      "dependencies": []
    },
    {
      "task": "实现 180 度球面视频播放器",
      "passes": false,
      "dependencies": ["创建 Three.js 项目结构"]
    }
  ],
  "progress": []
}

系统提示词策略

任务启动 Prompt

“Read all the documentation around this RL loop we have set up. Read Ralph.sh and the PRD.json. Let me know you’re ready for a new task.”

项目规划 Prompt

“Create a plan for all tasks for the PRD JSON. Please create a plan for how we should write the task to PRD JSON.”

博主利用 Claude Code 的 Plan Mode(计划模式)让 AI 自动将项目需求拆解为可执行的任务列表,PRD 中的 22 个任务和 20 个任务均由 AI 自主生成。

5. 开发者进阶洞察 (Vibe Coding Insights & Boundary)

Vibe Coding 核心心法

博主在演示中展现了一种"指令即代码"的开发范式转变:无需手动编写具体实现细节,只需描述期望的功能效果(如"创建一个可以在里面走动的 180 度影院房间"),Claude Code 即可自主完成技术选型、代码编写、测试验证的全部流程。PRD 文档是唯一的"真实来源",AI 通过读取文档理解目标,通过迭代循环逐步逼近最终产品。

自主性风险预警

  • 上下文重置的代价:每次迭代完全重置 Claude Code 实例意味着无法保留前一轮的"学习成果",但博主认为这恰恰是避免上下文膨胀的关键设计
  • 危险权限风险--print-dangerously 允许 AI 执行任意终端命令,需评估本地环境安全边界
  • API 成本累积:Suno API 等外部服务调用会产生持续费用,长时间运行需监控消耗

实战陷阱

  • 网络依赖:Loop 运行时必须保持网络连接,断开后需手动重启
  • 测试覆盖盲区:AI 可能通过测试但实际运行时出现 UI 布局问题(如文本垂直显示),需要人工最终验收
  • 任务粒度把控:任务过粗导致单次迭代压力过大,任务过细则迭代次数爆炸,需要在 PRD 设计阶段合理拆分

6. 金句 (Golden Quotes)

  • “I didn’t really have to do anything. Everything was just running in this loop, right? And I just came back after I think it took an hour or something and it’s probably going to spend a lot of tokens, but that was pretty cool.”

    (我几乎什么都没做。所有事情都在这个循环里自动运行。大约一小时后我回来查看,虽然会消耗大量 Token,但这简直太酷了。)

  • “So, this is going to run in autonomous mode. So, we can set 22 iterations. Maybe leave a couple for a retry.”

    (接下来我们要用自主模式运行。设置 22 次迭代吧,留几次重试的余地。)

  • “This has just been fully autonomous. So if we go to our PRD now JSON, you can see we have passed all the way up to task 13.”

    (这完全是自主运行的。看看我们的 PRD.json,已经一路完成到第 13 个任务了。)

  • “The nice thing about it that it’s pretty hands off, but of course you have the risk with the dangerous script permissions, but so far I had no issues with that.”

    (最棒的是它真的做到了无人值守。当然启用危险脚本权限有风险,但目前我还没遇到过问题。)


📺 视频原片


视频ID: eD4CEZ-_-sk