作者丨正在学AI的小泉同学
上一篇我们讲了,Prompt 可以把用户自然语言转成结构化意图。
但一个真正的客服系统,只做这一步还不够。
因为用户不是只问一句话。
真实对话通常是多轮的。
比如:
用户:有什么 100G 以上的套餐?
客服:我们有畅游套餐和无限套餐,您有什么价格倾向吗?
用户:哪个便宜?
这里的“哪个便宜”,单独看是看不懂的。
它依赖上一轮上下文。
这时候,就需要对话状态管理。
一个对话系统,通常有 4 个关键模块
可以先记住这条链路:
NLU → DST → Policy → NLG
听起来有点技术。
我们翻译成人话。
NLU:理解用户这句话是什么意思。
DST:记住前面聊到哪了。
Policy:决定下一步该做什么。
NLG:把系统决策说成人话。
比如用户说:
200 元以内,流量大的套餐有吗?
NLU 识别出:
价格小于等于 200。
按流量降序排序。
DST 记录这个状态。
Policy 去数据库里找符合条件的套餐。
NLG 回复用户:
推荐畅游套餐,每月 180 元,包含 100G 流量。
DST 的作用:不要让 AI 每轮都失忆
多轮对话最大的难点,是上下文。
用户第二轮说“太贵了”。
他不是凭空说太贵。
他是在接着上一轮的推荐讲。
所以系统要记住:
上一轮推荐了什么。
用户之前提过什么条件。
当前筛选状态是什么。
这就是 DST。
对话状态跟踪。
可以理解为客服的“记事本”。
没有它,AI 每一轮都像刚进群的人。
有了它,AI 才能接得住上下文。
什么时候用 Prompt,什么时候用传统方法?
这里有一个很实际的判断。
你可以用 Prompt 实现 DST。
也可以用 Prompt 做 NLU,然后用传统代码维护 DST。
两种都可以。
用 Prompt 实现 DST,开发快,但调优复杂。
用传统方法维护 DST,更可控,但需要设计状态更新规则。
比如:
用户直接指定套餐名称,就清空之前条件。
用户要求按价格排序,如果之前有精确价格匹配,就要处理冲突。
用户说“算了,要最便宜的”,就要覆盖之前的排序状态。
这类规则,传统代码可能更稳。
所以别迷信“全都交给 AI”。
成熟的 AI 产品,不是 AI 单独表演。
而是 AI 和传统系统配合。
加入垂直知识,话术才像专业客服
如果只让 AI 自由回答,它可能会说得很泛。
所以要给它垂直知识。
比如套餐信息:
经济套餐,50 元,10G。
畅游套餐,180 元,100G。
无限套餐,300 元,1000G。
校园套餐,150 元,200G,仅限在校生。
再加统一口径:
遇到用户说“太贵了”,回答:亲,我们都是全省统一价哦。
这就不是普通聊天机器人了。
它开始有业务知识、有服务口径、有品牌语气。
这一步很关键。
很多 AI 客服翻车,不是因为不会说话。
而是因为没有统一口径。
客服场景里,自由发挥是风险。
专业稳定才是价值。
用 Prompt 搭系统,最重要的是“可控”
AI 产品不是让模型随便回答。
而是让模型在业务边界里回答。
所以我们需要:
结构化输入。
结构化输出。
明确规则。
垂直知识。
统一口径。
错误兜底。
这套东西搭起来以后,一个智能客服系统的基本骨架就有了。
它不只是聊天。
它能理解、记忆、查询、推荐、回复。
这才叫进入业务流。
结尾行动清单
做 AI 客服,可以按这个顺序搭:
1.先用 Prompt 做 NLU,识别用户意图。
2.用 DST 维护多轮对话状态。
3.用数据库检索真实产品。
4.用 Prompt 生成自然语言回复。
5.加入统一口径和业务边界。
6.持续测试用户真实问题。
别一上来就追求“大而全”。
先把一条小链路跑通。
AI 产品最怕的不是简单。
是看起来很智能,实际不可控。

