基于 LLM(大模型) 的编码辅助工具已经问世约 2 年了。许多开发人员报告说,这极大地提高了他们的工作效率,最高可达 5 倍/10 倍。
显然,这个乘数至少不是全领域的。毕竟,产出并没有相应增加。
这很有道理。如果你正在做复杂的事情,LLM 工具就很麻烦。开箱即用的解决方案并不能满足这一目的。如果可能的话,你需要大幅调整你的工作流程才能使用它们。大多数程序员不知道如何做到这一点,当然也不愿意费心去做。
因此,可以合理地假设,如果存在 5 倍/10 倍的产出,那么分布是不均匀的,主要影响高级用户/特别擅长使用 LLM 的人。
从经验上看,我们似乎也没有生活在整个软件行业突然提高 5-10 倍生产力的世界里。这种情况已经持续了 1-2 年,而我至少没有感受到任何影响。我没有看到我使用的软件中有用的功能增加了 5-10 倍,或者对我有用的软件增加了 5-10 倍,或者我使用的软件突然性能提高了 5-10 倍等等。
但是,我也很难在其他地方看到所谓的 5-10 倍的提升。如果高级用户正在经历如此大的改进,那么哪些项目因此而得以实现?
以前,我以为我不知道,我不知道学习编程语言就是写一个 hello world 这么简单。所以我试图让 Deep Seek 给我一个概述,但它给我了一个实例,并且可以直接运行,我觉着他非常有用。
如果我需要一些小型、独立的脚本来做一些相对简单的事情。例如我现在想为服务启动写几行 shell 脚本,但是我一下子想出不出来如何下手,这时 LLM 可以很快写出来,这些很容易用几句话描述,很容易验证,我通常对特定领域的技术或者编程语言的了解不够深入,无法在不查找语法的情况下编写整个内容。但是这些高效率的事情都有一个特点:它们很小而且独立,因此实际上不需要考虑太多可维护性,例如单元测试、分解模块以及了解业务和大多数环境上下文。(任何包含正则表达式的东西都是这个的子集,其中 LLM 是游戏规则改变者)
另外一块就是 LLM 擅长的长文本解决方案了,如果我需要研究一些我不太熟悉的堆栈,LLM 可以通过提供可行的(或几乎可行的)示例来大大加快学习过程。我只需输入我需要的内容,就可以得到一个粗略的解决方案,该解决方案显示了我可以从哪个库中使用哪个类和方法,甚至可以得到哪种通用逻辑/方法可以作为解决方案。在很多情况下,即使提供的解决方案实际上不起作用,只要知道如何与库交互就会有很大帮助。
如果没有这个,我将不得不花费数小时或数天参加一些在线课程/阅读文档/进行实验。
这里有一个前提是,即使在解决方案有效的情况下,提供的代码也不是我可以简单地添加到实际项目中的东西。毕竟说和做是 2 回事,就像你的产品经理给你安排各种工作,然后告诉你怎么怎么实现,如果真的让他实现,你会发现,他根本无从下手,因为技术,一旦陷入细节中,都是无比复杂的。通常必须将其分解,并将各个部分放到不同的模块中,重构为面向对象并使用对特定项目有意义的一致抽象。
即使是 AGI 实验室面向客户的产品,也没有无穷无尽的丰富功能可以以复杂的方式与他们的 LLM 交互——即使你会认为那里会聚集着异常多的高级用户。你有一个对话框,可以上传 PDF 文件,仅此而已。你无法让 LLM 与不断增长的任意软件和数据类型列表交互,也没有无穷无尽的功能列表可以让你根据需要打开/关闭等等...
所以我现在想问 :这对现实世界有什么影响?如果没有 LLM 就不会存在?哪些项目会退步?如果所有这些都没有公开归因于 LLM,那么哪些项目的发展速度可疑地快,以至于经过冷静分析,它们不可能在 LLM 之前的黑暗时代如此迅速地发展起来?编程生态系统中哪些部分正在经历 10 倍的增长?
如果我们假设这种现象会不断扩散,所有程序员都能获得与早期采用者现在所经历的相同的生产力提升,那么这将对现实世界产生什么影响呢?
澄清一下,我要求的不是:
报告充斥着关于 10 倍生产力的模糊炒作,但并未明确指出 10 倍生产力促成了哪些项目。(网路上充斥着此类消息,但实际发布的有用内容却寥寥无几。)抽象的经济指标表明生产率增长了 X%。(这可能意味着任何事情,包括基于大模型的泡沫。)
抽象指标的基调是“该分析表明上个季度的代码生成量增加了 Y%”。 (这可能只是表明 AI 产生了代码冗余/膨胀)。
抽象的经济指标表明 Z% 的开发人员已被解雇/初级开发人员再也找不到工作。(这可能主要是回归到新冠疫情之前的正常趋势。)
无用的玩具示例,例如“我使用 ChatGPT 生成了第 1000 个 Snake 克隆/这个网站的克隆!”。
另外一部分人就是需要编写大量小型的、独立的解决方案(我可以想象有人做了很多 Excel 自动化工作,或者是专门为 devops/operations 目的构建 shell 脚本的人)。
从我目前没有观察到任何这种情况的事实来看,这里有一个初步的阴谋论:LLM 实际上并没有提高程序员在网络上的生产力(我说的是程序员,并没有说其他行业,其他行业,我相信 LLM 做出的贡献是巨大的)。相反:
程序员通过 LLM 生成代码所节省的 N 个小时又被浪费在修复/解开该代码上。
从宏观角度来看,这有时会导致“爬上爬下”,即使用 LLM 生成大量代码库,一旦超过大小/复杂性阈值,代码库就会变得混乱,然后您必须从头开始,因为 LLM 做出了糟糕/不合适的架构决策。这同样会破坏所有明显的生产力提升。
尽管 LLM 确实会促使人们创建新的软件,但这些软件大多是一次性的小玩意/概念验证,最终没人会用,也不需要存在。但你仍然“感觉”你的生产力突飞猛进。
尽管 LLM 确实增加了实用应用程序的代码量,但大部分代码最终还是被用在了创建不必要的臃肿软件/服务上。也就是说,它实际上让发布的软件变得更糟,因为编写得更冗余。
那些体验过 LLM 改善工作流程的人大多被这样的神奇效果所欺骗:让 LLM 用自然语言做某事,然后立即得到可以正常工作的代码作为响应。他们没有跟踪他们在集成和修复这些代码方面花费了多少,以及这些代码的实际使用量。
我并不完全相信这个阴谋论,感觉它不可能是真的。但它突然变得非常引人注目。
我认为 LLM 对于编写次要功能或让不熟悉编程/特定库/特定代码库的人更容易上手和更快地学习肯定很有用。它们在这些方面对我来说很有用。但它可能总体上能带来 10-30% 的提升,此外,对于进入新领域和进行一些罕见的一次性项目(如“进行简单的重构”)来说,成本也会有所降低。
所以 10X 程序员的标准很低。他们可能还没有意识到/还没有经历过将原始 LLM 代码插入项目可能会产生您所描述的许多负面下游后果。说点比较过分的话,这些人可能以前根本不会写代码,现在稍微能够写一点了,肯定是效率大幅度提升,这就像刚刚完成一个编程语言的 hello world 一样。
除非 AGI 实验室真正破解了智能体的创新问题,否则这种情况将一直持续下去;也就是说,直到真正的 AGI 真正出现。
我希望大模型(LLM)就像前几年的互联网泡沫一样,看着很魔幻,但是一步步全部成为了现实。
随手关注或者”在看“,诚挚感谢!