SuperAPI AI 工具集

ralph-loop-workflow

智能体与模型

查看项目

更新于 10-14 15:40

技能介绍

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

预检只运行一次。如果有任何缺失或未认证项,报告确切的修复命令并停止——在所有项目变绿之前,循环不会启动。之后每次迭代:

  1. 读取代码库当前状态与之前的进度。
  2. 以第一性原理思维将剩余工作拆解为任务。
  3. 选择优先级最高的任务。
  4. 通过开发工作流实现它:编写测试、构建、按需生成并迁移数据库 schema、格式化。
  5. 验证:类型检查、构建、测试,以及在 http://localhost:3000 上的浏览器交互。
  6. 调试并修复,直到验证通过。
  7. 更新面向用户的文档以及已发布产物的变更日志。
  8. 使用描述性提交信息提交,然后进入下一个任务。

保持开发服务器运行(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 像用户一样与运行中的应用交互
  • 日志与部署 — 拉取部署和运行时日志,确认变更已发布并在生产环境正常工作

当验证可信且可自助执行时,智能体无需人工介入即可捕获并修复自身的回归。

预检

在第一次迭代前确认智能体已具备一切,而不是在过程中才发现缺失凭证。不要假设固定清单——应从代码库推断正在使用的基础设施,再逐项检查每个工具:

  1. 发现正在使用的基础设施。读取 MCP 配置(.cursor/mcp.json)、better-env 的 configSchema 声明以及 package.json 脚本。每个已配置的服务都意味着某个 CLI 或令牌:Neon(DATABASE_URL)、Vercel、Resend、Sentry、GitHub、Better Auth 等。
  2. 对每个工具,用非破坏性命令验证 install + link + auth。
  3. 报告一份清单,为每个红色项给出修复命令。

示例检查(只运行代码库实际用到的):

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 - 视频讲解

限制

该技能的官方文本中未提供具体的收费、价格、平台或效果信息,相关内容暂未提供。