AI agent Coverage Gap Heatmap:哪些问题答不好是缺知识,哪些其实是缺流程和工具

HTMLPAGE 团队
15 分钟阅读

知识层效果不稳时,团队最容易继续无差别补资料。本文讲清 AI agent coverage gap heatmap 怎样区分缺知识、缺实时工具、缺约束、缺权限和缺路由,让迭代从“多喂一点”转向可解释的补洞。

#AI agent #Coverage Gap #Heatmap #Knowledge Operations

当 agent 在一类问题上持续答不好时,团队最自然的反应通常是继续补知识。再接一个文档库,再导一批 FAQ,再让运营多写一些说明。很多时候这当然有效,但也正因为太自然,它经常掩盖另一件事:系统答不好,并不总是缺知识,有时是缺 live tool,有时是缺 canonical 口径,有时是缺路由策略,甚至只是因为问题本身就应该先追问而不是先回答。

没有 coverage gap 视图,平台很容易陷入一种高成本但低解释力的优化循环。问题一来先补料,效果不稳再补料,最后知识库越来越大,真正阻碍系统正确回答的那层约束却从没被看见。这样做不只浪费内容运营和工程时间,更会让团队逐渐失去判断力:到底是 Knowledge Plane 还没覆盖,还是这个场景根本不该被当成纯知识问题。

Coverage Gap Heatmap 的价值,就在于把“答不好”拆回具体缺口类型。它逼团队停止用一个总成功率去安慰自己,而开始按问题簇、证据来源、运行路径和失败原因去看热区。只有这样,后续补洞才不是继续堆资料,而是知道应该补 source、补 tool、补 router,还是补人工接管。

建议配合 AI agent Retrieval Policy RouterAI agent Knowledge Source Onboarding ContractAI agent Build Eval Dataset From Real User QuestionsAI agent Benchmark Suite 一起看。

先给结论:不要只看“哪些问题答错了”,更要看“它到底缺哪一层能力”

缺口类型典型现象继续补文档会不会解决
no-knowledge根本找不到可用来源通常会
stale-knowledge找到了,但知识明显过期只有补 freshness,不是单纯加文档
live-state-needed知识解释得通,但当前事实必须查系统不会,应该补工具或路由
canonical-gap多来源都在,但术语和状态口径不统一不会,应该补 canonical registry
ask-first-gap问题本身约束不足,系统不该先答不会,应该补追问和路由策略

这张表的重要性在于,它迫使团队承认“答不好”不是一个单一故障类。只要平台还把所有失败都归因于“知识库不够大”,它就会持续在错误层上努力,最后又惊讶于为什么文档越来越多,问题却没有按同样的速度下降。

Heatmap 最值钱的不是可视化,而是横轴和纵轴的选择

一个实用的 coverage heatmap,最少应该同时看两个维度:

  • 横轴:问题簇或业务任务簇,例如报价、审批、履约、售后、政策解释。
  • 纵轴:失败原因分类,例如 no-knowledge、stale、live-state-needed、authority-blocked、router-misfire、tool-missing。

这样一来,团队看到的就不再是一堆平均后的错误率,而是一张非常直观的地图:到底是哪类问题总在缺知识,哪类问题明明一直在知识命中却仍然答不稳,哪类问题其实根本就不该继续往 Knowledge Plane 里塞材料。

热点识别一定要和真实问题样本绑定,而不是只看内部构造题

很多团队做 coverage gap 时还是沿用离线评测老习惯:自己造一些标准题,看看哪些过不了。这对上线前有用,但用来做长期 gap 热图远远不够。真正高价值的热图,应该优先吃真实用户问题和真实失败 run。因为只有这些样本,才会持续暴露出:用户到底问了什么、系统走了哪条路径、最后为什么没站住。

一个更有价值的输入结构通常包括:

字段为什么需要
questionCluster看失败是集中在某一类意图,还是分散
routeTaken知道这次是先检索、先工具、先追问还是先人工
evidenceStatus根本没找到、找到了但 stale、找到了但越权、找到了但冲突
finalOutcome是错答、拒答、转人工太慢,还是 tool fallback 失败

