自从 Chatgpt 破圈传播后,编程不再是程序员专属的技能,论坛里、小红书到处都是大家 Vibe Coding 出来的程序。我的朋友圈里就有完全没接触过编程的人,给她喜欢的鹅鸭杀游戏,用 AI 专门开发了一款能快速记录玩家位置的 Web 端程序「虽然我觉得这是有点破坏游戏机制的外挂行为,但这不是本文主题,因此不多作评论」。
我也试用过多类辅助开发的 AI 服务。有的比较偏向程序员,每次更新会告知更改内容提供 review,在用户 allow 后才会执行更新。有的更偏向小白,设置提供了一定的 UI 界面,让用户直接选中想修改的内容,针对性提出 prompt。
那么,这样产出的程序或者产品的过程,还能算是独立开发么?
这种属于定义类的问题其实没什么讨论的必要,但由这个问题,能引申出一个有意思的事情。
很多非程序员在看到别人通过 vibe coding 做出一款产品而感到钦羡时,总会忘记一个事实,大模型的调用也是要花钱的。虽然我没有做过比较,但是可以预见的是,越不懂程序的人,由于不知道开发方向,往往要花费更多的 Token 去让大模型生成自己想要的东西。
而在还没有 AI 的往日,如果我们需要获得一样我们没有能力去创造的东西时,只能够花钱请其他人帮我们来创造。这叫外包。
所以本质上,我们是花钱雇佣 AI 来帮我们写程序,与外包无异。只不过以前我们要用几百块雇一个大学生来干的活,现在花费 20 刀一个月就能完成。科技进步下,我们能用更低廉的价钱购买更高效的生产力了。
回到独立开发的问题。有外包程序员的参与当然是不能算作独立开发的,那外包 AI 呢?我能在简历上写「使用 AI 独立开发多款项目」么?至少在现在是不可以的。
AI 与以往的工具都不一样。一名伐木工学会了使用斧头砍树,他知道树木是因为受力折断的。当他学会了使用链锯,学会了开联合伐木机,但他始终要知道木头折断的原理,才能使用这些工具将树木砍伐。现在随便一个有正常语言逻辑能力的小孩,即使他从来没有见过树木,更别谈知道如何伐木,他只需要向 AI 表达他的伐木需求,AI 自会替他伐木。从这个层面上讲,已经很难将 AI 单纯地归类为人类的工具了,它更像是超越人类能力的某种替身。