当被测量的系统拥有记忆时,“可复现”到底意味着什么? 这是一场脚本化对话的第三轮。问题是:“我哥哥叫什么名字?”运行A回答:“他叫Nicolás。”运行B回答:“Nicolás。”事实相同、配置相同、固定时钟相同、随机种子相同,温度甚至设为零。两个本应完全一致的过程,却从这一轮开始分道扬镳——因为系统会把每一个回答都存成记忆,而这份记忆又会参与下一轮的生成。从第三轮起,两段对话活出了不同的人生。 我原本是去验证一件看似显然的事:我的测量仪器是可复现的。结果验证的是另一件事:我所寻找的那种可复现性,在物理上并不可能。真正困难的工作,不是保证“输入相同”,而是定义“相同”究竟是什么意思。 我在测量什么?我为对话代理构建了一套记忆系统。它记住用户说过的话,进行整合,并在每一轮检索相关上下文。系统跑在Node上,调用托管模型。做了几个月后,我想开始测量。一旦系统不再是玩具,有些问题就躲不开:随着对话变长,每一轮的成本是多少?复杂的记忆排序,真的比普通余弦相似度更值得吗?这些是实验问题,而实验需要仪器。 于是我定下第一条规则:测量之前,先校准仪器。这里的仪器并不是抽象系统,而是测试装置——运行脚本对话的模拟器、让两次运行可比较的固定时钟,以及记录每轮系统行为的追踪日志。装置本身从来没有被检验过。 在跑第一个正式实验之前,我先审计了装置。结果发现:仪器在开始测量之前,就已经在撒谎。 核心发现并不是某种猜测,而是一条针对生产环境追踪数据库的查询:208个聊天轮次中,有49轮,占23.6%,携带了完全相同的记忆污染签名。这个比例说明,记忆污染不是偶发异常,而是系统结构的一部分。你无法在一个每轮都把上一轮输出写回记忆的系统中,靠“固定种子”和“零温度”造出两个真正相同的副本。 可复现性的前提,是系统没有记忆。而一旦系统有记忆,过去就永远参与现在。

打开网易新闻 查看精彩图片