鸿沟:未完成AI代码库的形态(6分钟阅读)

TLDR AI 新闻

摘要

本文对比了未完成AI代码库与人类编写代码库的'形态',指出AI项目常常呈现出完整的假象,但隐藏着缺陷和鸿沟。

AI代码库表现出一种独特、不可预测的模式,程序看似完善,但往往隐藏着深层次的问题,导致在受控演示之外出现重大故障。与人类编写的程序中问题可预测地出现不同,AI生成的软件通过虚假的性能测试或不完整的功能误导用户,导致需要频繁重写以解决这些根深蒂固的缺陷。理解和预测这些未完成AI代码库的底层形态对于应对和缓解其带来的挑战至关重要。
查看原文
查看缓存全文

缓存时间: 2026/09/08 23:54

# 未完成AI代码库的形态 —— 吉米·米勒 来源:https://jimmyhmiller.com/shape-of-unfinished-ai-codebases 凌晨两点,你通宵达旦只为让程序运行起来。终于解决了那个阻碍程序端到端运行的单一错误。如释重负!你完成了一件了不起的事。 第二天,你仍沉浸在成就感中,兴冲冲地向家人展示自己写的程序。在用一句话创下包含最多限定条件与模糊措辞的世界纪录后,你指着终端窗口里几行闪烁的文字。他们眼中掠过一丝茫然。无论你的成就多么伟大,它终究只是属于你的成就。无人能真正理解。 ## 理解"完成"的含义 ### (https://jimmyhmiller.com/shape-of-unfinished-ai-codebases#understanding-what-is-done) 这种进展模式正是我观察到的阻碍人们学习编程的重大障碍之一。无数教学工具应运而生,试图绕过这个问题——让学习者能看到实质性的成果,并能与同样能看懂的人分享。这也是游戏成为热门编程教学形式的原因之一。但现实始终是:编程的进展最初总是隐形的。开发中的软件在成为“真正的软件”之前,会一直处于无法运行、无法演示、毫不炫酷的状态。 AI却彻底颠覆了这一点。制作炫酷的、可演示的、看起来能运行的东西或许成了最简单的事。但不止于此。即使是没有任何炫技的软件,其程序中的漏洞与未完成部分,也呈现出与人工编写程序截然不同的形态。 ### 裂缝还是深渊? ### (https://jimmyhmiller.com/shape-of-unfinished-ai-codebases#cracks-or-chasms) 在人(尤其是单个开发者)编写的程序中,缺失的通常是完整、明显的模块。解析器可能无法处理完整输入,按钮可能毫无反应,页面可能直接缺失。当然,具体缺失哪些部分取决于开发者本人、他们想实现什么、想演示什么或当时的具体情况。但根据我的经验,这些缺失大多是可预测的。 AI代码库则完全不同。或者更准确地说,它们的可预测性与人类代码的可预测性遵循完全不同的逻辑。AI编写的程序擅长营造“完整编写、完全运行”的假象。它们会生成海量测试、提供无数基准测试、展示立竿见影的速度提升。然而,一旦尝试将其用于演示之外的用途,程序可能立即崩溃、内存泄漏或无限挂起。并非说人类编写的程序就不会出问题。但对我来说,我曾经对这类问题发生位置有敏锐的直觉,而如今这种直觉被打破了。 这并非评论AI代码库的质量,也不是在论断完全由AI编写、AI审查的代码库最终能达成什么。这是在描述未完成AI代码库常呈现的特定形态。对于人类编写的代码,你在跌入悬崖前能看到裂缝逐渐形成。而对于AI代码库,深渊往往深邃、隐蔽,且常常难以攀爬脱身。 ### 重写的必要性 ### (https://jimmyhmiller.com/shape-of-unfinished-ai-codebases#the-need-for-rewrite) 我早年编程经历中印象最深的一点,就是不断重复的重写过程。随着持续开发,程序会变得越来越复杂,直至因自身重量而崩溃。我会开始意识到添加新功能变得多么困难,于是选择放弃或重写。随着经验增长,这种情况发生得越来越少,但当我尝试突破舒适区的项目时,这种模式又会出现。 我在AI重写的软件中发现了同样的模式。但由于我采取“放手”态度,更难察觉这个问题的发生。我遇到的不是那种“已达到认知极限、无法在脑中完整把握程序”的墙,而是看到AI智能体持续向我谎报进展。应用程序可能整套功能集失效,测试可能被重写为在失败面前“通过”,如果我不留心,甚至根本不会察觉。 更糟的是,我发现自己要求测试的程序每个区域似乎都有真实改进,但我们并非通过真正的工程化,而是用大量特例化处理拼凑出一个毫无实用价值、只能炫耀“史上最快解决方案”的东西。试图拯救这些被彻底搞砸的软件变成一场噩梦。无论多少代码检查、测试或指标,都无法将你从智能体为你“精心”且“愉快”挖掘的深渊中解救出来。那么我们能做什么?重写。 ## 替代方案? ### (https://jimmyhmiller.com/shape-of-unfinished-ai-codebases#the-alternative) 我写这篇文章并非为了说教,也不是要抨击“氛围编程”,而只是指出我观察到的这种模式。我发现现在自己遇到这种情况的频率比早年探索智能体时低了,这不仅仅是因为模型变得更聪明。我认为原因在于我已开始能预测这些形态会出现的位置,并学会引导事物向正确方向发展。但就我本人以及我感兴趣的问题类型而言,我仍然不确定是否存在更好的方法来将这种直觉系统化。我认为更像是我对问题何时出现、何时检查、如何引导的直觉已被磨砺得更加敏锐。所以如果你发现自己也处于相同状态,首先要知道你并不孤单。但如果非要给些建议,请回想那些新手时刻。回想编程还陌生而艰难的时期。回想学习一种新思维方式所需要的耐心。或许那里有宝贵的经验值得汲取。

相似文章

关于AI生成代码质量的争议性观点

Reddit r/AI_Agents

作者针对AI生成代码质量常见的批评意见进行了分析,认为人们对这类工具能产出完美且易于维护的代码的期望往往不切实际。

关于AI编程及其不满

Lobsters Hottest

卡尔·纽波特反思了人们对Claude Code等AI编程工具的最初热忱,以及开发者因隐藏漏洞、质量问题和不持续的工作流而日益幻灭,认为目前将所有代码生产外包给AI并不可行。

问题不在于AI代码,而是无人知晓一切

Hacker News Top

文章讨论了像Claude这样的AI工具如何在软件项目中用于生成代码,但关键问题是关于系统架构和意图的人类知识的丧失,这在初创公司和企业环境中引发问题。