← 返回信息流
AI 资讯Hacker News·1 小时前

无AI写代码:颠覆性的工作新方式

原标题:Coding without AI: a revolutionary new way to work

速览

本文提出一种新颖的工作方式——完全不用AI辅助写代码。在AI工具泛滥的当下,这种做法看似倒退,却被认为能提升程序员对代码的深度理解与创造力。它可能是一种反主流的深度学习尝试,引发对技术依赖的反思。

AI 深度解读

背景

本文来源于 Hacker News 上的一篇自述式随笔,作者以第一人称分享了一种“不用 AI 编程”的工作方式。文章表面上是介绍一种“革命性”的新方法,实际上却充满了反讽与幽默——作者刻意用 AI 时代常见的营销话术来包装一个再传统不过的编程习惯,借以调侃当下对 AI 编程工具的过度追捧。原文标题《Coding without AI: a revolutionary new way to work》本身就是一种戏仿,暗示“不用 AI 编程”竟然成了需要被宣扬的“新方式”。

核心内容

作者自称在过去大约 20 年里一直在尝试一种新的编程方式——完全不使用任何大语言模型(LLM)或 AI 编码代理,只有自己、一个键盘、一个 IDE 或文本编辑器,逐行写代码,手动敲入函数和花括号。他承认这听起来很古怪,并自嘲为“早期采用者”,正在尝试一种激进的、不同寻常的方法,并知道不是每个人都能看到这种愿景。他声称大多数人认为编程和 AI 是一回事,但他要告诉大家:无 AI 编程是真实存在的,可以做到,而且有一些惊人的好处。

作者还顺便提到自己喜欢吃由真人制作、非工厂生产的食物,并且几乎只听由真人演奏乐器制作的音乐——以此暗示这些“小众爱好”与无 AI 编程一脉相承。

接着,作者列出了五个“好处”:

1. 加深理解

当手动编码时,他无法直接告诉代理“修复隐藏提交按钮的 bug”或“确保这个异步任务更新数据库”,因为没有代理。他必须仔细阅读、测试、调试代码,建立起对代码如何工作的心智模型。这很难,但他已经变得相当擅长。他注意到:

  • 他的心智模型正确率远高于 AI。一旦彻底检查代码,他能对代码行为做出各种有用的预测。
  • 当代码有 bug 或不符合规格时,他常常能在脑海中想象出需要修改的具体文件或方法。这极大地加速了他的工作流程。
  • 阅读代码时,他总会发现计划之外的东西,因为代码是相互关联的,这些“额外收获”经常在之后派上用场。
  • 他经常注意到代码可以改进的地方,使其更可靠或更易维护。
  • 当别人问起应用相关的问题时,他有时能脱口而出答案,无需咨询任何聊天机器人。
  • 最终,他成为代码库及其所用技术的专家——这种专业知识随时可用,免费,就在他的大脑里,无需任何代理。

作者承认这听起来可能很慢,但实际上,随着对代码库越来越熟悉,他构建的速度越来越快。AI 在快速搭建原型方面仍然更快,但他发现自己也开始独立搭建原型,因为深刻的、真正的理解是无法替代的。他利用这种理解在工作中变得非常有价值,多年来获得了多次晋升和赞誉。他打趣说,不能告诉同事他在无 AI 编程,否则他们可能会认为这是一种不公平的优势。

2. 可工作的软件

世界对实际上不能正常工作的软件有着巨大的胃口,作者承认只要稍加努力,他也能手写出不能工作的软件。但大多数情况下,经过少量测试和调整,他的无 AI 代码运行得相当好。由于某种神秘效应,代码随着时间的推移越来越好用。他的很多代码可以放着不管,数月甚至数年持续运行。他感觉像是发现了一个被禁止的秘密:代码不需要被丢弃和重新生成。

