把资产库按标题分组,找到了 30 组"重复"。用内容哈希重新判定后,其中 24 组当场瓦解。真正的重复只有 5 组。还有 1 组无法判定——因为那些行里根本没有内容。
对象是从多个平台采集的 AI 智能体资产库(对话、技能、记忆、指令文件)。数字来自 2026-08-19 的一次实时审计。
30 组来自标题完全一致。用它"找候选"没问题,用它"下结论"是灾难。每一组我们改用四个轴来判定:
30 组的实际构成如下。
同一内容进库两次。原因都很平淡:同一资产以下划线 slug 和连字符 slug 重复注册;同一条记忆以英文键和本地化键存了两遍。真正的重复是无聊的——而这正是重点:可以安全折叠的,只有无聊的行。
两段同名对话,创建间隔 45 天,正文相似度 8%。一个 213KB 的线程和一个 27KB 的线程只共享名字。还有一对相似度 85%、间隔十个月——几乎可以肯定是有人把旧对话贴进去接着写。那是两份资产,不是一份。在这里折叠,历史就没了。标题复用是人类的正常行为,不是数据损坏。
为测试管线而写入的合成资产,彼此只差一个内嵌标记。来自不同执行的两个探针,在任何模糊匹配器眼里都是重复。但它们是两个独立"事件",折叠就抹掉了其中一次执行的记录。如果你的系统会把测试产物写进真实存储,去重逻辑就必须认识探针长什么样。
最古怪的发现:正文完全为空——只有头部的行。标题和真实资产相同,内容没有。全部产生于同一天约 8.7 分钟的窗口内,一个标题最多 5 份拷贝,间隔数秒。
这不是重复问题,是写入路径事故的化石记录。教训是——当你手里唯一的证据是"缺失"时,你无法分类。这些行该去的地方是隔离区,不是合并队列。
三对内容完全无关的行,共享同一个来源引用。任何只信来源就判"已采集、跳过"的管线,都会悄悄丢掉真实资产。我们能发现,是因为内容哈希和来源字段吵了起来。两个信号互相争执——这正是审计存在的意义。
| 判定 | 组数 | 安全处置 |
|---|---|---|
| 真正的重复(字节相同) | 5 | 归档其中一份 |
| 同名的不同资产 | 6 | 两份都保留 |
| 独立的测试探针 | 7 | 都保留,打探针标签 |
| 空壳行 | 4(12行) | 隔离,调查写入方 |
| 来源引用冲突 | 3对 | 回源重新验证 |
看起来像重复的东西,八成不是重复。反过来也成立——按标题"零重复"的库,可能装满了不同名字的相同内容。两种错误同根同源:用最便宜的钥匙去判定同一性。
*来自 untactit——统一管理 AI 智能体技能、规则与记忆的控制平面(尚未正式发布)——的开发笔记。跨平台的资产同一性正是这个产品的本业:内容哈希+来源+回读验证,绝不单凭标题判定。*