找回密码
立即注册
搜索
热搜: Java Python Linux Go
发回帖 发新帖

2972

积分

1

好友

419

主题
发表于 6 小时前 | 查看: 1| 回复: 0

融合卡通与写实风格的Ralph宣传插画

编程大神玛特·波科克(Matt Pocock),外号TypeScript巫师,在他的最新编程课里这样评价一个工具:“以前无论用哪个模型编程,得到的都只能是半成品,AI只能干点杂活。但这玩意儿不一样,你能把整个待办事项列表都扔给它解决。”

这门课售价375美元,容量40人,玛特只用了半小时就售罄了。关注Vibe Coding的程序员们,最近肯定被一个形象刷屏了:一个挖着鼻孔、表情呆滞、头发稀疏的黄色胖子。

卡通人物思考表情

这就是Ralph。简单说,它是一个Agent插件。开发者输入需求后就能当甩手掌柜,它会自我监督运行,通过不断测试代码,直到跑出完全符合需求的结果才停止。

想象一个场景:睡前打开Ralph,输入明天的开发任务,第二天醒来,所有代码已经完成,只等你最后审阅。你甚至不用像使用传统Vibe Coding工具那样,守在电脑前帮“听不懂话”的AI一行行改代码。你唯一做的事,就是睡了个好觉。

自Ralph被上传到GitHub后,不到两周就狂揽7000颗星。这个速度在GitHub上堪称恐怖,即便是头部爆款项目也难以在同样时间内达到。作为对比,DeepSeek的主仓库在同期获得的星数也才接近8000。在线编程教育平台Treehouse的创始人瑞安·卡松(Ryan Carson)直言:“所有人都在讨论Ralph。”

01 Ralph是谁?它的工作哲学是什么?

Ralph的名字来源于动画《辛普森一家》中的角色Ralph Wiggum,特点是“不太聪明,但执着不懈”。它的开发者是杰弗里·亨特利(Geoffrey Huntley),在中文互联网上,大家更爱叫他的外号——“澳洲放羊大叔”。

澳洲放羊大叔Geoffrey Huntley的卡通插画

因为他并非传统意义上的程序员,主业是在澳大利亚放牧,而且住在房车里。回归正题,Ralph并非一个全新的独立软件,更像是一种工作哲学或一套可执行脚本,旨在让现有的AI编程代理(如Anthropic的Claude Code、Cursor等)在你离开电脑后也能持续工作。

用“大叔”自己的话说,Ralph的核心简单到可以概括为一行代码,但其威力不容小觑。

它的工作流程可以分解为几个关键步骤:

  1. 任务分解:将庞大的功能需求,拆分成一系列足够小、可独立完成的“原子任务”。关键是,每个小任务必须有明确的、可被机器自动检测的“通过”或“失败”标准。模糊的指令如“让界面更好看”行不通,必须是具体的,例如“添加一个优先级列,其默认值为中等”。
  2. 循环执行:任务清单准备好后,Ralph开始循环。每一轮迭代,它会从列表中选一个未完成的任务,读取项目当前状态(包括git历史、记录进度的progress.txt、包含所有待办事项的prd.json),然后调用AI模型编写实现代码。
  3. 自动测试与反馈:代码写完后,自动运行预设测试脚本进行验证。如果测试通过,则自动提交代码到git,并在prd.json中标记任务完成,将经验记录到progress.txt。如果测试失败,则将错误信息记录到errors.log,下一轮循环时,AI会读取错误日志并尝试用新方法解决,避免重复犯错。

这种模式巧妙地解决了当前AI编程工具的一大痛点——上下文窗口限制。

当你与AI进行长对话构建复杂功能时,随着代码量和对话轮次增加,AI会逐渐“忘记”最初的指令,可能自相矛盾或无意破坏已有功能。开发者就像在照顾一个健忘的小学生,需要不断提醒纠正,效率低下。

问题出在任务规模上。一个功能可能包含几十个部分,让AI把所有细节都保留在短期记忆里,它往往力不从心。Ralph的策略是“少食多餐”:每次只专注于一个极小的任务,完成后通过git提交固化成果,然后清空上下文,以全新状态迎接下一个任务。

这意味着,理论上它可以构建无限复杂的软件,而不会被冗长的对话历史困扰。它的“记忆”被转化成了结构化的文件

  • git历史成为了AI的长期记忆,每一次提交都是知识的积累。
  • progress.txt文件记录了已完成的工作和当前状态。
  • prd.json文件是明确所有待完成任务的产品需求文档。
  • AGENTS.md文件是操作指南,记录构建和测试项目的具体方法。
  • errors.log用于在下一个循环中避免相同的错误。

02 核心:一行Bash脚本与“完成条件”哲学

尽管前面解释了这么多,但Ralph的核心机制可以被浓缩为一行简单的Bash脚本:

while :; do cat PROMPT.md | claude-code ; done

