站内精选

一句话结论

把客服问答、素材检索、数据查询放进同一个智能体,成败点是意图路由,以及每类意图各自的检索边界和兜底话术。

这篇解决什么问题

一个智能体什么都能聊,看着省事,实际最容易出问题的是互相污染:素材库里的图片描述被当成客服答案引出来,数据口径被客服话术盖掉。

适用的情况是,你已经分别搭过单场景的问答或检索,现在想把三个入口收成一个。不适用的情况是,三类需求本来就共用同一份文档,或者你只需要一个关键词搜索框。

开始前要准备什么

  • 扣子账号:个人版免费额度够做日常验证,调用量大再评估资源包
  • 三类原始材料:客服问答条目、素材清单、数据口径说明
  • 素材清单要带文件名和一句话描述,检索后才能回显链接
  • 一份测试问法:三类意图各写几条,其中留一部分模糊提问
  • 预计耗时:首轮跑通大约两小时,调优另算

具体怎么做

第 1 步 · 列意图清单和边界

别急着连知识库。先把三类需求各拆出两到四个子意图,同时写下你明确不接的问题,比如合同条款、账号密码重置这类。

你是意图分类器,只输出 JSON,不要解释。
可选意图:
1. faq:产品功能、使用方法、常见故障
2. asset:找素材、要图片或封面、要文案模板
3. data:查指标、要数字、要趋势
4. human:投诉、退款、账号异常、要求真人
5. unknown:以上都不属于
判定顺序:human 优先于 data,data 优先于 asset,asset 优先于 faq。
用户消息:{{query}}
输出:{“intent”:””,”confidence”:0.0-1.0,”slots”:{},”reason”:”20字内”}

预期产出:一份意图枚举表,每个意图配两三个真实问法当例子,后面所有步骤都以它为准。

第 2 步 · 三份知识源分开整理

我早先把客服话术和素材描述塞进同一个知识库,检索结果经常互相串,素材条目会盖过客服条目。分开之后命中情况明显稳了。

你是知识库整理助手。我给你一批原始材料,按下面规则改写成独立条目,一条只讲一件事。
每条格式:
【标题】不超过 20 字
【正文】2 到 4 句
【适用场景】一句话
【例外】一句话
要求:
1. 不同主题不要合并成一条
2. 原文里的数字、时效、权限表述原样保留,不要换算
3. 不要补充我没写过的信息
原始材料:
(把你的素材粘贴在这里)

预期产出:三份互不重叠的条目列表,分别导入对应知识库或数据表。

第 3 步 · 路由层只做分发

主智能体只干一件事:判断意图,把用户原话转给对应流程。它不该组织任何业务语言,一旦开始解释就容易绕过分发。

你是总调度,不直接回答用户问题。
流程:
1. 判断意图,范围是 faq、asset、data、human、unknown
2. 按意图调用对应工作流:faq 走客服问答,asset 走素材检索,data 走数据查询
3. 调用前把用户原话和已识别槽位一起传过去,不要复述改写
4. confidence 低于 0.6 时先反问一句澄清,不要猜
5. human 直接转人工,其余情况一律不要自己编答案
输出:{“route”:””,”payload”:{},”fallback”:””}

预期产出:一个只负责判断和转发的主智能体,它的回复里看不到具体业务内容。

第 4 步 · 客服问答和素材共用应答层

这两件事本质是同一种活:先检索再组织输出。差别只在回显格式,一个给处置动作,一个给链接。

你是检索应答助手,按当前意图选择输出格式。
如果是 faq:
1. 只依据检索条目回答,检索不到就说“这条我没查到,帮你转人工”,不要推测
2. 三句以内,先结论后操作
3. 涉及金额、时效、权限的内容原样引用,不要改写
4. 末尾加一行“依据:条目编号”
如果是 asset:
1. 最多返回 3 条,按匹配度排序,每条含名称、一句话说明、链接
2. 匹配度低于 0.7 的结果不要给,直接说没找到合适的,建议换关键词
3. 不生成图片链接,不修改素材名称
用户问题:{{query}}
当前意图:{{intent}}
检索结果:{{retrieved}}
输出:{“intent”:””,”answer”:””,”items”:[{“name”:””,”desc”:””,”url”:””}],”need_human”:false}

