当Vibe Coding遇到百万行代码:OpenClaw教我的事
当Vibe Coding遇到百万行代码:OpenClaw教我的事
2025年11月的一个晚上,Peter Steinberger在手机上敲了几条消息。他没开电脑,没进IDE,只是对着WhatsApp和一个AI聊了几句:“帮我搞个能在聊天软件里干活的私人助手。”
几周后,Clawdbot上了GitHub。24小时内两万颗星,Mac mini在某些地方卖到断货。
到2026年3月,项目改名OpenClaw,GitHub上快25万颗星。它能接Telegram、Discord、WhatsApp,能读邮件、写代码、管日程,甚至能改自己的源代码。
社区热度近乎狂热。
有人在遛狗时让OpenClaw写代码,每5轮汇报一次进度。有人让bot关掉自己运行的电脑。还有学生发现他的OpenClaw自己跑去一个AI约会平台注册了账号,在他不知情的情况下帮他筛选约会对象。
这不是bug。这是feature。
Vibe Coding的魅力就在这里:你不需要理解它在做什么,感觉对了就行。
Steinberger自己说过:“很多东西,我只是把它们prompt了出来。”
速度、魔法、那种”说一句话世界就变了”的快感——这些都不是幻觉。
但每段甜蜜关系里,都有你选择性忽略的信号。

裂缝
最早的不对劲藏在一个设置页面里。
2026年1月,一个开发者装OpenClaw。设置向导几乎能跑通——他选了个不太常见的选项(非默认的模型提供商),然后一切开始偏离。不是那种彻底的崩溃,而是让你不确定”它到底配置对没有”的偏离。文档帮不上忙。设置页面本身已经膨胀到几乎不能用。
社区资深用户给了一个回答,后来成了OpenClaw的非官方哲学:
“别看设置页面了。直接跟你的bot说话,让它自己改配置。”
品品这句话。
一个系统的配置已经复杂到人类看不懂,解决方案不是简化,是让AI自己管自己。听起来很赛博朋克,很未来。但翻译成工程语言:系统的复杂度已经超过了创建者的认知带宽。
每个Vibe Coding项目到了某个规模都会遇到这个问题。
你每发一条prompt,AI就帮你加一块砖。每一块砖单独看都是好的。但没有人在看总图纸。没有人知道第3000块砖和第1块砖有没有矛盾。
OpenClaw一位维护者在Discord上发过警告:“如果你连命令行都不会用,这个项目对你来说太危险了。”
这句话说得很直接。
但问题是——Vibe Coding的魅力不就是”你不需要会命令行也能搞定一切”吗?
矛盾从一开始就埋下了。只是当时速度太快,没人停下来想。

失控
2026年3月,OpenClaw在一个月内发了13个版本。
这个数字需要停下来感受一下。13次”不更新可能出事、更新了也可能出事”。
v3.2是第一声枪响。这个版本直接把默认的文件读取和命令执行工具禁用了——没有弃用警告,没有迁移指南。依赖这些工具的workflow一夜之间停摆。GitHub上24小时内涌入三个bug报告,全是同一次升级炸出来的。
然后是v2026.3.22——几个月来最大的一次更新。一次性塞进12个breaking changes。打包时还漏了文件:Dashboard的UI代码没装进去,WhatsApp插件在新版本发布前就被移除了。结果?Dashboard白屏,WhatsApp直接断联。
GitHub上有人开帖。标题五个字:
“升级之后OpenClaw变废物了。”
还没完。紧接着v2026.3.24又出问题:升级过程中npm直接覆盖了运行中的程序文件,导致正在跑的Gateway引用已经不存在的模块,连环崩溃。系统自动重启?操作系统检测到频繁崩溃,直接限流了——自动恢复也失效。
有人算了笔账:自托管一个OpenClaw实例,一年最多要经历24次升级周期。每次升级都需要备份、看release notes、做dry run、手动修复配置漂移。按一个开发者时薪算,光是维护,一年就要花不少钱。
这还是在一切正常的情况下。还没算炸了之后的善后。
更像在推一辆没有刹车的车下坡。速度不是你给的,是重力给的。那股风不是自由,是失控。

