我热爱写软件,一行一行地写。可以说,我的整个职业生涯都在持续努力创造写得好、极简、以人的触感为核心特征的软件。我也希望有一个不遗忘弱势群体的社会。此外,我并不希望 AI 在经济上取得成功,我不在乎当前的经济体系是否被颠覆(老实说,如果它朝着大规模财富再分配的方向发展,我会非常高兴)。但是,如果我对软件和社会的看法损害了我的判断力,我就无法尊重自己和自己的智识:事实就是事实,AI 将永远改变编程。
2020 年,我离开工作去写一本关于 AI、全民基本收入、一个适应工作自动化并面临诸多挑战的社会的小说。2024 年底,我开设了一个 YouTube 频道,专注于 AI、它在编程任务中的应用、以及它潜在的社会和经济影响。虽然我很早就认识到即将发生什么,但我以为在编程被彻底重塑之前,我们还有更多时间,至少还有几年。我不再这样认为了。最近,最先进的 LLM 能够独立完成大型子任务或中等规模的项目,几乎不需要协助,只需要一组关于最终结果应该是什么的良好提示。你能获得的成功程度取决于你所做的编程类型(越独立、越能用文本表示越好:系统编程特别适合),以及你创建问题心智模型并传达给 LLM 的能力。但总的来说,现在很清楚,对于大多数项目,自己写代码不再明智,除非是为了乐趣。
在过去一周,仅通过提示,偶尔检查代码提供指导,我在几小时内完成了以下四项任务,而不是几周:
不可能看不到正在发生的现实。在大多数情况下,写代码不再是必需的。现在更有趣的是理解要做什么,以及如何做(关于第二部分,LLM 也是很好的伙伴)。AI 公司能否收回投资、股市是否会崩盘,这些都不重要。从长远来看,这些都无关紧要。某个独角兽公司的 CEO 说了什么令人反感或荒谬的话,这也不重要。无论如何,编程已经永远改变了。
对于我写的那些被 LLM 吸收的代码,我有什么感受?我很高兴能成为其中的一部分,因为我把这看作是我一生努力的延续:让代码、系统、知识民主化。LLM 将帮助我们更快地写出更好的软件,并让小团队有机会与大公司竞争。这和 90 年代开源软件所做的事情一样。
然而,这项技术太重要了,不能掌握在少数几家公司手中。目前,你可以把预训练做得更好或更差,你可以用比其他人更有效的方式做强化学习,但开放模型,特别是中国生产的那些,继续与封闭实验室的前沿模型竞争(即使它们落后)。到目前为止,AI 有足够的民主化,尽管不完美。但是:这种情况是否会永远持续下去,绝对不是显而易见的。我对中心化感到担忧。同时,我相信大规模的神经网络确实能做出不可思议的事情,而且当前前沿 AI 内部没有足够的"魔法"让其他实验室和团队无法追赶(否则很难解释,比如说,为什么 OpenAI、Anthropic 和 Google 多年来的结果如此接近)。
作为一个程序员,我现在比以往任何时候都想写更多的开源代码。我想改进一些因时间原因而被放弃的仓库。我想把 AI 应用到我的 Redis 工作流程中。改进 Vector Sets 的实现,然后是其他数据结构,就像我现在对 Streams 所做的那样。
但我担心那些会被解雇的人。目前还不清楚会发生什么:公司会试图雇用更多人、构建更多东西吗?还是会试图削减工资成本,雇用更少但更擅长提示的程序员?而且,我担心还有其他领域的人类将变得完全可替代。
那么社会解决方案是什么?毕竟创新无法收回。我相信我们应该投票给那些认识到正在发生什么、并愿意支持那些将失业的人的政府。而且,被解雇的人越多,投票给那些能保证一定程度保护的人的政治压力就越大。但我也期待 AI 能带来的好处:科学的新进展,可以帮助减轻人类境况的苦难,而人类的境况并不总是幸福的。
无论如何,回到编程。我对你只有一个建议,我的朋友。无论你认为什么是正确的事情,你无法通过拒绝正在发生的事情来控制它。跳过 AI 不会帮助你或你的职业生涯。想想看。认真测试这些新工具,花几周的时间,而不是五分钟的测试,那只会强化你自己的信念。找到一种让自己能力倍增的方法,如果对你不起作用,每隔几个月再试一次。
是的,也许你认为你努力学习编程,现在机器在为你做这件事。但当你编程到深夜只为看到你的项目运行时,你内心的那团火是什么?是创造。现在你可以创造更多更好的东西,如果你找到有效使用 AI 的方法。乐趣仍在,未曾改变。
从认知心理学与动机理论的角度,"创造"本身会让人感到满足,即使有工具辅助完成任务也是如此。
根据自我决定理论(Self-Determination Theory, SDT),人类有三种基本心理需求:
编写程序、搭建系统、解决问题都能满足其中的自主性和能力感。你在创造时不是在重复,而是在制定目标、设计算法、构思结构、修复 bug 并见证成果。
这就是内在动机:活动本身就令人愉悦,而不是为了外部奖励(工资、荣誉等)。心理学研究一致发现:内在动机越强,人对任务的投入度、创造力和满足感就越高。
心理学家 Csikszentmihalyi 提出的心流(Flow)理论指出,当任务难度与技能水平匹配时,人会进入一种高度专注、忘我的状态。编程中的调试、重构、实现新功能都容易触发心流体验。
当你完成一个项目时,你不仅解决了技术问题,还证明了"我能做到"。这种感受是内在的自尊与成就感——无法由外部机器赋予,只能由自己体验。
AI 可以自动生成代码、修复错误、提供建议,但它无法替代你体验创造过程中的心理感受:
机器没有内在动机、自我意识和心流体验。
| 要素 | 人类 | AI |
|---|---|---|
| 内在动机 | 有 | 无 |
| 心流体验 | 有 | 无 |
| 成就感 | 有 | 无 |
| 自主决策 | 有 | 无 |
这就是为什么,即使 AI 能帮你写代码,"创造的火焰"依然不会熄灭——因为乐趣来自于创造的过程本身,而不仅仅是最终的产出。