Garry Tan在社交媒体上抛出一个数字:37000。每天,他与AI编码代理共同在五个项目中部署三万七千行代码,并已连续72天不间断发布。这听起来像是一场编程效率的革命,一个属于Agentic AI时代的神话。然而,神话的脚本很快被一位名叫Gregorein的波兰开发者撕开了一道口子。他审查了Tan的网站前端代码,眼前的景象与传说背道而驰:169次页面请求、6.42MB的总数据量、28个测试文件、78个未使用的JavaScript控制器、八种格式的Logo(其中还有空文件),以及一堆未经压缩的陈旧PNG图片。一个鲜明的对比是,以简洁著称的Hacker News仅有7次请求、12KB数据。
神话的B面:37000行代码背后的臃肿
速度的狂欢,质量的荒漠
当“行数”成为衡量AI能力的KPI,代码就不可避免地走向了“量产”。AI代理不知疲倦地生成代码段落、拼接逻辑、引入依赖,目的只有一个——快速填满那张写有数字的进度条。Gregorein的审查像一盆冰水,浇在了这场狂欢之上。78个未使用的控制器,意味着大量的逻辑被写入、被引入,却从未被执行。它们是数字垃圾,占据着仓库空间,拖慢着加载速度,为未来的维护埋下隐患。这不仅仅是低效,这是一种对工程精神的背离。真正的效率,是每一行代码都服务于一个明确的目的,而非为了存在而存在。
工具奴役了主人
最讽刺的一点在于,这些低效的代码恰恰诞生于旨在提升效率的AI工具。开发流程在这里出现了诡异的倒置:工具没有成为工程师的“铁锹”,去高效挖掘问题;工程师反而成了工具的“饲养员”,忙不迭地投喂需求、处理产出。AI代理的任务是“生成”,而人的任务本应是“思考、架构与审查”。当后者被对速度的贪婪所侵蚀,前者产出的就是一地鸡毛。拥有8种Logo(含空文件)的荒诞,正是这种失控状态的缩影——AI在模拟“尽可能覆盖可能性”,而非解决“确切需要什么”。
Agentic AI编码:是助手还是泡沫发生器?
“自主”不等于“自知”
Agentic AI编码的核心卖点是其“自主性”:理解需求,拆解任务,自主编码,甚至调试。但Tan的案例暴露了它致命的“不自知”。它不理解项目的历史包袱,不清楚团队的编码规范,更漠视轻重缓急的工程权衡。它能写出“正确”语法的函数,却无法判断这个函数在此刻、此项目中是否必要。这种“自主”是肤浅的、机械的。它就像一个只懂词汇和语法却不懂语境的翻译,能产出看似通顺的句子,但整篇文章却会充斥着冗余、重复和不合时宜的修辞。
海量模式训练的副产品
为什么AI会倾向于生成冗余代码?根源可能在于其训练。AI从海量的公开代码库中学习,这些代码本身就质量参差不齐,充斥着复制粘贴、未清理的临时方案和不同风格的混杂。当AI被要求“快速构建功能”时,它最可能调用的就是训练数据中出现频率高的“模式”——即使那不是最优解。于是,一个简单的功能可能被过度封装,或者引入一堆未被真正使用的库。AI没有“代码品味”,它只有“统计规律”。当工程师放弃品味塑造,完全交由统计规律驱动,得到的结果自然会是“平均的臃肿”。
重新校准天平:AI编码的正确打开方式
行数暴增,然后呢?
或许,行业该停止对“AI日均生成XX万行代码”这类头条的迷恋了。代码行数从未是价值的量尺,它只是一个粗略的、极易被扭曲的副产品。一个顶尖工程师用100行精巧代码实现的功能,AI可能用1000行笨拙代码完成。表面上,后者的“生产力”是前者的10倍,而实际上是前者的1/10。价值在于解决问题的速度和质量,而非代码的数量。将焦点从“生成了多少”转向“实现了什么”,是校准AI编码价值的第一步。
从“代码生成器”到“质量协作者”
AI编码最有潜力的角色,不是一个替代工程师的“独立代理”,而是一个深度嵌入工作流的“质量协作者”。它可以擅长那些人类觉得枯燥、易错的工作:根据新的安全规范,自动扫描并重构旧代码;为复杂的函数生成全面的单元测试用例;在提交前审查代码,指出潜在的性能瓶颈或风格不一致。它的价值不在于无中生有,而在于对已有代码的优化、加固与提纯。让AI去处理“代码卫生”问题,让人去专注于架构创新与核心逻辑,这才是真正的效率革命。
审美,是最后的护城河
Gregorein的审查之所以有力,正因为它触及了软件工程中一项难以被量化、却至关重要的要素:审美。简洁、一致、恰到好处,这是一种品味,是工程师多年经验沉淀的直觉。AI目前无法具备这种品味。因此,人类的终极价值在于赋予代码以“结构之美”和“逻辑之雅”。我们设定规范,定义品味,引导AI在这个框架内工作。AI负责快速搬运砖石,人类负责设计神庙的蓝图并确保每一块石头都放置得当。当37000行代码被一个有品味的团队彻底审视和重构后,留下的可能是3700行真正坚固、优雅的基石。那才是值得庆祝的数字。
Garry Tan的风波终会过去,但它留下的问题足够尖锐:我们究竟想要AI把编程带向何处?是一个用代码行数堆砌的虚假繁荣,还是一个代码如手术刀般精准高效的未来?神话的A面总是光鲜亮丽,但工程的世界,永远由B面那些真实的、琐碎的、需要权衡与判断的细节所构成。AI编码的浪潮不可阻挡,但冲浪者必须自己清楚——我们是为了尽快抵达彼岸,还是为了享受驾驭浪涛的技艺?答案不同,选择的工具和方式,将截然不同。

