兰 亭 墨 苑
期货 · 量化 · AI · 终身学习
首页
归档
编辑文章
标题 *
URL 别名 *
内容 *
(支持 Markdown 格式)
# 深度剖析antirez对AI编程新范式的思考:从“亲手编程”到“创造愿景”的范式转移 ## 摘要与核心论点 antirez(Salvatore Sanfilippo),Redis 的创造者,以其对代码极简主义、人味与底层技术的执着而闻名。他在 2020 年辞职专注于创作,并于 2024 年底重返技术前沿,开始深入研究 AI 编程。他近期提出的观点——“手写代码已不再必要”——引发了业界的广泛关注和讨论。 本文将对antirez的核心观点进行全面且深入的结构化分析。**核心论点在于:以当前顶尖大型语言模型(LLMs)为代表的生成式AI技术,已经达到了一个临界点,它将编程范式从“手动实现底层细节”彻底转向了“清晰定义问题与架构设计”。** 尽管antirez对传统手工编码抱有深厚的情感和追求,但其基于实践的结论是,对于大多数任务,AI驱动的开发模式效率更高,且更具创造潜力。 本文将围绕这一核心论点,从技术实现、范式转移、社会影响与个人应对策略四个维度进行深入剖析。 --- ## 一、 技术实现的范式转移:从“实现”到“指令” antirez的论断并非基于理论推测,而是基于他近期使用 Claude Code 等模型完成复杂任务的实际体验。他观察到的技术转变是革命性的,它颠覆了软件开发的核心执行环节。 ### 1.1 编程任务的自动化临界点 antirez指出,当前的顶尖 LLMs 已经能够独立完成“大型子任务”甚至“中等规模项目”,尤其是那些**“越独立、越能用文字描述”**的编程任务。他引用的四个具体案例,如为 `linenoise` 库添加 UTF-8 支持、修复 Redis 测试中的偶发性时序 Bug、快速构建 C 语言的 BERT 推理库,以及根据设计文档重构 Redis Streams 内部实现,都强有力地证明了这一点。 **背景知识与案例分析:** * **系统编程的AI适应性:** 传统观点认为,系统编程(如C语言、底层内存管理)由于其复杂性和对精确性的要求,最难被AI取代。antirez的经验表明,当问题模型清晰时,LLMs 能够理解复杂的上下文(如 C 语言的内存模型、TCP 协议的交互逻辑),并生成可工作的代码。这得益于现代模型在代码生成和逻辑推理上的深度优化。 * **“人味”的编码与LLM的“可验证性”:** antirez曾追求“人味”代码,强调代码的优雅与可读性。AI生成代码在初期可能缺乏这种“人味”。然而,antirez发现,当AI能快速完成**重复性、高精度的细节实现**时(如修复一个恼人的时序 Bug),工程师的时间得以解放,可以专注于更高层次的抽象和验证。这使得**代码的“可验证性”和“正确性”比“手工编写的精美度”变得更为重要。** ### 1.2 效率的指数级提升与成本降低 antirez通过对比,量化了这一转变带来的效率提升。过去需要数周的工作,现在仅需数小时。这种效率提升并非线性的,而是指数级的,因为它消除了大量“调试”和“胶水代码”的编写时间。 **深入分析:** 这种效率的爆炸性增长,来源于LLMs在**“上下文学习”和“跨领域知识整合”**方面的能力。LLMs在训练过程中吸收了海量的开源代码、技术文档和设计模式。当工程师提供清晰的Prompt(设计文档或需求描述)时,模型能够迅速调动这些知识,生成一个接近生产就绪(Production-Ready)的初稿。这极大地降低了“从零开始”的认知负荷和时间成本,使软件开发更接近于“指挥”而不是“体力劳动”。 --- ## 二、 编程范式的深层转移:从“如何做”到“做什么”与“怎么想” antirez的论断不仅仅是关于效率的提升,更是关于**核心价值的转移**。他明确指出,**“现在更重要的是:想清楚做什么、怎么做——而这两件事,AI也能帮你。”** ### 2.1 核心价值的重定位:定义与架构设计 如果底层实现可以被AI高效完成,那么人类程序员的核心价值就必须上移到更高的抽象层级。 **“做什么”——定义问题(Problem Definition):** 这要求开发者具备对业务、系统目标和用户需求的深刻理解。AI可以高效实现一个需求,但它无法自主产生富有洞察力的需求。谁能清晰、无歧义地表达“要做什么”,谁就掌握了新的生产力杠杆。 **“怎么做”——高层架构与模型构建(Architecture & Modeling):** antirez强调,AI可以帮助实现细节,但**“构建清晰的问题模型”**和**“传达给AI”**本身就是一种高阶的思维活动。这包括: 1. **抽象思维:** 将复杂的现实世界问题,拆解为AI可以理解的、模块化、参数化的子任务。 2. **元认知能力:** 知道何时应该使用AI、如何评估AI的输出、何时需要介入修改核心逻辑,以及如何构建“反馈循环”(如antirez提到的“检查和授权命令执行”)。 ### 2.2 创造的乐趣未变:目标驱动的满足感 antirez深刻地捕捉到了程序员的内在驱动力:“让你当年熬夜到深夜的,不是写代码本身,是‘做出东西’。” **心理学分析:** 这种乐趣源于**创造性满足感(Creative Fulfillment)和目标达成感(Goal Achievement)**。AI并没有消除这种乐趣,而是改变了实现乐趣的路径。 * **旧路径:** 手动解决复杂的技术难题,通过长时间的调试和优化,最终实现目标。过程艰辛,成就感建立在对细节的完全掌控上。 * **新路径:** 通过高效的“提问-验证-迭代”流程,将精力集中在创新性的架构设计和新功能的构思上。成就感建立在**快速实现宏大愿景**的能力上。 antirez的观点意味着,现代编程的乐趣从**“工程实现的艺术”**转向了**“系统设计的艺术”**。 --- ## 三、 技术民主化、开源精神与中心化风险 antirez作为开源社区的重要人物,对技术伦理和社区影响有着深刻的关切。他认为AI的进步与开源精神是内在统一的,但也对其中心化风险表示担忧。 ### 3.1 AI与开源的共振:知识的民主化 antirez认为,AI(特别是基于开源代码训练的模型)正在实现他毕生追求的目标之一:**让代码、系统、知识民主化**。 **历史类比:** 他将这场变革比作 90 年代开源软件的兴起。开源使得小型团队能够利用社区积累的成果,挑战大型公司的技术壁垒。同样,AI现在为小团队和个人提供了前所未有的实现能力,让他们能够“用更少的资源做出更复杂的事情”。一个优秀的AI辅助程序员,理论上可以匹敌一个中型工程团队的产出,从而重塑市场竞争格局。 ### 3.2 对中心化的深刻忧虑 尽管antirez对AI的潜力持乐观态度,但他对技术控制权的集中深感不安。 **观点剖析:** 1. **闭源模型的领先地位:** 他承认目前闭源模型(如GPT-4系列)在性能上仍领先于开源模型。 2. **基础设施垄断的风险:** 如果只有少数科技巨头掌握了最强大的模型和训练资源,那么下一波技术浪潮的成果将受制于这些公司的商业决策和API访问策略。 3. **“秘密魔法”的必要性:** antirez相信大规模神经网络本身具有内在的潜力,没有“不可逾越的秘密魔法”,这为开源社区和独立研究者追赶提供了希望。然而,他坚持认为,这种追赶需要持续的努力和对核心技术的深入理解,不能仅仅依赖于闭源API。 **现实意义:** 这种担忧促使他——以及许多开源倡导者——更加积极地投入到开源AI生态系统的建设中,确保下一代基础设施不会被少数实体完全控制。 --- ## 四、 社会经济影响与程序员的生存策略 antirez的思考并未止步于技术层面,他深入探讨了这场变革对就业市场和人类社会结构可能带来的冲击,并提出了务实的应对建议。 ### 4.1 就业市场的冲击与不确定性 antirez对那些可能被“裁掉的人”表达了真诚的担忧。他提出了一个关键的未来情景岔路口: * **情景 A (扩增效应):** 公司选择利用AI提高效率,并招募更多的人来承担更复杂的项目,实现“指数级增长”。 * **情景 B (替代效应):** 公司选择裁员,仅保留少数“更会写提示词的程序员”来维护或指导AI系统,实现“效率最大化”。 **结构化分析:** 这种担忧反映了技术进步在**生产力曲线**与**就业曲线**之间产生的“脱钩”现象。AI极大地提高了生产力,但如果收益完全归于资本方,而劳动者被替代,将引发社会结构性失业。antirez害怕的正是这种**“人类价值的系统性贬值”**,尤其是在编程之外的其他领域。 ### 4.2 社会与政治层面的呼吁 antirez没有提供一个完美的社会解决方案,但他提出了一个基于现实政治压力的预期: * **政治压力驱动保障:** 他认为,社会保障(如全民基本收入 UBI,他早年小说的主题)的实现,将与失业人数成正比。失业人数越多,政治压力越大,选民越倾向于支持提供保障的政府。这是一种基于社会动荡预期的“自适应”政治演化论。 ### 4.3 对程序员的务实建议:拥抱与深度参与 这是antirez给当前程序员群体最直接、最关键的建议,其核心是**拒绝认知失调(Cognitive Dissonance)**,并进行**严谨的实践验证**。 **建议一:拒绝反AI的“炒作”心态(Anti-AI Hype)** antirez告诫读者,固守“正确的事”或基于个人情感(如对亲手编码的执念)来拒绝现实是徒劳的。技术浪潮不可逆转,逃避只会导致被淘汰。 **建议二:严肃、长时间的测试** “别敷衍地试五分钟然后下结论。” 这是一个对技术评估成熟度的要求。五分钟的尝试可能只会暴露AI的表面缺陷,而无法揭示其深度能力。antirez要求开发者投入**数周时间**,将AI深度嵌入到真实工作流中,以验证其真正的潜力。这种“深度测试”是区别于“表面尝试”的关键。 **建议三:生产力倍增器的应用** 程序员必须将AI视为生产力倍增器,主动寻找应用点,例如在antirez的案例中:改进数据结构(Vector Sets)、优化现有项目(Redis Streams)。 **建议四:回归创造的本源** 他鼓励程序员将焦点重新放回**创造**这一核心驱动力上。如果AI能处理繁琐的实现工作,那么程序员就应该将精力投入到更具创造性、需要深刻洞察力的设计决策上。这保证了程序员不仅能保住工作,还能在新的范式下获得更高级别的创造满足感。 --- ## 五、 总结与前瞻性展望 antirez的观点代表了一种**成熟的技术接纳态度**:承认技术变革的颠覆性,同时坚守人类创造的本质价值。 ### 5.1 范式转变的定性 这次变革的核心在于**“实现层面的自动化”**与**“意图表达层面的复杂化”**之间的重新平衡。 | 维度 | 传统编程范式(antirez的过往追求) | AI增强编程范式(antirez的当前结论) | | :--- | :--- | :--- | | **核心活动** | 手动实现细节、调试底层逻辑、优化代码人味 | 定义意图、构建问题模型、验证和整合AI输出 | | **价值来源** | 对代码细节的精湛掌握和掌控感 | 对系统架构的深刻洞察和快速实现能力 | | **效率瓶颈** | 编码速度、调试时间和知识检索速度 | 需求定义清晰度、模型构建能力和AI工具链集成能力 | | **乐趣所在** | 看到亲手编写的代码完美运行 | 看到宏大愿景在短时间内被高效构建出来 | ### 5.2 对未来编程的启示 antirez的分析为专业人士指明了方向: 1. **专业化与抽象化:** 未来的资深程序员需要成为**“领域专家”**和**“AI指挥家”**的结合体。他们不仅要精通某个领域(如数据库、网络协议),更要精通如何将复杂的领域知识,转化为AI可以高效执行的精确指令。 2. **开源的持续重要性:** 确保AI工具链不被中心化,需要持续投入到开源基础设施的建设中,这不仅是伦理要求,也是保持技术竞争力的必要手段。 3. **持续学习与心态重塑:** 最大的挑战并非技术本身,而是心理上的适应。必须打破对“手工编码”的迷恋,接受效率和规模的巨大飞跃。 antirez的回归与思考,为我们提供了一个罕见的视角:一个曾坚守传统精益求精理念的行业泰斗,在亲身体验了新工具的颠覆性力量后,做出的最理性和最深刻的判断。他清晰地划出了技术的新边界,并邀请所有程序员——无论是 Redis 的贡献者还是普通开发者——认真审视,并积极参与到这场编程新纪元的构建中去。 维护 Redis 长达 11 年,直到 2020 年辞职去写科幻小说。2024 年底他重返 Redis,同时开了个 YouTube 频道专门聊 AI 编程。 他不是那种追热点的人。相反,他一直对"极简、人味、手写代码"有近乎偏执的追求。所以当这样一个人说出"手写代码已经没必要了",值得认真听一下。 这篇文章是他最近的思考,几个核心观点: 写代码这件事,大部分情况下不需要人了。他用 Claude Code 几小时完成了以前要几周的工作 但创造的乐趣没变。让你当年熬夜到深夜的,不是写代码本身,是"做出东西"。这件事 AI 替代不了 现在更重要的是:想清楚做什么、怎么做——而这两件事,AI 也能帮你 别敷衍地试五分钟然后下结论,认真用几周再说 正文 原文:Don’t fall into the anti-AI hype by antirez 我喜欢一行一行地写代码。可以说,我的整个职业生涯都在追求一件事:写出精良、极简、带有人味的软件。我也希望社会不要遗忘底层的人。说实话,我并不在乎 AI 公司能不能赚到钱,甚至如果现有的经济体制被颠覆、财富能大规模重新分配,我会很高兴。但如果我因为这些立场就看不清现实,那我对不起自己的脑子——事实就是事实:AI 将永远改变编程。 2020 年我辞职去写小说,主题就是 AI、全民基本收入、一个努力适应自动化的社会所面临的挑战。2024 年底我开了个 YouTube 频道,专门讲 AI 在编程中的应用,以及它可能带来的社会经济影响。虽然我很早就预见到了这一切,但我原本以为至少还有几年缓冲期。现在我不这么认为了。最近的顶尖大模型,只要给出足够清晰的目标描述,已经能独立完成大型子任务,甚至中等规模的项目,几乎不需要人手把手。 当然,成功率取决于你在做什么类型的编程(越独立、越能用文字描述的越好——系统编程尤其适合),也取决于你能否在脑中构建清晰的问题模型并传达给 AI。但总体来说,对于大多数项目,亲手写代码已经不再明智了——除非你纯粹是为了好玩。 过去一周,我只靠写提示词、偶尔检查代码给点方向,用几个小时完成了以下四件事——以前这些至少要几周: 给我的 linenoise 库加上 UTF-8 支持,并创建了一个行编辑测试框架,用模拟终端来检测每个字符单元格显示的内容。这件事我一直想做,但很难为一个业余项目投入那么多精力。但如果你只需要描述想法,代码就能自动生成,那就完全不一样了。 修复 Redis 测试中的偶发失败。这种活儿最烦人:时序问题、TCP 死锁之类的。Claude Code 自己反复迭代去复现问题,检查进程状态搞清楚发生了什么,然后修复了 bug。 昨天我想要一个纯 C 的库,能跑 BERT 类嵌入模型的推理。Claude Code 5 分钟搞定。输出结果和 PyTorch 一致,速度只慢 15%。700 行代码,外加一个 Python 工具来转换 GTE-small 模型。 最近几周我在改 Redis Streams 的内部实现。我有一份设计文档。我把文档交给 Claude Code,它大概 20 分钟就复现了我的工作(主要是我检查和授权命令执行比较慢)。 现实摆在眼前,不可能视而不见。写代码这件事,大部分情况下已经不需要人来做了。现在更有意思的是:想清楚做什么、怎么做——而后者,大模型也是很好的合作伙伴。 至于 AI 公司能不能收回投资、股市会不会崩盘,长远来看都无所谓。那些独角兽 CEO 说的话让你反感也好、荒唐也罢,都不重要。编程,已经永远改变了。 我写的那些被大模型吃进去训练的代码?我觉得挺好。因为这和我一辈子努力做的事是一脉相承的:让代码、系统、知识民主化。大模型会帮我们写出更好的软件,更快,让小团队有机会和大公司竞争。和 90 年代开源软件带来的变革一样。 但这项技术太重要了,不能只掌握在几家公司手里。 目前,你可以在预训练上做得更好,可以用更高效的方式做强化学习,但开源模型——尤其是中国产的那些——还在持续追赶闭源的前沿模型(虽然有差距)。 AI 的民主化程度目前还算可以,尽管不完美。 但未来是否一直如此,完全不确定。 我对中心化感到担忧。 不过我相信,大规模神经网络本身就能做到不可思议的事情,而且目前的前沿 AI 并没有什么”秘密魔法”,所以其他实验室和团队有机会追上来——不然很难解释为什么 OpenAI、Anthropic、Google 这几年的成果一直那么接近。 作为程序员,我现在比以往任何时候都更想写开源代码。我想完善一些因为时间原因搁置的项目。我想把 AI 应用到我的 Redis 工作流里,改进 Vector Sets 的实现,然后像现在做 Streams 一样去优化其他数据结构。 但我也为那些会被裁掉的人担心。未来的走向还不清楚:公司会选择招更多人、做更多事?还是会砍人,留下少数更会写提示词的程序员?而且,还有其他领域,人类可能会被完全取代,这让我害怕。 那社会层面的解决方案是什么?创新无法倒退。我认为我们应该投票给那些认清现实、愿意支持失业者的政府。被裁的人越多,政治压力就越大,大家就越会投给那些能提供保障的人。但我也期待 AI 能带来好的一面:推动科学进步,减少人类的苦难——毕竟人生并不总是幸福的。 好了,回到编程。朋友,我只有一个建议给你:不管你觉得”正确的事”是什么,拒绝承认正在发生的一切并不能改变任何事。跳过 AI 不会帮到你,也不会帮到你的职业生涯。好好想想。认真测试这些新工具——花几周时间,而不是五分钟的敷衍测试来验证你已有的偏见。找到一种方法让自己产出倍增,如果这次不行,过几个月再试。 是的,也许你觉得自己花了那么大力气学写代码,现在机器却替你做了。但你当年熬夜到深夜、只为看到项目跑起来的那股劲儿,是什么?是创造。而现在,如果你能找到有效使用 AI 的方法,你可以创造得更多、更好。那种乐趣,还在,从未消失
配图 (可多选)
选择新图片文件或拖拽到此处
标签
更新文章
删除文章