扣子智能体需在用户问“订单多久能发货”时精准返回“48小时内发出”的faq,须通过调试窗口验证原始召回质量,再经chunk切分优化、embedding模型适配、元数据过滤三步调优,并用eval工具量化命中率。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

你需要让扣子智能体在用户问“订单多久能发货”时,精准返回知识库中那条写明“48小时内发出”的FAQ,而不是泛泛而谈“我们会尽快处理”,更不能跳过知识库直接调用LLM胡编——这要求你对FAQ命中率做真实、可量化的调优与评测,而不是凭感觉改几个关键词就上线。
验证知识库是否真正生效
打开扣子后台 → 进入「知识库」→ 点击目标知识库右侧「调试」按钮 → 在输入框里粘贴一句典型用户问法,比如“我的货什么时候发”。
观察右侧返回结果:如果显示“未匹配到任何知识片段”,说明知识库根本没被触发;如果返回了3条不相关的FAQ,说明召回太宽;如果只返回1条但内容明显答非所问(比如返回的是“如何退货”),说明语义对齐失败。这三类问题必须先定位,否则后续所有调优都是空转。
注意:调试窗口的匹配结果【不经过LLM重排】,它展示的是原始向量检索Top-5,是你判断底层召回质量的唯一可信依据。
提升FAQ命中率的三个关键动作
第一步:检查Chunk切分逻辑是否破坏语义完整性
导出当前知识库所有Chunk(在知识库详情页点击「导出片段」),逐条查看。重点排查:FAQ原文“发货时效:48小时内发出,节假日顺延”是否被切成两段——前半句在Chunk A,后半句在Chunk B。一旦切分点落在冒号或逗号后,模型就无法把“48小时内发出”当作一个完整意图单元识别。
第二步:确认Embedding模型与业务术语对齐
进入「知识库设置」→「嵌入模型」,当前默认是text-embedding-ada-002。如果你的知识库大量使用行业黑话(如“T+2发货”“SOP时效”),这个通用模型很可能把“T+2”向量化成和“两天”距离很远。此时应切换为sentence-transformers/paraphrase-multilingual-MiniLM-L12-v2,并在上传文档前用正则批量替换“T+2”→“两个工作日内”。
第三步:强制绑定关键字段到向量检索权重
在知识库每条FAQ的元数据中,手动添加字段"intent_tag":"shipping_time"。然后在工作流的「知识检索节点」配置里,勾选「启用元数据过滤」,填写filter: {"intent_tag": "shipping_time"}。这能让系统在向量相似度基础上,优先召回带该标签的片段,避免被“客服电话”“退换货政策”等高频但无关的FAQ挤掉位置。
用Eval工具跑真实命中率测试
方法一:基础命中率统计
准备CSV测试集,至少包含20条真实用户问法,input列写“发货要几天”“多久能收到货”“下单后什么时候发”,expected_output列严格写对应FAQ原文中的标准回答句,比如“48小时内发出,节假日顺延”。上传至「评测中心」→「对话评测」→ 运行单次测试 → 查看match列中True占比,这就是你的基础命中率。
方法二:对比不同切分策略效果
新建两个知识库:A库用512 token固定切分,B库用按标点递归切分(保留问答对完整结构)。分别绑定同一Bot,再用同一份CSV跑两次Eval。如果B库命中率比A库高15%以上,说明切分方式就是瓶颈,立刻切换。
方法三:注入上下文变量验证泛化能力
勾选「启用变量注入」,填入{"user_tier":"vip"}。观察当用户身份变化时,是否仍能命中“VIP客户享24小时加急发货”这条FAQ。如果普通用户能命中、VIP用户反而命中失败,说明你的知识片段缺少tier维度元数据,或LLM在重排阶段把VIP专属答案压到了Top-5之外。
现场修复一条低命中FAQ
从Eval报告中找出一条match=False的case,比如input=“快递一般几天到”,expected_output=“江浙沪皖24小时达,其他地区48–72小时”。
① 登录知识库 → 找到这条FAQ原文 → 点击编辑 → 在末尾手动追加一行:“同义问法:快递几天能到?大概多久收到?多久可以送达?”
② 保存后,回到调试窗口重新输入“快递一般几天到”,确认是否命中。
③ 如果仍未命中,导出该FAQ生成的Chunk,检查是否因含大量HTML标签或空格导致向量化失真——删掉所有
、 、多余换行,只保留纯文本,重新上传。
④ 最后一步:在工作流中找到知识检索节点 → 将Top-K从3改为5 → 勾选「启用LLM重排」→ 保存并发布。











