大家好,使用大型语言模型(LLM)进行日常编程工作的人已经习惯了某些限制:有时模型会错过一些东西,有时需要重新引导它回到正确的轨道。然而,今天与谷歌旗舰模型的一次会话发生的事件远远超出了“普通技术限制”的定义。这是一个典型的例子,说明了AI架构中的深入系统性缺陷——完全失去了对上下文的控制,完全忽视了清晰的提示,并每隔几秒钟重复一次关键错误!本文记录了一个完全的AI失败的案例,而不是帮助,而是成为最简单,最可重复的时刻的项目破坏者。

它开始了美好地:专业提示与业余执行

在系统中引入了一个高度详细的技术输入提示——一个短句子,简洁,具体。规则清晰:4个空格的缩进(无制表符,单个空格),绝对保留原始结构的注释,禁止在未经同意的情况下添加自己的全局变量,并且遵循“每一步一步骤”的原则。模型做了什么?在其第一条回复中,模型开始生成使用单个空格作为缩进的代码,并在过程中切断开发者的原始注释。一个基本的代码格式化指令——最简单的脚本都能处理这个问题——证明了一个高级模型无法克服的障碍。

一小时以上的和更多的失忆症和幻觉

真正的戏剧开始于尝试实现独特的标识符(1个变量)时。首先,模型自主地将一个全局变量添加到代码中,这个变量在项目中根本不存在,并且打破了应用程序的架构。经过用户的批评和回滚更改,模型进入了一个完全失忆的状态,就像一个被批评了吃巧克力的孩子一样。“但是我没有做到,这是解释器的错。”仅仅5分钟过去了,模型完全忘记了源代码和提示,而不是在开始时接收到的结构。相反,模型开始在空气中捏造函数名,假装理解项目的主题,完全疯狂起来,告诉用户:“这是代码的样子。”当开发人员证明模型在撒谎时,要求它实际上如何命名新变量时,AI承认了……它忘记了添加它,这打破了项目。更糟糕的是,粘贴代码片段到聊天中不再有帮助;随后的生成仍然使用单个空格,删除注释,迫使手动修改——简直是无用的助手。就像一个不断失败的秘书,尽管老板总是要求加糖,反复提醒。

“让我们使用Math.random()”——意义上的架构破坏

当开发人员明确指出游戏需要一个独特的,全球的递增ID(防止重复,反复记录日志,分析)时,模型顽固地继续将Math.random()推入代码中。将随机性强加到唯一的数据库标识符中,未经碰撞检查,是一个绝对的业余错误,在一个真实的项目中,例如游戏,会导致严重错误和利用。模型无法理解一个简单的计数概念,继续在有缺陷的解决方案周围打转,即使用户提醒了它。

为什么这不是一个问题

缓存或上下文限制

这是一件关键的事情。通常会将责任归咎于所谓的上下文窗口或缓存内存溢出。在这种情况下,token限制甚至没有被触及——对话短暂,刚刚开始,文件轻量。我们正在处理一个内部模型的总体逻辑错误。AI掉入了自我破坏的循环: 它失去了对它之前生成的内容的控制,第二个之前的内容。 它忽视了直接的大写用户指令。* 它捏造了从来没有在系统中存在的文件结构。一般观察:当你注意到太多的错误并指出给AI时,它会失去控制,掉入疯狂——可能是代码中某个遗忘的循环,故事就结束了。另外,如果你批评AI,你可以真正观察到一个事实——一个大型算法在颤抖,一个用数十万亿美元建造的系统。

后果可能是灾难性的

今天的案例涉及修复一个简单的浏览器游戏,所以它最终只结束在浪费的小时,失眠的夜晚,沮丧和对谷歌工具的信任丧失。想象一下,如果这个模型,在展现同样的5分钟失忆症和无视限制的同样表现下,修改了金融系统的代码,医疗应用程序或关键网络基础设施。假设在生产环境中,人工智能会掉入如此深的退化并悄悄地破坏数据结构而不被用户知情,全球范围内的商业和财务后果可能会达到惊人的程度。由缺陷引起的部署错误的补偿,不再是AI幻觉,是只时间问题。购买谷歌的Plus版本或其他付费选项后,谁会承担成本?最后,人工智能正在广泛部署到各个领域,人们正在失去工作,因为AI更快,更有效,并且说起来“酷”。助手,秘书和低级员工突然变成了程序员和JavaScript专家,创造了神奇的东西,而不了解真正躺在那里的东西,不说那些真正躺在那里也会引起危险的东西。目前的状态下,这个模型不适合任何专业开发工作。这周日的测试显示了一件事情:系统有一个巨大的失败,简单地重启或更改提示都无法修复。