LLM 盲目信仰的危害:对不切实际期待的批评
批判将 LLM 神话化、过度承诺的现象,强调理性评估工具能力边界。提供思想反思但不是直接编程指南。
批判将 LLM 神话化、过度承诺的现象,强调理性评估工具能力边界。提供思想反思但不是直接编程指南。
作者声明:我写这篇文章是在一篇病毒式帖子发布之后,这意味着我被各方回复轰炸,当时心情有些烦躁。我不会删除这篇文章,但我想澄清,我并不认为每个使用 LLM 进行编码的人都是托儿或无能之人。
我是一个 LLM 生产力持怀疑态度的人。
我发现 LLM 很有用,可以作为某种数字助手——为我搜索网络、查找文档、查阅算法。在编码方面我也觉得它们有一定的用处¹,特别是在上下文有限且指导清晰的情况下。
但是用"prompt 驱动开发"或"vibe coding"方式来进行代理式 LLM 编程,对我而言是一次极其令人失望的经历。它需要大量的干预和监管,即使只是很小的代码改动,也进行得缓慢,而且经常出错。整个过程中我越来越感到自己无能为力,看着我的 token 不断消耗。
当然,这只是我个人的经历和偏好。我真的不介意其他人用这种方式编码。尽管去做吧!我不否认这种编码方式在赋能那些没有开发经验的人——让他们能够创造他们本来无法创造的东西。(而且,有时候他们会付我钱来事后清理代码,这很不错。)
但对那些声音最响的倡导者来说,这还不够。这是未来!你会被甩在身后!软件已经永远改变了!然后,不可避免地,就开始了人格评价,大概是这样的:
你——一个资深开发者——之所以抗拒这种变化,是因为你内心深处害怕变得无关紧要,和/或不得不学习新东西。你执着于自己的方式,不愿改变,因为你害怕。
这总是让我困惑,因为坦白说,我其实很喜欢代理式编码的想法。我经常觉得实际实现是我想创造的东西的瓶颈。我会很乐意只坐着写规范(是的,我是那种喜欢这个的程序员),然后让小机器完美地实现它。这是一个美妙的幻想,我希望能活在这样的世界里。这就是为什么我那么失望。
这让我思考——为什么这些人这么执着,而且充满敌意?他们为什么不能相安无事?为什么非要说服我们其他人?说实话,我现在也形成了自己的人格评价。这个评价不是很慈善,但对我来说很有道理:
你尝试了代理式编码。你意识到它的编程能力比你强。你看到很多成就卓著、声誉显赫的开发者²声称他们在不用它的情况下工作效率更高。他们可能只是比我强太多了吗?不!他们只是感到受威胁。是他们不安全!我是个伟大的开发者!
这是投射。他们的宣传源于自我怀疑。
我仍然愿意承认我可能错了。也许我用得不对。也许这本身就需要专业技能,而我还没花够时间。我以前改变过对技术的看法,以后肯定也会。
LLM 倡导者——你们愿意承认也许你们其实不是很擅长编程吗?也许你曾经很擅长。也许你从来就不擅长。
有证据表明这可能是心理安慰剂效应。↩
有证据表明这可能是心理安慰剂效应。↩
只是提前声明一下;我不是在说我自己。↩
只是提前声明一下;我不是在说我自己。↩