惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Google DeepMind News
Google DeepMind News
博客园 - 聂微东
Microsoft Azure Blog
Microsoft Azure Blog
V
Visual Studio Blog
IT之家
IT之家
博客园 - 【当耐特】
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
B
Blog
爱范儿
爱范儿
阮一峰的网络日志
阮一峰的网络日志
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
H
Hackread – Cybersecurity News, Data Breaches, AI and More
H
Help Net Security
J
Java Code Geeks
aimingoo的专栏
aimingoo的专栏
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
B
Blog RSS Feed
Blog — PlanetScale
Blog — PlanetScale
S
SegmentFault 最新的问题
Apple Machine Learning Research
Apple Machine Learning Research

人人都是产品经理

为什么你的产品找不到差异化?90%的失败都卡在第一步上(下) – 人人都是产品经理, 3年从30万到1300万用户、获2200万美元融资,这个AI教育产品用“抽卡”破解了获客难题 – 人人都是产品经理, AI训练AI,是技术飞跃还是打开了潘多拉魔盒? – 人人都是产品经理, 园区招商系统怎么做才能真正帮到去化?我加了这一个功能,推广链接转发400次阅读过万 – 人人都是产品经理, AI大事件:OpenAI发完网络安全模型又搞药物研发,小鹏汽车要抓”DeepSeek时刻” – 人人都是产品经理, 电商不是卖货,是一场更残酷的产品经理实战 – 人人都是产品经理, 没想到,活动营销又回来了! – 人人都是产品经理, 为何All-in海外KOC:一场关于AI时代窗口期的豪赌 – 人人都是产品经理, 重新理解企业的内部协作 – 人人都是产品经理, 苹果的 AI 战略到底是什么? – 人人都是产品经理, 医疗智能体·第2讲——合规护城河:等保、PIPL与HIPAA的架构实战 – 人人都是产品经理, 鸿蒙PC三方库构建总指挥HPKBUILD(sha)库为例 – 人人都是产品经理, 何时该用LLM?AI产品经理的LLM设计指南 – 人人都是产品经理, 医疗信息领域的需求方、决策方、准入方以及关注点(二) – 人人都是产品经理, 即梦涨价:一场被误读的「傲慢」 – 人人都是产品经理, 面试AI PM必答题:Hermes和OpenClaw的区别,如何讲清楚业务价值 – 人人都是产品经理, AI的下一张船票:世界模型——AI产品经理必须理解的技术拐点 – 人人都是产品经理, 小红书做GEO,怎么让AI信你?记住这 3 个重要信息 – 人人都是产品经理, 5 家印度 AI 初创公司,看看印度 AI 再做什么 – 人人都是产品经理, AI项目跨团队协作:产品技术业务如何不打架 – 人人都是产品经理, Agentic Workflow(智能体工作流):让AI从”答案生成器”变成”数字员工” – 人人都是产品经理, lycium_plusplus 项目全景解读:OpenHarmony 三方库构建的“大管家” – 人人都是产品经理, 从爆单救火到前置履约:两套预采策略,把生鲜大促履约效率拉满 – 人人都是产品经理, 什么时候该补货?我用一轮数据做了一个决定 – 人人都是产品经理, 从“机械兜底”到“动态分流”:AI客服重复进线治理的4大底层逻辑 – 人人都是产品经理, 抖音拼效率,红书拼洞察 – 人人都是产品经理, 全民狂欢与退潮——为什么龙虾这波热潮冷却得如此之快? – 人人都是产品经理, Stripe押注!MPP重塑全球支付 – 人人都是产品经理, 小红书GEO:AI引用你的内容,不是因为你对,而是因为你看起来可信 – 人人都是产品经理, 前百度副总裁押注办公Agent,日韩付费爆发,Manus迎来强劲对手 – 人人都是产品经理,
向量知识库五步法:从“答非所问”到“精准回复” – 人人都是产品...
嘻嘻李 · 2026-04-17 · via 人人都是产品经理

用户问“积分怎么用”,我们的机器人回“天气变动请注意更衣”。这不是段子,是我们上线第二周的真实名场面。原因很简单:知识库用的是关键词匹配,用户换个说法就废。后来我用了向量知识库 + 大模型检索,终于让客服不再当智障。

1. 翻车:一个让运营想摔键盘的回复

智能客服上线第二周,一位用户问:

“积分怎么用啊?”

我们的知识库里有标准问答:

  • 问题:“积分如何使用”
  • 答案:“积分可在结算时抵扣现金,100积分=1元”

但机器人没匹配上,因为用户说的是“怎么用”,而库里写的是“如何使用”。关键词匹配没命中,机器人走了默认回复:

“抱歉,知识库中未包含。”

用户回了一个字:“滚。”

运营小姐姐截图发群里:“这机器人是来砸场子的吧?”

我一看日志,问题很清楚:知识库检索用的是关键词匹配(TF-IDF),用户表达稍有变化就搜不到。更惨的是,我们当时只有200条标准问答,覆盖不到所有问法。

2. 本质:客服的核心不是“能聊”,而是“能找到”

很多人做智能客服,一上来就搞大模型生成回复,结果就是胡说八道。我后来想明白了:

客服的第一要务是“把正确答案找出来”,而不是“自己编一个答案”。

用户问“积分怎么用”,他不需要你陪聊,他需要知道“100积分=1元”。所以问题的关键是:如何从知识库里,快速找到最相关的那一条

传统关键词匹配的痛点是:

  • “怎么用” ≠ “如何使用”
  • “退款流程” ≠ “如何申请退款”
  • “物流好慢” ≠ “配送时效”

用户说人话,库里写的是“官方语言”,匹配不上。

3. 技术选型:向量检索 + 大模型重排

当时我调研了三种方案:

我选了向量检索为主 + 大模型重排为辅的架构:

  • 召回阶段:用 embedding 模型把用户问句和知识库里的标准问题都转成向量,用 Milvus 做近似最近邻检索,召回 Top-K(比如 K=10)。
  • 重排阶段:把召回的 10 条候选,送给大模型打分,选最相关的 1 条。大模型不看答案内容,只判断“这个问题和用户问句有多像”。
  • 输出答案:命中后,返回预先写好的标准答案。绝不生成新内容。

4. 五步法:从零到一搭建向量知识库

第一步:清洗知识库

我们原来有 2000条问答,但很多是“一条问题对应多个答案”或者“答案里带着营销话术”。

我做了三件事:

  • 问题标准化:每个标准问题写成最通用的问法,例如“积分如何使用”。
  • 答案纯净:只保留答案,去掉“天冷请注意加衣”这类废话。
  • 同义问法扩展:每个标准问题,由标注员写 3-5 个同义问法,用于增强检索(也叫“数据增强”)。

比如标准问题“积分如何使用”,同义问法:

  • “积分怎么用”
  • “积分怎么花”
  • “积分抵扣规则”
  • “积分能干嘛”

这一步最花时间,但最值得。200 条问答,扩展后变成 600 条,召回率直接涨了一半。

第二步:选择 Embedding 模型(不纠结具体型号)

我们对比了几个开源的中文 Embedding 模型,最终选了一个在公开基准上表现不错的轻量级模型(参数量 ,维度 )。选型标准:

  • 中文语义理解能力
  • 推理速度(每句 )
  • 可本地部署,不依赖外部 API

最终模型部署在 CPU 上,足够支撑 400~500 QPS。

第三步:向量化 + 存入 Milvus

把所有标准问题 + 同义问法,全部转成向量,存入 Milvus。

Milvus 是我们选的向量数据库,优势是:

  • 开源,社区活跃
  • 支持多种索引类型(IVF_FLAT、HNSW 等)
  • 可以分布式扩展

第四步:召回 + 重排

用户问“积分怎么用啊”:

  1. 转成向量,去 Milvus 里搜 Top-10,召回相似度最高的候选。
  2. 把用户问句和 10 条候选标准问题,拼成 prompt 送给大模型:用户问:积分怎么用啊 候选1:积分如何使用 候选2:优惠券怎么领 … 请选出最匹配的一个,只输出序号。
  3. 大模型返回序号,取出对应的标准答案。

第五步:兜底 + 人工闭环

如果大模型重排后最高分仍低于阈值(比如 0.7),说明知识库里没有相关内容,走兜底:

  • 回复:“抱歉,这个问题我暂时回答不了,已转接人工客服。”
  • 同时,把这条用户问句存入“未命中知识库”,每周人工审核一次,如果是高频新问题,就补充进知识库。

这样就形成了一个数据闭环:线上没命中的问题 → 人工补充 → 向量化更新 Milvus → 下次就能命中。

5. 落地遇到的三个坑

坑一:同义问法写太多,导致检索漂移

有一次,标准问题“退换货流程”,我们写了同义问法“不想要了怎么办”。结果用户问“衣服小了怎么办”,模型误匹配到“退换货流程”,实际上用户可能只是想换尺码。

解法:同义问法要克制,每个标准问题不超过 5 条,且必须与标准问题语义高度一致。

坑二:长文本问题检索不准

用户问“我上周买的薯片,今天收到发现碎了,怎么退款”,太长了,embedding 会稀释关键信息。

解法:先用大模型做关键信息抽取,抽成“商品=薯片,问题=碎了,动作=退款”,再用短句去检索。这一步我们后来加上了。

坑三:知识库更新不及时

运营改了答案,但 Milvus 里的向量没更新,用户还是拿到旧答案。

解法:每次知识库变更,触发增量更新(只重新向量化改动的条目),Milvus 支持按 ID 删除和插入。

6. 坦诚局:向量知识库依然搞不定的场景

  1. 需要多步推理:用户问“我有2000积分,买一包10元的薯片能抵扣多少?” 需要先查积分规则(100积分=1元),再计算(2000积分=20元,但薯片只卖10元,所以抵扣10元)。这种我们还在用规则引擎 + 代码算。
  2. 答案需要实时数据:用户问“我的订单到哪了”,向量知识库没有实时物流接口。解法:意图识别命中 query_logistics 后,直接调用 API,不走知识库。
  3. 超低频长尾问题:比如“你们公司什么时候上市”。向量检索也能找到相关问答,但没必要。我们直接走兜底转人工。

7. 结语:客服的本质是“找答案”,不是“编答案”

做了这么多,我最大的体会是:

智能客服不要迷信大模型生成。先把知识库检索做到极致,80%的问题就能解决。

向量知识库(Embedding + Milvus)+ 大模型重排,是我目前找到的最佳平衡点:

  • 召回靠 embedding(快、语义泛化好)
  • 存储和检索靠 Milvus(开源、可扩展)
  • 重排靠大模型(准、能理解细微差别)
  • 答案靠人工写(可控、不胡说)

本文由 @嘻嘻李 原创发布于人人都是产品经理。未经作者许可,禁止转载

题图来自Unsplash,基于CC0协议