Ralph Loop Workflow 是一种让编码智能体在自主循环中运行的流程方案,通过 /ralph 命令驱动,由预检(preflight check)把关,确保每个 CLI 都已安装、已关联并已完成认证。其目标是最大化智能体在无人干预下的运行时长。
用途
Ralph 的核心目标不是某种文件格式,而是让智能体能够自主地规划、构建和验证。它把一段宽泛的提示词拆解为任务,并逐个构建、测试和交付。持久化的意图记录保存在智能体产出的产物中:测试(可执行的验收标准)、面向用户的文档,以及面向已发布库的变更日志。
当给智能体一段宽泛的、以结果为导向的提示词后,由智能体自身的框架(harness)管理待办列表——不存在单独的用户故事文件需要编写或勾选。如果没有给出提示词,则停止并询问用户:"你希望 Ralph 循环朝什么结果推进?给我一段宽泛的、以结果为导向的提示词,我会把它拆解为任务。"在得到回答前不继续。
循环流程
整体流程为:
input prompt
-> preflight check (CLIs installed, linked, authenticated)
-> agent harness managed todo list (first-principles task breakdown)
-> code + user-facing docs + changelog + tests
-> verification (typecheck, fmt, fallow, browser, tests, deploy, prod check)
-> iterate
预检只运行一次。如果有任何缺失或未认证项,报告确切的修复命令并停止——在所有项目变绿之前,循环不会启动。之后每次迭代:
- 读取代码库当前状态与之前的进度。
- 以第一性原理思维将剩余工作拆解为任务。
- 选择优先级最高的任务。
- 通过开发工作流实现它:编写测试、构建、按需生成并迁移数据库 schema、格式化。
- 验证:类型检查、构建、测试,以及在 http://localhost:3000 上的浏览器交互。
- 调试并修复,直到验证通过。
- 更新面向用户的文档以及已发布产物的变更日志。
- 使用描述性提交信息提交,然后进入下一个任务。
保持开发服务器运行(bun run dev)。智能体针对测试数据库工作,因此可以自由迁移。当没有任务剩余且所有验证通过时,循环结束。
前置条件
需先完成以下设置方案:
- AI Coding Agent Configuration
- Code Health, Linting & Formatting
- Testing
智能体所需
无需安装任何 Ralph 专属组件——循环依赖于三件事到位:
上下文——如何在该代码库中工作(模式、开发工作流、约定),通过 AGENTS.md、配置的 MCP 服务器以及已安装的技能(skills)提供。
工具——用于配置资源、运行迁移、拉取日志和检查部署,通过项目的 MCP 服务器和 CLI 提供。给智能体与你相同的工具。
验证——这是延长自主运行时间的要素。智能体必须能在本地和生产环境中检查自己的工作:
- 代码健康 —
bun run typecheck、bun run fmt、bun run fallow - 测试 — 针对隔离的数据库分支运行
bun run test(Playwright、集成测试、单元测试) - 浏览器 — 使用
agent-browser像用户一样与运行中的应用交互 - 日志与部署 — 拉取部署和运行时日志,确认变更已发布并在生产环境正常工作
当验证可信且可自助执行时,智能体无需人工介入即可捕获并修复自身的回归。
预检
在第一次迭代前确认智能体已具备一切,而不是在过程中才发现缺失凭证。不要假设固定清单——应从代码库推断正在使用的基础设施,再逐项检查每个工具:
- 发现正在使用的基础设施。读取 MCP 配置(
.cursor/mcp.json)、better-env 的 configSchema 声明以及 package.json 脚本。每个已配置的服务都意味着某个 CLI 或令牌:Neon(DATABASE_URL)、Vercel、Resend、Sentry、GitHub、Better Auth 等。 - 对每个工具,用非破坏性命令验证 install + link + auth。
- 报告一份清单,为每个红色项给出修复命令。
示例检查(只运行代码库实际用到的):
agent-browser -v # browser automation
vercel --version && vercel whoami && vercel project ls # installed + linked + auth
neonctl me # Neon CLI authenticated
sentry-cli info # token present and valid
gh auth status # GitHub CLI for PRs, logs
bun run env:validate # env vars match the schema
如果任何项目为红色则停止:
Preflight check
[ok] agent-browser v1.4.2
[ok] vercel linked to acme/app, logged in as andre
[fail] neon not authenticated
[fail] DATABASE_URL not set in .env.local
[ok] gh authenticated
2 issues block the loop. Run these, then re-run /ralph:
neonctl auth # opens browser for OAuth
bun run env:pull # pull DATABASE_URL from Vercel
对于交互式 OAuth(Vercel、Neon、GitHub),应给出用户自行运行的确切命令——不要代替用户尝试浏览器登录。对于任何可非交互式修复的事项(拉取环境变量、设置令牌),可主动提出代为运行。只有当每一项都变绿后才启动循环。
引导循环
保持提示词宽泛且以结果为导向,然后让智能体自行分解。通过打磨输入而非微观管理步骤来增加方向:
- 更锐利的提示词——陈述结果与约束,而非步骤。
- 更强的测试——失败的测试是表明仍有工作待完成的最可靠信号。
- 更好的工具——当智能体反复卡住时,通常是因为缺少工具(MCP 服务器、CLI 或日志访问),而非缺少指令。
背景与参考
- Ralph - Geoffrey Huntley - 原始概念与实现
- Effective Harnesses for Long-Running Agents - Anthropic - 智能体循环的工程模式
- Matt Pocock on Ralph - 视频讲解
限制
该技能的官方文本中未提供具体的收费、价格、平台或效果信息,相关内容暂未提供。