只有把这些字段放在一起,热图才有资格指导“下一步补哪里”。否则它最多只能告诉你系统最近不稳定,却无法告诉你应该优先做哪种修复。

最容易被忽略的一类 gap:系统其实不缺知识,而是缺 live tool 或缺正确路由

知识平面越成熟,团队越容易把一切问题都往知识侧归因。因为知识看得见,也最容易快速补。可现实里很多高频问题,本来就不属于纯知识问答。比如“这个订单现在能不能今天发出”“这个客户的额度还有没有剩余”“这笔申请当前卡在哪一步”。这些问题当然可以用知识解释流程,但能不能回答、能不能答对,本质依赖 live state。

如果 heatmap 不单独识别 live-state-needed 这类缺口,团队就会持续往 SOP 和 FAQ 里补资料,最后得到一堆能解释一般规则却答不对当前事实的内容。这会让系统呈现出一种很危险的假成熟:话说得越来越像样,实际却越来越偏离用户真正要的那个“现在到底怎样”。

失败案例:团队连续补了两百条 FAQ,最后才发现订单 ETA 问题真正缺的是发货链路工具

某团队的物流 agent 长期在“什么时候能发货”这类问题上表现很差。知识库团队非常努力,补了仓库 SOP、FAQ、节假日说明、超区处理规则,答案语言质量确实提升了,投诉却没明显下降。后来他们第一次把失败 run 拉成 heatmap,才发现绝大多数样本并不是 no-knowledge,而是 live-state-needed:系统明明能解释通用流程,却根本拿不到当前订单、仓位和承运状态。

也就是说,团队一直在用“补知识”修一个“缺工具”的问题。修正方向一变,事情就清楚了:对 ETA 类问题,router 先走 live tool,知识库只负责解释规则和例外;同时把“缺实时状态”单独作为 gap 类别纳入周度复盘。那之后,知识库工作量反而下降了,但问题关闭速度更快,因为团队终于不再在错误层上用力。

Heatmap 真正应该驱动的是补洞队列,而不是又一轮泛化内容生产

一个成熟的 gap heatmap 最后不该停在面板,它应该能把热区自动转成下一步动作。例如:

热区类型更合理的动作
no-knowledge 高补 source onboarding、补 canonical 内容
stale 高提升 freshness tier、调整同步策略
authority-blocked 高补 ACL projection 或拆分 source scope
live-state-needed 高补工具或调整 router
ask-first-gap 高补约束追问和任务单结构

当热图能这样落到动作层,团队才会从“看见问题”进入“知道应该由谁补、补哪一层”。否则它只是另一张会让大家在周会上点点头的漂亮报表。

如果你现在只能先补一层,先把失败 run 分成“缺知识”和“非知识缺口”两大类

不用一开始就做很完整的 taxonomy。最值得先补的是那个最容易改变团队方向的粗分法:哪些失败是真缺知识,哪些不是。因为只要这件事还没分清,平台就会继续默认所有失败都应该交给内容团队和知识库团队处理,而这恰恰是最昂贵的误判之一。

Knowledge Plane 成熟之后,真正强的团队不是补知识最快的团队,而是最早学会“不是什么都该补知识”的团队。Coverage Gap Heatmap 做对了,这种判断力才会开始出现在系统里,而不是只存在某几个经验丰富的人脑子里。

Checklist

  • 失败样本是否至少区分 no-knowledge 与非知识缺口两大类
  • heatmap 是否同时按问题簇和失败原因分类,而不是只看总错答率
  • 是否优先使用真实用户问题和真实失败 run,而不是只靠内部构造题
  • 是否单独识别 live-state-needed、canonical-gap 和 ask-first-gap 这类非知识问题
  • 热区是否能直接转成 source、tool、router 或 ACL 的补洞动作
  • 周度复盘是否已经用 gap 热图替代“继续多补一点文档”的泛化讨论

延伸阅读: