mcpField
R
ralph-loop

ralph-loop

github.com/cursorAgent 工作流14.6k1.0k 次安装1 天前更新
代码仓库

关于 ralph-loop

ralph-loop 是用于迭代开发任务的 Agent 技能,会在每轮将原始提示词和先前工作重新交给 Agent。它将循环状态写入文件,并支持设置迭代上限和可选的完成条件。

主要功能

  1. 01每轮重复提交任务提示词
  2. 02将状态记录到暂存文件
  3. 03支持设置迭代上限
  4. 04支持设置完成条件

适用场景

  1. 01迭代处理开发任务
  2. 02限制 Agent 的工作轮次
  3. 03在达到指定条件后停止

安装

复制下面的命令,在终端中运行。

$npx skills add https://github.com/cursor/plugins --skill ralph-loop

安装后在 Claude Code 中输入/ralph-loop确认已加载。

详细介绍

Ralph Loop

触发条件

用户想要启动 Ralph loop。这是一种迭代开发循环,每轮结束后都会再次输入同一条提示词,且 Agent 每次迭代都能看到自己之前的工作。

工作流

  1. 收集用户的任务提示词和可选参数:

    • max_iterations(数字,默认值为 0,表示不限制)
    • completion_promise(文本;如果未设置,则为 "null")
  2. 如果目录 .cursor/ralph/ 不存在,则创建该目录,然后按照以下精确格式在 .cursor/ralph/scratchpad.md 写入状态文件:

    ---
    iteration: 1
    max_iterations: <N or 0>
    completion_promise: "<TEXT>" or null
    ---
    
    <the user's task prompt goes here>
    

    示例:

    ---
    iteration: 1
    max_iterations: 20
    completion_promise: "COMPLETE"
    ---
    
    Build a REST API for todos with CRUD operations, input validation, and tests.
    
  3. 向用户确认 Ralph loop 已启动,然后开始处理任务。

  4. 停止钩子会自动拦截每轮结束,并将同一条提示词作为后续消息再次发送。你会看到消息前缀为 [Ralph loop iteration N.]。

防护措施

  • 如果设置了完成承诺,只有当其陈述完全属实且确实如此时,才能输出 <promise>TEXT</promise>。
  • 不要输出虚假的承诺来逃避循环。
  • 始终建议将 max_iterations 设为安全上限。
  • 如果 completion_promise 值包含特殊字符,请在 YAML 前置内容中为其加上引号。

输出

确认循环已启动(包括提示词、迭代次数上限,以及设置了的话完成承诺),然后立即开始处理任务。

评论

支持 Markdown