客服知识库刚替换产品说明、退款规则或售后流程,上线前可以直接用 ZGI 做一轮批量验收:打开目标知识库的"召回测试",进入"批量测试",导入真实工单问题,选好检索方式后开始测试,再按每道题的 TOP-1 来源、相似度和切片内容逐项处理。
这轮验收只回答一个问题:资料更新后,客服 Agent 还能否把常见问法送到正确的新资料。先不改 Prompt,也不急着看最终回复;检索层没有找到正确切片,生成层写得再流畅,也可能引用旧内容或拼出错误答案。

概念示意图:客服知识库更新后,在 ZGI 中完成批量验收的五个操作。
操作一:把真实工单整理成问题表
先从近期客服工单中选 30 条问题。可以安排 12 条高频问法、10 条本次资料更新直接影响的问题、5 条简称或口语问法,再放 3 条知识库没有答案的问题。这个比例用于快速起步,后续应按真实失败记录调整。
CSV 只需一列,表头写 question,每行放一道用户原话。删掉姓名、电话、订单号等个人信息,同时保留错别字、简称和不完整表达,因为这些细节正是客服知识库容易失手的地方。若知识库开启了预生成问答,也可以在页面随机抽取 10、30、50 或 100 题,但真实工单仍应作为主测试集。
另建一份本地验收表,为每道题记录编号、问题来源、预期文件、必须出现的关键点和本次资料版本。这些字段无需导入 ZGI,却能帮助复核人判断命中结果;如果连预期依据都写不清,测试结束后也很难区分资料缺失、问法含糊和检索错误。
操作二:在 ZGI 跑同一组问题
打开目标知识库,在"召回测试"页点击"批量测试"。页面支持混合检索;图检索只有在知识图谱已经启用并完成准备后才可选择。点击"批量导入问题"上传 CSV,先在问题列表中删除重复项,再点击"开始测试"。
批量测试会沿用当前知识库的 TopK、分数阈值和重排配置,所以这些参数要在运行前固定。测试过程中,左侧能看到每道题的执行状态,点开已完成问题,右侧会展示命中的一级切片、二级切片和耗时。这里先确认返回内容来自哪段资料,不用凭一个总分猜对错。
操作三:按结果决定改哪里
完成后进入"批量召回测试报告"。报告会列出测试问题总数、页面标注的"召回成功率"、平均响应时间和预生成问题匹配贡献率;详细列表还会给出每题的 TOP-1 召回方式、相似度、来源文件和"查看详情"入口。
| 看到的结果 | 更可能的问题 | 下一步动作 |
|---|---|---|
| 没有返回记录 | 文档未完成索引、内容缺失或阈值过高 | 检查文档状态与检索设置 |
| TOP-1 来自旧文件 | 新旧版本同时参与检索 | 处理旧文件,再重建索引 |
| 文件正确,切片答不完整 | 切分边界不合适 | 调整切分并重新索引 |
| 切片正确,Agent 仍答错 | 问题已进入生成链路 | 转到 Agent 批量测试检查 Prompt 与工具 |
相似度适合帮助排序,不能单独充当"答案正确"的判定线。客服负责人仍要点开高风险问题,核对命中切片能否直接支持回答;知识库里根本没有答案的问题,应看到空结果或明确的无答案处理,不能接受相近资料硬凑结论。
处理失败项时,每轮只改一类变量。可以先补资料或停用旧版本,再调整切分,最后才动 TopK、阈值和重排;每次修改后保存配置说明与测试记录。若一轮同时更换文档、切分和检索参数,即使结果变好,也无法知道是哪一步起了作用。
技术内核:先看非空,再看相关
ZGI 会把这批问题拆成逐题任务,保存每道题的状态、返回记录和耗时。当前报告中的"召回成功率"按"已完成问题是否至少返回一条记录"计算,更准确的读法是非空结果率;它不能替代 Recall@K,也不能证明 TOP-1 与问题相关。
修复后点击"重新测试",系统会复用原问题生成新结果;需要留档时,可保存测试记录并导出报告。今天先拿刚更新资料对应的 30 条工单跑一轮,只要能指出哪道题命中了哪份文件、哪段切片,以及下一步该改数据还是改检索,这次验收就已经能支持上线判断。
GitHub:github.com/zgiai/zgi
Gitee:gitee.com/zgiai/zgi