Please enable Javascript to view the contents

Vibe Coding 实战经验:AI 可使知之,不可使由之

 ·  ☕ 4 分钟

“民可使由之,不可使知之”出自《论语·泰伯》,是孔子关于为政教化思想的观点。传统通行的句读解释为:“民可使由之,不可使知之。”(杨伯峻《论语译注》认为:老百姓可以让他们照着我们的道路走,不可以使他们知道那是为什么。)

而我们在Vibe Coding的时,恰恰相反,一定要给一个给AI一个方向,而不能让他自由发挥。否则事倍功半。以下就是一个很好的例子。


春节期间,写了一个儿童在线游戏乐园的网站:https://www.kidsgame.online/。里面收集了很多经典好玩的游戏,非常适合青少年儿童。即开即玩,没有付费,也不容易成瘾。

分享一个给娃用的“儿童游戏乐园”:经典游戏+自研小游戏,纯净无广

https://blog.mzh.ren/zh/posts/2026/02/kidsgame-online/images/post-cover.png

因为我个人觉得愤怒的小鸟非常的好玩,也非常适合小孩子玩,所以我就下决心要引入一个,因为我相信这么有名的游戏啊,一定已经有现成的代码了,于是我就问AI哪有里开源的愤怒的小鸟网页版源码:

愤怒的小鸟

官方正版的《愤怒的小鸟》网页版(特别是2011年左右的HTML5/Chrome版本)是用 GWT(Google Web Toolkit) 编译的,源码被严重混淆压缩,几乎不可读,也不公开提供完整清晰源码。Rovio 从未开源过官方完整代码。

你现在能找到的绝大多数所谓“愤怒的小鸟网页版完整源码”,其实都是国内外开发者做的仿制版 / Clone(用 HTML5 + Canvas + JavaScript 写的类似游戏),物理引擎通常用 box2dweb / matter.js / p2.js 等。

这里列出几个比较完整、能直接运行的开源网页版仿制项目(2026年还能访问的):

  1. lrusso/AngryBirds (纯 JavaScript 实现,比较简洁)

  2. angrybirds-s4uk/angrybirdschrome-source-html5 (早期从 Chrome 版 Angry Birds 里扒出来的文件)

  3. 其他比较知名的 HTML5 Clone

    • https://github.com/co0p/AngryJsBirds (基于 box2d 的经典实现)
    • 很多用 matter.js 的现代版本(搜索 “angry birds matter.js clone github” 还能找到更多)

如果你想要的是最接近官方的那个老网页版文件结构,目前公开能找到最完整的还是上面第2个 angrybirdschrome-source-html5 仓库。

源码的问题

因为我也不做二次开发,所以就直接选择GWT混淆后的版本。这个版本非常好用啊,关卡齐全,即开即用。美中不足就是没有声音。

对的对的,就是没有声音。如果玩游戏没有声音,那简直是跟看小电影没有声音一样,效果大打折扣。

但是我也注意到这个项目里面是有音频文件包的啊,静态资源很完整。于是我也没有细想,就告诉AI说:音效文件在哪里,帮我加载这些音效。

因为当时也想测试这些AI编程大模型的反编译能力,所以就让主流的编程AI都试了一遍啊,包括:Claude Opus、Codex、GLM、DeepSeek、Gemini Pro等。原本觉得这是一个很小的问题,AI三下五除二就解决了,结果没有一个能成功加载出音效来。

找出原因

看来蛮干是解决不了问题,于是我捋了一捋思路。

首先这个项目它能跑起来,各个关卡都很齐全,动画也很完整,一看就是官方正版。所以说这个音频当时是一定能播放的啊。

所以我大概就猜到了,是因为浏览器版本更新,修改了以前的这个播放音频的接口API。这个也很好验证啊,就是下一个旧的版本的浏览器就可以了。但要去找好些年以前的浏览器,其实也挺麻烦的。所以我并没有去验证,但是我觉得肯定是这个原因,八九不离十。

告诉AI解决方案

告诉AI有三种解决方案:第一种是在原来混淆的代码前面先适配好一些旧的接口。

方案一

方案一并没有完全的work,于是我又启动了方案2,直接在混淆后的代码上修改。

方案二

然后方案二就完全的成功了,可能AI面对完整的反编译整个项目,也是瑟瑟发抖。

总结

当然,从实际情况来看,真正瑟瑟发抖的是我,AI是具有很强的代码反编译能力。

大力出不了奇迹啊,蛮干解决不了问题。AI编程大模型有很强的编码能力,对于一些他知道的问题,他能快速地解决。对于他没有碰到的问题,还是需要我们给他指出方向。AI很好,很强大,但也不能让它代替我们思考。我们应该要把AI看作成士兵,把自己看作为将军,通过战略战术,指挥这些小兵攻城略地。

分享

码农真经
作者
码农真经
Web Developer