一日一技:在 OpenClaw 中复刻 Ralph Loop 实现自主编码闭环
摄影:产品经理
维也纳的德国香肠
0x01 背景
X(前 Twitter)上面,总有人说什么使用 OpenClaw 帮他炒币买股票,赚了几千几万美元。或者给 OpenClaw 一个任务,然后睡觉,早上起来任务就完美完成了。
但当我实际测试以后,发现这些文案,要么是吹牛,要么是放屁。
0x02 现状
有一天晚上,我给 OpenClaw 发了一条任务:
使用 PyGame 帮我实现一个 RPG 像素风格游戏,你需要自己去网上找素材。这个游戏要有村庄,有城镇,有怪物,有装备系统,等级机制。能用武器攻击,能用魔法攻击。这个任务有点复杂,你有 8 个小时慢慢写,明天早上我来验收。
发了这条以后,我就睡觉了。结果第二天早上一看,距离我发消息过了 2 分钟,它就回复了,说已经做好了。结果我打开一看,完全是一坨大便,也没有找任何素材。一晚上白白浪费。
经过我的测试,OpenClaw 根本没有执行长任务的能力!
使用主 Agent 运行,如果一个任务超过 3 分钟,主 Agent 直接就失败超时了。
使用子 Agent 运行,任务经常会失败,而且失败以后不通知主 Agent,每次等半天没回复,执行 /subagents list 以后,看到子 Agent 失败了,才知道白等了。
0x03 需求
我希望在我的 OpenClaw 智能体系统中实现一个类似 Claude Code 的 Ralph Loop 的自主编码循环。我只需要给一个任务,剩下的全都不管,让它自动完成。
核心需求如下:
- 任务拆解:将一个大需求拆解为
prd.json中的多个微小任务(User Stories)。 - 无状态执行:每一个任务都由一个新的、干净的 Sub-agent(子智能体)去执行,避免上下文污染。
- 状态持久化:通过文件(
progress.md和 Git)来传递记忆和代码变更,而不是依赖长对话历史。 - 闭环验证:子智能体必须完成编码、测试、提交代码,并更新任务状态,主智能体才开启下一个循环。
0x04 尝试与实现
你以为我会写大量代码,或者写大量的 Prompt、大量的 SKILL?你想多了。全程就 2 分钟。
告诉 OpenClaw,什么是 Ralph Loop
学习理解 https://github.com/snarktank/ralph , ralph loop 的方法论,然后给我总结
改造成 OpenClaw 版本
他这个是给 claude code 写的,你能不能改造以后,变成你自己的 skill
以上,That’s all. 就这么简单。
0x05 测试
现在来测试一下:
我创建一个任务,使用 dribbble 的顶级审美,帮我设计一个单页静态网页,可以使用 js + css + html,并通过 nginx 反代 80 端口,当访问 xx.kingname.info 时,就能打开这个页面。这个页面的内容,是美化我的博客个人介绍页面:https://kingname.info/about 使用 codex + gpt-5.3-codex 来实现。新的页面需要包含个人介绍页面的全部内容。 使用 subagent 来运行,超时时间设置为 2 小时,页面为中文。 先创建 prd
它获取我博客的时候出了点问题,但不要紧,先用假数据。先启动 Ralph Loop。
接下来,整个过程我只做了一件事:看着它跑。我看了 30 分钟,它真的实现了自动运行。
虽然只有一个主 Agent 和一个子 Agent,但已经实现了自动操作。主 Agent 给子 Agent 一个人物,等子 Agent 完成以后,通知主 Agent。然后主 Agent 给子 Agent 第二个任务……一直循环,直到任务完成。
0x06 总结
最后生成的结果完全满足我的需求,它还会自动优化,自动测试。而且最关键的是,全程我没有手写任何一行代码,也没有写任何高级 Prompt。我只是把 Github 链接发给它,然后让它帮我修改成符合自己能使用的 Skill,困扰我好几天的问题就全部解决了。
OpenClaw 刚出来的时候,我觉得他就是一个可以在聊天工具里面使用的 Claude Code,没什么高级的。
但连续高强度使用几天以后,我觉得 OpenClaw 还真有点东西,它让我看到了一个 AI系统能够自我进化的能力。
END