跳到主要内容

1 篇博文 含有标签「agent-infra」

查看所有标签

在网关层交换了两个用户上下文的 conversation_id 冲突

· 阅读需 10 分钟
Tian Pan
Software Engineer

收到一张读起来像幻觉一样的客户支持工单。用户附上了一张截图:一个他们从未问过的问题,顶部显示着他们的账户名,接着是引用了他们从未上传过的文件的模型回复。追踪记录看起来很干净。模型完全按照要求执行了任务。问题在于,这个提问完全来自另一个租户,而你的网关由于 conversation_id 值发生了碰撞,将两个对话路由到了同一个后端状态。

你在餐巾纸上算了算。UUID v4 有 122 位的熵。在 5000 万个对话的语料库中,发生任何碰撞的生日边界概率远低于五千万分之一。一年前设计系统时你跑过这个计算。数学是正确的。数学现在依然正确。改变的是你的两个后端层不再以相同的方式生成 ID,而数学所描述的概率从来就不是你实际运行中的概率。