识礼小记里的话术推荐不是让模型凭空给建议,而是把可维护的话术素材、场景标签、对话阶段和用户当前表达组织成一条可解释的检索链路。RAG 在这里的价值,是让建议更贴近产品预设策略,也让推荐失败时有清楚的 fallback 边界。
为什么不用纯生成
沟通练习的建议如果完全依赖模型即兴生成,短期看很灵活,长期会遇到一致性和可运营问题。同一个场景下,产品希望推荐的表达策略应当相对稳定,后台也需要能持续补充和修订话术素材。
因此我把话术推荐拆成“先召回、再排序、必要时重排、最后降级”的链路。模型可以参与理解和重排,但基础候选来自可维护知识库,系统也能解释为什么推荐这些话术。
- • 话术素材由场景、阶段、标签、关键词和正文组成。
- • 检索条件来自当前练习场景、用户目标和最近几轮对话。
- • 推荐结果保留召回依据,方便后续复盘和补充素材。
召回:先把范围收窄
第一步不是做复杂排序,而是把明显不相关的候选排除掉。场景和阶段负责确定大范围,例如破冰、表达诉求、回应质疑、结束对话;标签和关键词负责捕捉当前语境,例如道歉、拒绝、边界感、解释原因。
这样做的好处是稳定。即使模型服务不可用,系统仍能根据结构化字段召回一批候选话术;如果召回数量不足,也能明确记录是场景素材不足、关键词未命中,还是阶段字段缺失。
- • 场景过滤保证推荐不跳出当前练习任务。
- • 阶段过滤让建议贴近对话进程,而不是泛泛给模板。
- • 标签和关键词让召回原因更容易被后台维护者理解。
排序:让可解释规则先工作
召回之后,我优先使用关键词命中、标签重合、阶段匹配和素材权重做基础排序。这个排序不追求一次到位,而是先把明显更合适的候选推到前面,保证推荐结果在没有模型重排时也可用。
规则排序的价值在于可调试。当用户觉得推荐不贴合时,可以回看命中的标签、关键词和排序权重,而不是只得到一个无法解释的模型输出。
- • 关键词命中用于捕捉用户当前表达中的具体问题。
- • 标签重合用于保证话术策略和场景目标一致。
- • 权重字段给高质量、通用性强的话术更多展示机会。
模型重排:只做增强,不做唯一依赖
当候选足够多且模型可用时,可以把候选话术、当前场景和最近对话交给模型做重排。这里模型更像一个语义判断器:它不负责凭空编写整套建议,而是在已有候选中挑出更适合当前语境的表达。
这个边界很重要。模型重排可以提高语义贴合度,但不能让系统丢掉可维护素材和降级能力。一旦模型超时或输出不合规,推荐链路会回到规则排序结果。
fallback 和日志是产品能力的一部分
推荐失败并不只是技术异常。素材不足、标签缺失、场景太窄、用户输入太短,都可能导致召回质量下降。系统需要把这些原因记录下来,后续才能知道应该补充哪类话术,而不是盲目调 Prompt。
因此链路会记录召回数、命中数、排序结果和 fallback 原因。对用户侧来说,降级文案要保持诚实;对维护侧来说,日志要能指向可改进的素材和规则。
- • 召回为空时,提示当前场景素材仍需补充。
- • 模型重排失败时,回退到规则排序结果。
- • 命中与 fallback 记录用于后续扩充话术知识库。
公开边界
这篇文章只描述公开安全的链路设计,不展示真实用户对话、模型密钥、Provider 配置、后台账号或未经脱敏的话术样例。后续如果放截图,也应使用虚构场景和虚构对话。
对求职展示来说,这条链路的重点不是声称推荐效果有多高,而是说明我如何把 RAG、规则排序、模型重排、fallback 和日志组织成一个可维护的 AI 产品功能。