Don't fall into the anti-AI hype

Salvatore Sanfilippo

别掉进反 AI 的炒作陷阱

原文由 Salvatore Sanfilippo 发布,订阅该博客

我热爱一行一行地写软件。可以说,我的整个职业生涯都是为了持续创造写得好、极简洁、而人的手感是其根本特征的软件。我也希望社会不要遗忘那些处在最底层的人。此外,我并不盼望 AI 在经济上取得成功,我也不在乎现有的经济体系是否会被颠覆(坦白说,如果它朝着大规模财富再分配的方向发展,我会非常高兴)。但是,如果我对软件和社会的观念蒙蔽了我的视线,那就是对自己和自身智识的不尊重:事实就是事实,AI 注定将永远改变编程。

2020 年我辞去了工作,去写一部关于 AI、全民基本收入,以及一个适应工作自动化、面临诸多挑战的社会的小说。2024 年底,我开设了一个专注于 AI 的 YouTube 频道,关注它在编程任务中的应用,以及其可能带来的社会和经济影响。但尽管我很早就看清了将要发生的事,我原以为编程被彻底重塑还需要更多时间,至少还要几年。现在我不再这么认为。最近,最前沿的大语言模型已经能够在几乎无需协助的情况下,仅凭一组关于最终成果的良好提示,就独立完成大型子任务或中等规模的项目。你能取得多大的成功,取决于你所从事的编程类型(越是独立、越能用文本来完整表述的就越好:系统编程尤其适合),也取决于你能否在脑中构建出问题的清晰表征并传达给大模型。但总的来说,现在已经很清楚,对于大多数项目而言,亲手写代码已经不再明智,除非是为了乐趣。

过去一周里,我只是通过提示,并时不时检查代码、给出一些指引,就在几个小时内完成了以下四项任务——这些原本需要数周才能完成:

  1. 我改造了自己的 linenoise 库以支持 UTF-8,并创建了一个行编辑测试框架,它使用了一个能够报告每个字符单元格显示内容的模拟终端。这是我一直想做的事,但仅仅为了测试我这个业余项目,很难让人觉得值得投入所需的工作量。但如果你只需描述想法,代码就能随之生成,情况就完全不同了。
  2. 我修复了 Redis 测试中偶发的失败。这是非常烦人的工作,涉及时间相关的问题、TCP 死锁状况等等。Claude Code 花了所需的所有时间反复迭代以复现问题,检查进程状态来弄清发生了什么,然后修复了缺陷。
  3. 昨天我想要一个能够对类 BERT 嵌入模型进行推理的纯 C 库。Claude Code 在 5 分钟内就把它创建好了。输出结果和速度都与 PyTorch 相当(慢 15%)。700 行代码。还附带一个用于转换 GTE-small 模型的 Python 工具。
  4. 过去几周里我对 Redis Streams 的内部实现做了一系列改动。我有一份为此撰写的设计文档。我试着把它交给 Claude Code,它在大概 20 分钟甚至更短的时间内就复现了我的工作(主要耗时在于我检查和授权运行所需命令的速度太慢)。

正在发生的一切,其现实已经让人无法视而不见。在很大程度上,亲手写代码已经不再必要。现在更有意思的是去弄清楚要做什么、以及该怎么做(而在这第二点上,大模型也是绝佳的伙伴)。AI 公司能否收回投资、股市会不会崩盘,都不重要。从长远看,这些都无关紧要。某家独角兽公司的这个或那个 CEO 说了什么让人不适或荒谬的话,也不重要。无论如何,编程已经永远改变了。

对于我写过的所有被大模型摄入的代码,我是什么感受?我感到很荣幸能成为其中的一部分,因为我把这看作是我一生所追求之事的延续:让代码、系统和知识民主化。大模型将帮助我们更快地写出更好的软件,也将让小团队有机会与大公司竞争。就像开源软件在 90 年代所做的那样。

然而,这项技术太过重要,不能掌握在少数几家公司手中。就目前而言,你可以把预训练做得更好与否,可以用比别人高效得多的方式做强化学习,但开源模型,尤其是中国产的那些,仍在与封闭实验室的前沿模型竞争(尽管还落后)。到目前为止,AI 的民主化程度是足够的,尽管并不完美。但是:完全不能想当然地认为未来会一直如此。我对中心化感到担忧。与此同时,我相信规模化后的神经网络本身就能够做到不可思议的事情,而且当前前沿 AI 内部并没有太多“魔法”,以至于其他实验室和团队无法追赶(否则就很难解释,为什么多年来 OpenAI、Anthropic 和 Google 的成果会如此接近)。

作为一名程序员,我现在想比以往任何时候都写更多的开源代码。我想完善那些因时间原因被我搁置的仓库。我想把 AI 应用到我的 Redis 工作流中。像我现在对 Streams 所做的那样,去改进 Vector Sets 的实现,然后是其他数据结构。

但我为那些将被解雇的人感到担忧。接下来会如何演变还不明朗:公司会试图雇更多人、构建更多东西吗?还是会试图削减人力成本,只保留少数更擅长提示的程序员?而且,恐怕还有其他行业里的人类将变得完全可被替代。

那么,社会的出路是什么?创新毕竟无法收回。我认为我们应该投票给那些正视正在发生之事、并愿意扶持失业者的政府。而且,被解雇的人越多,要求投票给能提供一定保障者的政治压力就越大。但我也期待 AI 可能带来的好处:科学上的新进展,或许能减轻人类境况中并不总是幸福的苦难。

话说回来,回到编程。我只有一个建议给你,我的朋友。无论你认为什么是“正确的事”,你都无法通过拒绝当下正在发生的事来掌控它。跳过 AI 并不会对你或你的职业生涯有任何帮助。好好想想。用心去测试这些新工具,花上几周的时间,而不是做个五分钟的测试来仅仅强化你固有的观念。找到一种让自己成倍放大效能的方法,如果这次对你不奏效,就每隔几个月再试一次。

是的,也许你觉得自己如此辛苦才学会编程,而现在机器却在替你做这些。但回想一下,当年你熬夜编码只为让项目跑起来时,心中那团火是什么?是创造。而现在,如果你找到了有效使用 AI 的方法,你能创造得更多、更好。那份乐趣依然还在,丝毫未减。

本文章由 muse-spark-1.2-contributor 进行翻译

评论