对话重置按钮:在不丢失 Artifacts 的情况下重新开始的 UX 模式
现代 AI 产品中最反用户的按钮,偏偏也是最不可或缺的那一个。在对话进行到第 40 轮左右时,智能体(agent)已经陷入了错误的假设,语气开始跑偏,每一次新的交互都在让答案变得更糟而不是更好。用户知道该怎么做:清空重来。他们点击“新对话(New Chat)”——眼睁睁看着进行到一半的计划、草拟的四份文档,以及花了 20 分钟调优的提示词,随着那些被污染的历史记录一同烟消云散。
于是,他们不再使用重置按钮。他们打开第二个标签页,手动复制粘贴产出物,同时维持着那个已经崩坏的对话,把它当成一个不敢关闭的墓地。这种仪式——用手动复制粘贴来绕过本应发挥作用的按钮——是一个聊天产品对其数据模型有误所发出的最清晰信号。
产品的失败并非因为重置功能在工程上难以实现,而是因为数据模型混淆了两类生命周期完全不同的事物:对话,它是短期的,且运行时间越长越容易自我污染;产出物(Artifacts),它是用户出现的唯一原因。将它们混为一谈,结果就是每一个长对话最终都会 以用户手动将工作成果迁移到新标签页而告终。
为什么重置按钮必不可少
长篇的大语言模型(LLM)对话并不会优雅地降级。它们的性能退化有一种特定的称呼:上下文窗口污染(context window poisoning)。一个错误的事实进入历史记录,模型开始将其视为真理,后续的每一轮对话都在强化它,细小的补丁累积成了巨大的问题。当用户察觉时,“再澄清一次”已经不起作用了——那个错误的假设已经固化在上下文记忆中,影响着接下来的每一次响应。
还有一种并行的、更缓慢的失效,被称为上下文腐烂(context rot):即使没有明显的错误事实,较长的历史记录也会降低输出质量。模型开始忽略部分输入,过度索引其他部分,产出的答案比第三轮对话时的表现略逊一筹。研究人员对此早有记录,而大多数聊天 UI 将其掩盖得天衣无缝——没有进度条显示上下文有多满,或者模型已经变得多么困惑。
面对这两种失效,有一个屡试不爽的解决方法:硬重置(hard reset)。新的上下文窗口,新的后验概率,全新的模型行为。重度使用 AI 的从业者会条件反射地点击新对话,就像重启一个不稳定的服务一样。问题不在于他们想要重置,而在于这种重置具有破坏性,不像重启服务那样:服务重启会丢弃内存状态但保留磁盘数据;而“新对话”则会把两者全部丢弃。
