AI Slop:软件工程的未来
显然,几乎在人类生活的每一个方面,我们都被 AI Slop(人工智能垃圾)所淹没。

显然,几乎在人类生活的每一个方面,我们都被 AI Slop(人工智能垃圾)所淹没。产品评论、广告文案、代码审查、机器人电话、求职申请、简历、电影、艺术、音乐、搜索结果,以及过去一年LinkedIn上的所有内容。我们看到或读到的一切似乎都可能是假的,但没有足够的时间来逐一核实。仿佛全世界的工程师、数据中心、发电厂和投资者都联合起来,只有一个目标:彻底淹没我们,用高量低质的信息压垮我们。
我们的时代伴随着一种特殊的倦怠和压力感。我希望在这篇文章中,我能帮助你掌握一个概念框架和词汇,你可以用它们来表达和理解这种压力:控制论!

1、生成的代码
我将从一个示例问题开始,然后使用一些控制论工具来描述它:
审查AI生成的代码是……令人作呕的。 生成AI生成的代码是……令人兴奋的。
第一次代码助手为你生成一个巨大的对象关系映射(ORM)时,感觉相当神奇。编写这些代码可能显得枯燥乏味。
然而,当有人向你发送一个PR并要求你审查数千行AI生成的ORM时,就不那么神奇了。这些错误极其难以察觉。多次声明相同的变量,使用通常导入的库而不是实际需要的库,引用尚不存在的对象,单元测试中的逻辑错误使其无法失败。有时甚至重写标准库或覆盖标准方法。这些错误有时是有效的代码,可以编译并通过测试,但仍然让人感到非常不合逻辑且难以阅读。当人类达到知识的边缘时,我们会以人类的方式退化:寻求帮助、敲击桌面、犯下基本错误等。其他人类准备好识别这些失败,并提供帮助。
当这些基于LLM的工具达到同样的边缘时,它们会以一种最好的方式退化:代码的1%与正常代码不同?或者,“最统计上准确的正确代码模仿”?换句话说,就是“AI手指”问题……但那种会在半夜把你叫醒的问题。这里的错误被设计得非常难以检测,因为它们与正常代码太过相似。简而言之,人类还没有准备好识别这些失败。它们是代码等效于视觉错觉的东西。
2、使用控制论描述这种情况
多样性在控制论中描述的是系统能够采取的潜在状态数。
一个简单的例子是交通灯——它可以是红、黄、绿或断电。4种状态。这个数量很小,使得它们作为司机来说非常容易处理,几乎可以在我们繁忙的大脑中无意识地处理。控制它们的系统也可以非常简单。
罗斯·阿什比,控制论领域的重要早期贡献者,主要研究自调节系统、适应性和复杂性,提出了必要多样性法则:
“控制系统的多样性必须等于或大于扰动的多样性,才能实现控制。”
通常概括为“只有多样性才能减弱多样性”。
香农熵(以克劳德·香农命名),是信息论中的一个基本概念,衡量的是系统的不确定性或不可预测性。它量化了消息中包含的信息量或我们对随机变量结果的不确定性。
多样性和熵相关联—— 系统的多样性越大,其熵就越大。如果你曾经扩展过软件产品,你会发现随着规模的增长,会出现……奇怪的事情。如果你运行50,000个给定架构的实例,可以肯定的是,在某个地方,会有一个从未见过的故障。
在上面的代码审查示例中,我们的AI编码助手能够产生的多样性超过了任何一个人的能力。毕竟,它是所有可能的编码风格的集合,而你和我只是一个人生经历的集合。这就是为什么团队采用编码标准——为了减少产生的代码的多样性,希望将其限制在一个共同的模式集内,与审查员的能力相匹配。
我们还可以看到,编码助手模型中存在的熵是不同的。像AI编码助手这样具有大量可能输出的系统具有非常高的熵。平衡这些模型中的熵对于它们变得有用至关重要——但它们越“安全”地远离熵,就越有可能告诉你“做循环”,这并不太令人印象深刻。目前AI市场风起云涌,因此可以安全地说,在未来一段时间内,每个编码助手都会被调校到买家所能接受的最大熵水平。
3、管理多样性和风险
用高多样性的输出淹没系统(或你的同事)可能看起来很有趣——事实上,双方很容易将其误认为是智能。而且谁不想使用那个神奇的“变得更聪明”的机器呢?故意这样做是一种侵略行为,用于淹没系统。问问史蒂夫·班农,这是他用来淹没监管和立法系统的主要策略。或者观察几乎所有“有争议”话题的辩论,你会发现像“吉斯加洛普”(Gish Gallop)这样的技术被常规使用。
智力和多样性可能是相关的。一个人的词汇量大小、经验范围……这些与智力相关是有原因的。但这不是全部故事;我们大多数人都能指出至少一个口才很好的傻瓜,他们让我们的生活更糟。意图很重要。
优秀的工程师使复杂的任务简单化,特别是为了减少和调整它们的多样性,使其适合系统所能接受的水平。他们为接收者编写代码——操作员、审查员、客户。他们为自己编写代码,当他们忘记了当前项目的细节时,有人将来找他们修复遥远未来的错误。这是因为他们明白多样性就是技术系统中的风险。
我们可以用两种方式管理因多样化升级带来的风险:
增加控制系统能够处理的多样性。
这看起来像是在代码审查中使用AI……一个能够处理同样多或更多多样性的AI。在代码情况下,这可能是可行的,因为同一方控制着系统及其监管者。不难想象,在那些不成立的情况下,这个选项可能会变得多么丑陋——比如招聘过程、法律系统、网络安全等。在这些边缘领域,将会有一场灾难性的竞争性AI军备竞赛。
战略性地减少受控系统的多样性。
在人类中,这看起来就像我们提到的那位高级工程师的例子。减少完成某件事的方式数量,积极简化,确保提供的代码可维护且易于他人理解。在AI中,这看起来像是确保你的模型是在你的编码标准上训练的,受到较小变化的约束,高度监督等。
4、结束语
即使在这个简单的例子中,也不难看出一点点来自控制论的词汇如何帮助你将这些话题的讨论从炒作推进到现实。如果没有简短的术语来表达复杂概念,我们剩下的唯一选择就是互相喊出营销术语,声音越来越大。这是我们现在话语的严酷现实。
控制论很难理解。作为一个跨学科领域,你肯定会发现自己完全脱离了自己的舒适区。但我相信现在是时候让它被更广泛地认可并纳入讨论了,AI对人类的多面复杂威胁值得你花时间去研究。如果你想进入这个领域,你找不到更好的切入点。考虑一下诺伯特·维纳的《人对人的使用》,或者听听Stafford Beer在1973年的Massey讲座《设计自由》。
原文链接:AI Slop: The Future of Software Engineering
汇智网翻译整理,转载请标明出处
