我们是北京口袋智创科技有限公司旗下的 MaxGrowth(maxgrowth.ai),AI 可见度监测是我们四条业务线之一。下面讲的三类失败全部发生在我们自己的监测台账上,不是别人的案例;最后的解法也不是"把判定器调得更准",而是在判定器后面再加一道程序化的复核闸。
判定器为什么会把提到误判成命中
我们跑的是一批 API 面的问答式监测:同一批题目分别投给三个平台的接口,记录每条应答里是否出现目标品牌。这里第一个要澄清的口径问题是——不同平台的"引用"含义并不一样,有的平台是在检索阶段把网页拉进上下文,有的平台是把 URL 直接挂在答案文本里作为出处,还有的平台本身不联网、靠外部检索模块拼装候选内容。这三种机制产生的"命中",严格来说不是同一件事,不能因为都叫"引用"就把三个数字加在一起报"总命中量"。
判定器最初的逻辑很朴素:应答文本里出现目标品牌名,就记一条命中。2026-07-31 那一轮跑完后有 7 条被标记为命中,人工逐条看下来,发现这 7 条对应三种完全不同的假阳性:
- 一类是题面本身就带着品牌名(比如"XX 品牌适合哪类团队"这种问法),模型的回答只是在复述题面里的名词,并没有真的"推荐"或"识别"出这个品牌,这类占了 4 条;
- 一类是模型把目标品牌和另一个同名或近似名的主体混在一起叙述,判定器只看关键词命中,识别不出这种"嫁接",占了 2 条;
- 还有 1 条是纯粹的同名主体误判——世界上不止一家公司在用类似的名字,模型答的其实是另一家。
四条、两条、一条,拆开看形态各异,但它们在字符串层面都"命中"了,在语义层面没有一条成立。这也是为什么我们在这批题目里专门设了"品牌反查"分组——题面自带品牌名的情况,不能算作品牌被自然提及。
同名主体不是某个脚本的 bug 而是结构性现象
这套问题不是那一轮监测独有的。2026-07-29 那一轮基线里,我们也做过一组跨引擎的问答测试,32 道题目分别投给三个不同引擎、共 96 题次、0 次采集失败,每个引擎都出现过实体识别错误,而且错认的对象完全不一样——有的把目标答成另一家同名公司,有的答成另一个业务性质完全不同的机构,单独查某个产品名称时甚至会被解读成风马牛不相及的另一类工具。这组观测拿出来讲不是为了报命中率,而是想说明:实体混淆不是某一个判定脚本的 bug,而是生成式系统在处理"同名/近名主体"时的通病,越是常见词、越容易撞名的品牌,越需要在判定层专门加一道消歧逻辑,而不是指望模型自己分得清。
后续几轮里这个现象不但没有消失,反而成了品牌反查这一组最稳定的一种结果。2026-08-21 那一轮,45 个品牌反查题格里有 28 格(62.2%)被答成了同名的另一家主体,是 2026-07-26 起五轮里最高的一次;同一轮的英文语境引用里也一样,同时出现了几个名字高度相近的第三方主体和一批名录型页面。
更值得记一笔的是 2026-08 连续两轮出现的同一型误判:判定器把一条记录标成了"已消歧",看上去它已经分清了两家同名主体,但人工复核发现,它区分开的那两家没有一家是我方——消歧这个动作做了,消歧的对象整个错了。那一轮的真值因此从 3 修正为 2。这类错误最难被自动发现,因为判定器的中间状态字段看起来完全正常,只有把原始应答文本调出来读,才知道它在给谁做消歧。
静默失败比报错的失败更危险
如果说实体混淆是判定器"看错了",那另一类问题更难对付:判定器"算错了,但没有任何东西报错"。
最典型的一种,是数据的类型在流转途中悄悄变了。判定结果里的布尔值字段在某个环节被转成了字符串 "false",而字符串只要非空,在多数语言里都会被当作真值处理。也就是说,一个本该是"否"的判断,因为类型从布尔变成了字符串,在后续逻辑里被当成了"是"。这不属于判定逻辑本身的错误,而是它拿到的输入已经不是它以为的那个输入。
这类错误的危险之处在于产物看起来完全正常:脚本跑完了,报告生成了,数字排版整齐,没有一行报错,唯一的问题是它是错的。发现它的办法只有一个,把原始应答文本调出来逐条对照。所以我们后来给自己定了一条规矩:任何要进结论的判定字段,都必须能反查到它对应的那条原始记录;反查不回去的字段,数字再好看也不进结论。
解法不是调参而是加一道不依赖判定器自觉的闸
这几类失败放在一起看,会发现一个共同规律:它们都不是判定器"想错了",而是判定器"没有被约束住"——它可以把题面复读当命中,可以把越权字段带出去,可以接收一个类型已经错位的输入而不自知。指望通过不断调整关键词规则或者优化 prompt 把这些问题全部堵住,是在和一个开放的输入空间打地鼠。
我们最后收敛到的做法,是在判定器输出之后再加一层不依赖判定器"自觉"的程序化后置闸:强制清空所有越权字段(判定器不该填的字段,不管它填了什么,一律清空)、对布尔类型做强制类型转换而不是信任上游传来的值、对任何"命中"结论保留可追溯的原始应答文本,供人工抽样复核。这道闸经过四轮收敛才稳定下来,每一轮都是因为发现了判定器一种新的越权方式——先是实体命中记错了目标,后来是布尔值被转成了字符串,每暴露一种就补一种约束。
这里的核心工程判断是:凡是要作为结论对外发布的监测数字,分母不能因为个别记录失败而悄悄缩小(采集失败的记录要按占位计入,而不是从分母里删掉;从 2026-07-26 起的五轮,这套题库的分母一直恒定在 159 条,失败的行一律占位保留),分子也不能只信任一次性判定的输出,必须留出人工复核的通道,而且复核要覆盖到"看起来命中"和"看起来没命中"两侧,因为假阴性同样存在于同一套机制里。监测系统的可信度,最终不取决于判定器写得多聪明,而取决于它出错时,有没有下一道闸能把错误接住。
想先看你的品牌现在在 AI 搜索里被怎么说?
领取免费增长诊断