十二句话测意图识别:判对十句,错的两句都是同义说法没进关键词表。 整链测看的不是「判成什么」,是「判成之后走到哪儿」。判错不会崩,会走兜底。 测试面板里最该看的一栏,是意图识别吐的那个类名。
这一节拆成两步:先单独测意图识别,再整链测。顺序和第 9.8 节讲过的一样——先便宜的后贵的。 带分支的图测试方法不太一样:分支越多,「每条路都走到」的成本越高。这一节讲怎么少测但不漏。 发布那一段和第 11.4 节完全一样,这里只提一句不重复。
一、十二句,判对十句
| 说错的两句 | 该判 | 判成 | 为什么错 |
|---|---|---|---|
| 这款吹风机打个折,做张主图 | 产品 | 未识别 | 表里写「折扣」,用户说「打个折」 |
| 急招设计,会 PS 就行 | 招聘 | 未识别 | 表里写「招人」「招个」,用户说「急招」 |
两句错的是同一个原因:关键词表认识你写过的说法,认不出你没写过的。 这不是关键词表「不够好」,是它的固有形状。补词只能补已知的,未知的永远补不完。 所以测意图识别的重点不是「准确率多少」,是「错的时候会怎样」。下面整链测回答的就是这个。
二、错的那两句怎么修
| 修法 | 效果 | 代价 |
|---|---|---|
| 补关键词:加「打个折」「急招」 | 这两句对了 | 下次来「诚聘」又错 |
| 换成大模型判 | 同义说法都能覆盖 | 多一次调用,要写提示词 |
| 两段式:关键词先判,判不出再问模型 | 常见说法不花模型钱 | 多一条支路 |
书上用的是第二种:意图识别节点直接挂大模型。这一章演示用关键词表,是因为沙箱里没有模型。 但结论一样:同义说法永远补不完。 判断标准很简单:错的代价是什么。 如果代价是「出一张风马牛不相及的海报」,那就上模型; 如果只是「多问一句」,关键词表够用。 演示里错的两句都走了兜底,用户被多问一句——代价很小。所以这个场景用关键词表其实够。
三、整链测:看走到哪儿
整链测和单节点测的区别:单节点只看「判成什么」,整链看「判成之后走到哪儿」。 演示里十二句一起跑,十句走到对应分支,两句走到兜底。没有一句把链跑崩。 这就是兜底支路的价值:判错不会崩,只是多问一句。
反过来说,如果没有兜底,那两句会整条链空转,用户拿到一片空白,还得回来报错。 所以带分支的图,测试清单里必须有一条:「所有分支都不匹配时,会怎样」。
四、分支多怎么少测
三条分支,每条至少测一句。三类各测一句,就是三句。 再加两句兜底(一句是「有点像但判不出」,一句是「压根不是」)——五句。 不用每条分支测十句。 分支里的提示词改一次测一句就行,改的是模板不是逻辑。
真正要测十句往上的只有意图识别那个节点,因为它才是判断逻辑所在。 这个分配的原则:测逻辑要密,测模板要疏。
五、发布前后
| 状态 | 能干什么 | 还差什么 |
|---|---|---|
| 草稿 | 只有测试面板能跑 | 智能体看不见 |
| 已发布 | 有了可调用版本 | 还要添加到智能体 |
和 11.4 节完全一样,不重复讲。只说一句:发布是按钮,添加是配置,两件事都得做。
六、测试面板里最该看的一栏
意图识别节点的输出。它吐的那个类名,决定后面四条边哪条活。 类名错了,后面全错。而且它不报错——链照跑,只是走错了支路。 这类「静默走错」比报错难查十倍。 报错你立刻知道;走错了,你得先看出图不对,再回头翻日志。
所以改完意图识别,第一件事就是回测试面板看它吐什么。养成这个习惯,能省很多时间。
七、动手 Demo:先单独测意图,再整链测
十二句话测意图识别,数准确率、看错在哪;再整链跑一遍,看错的两句走到哪儿。 最后比较三种修法的代价。
CASES = [(u'新品上市,主推保温杯', u'产品'), (u'周六店庆,全场五折', u'活动'),
(u'招个美工,月薪八千', u'招聘'), ...]
for s, want in CASES:
got = kind_of(s)
ok = (got == want)
实跑输出:
--------------------------------------------------------------------
先单独测意图,再整链测
--------------------------------------------------------------------
① 十二句,四类各四句
--------------------------------------------------------------------
| 输入 | 该判 | 判成 | 对不对 |
|---|---|---|---|
| 新品上市,主推保温杯,卖点是一体成型 | 产品 | 产品 | 对 |
| 这款吹风机打个折,做张主图 | 产品 | 未识别 | 错 |
| 秋冬新品到店,价格 199 | 产品 | 产品 | 对 |
| 我们上新了一款台灯 | 产品 | 产品 | 对 |
| 周六店庆,全场五折 | 活动 | 活动 | 对 |
| 开业大酬宾,满减活动 | 活动 | 活动 | 对 |
| 双十一抽奖,力度拉满 | 活动 | 活动 | 对 |
| 十周年庆,请了乐队 | 活动 | 活动 | 对 |
| 招个美工,月薪八千 | 招聘 | 招聘 | 对 |
| 招聘运营,简历发我 | 招聘 | 招聘 | 对 |
| 急招设计,会 PS 就行 | 招聘 | 未识别 | 错 |
| 这个岗位薪资多少 | 招聘 | 招聘 | 对 |
十二句判对 10 句。错的两句是「这款吹风机打个折」和「急招设计」。
前者用的是「打个折」,表里写的是「折扣」;后者用的是「急招」,表里只有「招人」「招个」。
两句错的是同一个原因:关键词表认识你写过的说法,认不出你没写过的。
② 错的那句怎么修
--------------------------------------------------------------------
| 修法 | 效果 | 代价 |
|---|---|---|
| 补关键词:加「急招」 | 这一句对了 | 下次来「诚聘」又错 |
| 换成大模型判 | 同义说法都能覆盖 | 多一次调用,还要写提示词 |
| 两段式:关键词先判,判不出再问模型 | 常见说法不花模型钱 | 多一条支路 |
书上用的是第二种:意图识别节点直接挂大模型。
这一章演示用关键词表,是因为沙箱里没有模型——但结论一样:同义说法永远补不完。
! 判断标准:如果错的代价是「出一张风马牛不相及的海报」,那就上模型。
如果只是「多问一句」,关键词表够用。
③ 整链测:三条路各走一遍
--------------------------------------------------------------------
| 输入 | 意图 | 分支 |
|---|---|---|
| 新品上市,主推保温杯,卖点是一体成型 | 产品 | 跑了 |
| 这款吹风机打个折,做张主图 | 未识别 | 走兜底 |
| 秋冬新品到店,价格 199 | 产品 | 跑了 |
| 我们上新了一款台灯 | 产品 | 跑了 |
| 周六店庆,全场五折 | 活动 | 跑了 |
| 开业大酬宾,满减活动 | 活动 | 跑了 |
| 双十一抽奖,力度拉满 | 活动 | 跑了 |
| 十周年庆,请了乐队 | 活动 | 跑了 |
| 招个美工,月薪八千 | 招聘 | 跑了 |
| 招聘运营,简历发我 | 招聘 | 跑了 |
| 急招设计,会 PS 就行 | 未识别 | 走兜底 |
| 这个岗位薪资多少 | 招聘 | 跑了 |
整链测和单节点测的区别:单节点只看「判成什么」,整链看「判成之后走到哪儿」。
演示里三类的第一句都走到对应分支,第四句「急招设计」走到兜底——判错不会崩,只是多问一句。
这是兜底支路的价值。
④ 发布前后
--------------------------------------------------------------------
| 状态 | 能干什么 | 还差什么 |
|---|---|---|
| 草稿 | 只有测试面板能跑 | 智能体看不见 |
| 已发布 | 有了可调用版本 | 还要添加到智能体 |
和 11.4 节完全一样。这一章不重复讲了,只说一句:发布是按钮,添加是配置,两件事都得做。
⑤ 测试面板里最该看的一栏
--------------------------------------------------------------------
意图识别节点的输出。它吐的那个类名,决定了后面三条分支哪条活。
类名错了,后面全错。而且它不报错——链照跑,只是走错了支路。
所以每次改完意图识别,第一件事就是回测试面板看它吐什么。
①第一张表十二句:十句对,两句错——「打个折」和「急招」。 ②两句错的原因一样:同义说法没进关键词表。这是关键词表的固有形状。 ③第二张表三种修法:补词、换模型、两段式,各的代价。 ④第三张表十二句整链跑:十句走对应分支,两句走兜底,没有一句跑崩。 ⑤最后一段:类名错了不报错,只是走错支路。这类「静默走错」最难查。
30 秒实验
- 收集二十句真实用户说法,人工标一遍类型,再让你的意图识别跑一遍,数错几句。
- 把那二十句里错的说法补进关键词表,再跑一遍。看这次能到几句,还会漏哪种。
- 故意造一句「所有分支都不匹配」的话,看你的链是空转还是走兜底。
常见误区
- 「准确率九成就能上线。」要看错的时候会怎样。走兜底是多问一句,空转是用户拿到空白。
- 「每条分支都测十句。」逻辑要密测(意图识别),模板要疏测(分支提示词)。
- 「类名错了会报错。」不报错。链照跑,只是走错支路。得回测试面板看。
自测三问(点开对答案)
1. 为什么关键词表永远补不完? —— 它只认写过的说法。同义说法无穷无尽,补词只能补已知的。 2. 整链测和单节点测差在哪? —— 单节点看判成什么,整链看判成之后走到哪儿——会不会空转、会不会走错支路。 3. 分支多怎么少测? —— 每条分支至少一句,再加两句兜底。测逻辑要密,测模板要疏。测完发布,下一节把它挂到智能体上,再教它怎么改稿。
- ☐ (本篇完,下一篇 12.5 工作流集成与智能体完善)
相关笔记
- 工作流测试与发布:上一章的测试与发布
- 完整工作流测试:整链测试怎么排错
- 构建海报生成工作流:三条分支怎么画
- 🐦 扣子开发 AI Agent · 索引