跳到主要内容

95%

· 阅读需 5 分钟

写博客就像是开垦了自家院子,面对一块翻过土的空地,不好好把它种满了感觉很浪费。想到我在中学期间经常写一些小游戏,如果能重写一遍摆到这个网站上似乎是个不错的点子。

作为有娃上班族,我自然是没有工夫花大量时间写网页小游戏的。但是用来练习 AI「氛围编程」(vibe coding)倒是正好啊!一来网页前端开发一直是 AI 编程最强项,真人反而很难搞定 CSS 之类的细节;二来我的 JavaScript/ReactJS 非常烂,顶多只到了看得懂代码的水平,要动手写的话还要从查一堆资料开始。

之前我用过 RooCode 之类的智能体助手,不过这次想上下班的时候在手机上搞,于是选择用直接聊天来测试。不得不说,Claude 真的是很厉害,一个游戏基本上第一次尝试就能直接做对 95%,而且界面也挺漂亮。那个工作量我觉得对于我至少是要花三四个小时(假设我 ReactJS 熟练的话),AI 两分钟就搞定了!

但是,剩下那 5% 才是重点。我把这 5% 分成五个 1% 好了:

  1. 微调外观(1%)——「那个蓝能再深点吗?啊呀太深了!再浅点?不要跟背景太接近。不行,那样太突兀了!还是回到之前那个蓝色,能再深点吗?……」
  2. 清扫垃圾(1%)——「诶?这个代码什么作用?到这里整个页面都保证加载完毕了,为什么还等这个组件?这游戏总分不是奇数吗,怎么还要考虑平手?能不能把没用的代码都去掉?这下看着干净多了~阿哟妈呀,程序执行不了了!全部恢复到最初的状态……」
  3. 验证逻辑(1%)——「明明让你找到全局最优的点然后移动过去,你为什么代码写的是邻近最优的点?觉得我好骗是吧?……好吧反正玩家也看不出区别,能运行就算了。」
  4. 呵斥浪费(1%)——「能把节点数从 49 改到 63 吗?……停停停!!就改一个数,你丫为什么开始重新生成一千多行代码?骗我 token 费是吧?告诉我在哪一行改就好!……为什么根据你说的这个行号我找不到这个变量?算了累死了,一千多行代码重新生成一遍吧……」
  5. 怀疑人生(1%)——「为什么跟你沟通那么费劲?说了好多遍了,路径选取要随机化!啊,不是那样随机,那不就变瞎走了吗!要从等效的路径里随机选取。啊,不是那个等效!……」

最后还是折腾了半天,终于把两个游戏写到 99%,之后再来补足 1% 的纰漏吧。

AI 使用者的两难窘境

有人说,AI 主要可以替代初级员工的工作。我个人不是很赞同,因为单从执行基本任务的能力来说,AI 远超初级员工。但是 AI 将任务臻于完美的能力极差,主要是因为目前的 AI 与人的沟通有很大的障碍。随着任务与最终完美目标逐渐逼近,描述还不够完美的部分细节所需的沟通成本会急剧增加。

这种沟通障碍和目前 AI 的训练的方式有很大关系。比如,让一个初级员工完成某个项目,如果对方能力不足,没有信心把事情做对,那么就算他一开始不告诉你,你也可以从他完成任务过程中的流畅度和回馈中察觉出来。但是你让 AI 做什么事,目前的 AI 都会一本正经、自信满满地吐出一大堆结果来,几乎从来不会坦白它没有自信。

另外一点是,AI 的知识技能结构与正常的人类差别特别大。比如说,现实中的初级人类程序员,往往已经具备了很好的编程逻辑思维能力,但是由于严重缺乏某些编程语言的特定知识,写出来的程序「味道怪怪的」。要等到在实战中千锤百炼,被各种问题挑战以至学习到各种奇技淫巧,于是升级成为了高级程序员。而 AI 对于奇技淫巧的掌握一开始就远远超过普通的程序员,但是在编程逻辑上其实要落后于人类。于是,看人类写的代码,一眼就能评判此人的水平。但是 AI 的代码表面看起来都是标准美观,似乎出自经验特别丰富的程序员之手。但是仔细审读往往会发现特别基本的逻辑错误。

这两者归纳起来,都是一个问题,那就是判断 AI 完成品的质量要比人类完成品困难许多!这就导致人类无法根据自己的快速判断,来决定自己还要花多少精力来审查和补充。于是,要么轻信 AI 闹出诸如司法假案例1这样严重的事故;要么过度怀疑 AI 的成品,费时费力地验证所有细节,到头来还不如亲自操刀的两难窘境。

Footnotes

  1. https://www.reuters.com/legal/government/trouble-with-ai-hallucinations-spreads-big-law-firms-2025-05-23/