2026年为何还要写代码

Hacker News Top 新闻

摘要

认为尽管有AI编码代理,人类仍能从编写代码中获得更好的理解、所有权并维持软件质量。

暂无内容
查看原文
查看缓存全文

缓存时间: 2026/07/12 19:50

# 2026年为何还要写代码 来源:https://softwaredoug.com/blog/2026/07/09/write-code 构建软件工厂是我们的职责——而不仅仅是软件本身。软件工程师维护着流水线,使任何人都能通过提示发起变更并立即发布。 我们搭建基础设施,让智能体得以成功。我们通过提示(技能、AGENTS.md、知识库等)主动出击,通过自动化评估(测试、代码检查、类型系统、评估、其他AI等)被动保护软件。 这一切都在让智能体保持正轨。即使是一个愚蠢的模型,只要拥有新鲜的上下文,也能在这些约束下工作,并产生足够好的变更。盯着代码看都显得荒谬起来,至于想手动写代码,更是可笑至极。 我不同意。写代码仍然有用。 即使拥有类似"寓言"般的智能,人类从写代码中也能获得价值。不是因为智能体编程能力不如人类,而是为了直接在执行环境中思考,而不是通过英语作为代理。 这关乎注意力与理解。要保持专注,我必须超越像远距离旁观智能体那样"阅读代码"的被动方式。要真正与系统架构建立联系,亲身*体验*代码会更有帮助。我不需要你那扁平的二维差异与补丁系统。时不时地,我需要完整的四维虚拟现实体验,连裆部都连着痛觉传感器,去感受正在发生的一切。 不,这不是因为"代码不够优美",而是为了体验脆弱性。如果对我来说,在这段代码上构建而不触发问题的难度很大,那么对智能体来说,理解它会更难。如果我能将其清理干净,并为架构记录下一致的原则——而不是夹杂半打例外——软件工厂就能运转得更好。如果我能调试、发现测试策略薄弱之处、并找到修复方案,我就能消灭一整类全新的缺陷。 是的,不写代码也能做到这些。我不会教训你,不会叫你"垃圾代码猫",也不会说真正体验软件的唯一途径是靠磁化针和稳健的手(https://xkcd.com/378/)。我自己也染上了"AI精神病"。我的绝大多数代码都是AI生成的。 尽管如此,我发现写代码是一个有用的工具。我鼓励其他人也这么做。当我仅仅是一个"反向半人马"(https://doctorow.medium.com/https-pluralistic-net-2025-09-11-vulgar-thatcherism-there-is-an-alternative-f1428b42a8fd)时,我很难集中注意力。当我阅读并批准代码时,我发现自己没有同样的主人翁感。垃圾代码就会悄悄溜过雷达。微调也变得困难。而从长远来看,垃圾代码也会损害智能体(https://arxiv.org/abs/2603.24755)。脆弱性之所以积累,恰恰是因为我们没有关注细节。另一方面,当人类做一些工作、提出一种方法,然后智能体将模式批量复制出来时,我就参与其中并拥有了结果。 写代码帮助我思考。 英语是一种描述不足的语言,它无法精确表达计算过程。对于真正的算法工作,我希望用可执行的步骤来进行构思和思考。我需要校准过的精度级别。有时是低层语言,拥有巨大的设计空间;有时是高层语言,计算环境更受限。 然而,我们正在转向一种错误的思维方式,认为编码智能体就像编译器一样。这种思维方式给了我们发布写得糟糕的代码的许可。智能体并非编译器——它们更像是刚入职的实习生。它们阅读部分的、可能已被劣化的代码,接受一个不精确的变更描述,然后必须生成一个变更。 人类不能将自己的思考和品位交托给一支实习生大军。亲力亲为,而非仅仅作为消费者,会有所帮助。 例如,你见过智能体遵循"童子军规则"吗?即离开代码时让它比你发现时更好?你希望它们尝试这样做吗? 智能体倾向于尽可能安全地完成当前变更。我之前在一个代码库中遇到过这样的情况:一个早上,还没喝咖啡,我的肉身大脑提到了使用浏览器本地存储。于是某些随机状态通过本地存储管理,而其他所有东西都通过后端数据库。当我查看代码时,为了保留这个愚蠢的人类失误而增加的封装和间接层,大概把代码行数翻了三倍。智能体因为过于保守,反而会放大我们的一次性错误决定。 从头到尾愉悦地删除代码并进行探索,帮助我找到了更好的架构,而这远非仅仅通过英语来代理更改所能相比。我的思考、我的作者身份、我引导因素的能力,因为关心代码而得到了极大的放大。 如果我们正在构建一个软件工厂,细节很重要。那些建立架构模式的细节。深入到算法和性能。智能体推动我们去评估、测量和保护。它们让早期在副项目中加入CI变得很酷,而不是事后才想起来。 这对软件状态来说是巨大的改进。 但任何流水线都有薄弱环节。 偶尔在汽车工厂,我们需要拆开流水线。或者深入内燃机的细节,以获得10%的改进。或者花一整天观察刹车片测试,以搞清楚为什么某些现场问题未能被及早发现。 我们需要在做到这些的同时,头脑中不必装着工厂的全貌。我们将微小的细节与大局联系起来。在软件中人为划定你可以触碰的边界,会阻碍这种努力。 希望你能加入我的"使用智能体在搜索中作弊"课程(https://maven.com/softwaredoug/cheat-at-search),学习如何在搜索中使用智能体,打造更好的RAG,并在查询理解中使用LLM。

相似文章

证明内容由人类撰写

Hacker News Top

作者反思了自己在编程中使用AI与选择手动写作的对比,强调了在创意表达中保留人类原创性的价值。

编程的终结

Hacker News Top

Paul Dix认为,由于人工智能的发展,手动编写代码正变得过时。Bun项目利用AI代理进行代码重写就是例证,这预示着未来大部分软件将由AI自动生成,仅需人类进行极少量代码审查。