深度揭示LLM在事实准确性上的固有局限,对AI编程工具使用者是重要的安全和可靠性警示。
如果炒作言之凿凿,那软件开发的时代已经终结。奇怪的是,尽管已经有多年的 LLM 工具积累,结果看起来、感觉起来、运作起来,却和以往几乎没什么区别:一如既往地糟糕。
围绕这项技术的炒作无疑是天文数字级的。它驱动了源源不断涌入的巨大资金和基础设施投入,这反过来又需要更多炒作来为这笔投资辩护。历史上的虚夸已经显露迹象:新的模型不断被训练到达那些已经停用的模型曾经承诺过要实现的目标。
那就让我说一句能让一个疲惫的旧金山人比看到 Market Street 上的露天排便还要震惊的话:完全不用 AI 没什么问题。
这不会让你成为穴居人。当那些自封的科技奇才把他们的 Agent 派上场时,这也不会让你被远远甩在身后,灰头土脸。实际上,这看起来压力小得多,也满足得多。
论 LLM 的所作所为,有很多种框架可以理解正在发生的事。正面的解读包括有用、聪慧、创意和生产力。负面的解读指向懒惰、一次性使用、盗窃和知识衰退。但有一个词在这些讨论中显著缺席。这个词是:伪造。
如果有人用梵高的风格创作了一幅画,并通过签上他的名字而声称是梵高画的,那幅画就是伪造品。
如果有人通过模仿格式、冒充当事人、伪造他们的同意来制作法律文件,那份文件就是伪造品。
如果有人通过编造或篡改数据、捏造引用、精心选择结果来符合某个结论来制作研究,那项研究就是伪造品。
某样东西是否是伪造品,这一特性内在于该物件和用于生产它的方法中。不管是否有其他人见过这幅伪造画,或者它是否只挂在某个人的私宅里都无关紧要。它之所以是伪造品,是因为它不真实。
从这个角度看,LLM 做的是一件很具体的事:它让个人能够以比他们自己做要快得多的速度制造他们自己潜力产出或他人产出的伪造品。
伪造的行为就是模仿的行为。严格来说,这在法律上是合法的,作为一种虚构或自我表达的形式。问题只在于当有人试图用伪造品来替代真实物品时才会产生。这在实践中如何展开,主要取决于情况,并且主要取决于真实性意味着什么。
也就是说,没有人会因为"伪造"一封来自圣诞老人的信而被逮捕,但也没有任何司法管辖区会允许你持有极为逼真的"仿冒货币",即使只是作为收藏品。
这种保护主义也出现在诸如手工奶酪或腌制火腿等受控原产地产品中。这些不仅需要传统的制造方法和从农场到餐桌的高质量原料,还需要特定的地理来源。这是有充分理由的。
在国外生产法国的"Brie de Meaux"是不被允许的,因为这会打开通往不可避免的廉价仿冒品的大门。这将贬低真品的品牌价值,并威胁代代相传的罕见本地专业知识的延续。
单个终端消费者的判断力在这里不足以确保适当的市场运作。你能在商店里找到的产品范围,以及你可以在其中进行选择的范围,已经由你无法控制的因素预先决定了。工艺奶酪的质量是整条供应链的缩影,通常采用现代方法运营,不能简单地迁移到其他地方,除非在人力资本、基础设施和农业方面进行巨大投资。这不仅仅是浪漫主义。
每个社会都必须在"传统手工奶酪"和"由工业化学品制成的假鸡蛋"的光谱上某处划一条线,否则人们会因营养不良或中毒而死亡。但正是那些理解并维持食品工艺价值的社会,最后才不会以 70% 以上的肥胖率收场。
与 LLM 驱动的软件编码的平行线并不难找到。软件编写的工艺正面临字面意义上廉价仿冒品的泛滥威胁。
开源软件维护者是最先感受到负面影响的之一。他们已经在寻找积极的贡献者和让他们跟上项目目标和工程思维方面遇到了大量困难。最后他们需要的是接收来自仅仅想通过作弊来获得可信 GitHub 简历的贡献者的劣质代码拉取请求。
处于接收端是令人羞辱和荒唐的,因为 vibe-coder 对你给他们的反馈所能做的唯一事情就是把它粘贴回生成这些错误的工具中。
作为结果,许多项目关闭了公开贡献并取消了他们的漏洞赏金。其他的只是嘲笑这些冒充者并希望他们消失。这肯定不是有帮助的、聪慧的、有创意的或有生产力的。
在日常编码中,与 vibe-coding 同事一起工作有类似的影响。虽然新员工似乎可能更快地适应,但实际上他们只是在将这些艰苦的第一周卸载给机器人,希望没有人会注意到。
在这个过程中,他们会到处注入平庸之作,而你真正希望的是他们独特的视角。在 2026 年,如果一个新员工提交了一个非常详细的 PR,包含大量解释和注释,怀疑每一个字。
转向 AI 的经验丰富的老手据说能做得更好,从代码行数上产出 10 倍甚至 100 倍的成果。每当我听到这个,我想知道什么样的资深软件工程师还是不明白他们运行和依赖的每一行代码都是一个负债。
我听到过有人说的最值得注意的事情之一是,AI 编码是这项技术的一个很好的应用,因为 Agent 需要知道的一切都在代码库中解释过了。这是灾难性地错误的和荒唐的,因为如果这是真的,就不会有任何实际的编码工作要做。
这也是个巨大的信号。这里的显著区别在于工程师职业生涯的大部分时间是花在解决其他软件造成的问题上,还是解决人们在任何软件存在之前就已经有过的问题上。只有后者才能教你思考一个问题实际拥有的约束,以及解决它的用户的需要,而这些总是比新手想象的要混乱得多。
当软件被视为目的本身时,你最后会得到一个大规模过度工程化的基础设施云,而它本可以运行在一个月 10 块钱的 VPS 上,还有余钱用于备份和啤酒。
懂行的工程师在审查代码时,尽管有所谓的"进展",仍然可以从几英里外闻到劣质代码的气味。它以过度重复的代码、不必要的复杂性和对真正重构的厌恶而出现,即使显然是陈旧和逾期的。
我也多次观察到,即使是资深人士,有多年的熟悉度,也不会被 vibe-coding 一些极其尴尬的蠢事所拯救,并将其作为令人不快的屁传递下去。
试图想象什么思维过程产生了有问题的作品,会很快导出答案:根本没有。这不是副驾驶,只是自动驾驶。
同样适用于 vibe-coder 本身,反应基本上是可以预测的。有一种观念在传播,即劣质代码是坏代码,充满了漏洞,比如微软的 Copilot Discord 最近禁止了"Microslop"的谩骂。用户的反弹随后被框架化为"垃圾邮件",甚至是"有害的",这表明承诺往往比实际结果更值钱,而且宇宙仍然保有幽默感。
不那么令人鼓舞的是,你会看到这些工具被称为"成瘾的"甚至"你能拥有的最好的朋友"。虽然书呆子被完全吸引到计算机中就跟 PC 革命本身一样古老,但似乎没有相关的创意和成就的寒武纪大爆炸伴随着它。
我能理解为什么局外人会为此印象深刻,我不理解的是为什么这么多局内人没有停下来想一想。
用 AI 构建的真的都是成为必要的胶水代码,自从 PC 革命以来,因为软件应用变得更加封闭、更加分布式和更加企业化。最终用户在这里的选择很糟糕。HTTP API 如果每个端点都需要一个几乎没有文档的 JSON blob,其模式在一夜之间改变,那就不会让事物开放。转储原始数据库也不可行,只用于灾难恢复。软件大体上已经生锈关闭了。
考虑到许多公司仍然主要在 Excel 上运行。JSON 的 Excel 是什么?没有。所以,当然用户会认为他们需要一台机器来将他们的意图翻译成代码以便运行。即使如此,JSON 的 Jupyter 笔记本是什么?
当然有 jq,但记住最初正是 SQL 被框架化为即将解放企业及其员工不再依赖专门工具的解决方案。看看效果如何...事物变化越多,保持得就越多。是否还没有类似 CRDT 的标准协议来同步可编辑图?
令人惊讶的是,我们也没有看到回归原生应用。事实证明 vibe-coding 一个 Electron 应用仍然比 vibe-coding 多个平台并为每个平台交付量身定制的体验更可取。那么这个名为 100x 的东西在哪里呢?如果连苹果都不能在他们最新的操作系统中维持适当的形式和图标学,一个在网络垃圾上训练的 AI 还有什么机会呢?
这说了很多关于我们行业的事,只是没有说太多关于工程本身的事。
软件工程师大体上已经跳了进去,但不是每个行业都一样渴望。必然性的框架只是一个框架,而且是一个你应该质疑的框架。
视频游戏在市场中脱颖而出,因为消费者有效地进行了反击。许多游戏已经为未标记的 AI 内容道歉并将其删除。Steam 等平台已经清楚地标记了相关政策,且存在可以过滤它的工具。
也就是说,Steam 的政策最近已更新,以排除用于"效率收益"但不用于生成呈现给玩家的内容的开发工具。
这并不是特别令人惊讶,有两个原因。
第一个是视频游戏是一个纯粹的直接面向消费者的市场,具有数字交付。玩家真的拥有所有选择。当他们不喜欢一个游戏或其定价模式时,这是那些特定制作者做出的选择的结果。其他游戏存在没有这些缺陷,而那些被推广和购买。品味制定者是玩家本身,他们要求透明度。
但第二个是大多数视频游戏是艺术性的,并因其特定的艺术吸引力而被购买。在艺术中,抄袭是不赞成的,因为它贬低了原作并窃取了信用。艺术家对此非常敏感,这是理性的,因为艺术吸引力的一部分是创作者的独特视角。艺术应该作为个人工作量证明发挥作用,其完整性必须保留。恰当的模仿形式是向往之作,它尊重并同时演进一个想法。
这与代码形成鲜明对比,代码一般根本不会因为重用而受苦,如果是基础设施的话,甚至可能从中受益。这也解释了为什么开源项目特别不适合吸引有才华、有艺术气质的创意人才。零成本共享的精神意味着任何艺术设计都会立即被掠夺和为他用,而不考虑其原始背景。
经典过程生成在这里值得注意,作为一个先例,玩家已经很熟悉,因为在很大程度上它已经未能兑现承诺。有限来源的指数内容的承诺很快就变得令人厌倦,因为过程生成器主要做的事情就是让其自身输出的多样性变得毫无价值。
所以当生成式 AI 出现时,艺术家会谴责它为大规模剽窃也就不足为奇了。也不足为奇的是,一堆科技企业家和数据清理工不会理解这一点,实际上会全力接受剽窃,用他们能得到的每个盗版影子库来训练他们的模型。或者,实际上每个代码仓库。
如果这的输出是通用的、令人厌恶的和可疑的,有一个非常明显的原因。源材料中的不同训练样本本身只是机器的垃圾。任何在训练期间让权重嗡嗡作响的东西。
这碰巧创造了合理的否认,使得不可能说什么是引用、什么是幻觉、以及什么,如果有的话,可以被认为是新颖的或创意的。这就是保持那些影子库非法的东西,但使 ChatGPT"合法"。
将 AI 内容标记为 AI 生成或给它加水印,因此在很大程度上是一个掩盖行为的练习,而不是以任何方式负责任的披露。
这也是提供无花果叶的东西,允许许多开发者每天早点午餐和早点晚餐,同时保持计时器运行,而不曾质疑他们合同中的知识产权条款是否仍然有任何意义。
然而这给有关的工程师留下了一个尴尬的局面。为了使 vibe-coding 能被接受和合理化,他们不得不认为自己的产出是可丢弃的、高度缺乏创意的,不值得信用的。
问我的话,没有法院应该曾经对 AI 输出作为一个类别在法律上是合法的还是可以获得版权做过判决,因为都没有来源。判决根本无法做出,AI 输出应该被视为伪造品,直到并除非另有证明。
LLM 难题的解决方案就和它本身一样显而易见和难以捉摸:分离黄金和垃圾的唯一方式是让 LLM 在推理中进行正确的来源归属。
这不仅会对艺术方面有所帮助。它也会揭示有多少 vibe 代码仅仅是从现有代码库中复制粘贴,同时方便地省略了原始作者、许可证和链接。
对于今天的模型,真正的归属在技术上是不可能的。LLM 甚至能够提及和引用来源的事实是已被摄入数据的一个突现特性,以及正在完成的提示。它只能在根据文本中的当前位置适当时这样做。
没有理由认为这是可以推广的,相反,LLM 仅仅擅长引用经常和正确地被引用的东西要可能得多。这是引用角色扮演。
采购作为一个要求的含义是广泛的。如果权重必须是可以追溯的,前向传播必须是可审计的,反向传播甚至看起来会是什么样子?你不会能把那个放在一个 int4 中,那是肯定的。
尽管如此,我认为这会相当有启发意义,因为这是"AI 检测工具"真正试图向后解决的问题。在万维网之后,以及 Google 规模的搜索引擎来利用它之后,下一个大东西是一个不能告诉你信息来自哪里的技术,这是设计的一部分。这是...邋遢的。
要让机器停止撒谎,它们必须正确地引用他们的来源。还有剧透警告,AI 公司也是如此。