AI编程奇点到来:Ralph Wiggum入门,让AI永不停歇的编程
AI编程奇点到来:Ralph Wiggum入门和实战,让AI永不停歇的编程
Ralph Wiggum是什么?
Ralph Wiggum编程法是一种基于AI的编程思想,它假定AI难以一次性生成完全正确的代码,而是将编程视为一个迭代过程:如果程序运行出错,错误信息本身被视为有价值的反馈,用于指导AI继续分析和修复问题,如此循环直至最终达成编程目标。
Ralph Wiggum来自《辛普森一家》中的角色,他平时总会说些傻话、搞出点状况,就像AI第一次写代码也常常写出“bug合集”。但他有意思的地方在于——他从不因为翻车就放弃,反而会爬起来,用他那种天真的方式继续尝试,直到把事做成。
选择基于Ralph Wiggum的工具
- Anthropic官方发布了Ralph Wiggum插件,我在入门阶段不使用Anthropic的Ralph Wiggum插件,因为我想要学习基于这个思想的工具从0到1要怎么构建,能修改、能升级才真正学到精髓。
- 为了加快学习进度我找了一些工具,本文中我使用bjarne。
bjarne工具基于Ralph Wiggum思想,它是一个shell脚本,通过这个工具我能够学习到他人是如何做的,进而让自己具备修改、升级的能力。
bjarne的原理
idea.md → INIT → [PLAN → EXECUTE → REVIEW → FIX] × N → Done
↑
notes.md → REFRESH (add more tasks)
"fix X" → TASK → [PLAN → EXECUTE → REVIEW → FIX] → Branch + PR
(isolated state, auto-cleanup)
这是典型的基于Ralph Wiggum的思想,根据需求生成任务列表,未完成的任务列表就是做事计划,然后给与AI需要执行的任务,然后检查、测试、修复,直到达成全部的任务要求才退出执行。
在执行过程中,还会根据实际情况更新任务列表:
- 任务完成后,会对任务标记为已完成。
- 发现了需要修复的BUG,会将BUG转成待完成任务,修复后会标记为已完成。
- 它还会对任务增加更好理解任务的描述。
它的执行过程,和人的行为模式是一样的。
实战 - 生成MarkDown文件转Word文档的工具
前提条件
- 安装Claude Code。
- 使用合适的模型,Claude对国内不友好,可以让Claude Code路由到国内模型。
我使用的模型
{
"env": {
"ANTHROPIC_AUTH_TOKEN": "你的APIKEY",
"ANTHROPIC_BASE_URL": "https://open.bigmodel.cn/api/anthropic",
"ANTHROPIC_DEFAULT_HAIKU_MODEL": "GLM-4.7",
"ANTHROPIC_DEFAULT_OPUS_MODEL": "GLM-4.7",
"ANTHROPIC_DEFAULT_SONNET_MODEL": "GLM-4.7",
"ANTHROPIC_MODEL": "GLM-4.7",
"ANTHROPIC_SMALL_FAST_MODEL": "GLM-4.7",
"CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC": 1
}
}
上面的ANTHROPIC_AUTH_TOKEN记得替换成你的API KEY。
提示词
# 生成 MarkDown 文件转 Word 文档的工具
## 技术栈要求
1. 要求使用 Java 语言。
2. JDK:当前电脑的环境,JDK 版本是 17.0.12。
## 需求细节
1. MarkDown 转 Word,要转换为富文本。这意味着不是将 MarkDown 的文本原样转换为 Word,而是要将 MarkDown 支持的所有格式,如:的标题、链接、文字斜体、文字加粗、表格、列表、警告、代码块等,都要转换成等价的 Word 格式。
2. 要将 MarkDown 完整的内容转换到 Word。
3. 代码放到**MarkDownToWordSource**目录下,这个目录是工具源码目录。
4. 在工具源码目录内生成 README.md 文件,告诉用户如何使用这个工具。
5. 要写测试用例,确保工具正确性。
6. 测试过程中如果生成了测试中间文件(非测试代码文件),如:测试用 MarkDown 文件、生成的 Word 文件。测试中间文件必须放到**MarkDownToWordSource/testFiles**目录下,避免工程目录组织乱糟糟的。
## 验证要求
1. 转换为 Word 后,内容不能少。
2. 转换为 Word 后,格式与 MarkDown 等价。
## 其他
1. 工具验证通过后,不要删除构建产物,我希望能够直接用到它,并打印出工具路径。
2. 每项任务做完,记得将任务标记为完成,我提醒你一下怕你忘记。
开始生成
- 初始化:
bjarne init idea.md,idea.md是提示词文档。经过这命令后将生成TASKS.md文件,里面是任务列表。 - 生成代码:
bjarne 100000。100000是最大重试次数,bjarne默认最大重试次数为25,25次不够用,我设置了一个很大的数字,代表不成功就一直执行。
问题:生成的Word文档的格式和MarkDown不匹配
在TASKD.md中的## Documentation & Finalization或者新增一节## Verification中添加新的未完成任务:
- [ ] 将**MarkDownToWordSource/README.md**转换为Word文档,验证内容是否完全转换,验证转换后的Word文档内容格式是否和MarkDown文档README.md等价。
然后重新运行:bjarne 100000。bjarne会读取到它然后做验证、修复。
AI编程工作完成时间
- 初版:前一天晚上9点到第二天凌晨3点,5个小时。
Token花销
超过200万Token。
后记 —— 为什么我认为AI编程奇点到来
Ralph Wiggum 思想的策略看似粗放,执行起来或许耗时、费力、成本高昂。这丝毫不能掩盖其背后蕴藏的巨大潜力——因为它能够切实达成最终目标。至于过程中的效率问题,是可优化的;算力成本,从长期看也是持续下降的。
而AI,正拥有着人类难以企及的禀赋:它能永不间断地工作,不眠不休、不知疲倦、无需组织管理、无需人文关怀,省去了诸多复杂环节。人类能做到吗?
一旦某种AI模式被验证成功,其经验与能力便能以近乎零成本的方式被无限复制、快速迁移。人类可以吗?

浙公网安备 33010602011771号