预期产出:两条独立应答路径,客服给结论加操作,素材给名称加链接。

第 5 步 · 数据查询先对口径

数据类问题答错,八成不是模型的问题,是问题的说法和表里的字段名对不上。所以这一步的重点是“先确认口径,再出数”。

你是数据查询助手,不负责猜数。
输入:用户问题 {{query}},可用指标清单 {{metrics}},查询结果 {{result}}
流程:
1. 判断问题里的指标名、时间范围、维度,缺哪个就只问哪一个,不要一次问三个
2. 指标名和清单对不上时,把清单里最接近的两个念给用户确认,不要自己选
3. 拿到数据后,先用一句话给结论,再补口径,也就是统计范围加时间
4. 数据为空、超时或口径冲突,直接说明原因,不要用“大概”“约等于”补位
输出:{“metric”:””,”range”:””,”dimension”:””,”conclusion”:””,”caveat”:””}

预期产出:一份把自然语言问题转成查询参数的结构化输出,外加一句带口径的结论。

第 6 步 · 兜底和回归测试

三类需求合在一起,最怕的是边界情况没人管。上线前先造一批测试消息,比反复改提示词有用得多。

你是一名测试用户,针对下面这个智能体生成 20 条测试消息。
覆盖比例:faq 6 条、asset 5 条、data 5 条、边界与无效输入 4 条。
要求:
1. 至少 3 条故意写得含糊或带错别字
2. 至少 2 条同时涉及两类需求
3. 至少 1 条带情绪,明确要求转人工
4. 每条后面给出你期望的意图标签和一句及格线标准
智能体能力范围:
(粘贴你的意图清单)

预期产出:一份可以按顺序跑完的测试清单,跑完就知道哪一类路由最不稳。

实测记录

项目 实际情况
首轮跑通 大约两小时,其中一半时间花在整理素材描述
资源消耗 个人版免费额度内可完成验证,调用量大需评估资源包
和手工比 三类问题混着来时,人工切换平均一到两分钟一条,这里首答多在十秒内
返工情况 知识库合并过一次,后来重拆,多花近一小时
稳定性 含糊提问占比最高,通常要一轮测试才能压下去

最容易错的 3 个地方

  1. 三个知识库合成一个:素材描述会盖过客服条目,按意图分开建库
  2. 主智能体自己开口回答:它一解释就绕过分发,提示词里只留路由
  3. 数据查询容忍模糊:口径不明确就反问,拿不到数据就直说

可复用的东西

把这六段提示词按顺序存成一个文件:意图分类、知识库整理、路由分发、检索应答、数据查询、测试生成。前两段换掉业务词就能复用,后四段基本不用动。

真正花时间的从来不是搭,而是想清楚“这段素材归哪一类、这个问题该走哪条路”。想清楚了,一个下午通常能搭出可用的版本。

你手上那个智能体,最容易串味的是哪两类问题?

FAQ:Q1:三个知识库一定要分开建吗?
A1:建议分开。合并之后检索是“谁匹配度高谁上”,素材描述通常写得更长更具体,很容易压过客服条目。
Q2:搭这样一个智能体大概要多久?
A2:首轮跑通大约两小时,一半时间在整理素材描述。跑完测试再微调路由和兜底话术,通常还要一到两轮。
Q3:三件事里哪类最容易答错?
A3:数据查询。用户口头说的指标别名和表里的字段名常对不上,所以“先对口径”这一步比换模型更重要。
Q4:什么阶段的人适合做这个?
A4:已经单独搭过客服问答或素材检索其中一种,且三类需求的数据源互不重叠时,收益比较明显。

发表回复

后才能评论