这行代码的本质是一个无限循环。它不断地将包含指令的提示文件喂给AI代理,让其反复迭代。这个看似“笨拙”的循环,恰恰是创新所在。

许多AI模型完成一轮输出后,会认为任务“差不多完成”并自行退出,可能忽略测试、构建、修复等关键步骤。Ralph的机制接管了AI的退出信号。例如,在与Claude Code集成时,一个插件会拦截AI的退出指令,检查工作成果是否满足预设条件,或输出中是否包含特定的完成标记。

如果没有找到标记,插件就不会让AI进程停止,而是强制它进入下一轮迭代。这让整个开发流程脱离了人工“卡点”,实现了从编码到测试再到修正的完全自动化,也是它能无人值守运行的底层基础。

AI与数据流概念图

然而,关键并非简单地“让AI一直跑”,而是“让AI知道要跑到什么时候为止”。如果没有明确、可被机器理解的完成标准,迭代就会变成无目的的资源消耗。

因此,Ralph模式强调在启动前就定义好明确、可量化、可被机器检测的完成条件,并编码在任务的验收标准中。每一轮循环末尾,AI都会自行检查这些条件。若不满足,则阻止自己退出,触发下一轮迭代,直到所有任务验收标准都被满足,出现最终完成标记。这相当于用机器替代了人工完成“结果验收”。

基于此,Ralph提供了两种主要协作方式:

  • 离线Ralph:睡前设定任务,让它通宵运行,次日早上验收结果。适合需求明确、直接的任务。
  • 手动挡Ralph:一次只运行一轮循环,每轮结束后开发者审查提交并适时引导。适合复杂、探索性的功能,保持更多控制权。

即便在手动模式下,由于其结构化的任务和清晰的反馈循环,通常也比传统的Vibe Coding高效得多。这种工作模式的讨论,在开发者广场也引起了广泛关注。

03 低成本与生态:为什么它反而更便宜?

除了模式创新,Ralph的另一特点是运行成本相对较低。根据开发者分享,一次包含10轮迭代的典型运行,API调用成本约30美元。有人用此模式交付、审查并测试了一个完整应用,总花费不到300美元,而过去外包同等复杂度产品的成本可能高达5万美元。

即使Ralph只完成90%的工作,开发者仅需少量时间收尾,也相当于将数天工作压缩到几小时。这有些反直觉:Ralph运行多个循环,却比其他方式便宜。

原因在于其独特的工作流程。传统长对话中,为了让AI记住之前内容,每次请求都需要重新发送全部聊天记录,导致Token消耗和费用呈指数级增长。而Ralph将“记忆”存储在git和本地文件中,而非昂贵的AI上下文里。

每次请求AI时,只需提供与当前任务相关的最少信息,完成后短暂的上下文就被抛弃。由于上下文很短,单次调用成本非常低。

实际案例印证了其潜力:有团队在创业黑客松中,利用Ralph一夜之间交付了6个项目原型;“澳洲放羊大叔”本人据称在不到三个月里,主要借助Ralph构建了一门完整的编程语言。

严格来说,Ralph没有直接竞品,但Codeium在2025年推出的Cascade在工程上可实现类似效果。目标一致,都是托管开发直至完成复杂编程,但Cascade以“plan-act-verify”(规划、执行、验证)逻辑运行。

从执行上讲,Ralph是“无限Bash循环+单次执行”,第一次运行会出错,然后在后续循环中依据错误日志改正。而Cascade先规划整个流程再执行验证,因其经过初始编排,编程和验证过程耗时更少。

但问题在于,Cascade无法无限循环。因此存在一个复杂度阈值,一旦项目超过该阈值,Cascade就无法实现像Ralph那样的完全托管。

未来科技感的AI概念图

一个围绕Ralph的生态系统正在快速形成。Anthropic已将其作为Claude Code的官方插件之一,前端开发平台Vercel的实验室也发布了支持该模式的AI SDK版本。这些官方和半官方的采纳,表明Ralph模式已从一个项目,演变为一种被行业认可的、解决实际问题的有效范式。

对于追求高效、自动化的开发者而言,理解并尝试Ralph所代表的工作流,或许能打开一扇新的大门。更多关于AI自动化开发的实践与思考,也欢迎在技术社区如云栈社区中进行交流探讨。




上一篇:Amiga图像格式冷知识:在PNG/JPG前世,图标竟是启动配置
下一篇:嵌入式软件版本号管理实战:如何用C语言定义与校验?
您需要登录后才可以回帖 登录 | 立即注册

手机版|小黑屋|网站地图|云栈社区 ( 苏ICP备2022046150号-2 )

GMT+8, 2026-1-27 18:15 , Processed in 0.358054 second(s), 40 queries , Gzip On.

Powered by Discuz! X3.5

© 2025-2026 云栈社区.

快速回复 返回顶部 返回列表