关于 ralph-loop
ralph-loop 是用于迭代开发任务的 Agent 技能,会在每轮将原始提示词和先前工作重新交给 Agent。它将循环状态写入文件,并支持设置迭代上限和可选的完成条件。
主要功能
- 01每轮重复提交任务提示词
- 02将状态记录到暂存文件
- 03支持设置迭代上限
- 04支持设置完成条件
适用场景
- 01迭代处理开发任务
- 02限制 Agent 的工作轮次
- 03在达到指定条件后停止
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ cursor/ plugins --skill ralph-loop安装后在 Claude Code 中输入/ralph-loop确认已加载。
详细介绍
Ralph Loop
触发条件
用户想要启动 Ralph loop。这是一种迭代开发循环,每轮结束后都会再次输入同一条提示词,且 Agent 每次迭代都能看到自己之前的工作。
工作流
-
收集用户的任务提示词和可选参数:
max_iterations(数字,默认值为 0,表示不限制)completion_promise(文本;如果未设置,则为 "null")
-
如果目录
.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. -
向用户确认 Ralph loop 已启动,然后开始处理任务。
-
停止钩子会自动拦截每轮结束,并将同一条提示词作为后续消息再次发送。你会看到消息前缀为
[Ralph loop iteration N.]。
防护措施
- 如果设置了完成承诺,只有当其陈述完全属实且确实如此时,才能输出
<promise>TEXT</promise>。 - 不要输出虚假的承诺来逃避循环。
- 始终建议将
max_iterations设为安全上限。 - 如果
completion_promise值包含特殊字符,请在 YAML 前置内容中为其加上引号。
输出
确认循环已启动(包括提示词、迭代次数上限,以及设置了的话完成承诺),然后立即开始处理任务。
评论
支持 Markdown