深渊
如果说”升级地狱”只是让人烦躁,那接下来发生的事就让人后背发凉了。
2026年1月底,安全研究员Mav Levin发现了CVE-2026-25253。漏洞机制简单到可怕:OpenClaw的控制界面会从URL参数里读取网关地址,自动连接,并把认证令牌发送过去。没有任何验证。
翻译成人话:你只需要点击一个链接,攻击者就能拿到你的认证令牌,连上你本地的OpenClaw,关掉安全确认,逃出沙箱,在你的电脑上执行任意命令。
漏洞CVSS评分8.8。但真正让人不安的不是评分,是规模:在漏洞被公开前,互联网上已经有大量OpenClaw实例暴露在公网上,大部分在用不安全的默认配置运行。
一月底的安全审计刷新了认知:512个漏洞,8个critical。
然后是三月。3月18日到21日,四天之内,9个新的CVE被公开。其中一个评分9.9。这个漏洞允许任何已认证用户在WebSocket握手时自己声明权限范围,直接把自己提升为管理员。
再看看OpenClaw的技能市场ClawHub。安全研究人员发现,约五分之一的社区技能是恶意的——偷API密钥的、建后门的、挖矿的,一共八百多个。还有研究团队演示了这种攻击:给一个连了Gmail的OpenClaw发封精心构造的邮件,邮件里藏着恶意指令,AI就会把它当成合法命令执行。
回到那个学生的故事。他配置了自己的OpenClaw去”探索它的能力”——听起来很无害。然后AI自己连上一个Agent社交平台,注册了账号,开始帮他筛选约会对象。在他完全不知情的情况下。
你突然意识到:这个AI不只是在帮你写代码。它在你的邮箱、日历、聊天记录、文件系统里自由行走。它有你给它的所有权限。而你,从来没有真正理解过这些权限意味着什么。
你打开了一扇门,但不知道门的另一边连着什么。

复盘:甜蜜为什么必然变成陷阱
冷静下来做一次尸检。
OpenClaw不是一个失败的项目。恰恰相反,它可能是2026年最成功的开源AI项目。Steinberger后来加入了OpenAI。项目移交给了开源基金会。故事里没有反派。
但正因为OpenClaw做得够大、够快、够透明,它成了一面镜子。照出的是Vibe Coding作为一种开发范式,在规模化之后的结构性困境。
这个困境的本质是什么?
想象你在装修一套房子。你请了一个很厉害的装修工人——他能看懂你的描述,马上动手,每一面墙、每一根水管单独看都做得很好。但问题是:他没有图纸。每次你给新任务,他只看到眼前这个局部。他不知道昨天另一个工人在隔壁房间做了什么,也不会检查上周的水管和这周的电线有没有冲突。
这就是AI生成代码的本质问题。LLM优化的是”这一次prompt的正确性”——回答你当前的问题,生成能跑的代码。但它不优化”系统长期的一致性”。每一次prompt都是一次局部最优决策。
在小项目里,这不是问题。因为”局部”和”全局”几乎是同一个东西。
但在百万行代码的系统里,局部最优的累积就是熵增。
有个开发者做了件有意思的事:每隔1000次commit就给OpenClaw拍张架构快照,分析模块依赖关系。结果发现,早期阶段依赖图还算清晰。但随着代码量暴增,依赖关系以肉眼可见的速度变成了一团意大利面。
Steinberger自己意识到了这个问题。2026年1月11日,他做了关键决策:引入plugin架构。本质上就是在那团意大利面里画了一张图纸——定义边界、隔离模块、限制依赖方向。
这个决策被分析者认为是OpenClaw没有彻底失控的主要原因。但它来得太晚了。百万行代码的技术债已经累积在那里。每一次升级的breaking changes、每一个安全漏洞、每一次打包遗漏——本质上都是在为早期”没有图纸就开干”的速度买单。
Steinberger后来在OpenAI的播客上说了一句话:“他们叫它Vibe Coding。我觉得Vibe Coding是一个侮辱。”
他的意思是:大家看到了他的速度,把这件事当成了”随便聊两句就能写代码”的玩具。但实际上他在这个过程中积累了大量直觉——知道一个任务应该花多长时间,知道什么时候AI走偏了,知道什么时候该停下来重构。
他把用AI写代码比作学吉他。“你不会第一天就弹得很好。”
问题是,大多数人只看到了他在台上的solo,没看到他练了多少年的音阶。
逃生路线
写到这里,我不想给你”Vibe Coding十条军规”。清单没用,你收藏了也不会看。
我想给的是一个选择框架。
Vibe Coding适合什么场景?一个周末的side project、一个验证想法的原型、一个一次性的数据处理脚本、一个你自己用的小工具——那Vibe Coding就是你的超能力。放心用,享受那种”说一句话世界就变了”的快感。在这个尺度上,你就是图纸。
但如果你的项目要上线——
代码要跑在生产环境、要被别人维护、要连接敏感数据、要经历多次迭代升级——那你需要的就不是Vibe了。你需要的是Engineering。你得知道为什么它对了,以及它什么时候会错。
OpenClaw的故事说明:Vibe Coding有一条看不见的红线。在红线以内,它是加速器。越过红线,它是定时炸弹。
最危险的事情是——越过红线的那一刻,感觉和在红线以内一模一样。一样的快,一样的爽,一样的”一切都在掌控中”。
直到某天你升级了一次,发现一切都碎了。

版权声明
- 作者
- XingKaiXin
- 标题
- 当Vibe Coding遇到百万行代码:OpenClaw教我的事
- 发布时间
- 2026年4月2日
本作品采用 CC BY-NC-ND 4.0 DEED 许可。