最近使用 AI 做了一些项目,从简单的小 CLI 工具,到自动写小说软件,再到复杂的桌面集成 WebGL 游戏引擎开发,稍有心得,简单分享记录一下。
先说感受:
不同的大模型,编程能力完全不同,哪怕只是解决简单的小问题,也能感到智商的参差; 初级系统架构设计,国产 GLM 5.1 大模型已经完全能够胜任了; 复杂项目哪怕是全新立项的,也要做分层架构设计,不能全部交给 AI,它可以做初级系统架构,但是真正复杂的系统架构,还有巨大的鸿沟需要跨越。
1. 批量重命名 CLI 的恶性 bug
批量重命名 CLI 是个简单的小工具,但是,要真正做好它,做专业,要考虑不少边界情况。
比如:新的重命名需要遵守命名规则来生成,如果新生成的文件名在当前目录下已经存在了,应该重新生成,否则就会覆盖掉同名文件。
AI 生成的代码就没有考虑到这种情况。
如果要被重命名的文件名本身就很乱,不符合用户指定的命名规则,那一切都相安无事,一旦文件夹里藏着一些已经符合用户自定义规则的命名文件时,隐藏的恶性 bug 就出现了。
我们先简单了解一下重命名预测机制:
当目录下有一堆文件需要重命名,软件不会立刻对每个文件进行重命名,而是非常 “智能” 地先进行规划,给出每个文件将要被重命名成什么样,等用户确认后,再逐个执行重命名操作。
这太棒了,不是吗,我清楚地知道自己的文件将会命名成什么样,但是,等等,为啥我的文件重命名之后没了呢?
我们知道 Windows 下的文件名自然排序规则:0 ~ 12.jpg,会按顺序排过去,但是程序里的排序可不是按自然排序来的,反而是按照:0.jpg、1.jpg、10.jpg、11.jpg、12.jpg、2.jpg …… 这样的字符序规则排下去。
这样执行批量重命名时就会看到:

按顺序开始重命名:
10.jpg-> 2.jpg,10.jpg覆盖掉了2.jpg继续, 2.jpg->5.jpg然后 5.jpg又变成了8.jpg
最后发现 2.jpg 和 5.jpg 都没了,消失了,就因为压根没有去检查目标文件是否已经存在的边界条件。
这只是一个简单的 CLI 小程序哦,使用 GLM 4.7 开发。
2. 自动写小说软件
GLM 5 编写架构设计文档,GLM 4.7 负责执行。
我就简单讲两句,文档很漂亮,执行落地是有板有眼,bug 是层出不穷,改掉了又回来。
什么?你说你这个没驾驭好,马鞍马具都得配齐,记忆系统都要用上,这样才稳。
怎么说呢,这和大模型的工程能力还是有很大关系的,简单来打个比方,我给一匹强壮且高智商,但冲劲很大的宝马,配上马具来进行控制,让它来配合你,行走于那精妙设计的工程学马路,那是有可能学会的。
但是,如果给一匹智商堪忧,四条腿走路顺拐,口角流涎的大聪明马套上马具,来试图控制它,那它优雅的步伐一定能让你时刻心惊胆战。
问题的关键在于,有些看似很容易的抽象,其实很复杂。古人说的阴阳,两个字,简单吧,就拿人来说,可能一辈子都在感悟这两个字。但是 AI 呢,就真的把它简单化了。甚至,打开的资源都能忘了关闭,有开就应当在适当的时候关闭,要不然不得资源泄露嘛,但是 AI 就能在复杂的逻辑关系下,失去对它的关注。
由于要用到外接大模型服务商的能力,如果直接把这套系统写死在小说软件中,以后想要再复用这套能力时又得重写、重调试一次,由于每次 AI 都是在按照概率生成,你也无法保证每次生成的是一样的。
所以,按照架构师的想法,应当将这套大模型接入的能力单独设计成一个公共模块或平台,对外开放接口。那么这个平台在未来的使用中,反复打磨,越来越成熟,bug 越来越少,甚至就不用再改动和重新编译了。


上面两幅图就是重新分层架构之后的结果,Model Providers 可以作为通用大模型接入能力的底座,为以后每一个需要 AI 能力的图形化应用提供赋能。
3. 游戏引擎
自从 Unity 不经过我同意,单方面封禁了大陆的国际版访问权,还下架了我开发的资源包,我就决定彻底弃坑了。
同时琢磨着,GLM 5.1 这么牛了,是不是可以开始驾驭它为了写一套专属的游戏引擎呢?
那肯定是……灾难级的失败……
游戏引擎号称是人类工程学上的明珠(我懒得吐槽,上一次被冠以明珠的还有操作系统、编译器、光刻机……反正明珠可以有多个是吧),涉及到的领域确实不算少。光场景编排这一项都有很多讲究,传统的游戏对象加组件的方式与 ECS,如何与渲染管线、物理引擎、2D / 3D混合等,每一个单独的系统模块都有巨大的代码量和复杂度,模块之间的关系更是错综复杂。
在烧完智谱澳龙(AutoClaw)1.5 万积分之后,我惊喜地发现,GLM-5.1 给我打造出了一个漂亮的壳,嗯,精致的空壳。能跑一点渲染,但跟实际工程学要求的游戏引擎相差十万八千里,它还很自豪地标记了架构设计文档已经全部按要求实现了。

经过这次实践,我充分认识到了驾驭工程学的强大与不堪,对模型能力强依赖的脆弱关系有了更清晰的认知,对那些整天吹嘘 AI 要统治毁灭世界的自媒体,我想说,AI 是做不到的,是它背后的那群人想这么干,却又想把责任甩锅给 AI。
你说 AI 真的做不到吗?现在的答案是肯定的,未来是有可能的,但现在大厂的研究方向都是怎么先利用现有的模型体系和算力先抢占市场,霸占坑位,媒体又靠这些新生事物来疯狂吹水,制造焦虑,好趁机收割一波。对于真正能完全自动进化的 AI,确实有一些研究,但并非当下的主题,毕竟现在满地都是 AI 黄金,研发又要烧钱,难道不赶紧弯腰去捡吗?
看看新闻,国内大模型集体提价,最高涨价 463%,前面说便宜,调用价格只有国外的五分之一,那这波涨价之后呢?

现在调用一下大模型服务都要排队,购买的 Coding Plan 只能降级使用,否则就要按照高峰收两倍的价格来计算最新的模型,甚至还会频繁出现调用失败的情况。
程序员研发出了 AI,AI 帮程序员写代码,AI 蒸馏程序员的技能,AI 背后的公司决定提价来控制调用量分配,程序员不得不在早上十点去抢购限量的套餐,程序员使用 AI 开发了更多的项目,AI 得到了史诗级增强,AI 完全替代了初级程序员,又完全替代了软件工程师,又完全替代了初级架构师。AI 背后的公司上市了……
最后说一句,好好学习,静下心来,终身学习,拥抱 AI,但不要被别人带偏了,自己要有主见,不要焦虑。
如果有能力、有资源,尽量自己本地部署 AI,不要受制于 AI 公司。
夜雨聆风