“看到GPT5.5的能力,我仿佛看到核弹爆炸,自己惊的从椅子上摔倒,瘫坐在地。”当OpenAI的老板奥特曼这样子说的时候。我微微一笑,内心暗想。你作为AI巨头之一,自然要不计一切的吹嘘AI的能力,抬高公司的估值。俗话说,屁股决定脑袋,就像我以前经常说的,人是自我性格和环境的产物,在什么样的环境下,自然就会变成什么样子的人。谁都不能幸免。AI写的代码都是垃圾,这个能看?
书接上回,经过好几次的尝试,阿甘终于成功给google play付了款。我美滋滋的打开google play后台,准备今天就把游戏提交审核上,过两天直接上线拿尾款。结果却发现根本无法发布正式版本。
“您的账户为新建账户,谨慎起见,您必须完成封闭式测试才可以正式提交审核上线。”
我了个去,这是什么鬼。我看着google play后台的提示,感到莫名其妙。点击详情一看,封闭式测试必须有超过十五位玩家进行连续十四天的测试才算有效。这让我眉头一皱,顿觉大事不妙。召集十五位测试玩家其实还好,我相信凭借我的连载热度,在论坛里找到这些热心网友并不难,连续十四天才是真正的难点,你不可能保证每位网友每天都打开你的游戏玩一会啊。
我连忙询问许大佬是怎么做这个封闭式测试的,许大佬微微一笑,丢给我了他的公众号连载,表示自己也是在国外论坛抱团相互测试,你测试我的游戏,我测试你的游戏,这样子搞了十几天,才弄过了。这个方法虽然不要花钱,但是却要消耗自己大量的精力在上边,我立刻否定了这种方法。
我静静的思索了一番,这种商机,勤劳的中国人民怎么会放过呢?于是我立刻打开某橙色软件,搜索了一下,果然有这种服务。当即下了一单。
而App Store的审核也不尽如人意,一直显示正在等待审核状态已经一周多了。群友表示不要着急,你再等个一周,就差不多给你4.3大礼包了。听到这里我只能默默叹气,看起来想收这个尾款,不是那么容易的事情啊。
既然还要等待十几天,那么我又把之前做了一小半的 Agora Rtc 插件拿起来继续做了。我对于这个插件心里还是很重视的,即使我不可能从这个插件上挣到一毛钱,但是我决定还是要穷尽毕生的功力去实现它。努力把它做到我心目中的第一名。
这个插件其实只需要支持四个原生平台即可,但是作为一个开发者,如果使用这个插件的能力只能在构建打包后才能验证是否成功,那么对于开发过程来说绝对是不十分友好的。所以我决定还是要加上对于web端的支持。因为本身 Agora 的产品线中就有一个web端的sdk发布,所以从理论上为插件的web端增加Agora Rtc功能是完全可以实现的。
不过理论归理论,真要实践起来又会很麻烦,因为 Agora Rtc Web的接口设计和 Agora Rtc Native的接口设计是完全不同的。我的插件设计的时候重心当然是偏向Native端的,所以TS接口的设计也是完全和Native端对其的。所以我必须使用 Agora Rtc Web的功能去模拟对接出来Agora Rtc Native的接口。当然这个其实没有多大难度,就是很繁琐,你必须对Web和Native的功能集合都非常熟悉,才能做好在中间层的转换。所以我就想要用AI来偷偷懒。为此我下载了Claude Code, 接入了DeepSeek 和 Xiaomi mimo来让他们做这件事情。
结果是我根本没有看到核弹爆炸,只是看到两个小丑在那里自欺欺人。他们写出的代码充斥着大量的 as any,然后去各种调用不存在的方法,看的我十分想笑。果然想要让AI去写这种需要非常长的知识储备,或者说长上下文的东西是很难的,经常是捡起芝麻,忘了西瓜。这部分最后还是我自己手写了。
当然事情肯定不是到这里就结束了,在Agora Rtc 中,一直有一个能力,我十分看好。那就是播放媒体文件,你可以使用Agora Rtc提供的能力去播放本地或者远端的视频,这种能力正是目前cocos中缺失的一个重要能力。(我当然知道Cocos有个VideoPlayer,但是不能定义渲染层级的东西,是纯纯的狗都不用啊)。而Agora Rtc Web 没有这种功能。这个让我很不爽,而且我对Web开发的知识储备也不多,不知道怎么实现这种功能。
此时的我已经冲了二十美元的 GPT Plus了。因为我对DS和MIMO这一对卧龙凤雏十分不满意,又听说Codex炫酷狂拽吊炸天,所以想实验一下。就让Codex帮我实现Web上的播放视频的功能。
Codex干活的速度非常快,五分钟之内就写好了。相比国产模型,一直在那里慢悠悠的thinking。Codex的速度可以说是数倍于他们了。最终的成果也是让我大吃一惊,它真的实现了这个模块。Codex利用Web自身能力播放了视频文件,并且将这些音视频流注入到Agora Rtc Web里实现了真正的发布视频流到远端。而且模拟出来的接口完全符合预期。完全看不到一个 as any。
这点深深震撼到了我,如果没有AI,这个功能我目前是绝对写不出来的,因为我的知识储备不够。
写完了Web端的实现,接下来就是Native端的C++代码了。这些代码没有什么技术含量,就是照葫芦画瓢。因为工作量很大,大概有四五百个函数,所以这次的任务我就交给了mimo。mimo刷刷的给我写了好几万行代码。第一次验收的时候,我也没有看出来有毛病。但是后边我才慢慢发现,这个AI漏了不少东西,有些API会直接漏掉,有些需要特殊处理的地方他也没有特殊处理。因为在给他分配任务之前,我特地把所有的需要注意的特殊的地方都写到了一个md里去了,即使这个样子他还是会漏。这让我意识到,即使是低级的工作,如果数量太大,AI也会“偷懒”。
接着就到设计UT环境了,当我第一次和mimo讨论怎么能覆盖真实的jsb链路的时候,mimo给我的方案是写一个组件,里边调用所有的jsb方法。然后把这个组件挂到一个场景上。这点也和我的想法是类似的,但是这样子就要求必须有一个Cocos项目才行。所以我还是不满意,所以我对mimo说
“能不能不需要Cocos项目,你直接写个CMake去引用Cocos引擎里的CMake给我build出来一个Xcode工程,它不需要有场景渲染,但是jsb环境是真实的,这样子我们就可以执行自己写的TS代码,检测jsb链路调用是否成功。”
其实我对于mimo是没抱有太大希望的,我不太觉得它能做出来。只是当时我的Codex额度还没刷新,所以先让国产AI试试。
——仿佛看到核弹爆炸,我瘫坐在地上。
mimo真的做出来了。这一刻我意识到,对于不曾存在的东西,AI或许还差的远。但是对于一个一定存在,只是自己对这方面细节还不了解的东西。AI是远胜于人类的。如果我非常熟悉Cocos的源码,我相信我也能做到。但是目前我不太熟悉,如果我要变得非常熟悉,那必须先付出大量时间和精力去学习。而Ai不一样,我只要把源码的目录发给AI,它几分钟之内就能达到人类要花费数月才能达到的熟练度。
有了UT之后,我让AI自己循环 跑UT->发现错误->修复错误->跑UT 这个链路,自以为高枕无忧。但是AI又给我偷懒了。
“这个UT有问题,我先偷偷注释了。”
“这个地方的mock没写对,我先注释了,不管了以后再说。”
如果我自己不review代码。那这坑就埋下去了。
在写这个插件的过程的后半部分,我几乎没有写过代码了,都是AI给我写的。但是它也会犯蠢,也会设计的不够好。在这个过程中,我感觉到自己不是一个大头兵,而是一个架构师。在带领着执行力,学习能力超强的新员工去写代码。我不用知道细节,我也确实不知道细节。但是我知道这个方向是对的,知道这么干能成。
我不是被核弹炸死的那个,而是手握核弹按钮的那个。
所以我现在强烈推荐各位读者们愿意花钱的去冲个Codex,不愿意花钱的去下载个OpenCode,现在OpenCode里的 DeepSeek V4 Flash, MinMax M3 都处于限时免费中。希望大家都能成为手握核弹按钮的人,而不是被核弹炸死的人。