当代码有 bug 时(他坦诚,无论是否使用 AI,bug 是常态),他对自己修复 bug 的能力越来越有信心。他不必和聊天机器人来回周旋,后者会先编造几个错误的解决方案,最后才写出足够多代码来掩盖问题。他可以使用调试技巧逐步缩小 bug 的来源,直到确定位置,然后高置信度地修复——有时修复只需一行代码。

他觉得自己终于理解了那些自己缝制衣服、自己制作家具的人:结果质量更高。想象一下一件 T 恤穿几次不会破!虽然前期投入更多努力,但质量无可争辩。

3. 更简单的代码

作者指出,AI 常常把简单任务复杂化。有时你只需要一个 if/else 块,AI 却给你写出三页的数据结构和算法。手动编写代码让他学会将复杂性视为负债而非资产,并尽可能保持简单。

当无 AI 编程时,你自然从底层开始,只写恰好满足需求的简单代码。你总是可以扩展和构建,但事后简化要困难得多。他有时发现自己的无 AI 代码如此直白,连非程序员都能看懂——不是通过 ChatGPT 解释,而是直接阅读并理解其功能。这听起来难以置信,但代码真的可以如此简单。

为什么要关心代码是否简单?首先,简单代码更容易预测和调试。当你无 AI 写代码时,可能不需要 AI 帮你解释,自己就能回去快速回忆并更新。其次,简单代码本身就更少出问题——没有那么多行代码可以出错。

作者认为,无 AI 编程的额外“摩擦”反而是一种双赢:它让他成为更好的程序员,推动他保持简单,帮助他对没有价值的事情说“不”。

4. 更快的交付

有时当作者告诉别人他在无 AI 编程时,对方会露出担忧的表情,担心他因交付功能太慢而惹麻烦。但事实是,他实际上交付得更快。

编程(Coding)是工作流程中最快的部分,无论用不用 AI 都是如此。事实证明,编码本身并不是瓶颈。大部分时间花在别的事情上:弄清楚需求、解决歧义、等待反馈、测试和验证、与其他团队协调、参加会议、项目规划等。慢的是人的事情,而不是计算机的事情。

至于为什么更快,原因有:手动编码时,他被迫在编码过程中做出决策。不可能模棱两可地编码。当不知道如何决策时,他必须停下来去找答案。前期更慢,但当代码完成时,他知道已经实现了目标。歧义和未解决的问题在流程早期就被解决,远在代码交付之前。这从长远来看节省了时间。

再加上他之前提到的其他因素:速度和专业知识随时间增长、代码更简单、运行更好——所有这些都促进了更快的交付。当然,AI 打字更快,但回想起来,很难相信我们曾认为打字速度是问题所在。

5. 成本节省

作者直言不讳地表示,感觉 AI 公司总想赚更多钱。每次聊天机器人的更新似乎都是为了让它们消耗更多 token。他猜测读者会问:“无 AI 编程消耗多少 token?”答案出奇简单:一个都不需要。

他已经交付了多个完整的……(原文在此中断:“I've shipped multiple complete”,文章未完成。)

关键要点

  • 作者以反讽的口吻提出“无 AI 编程”是一种革命性的新方法,实际上是在讽刺当前 AI 编程被过度神化的现象。
  • 逐行手动编码能带来更深的理解、更准确的心智模型,以及长期积累的专业知识。
  • 无 AI 代码往往更稳定、更持久,修复 bug 时更有信心,质量更高。
  • 手动编码迫使程序员保持代码简单,避免 AI 常见的过度复杂化。
  • 实际交付速度的瓶颈不是编码本身,而是需求沟通、协调等“人”的问题;手动编码反而能提前解决歧义,加速整体流程。
  • 无 AI 编程零 token 成本,避免了 AI 服务不断增长的 token 消耗和费用。
  • 文章在列举第五个好处时突然中断,暗示作者可能还有更多内容,但未完成。

意义与影响

这篇文章本质上是一篇辛辣的讽刺作品。它通过模仿 AI 创业者常用的“

查看原文 →isaaclyman.com