
创业公司有个定律级的痛点:知识在个人脑子里,人一忙、一走,知识就断了。客户问个配置问题,全公司只有一个人答得上来,那人休假,客户干等;新人入职问流程,问一遍老同事答一遍,答到第七遍老同事开始烦躁。我们十一人的团队,这些场景每天都在发生。
今年三季度我们搭了个知识库问答机器人,效果超出预期:现在团队里六成的常见问题由它先答,新人上手周期从三个月缩到五周,那个总被打断的同事终于能连续干活了。这篇把搭法完整讲出来——小团队的知识库机器人,没有想象中难,三步就能跑起来,核心工作量不在技术,在知识整理。
我们的知识散在五个地方:产品文档(还算成体系)、聊天记录(大量活知识埋在群聊里)、历史工单(客户问题的真实问法和解法)、几份个人笔记(核心同学脑子里的东西)、邮件往来(跟客户的沟通沉淀)。头一步就是把这五个源头的东西往一处收。
收的原则是先易后难:产品文档直接搬,历史工单批量导出(问题加最终解决方案,中间扯皮的不要),聊天记录靠攒——从当天起,群里值得留的问答随手丢进知识库(配了个归档机器人,打标签就能入库),存量聊天记录不回头挖(性价比太低)。个人笔记靠约谈:跟两位核心同学各约了两次一小时,拿问题清单换他们脑子里的东西,录音转文字整理入库——这两次约谈的产出顶得上半个月的文档整理。
入库的格式我们定得很死:每条知识是一个独立条目,问题是什么、答案是什么、适用条件是什么,三段式。反例是把整份操作手册原文扔进去——检索时模型抓不住重点,答非所问。大文档要拆:一个操作流程拆成五六个条目,每条对应一个可独立回答的问题。颗粒度这条我们调了三轮才顺:太粗,检索不准;太细,知识碎得没法维护。一问一答这个粒度,是实测的甜点位。
# 知识条目的入库结构
entry = {
"id": "kb-0231",
"question": "导出报表提示权限不足怎么办?",
"answer": "检查角色配置中的报表导出权限点;若角色正确仍报错,多为缓存延迟,重新登录即恢复。",
"scope": "报表模块 v2.3+",
"source": "工单 #4812",
"updated": "2026-09-14",
}小团队做问答机器人,选型上有个大坑要绕:别碰模型微调。微调要数据、要算力、要调参的人,三样小团队都缺。正路是 RAG——检索增强生成:用户提问时,先从知识库里检索相关条目,把条目连同问题一起给大模型,让它基于这些材料作答。知识更新只需改知识库,模型不动;答错多半是检索没命中,修知识条目就行,可控性完全不是一个量级。
模型调用走云端 API,链路跑在云函数上:用户提问进来,函数执行检索加生成,返回答案。选云函数有两个实在理由:按量计费,我们这个内部工具的量,月成本一杯咖啡钱;不用运维,小团队的服务器每多一台,心智负担多一份。检索这一层用了向量服务——知识条目全部转向量存好,提问来了算相似度取最相近的几条,这套搭贝平台上有现成组件,配置就接上了,没写几行胶水代码。
链路的核心逻辑五十行以内:
def answer(question, user):
# 1. 检索:问题转向量,取相似度最高的条目
hits = vector_search(embed(question), top_k=4)
# 2. 过滤:相似度太低的条目剔除
context = [h for h in hits if h.score > 0.55]
if not context:
return fallback(question, user)
# 3. 生成:基于条目作答,答不了就说不知道
prompt = build_prompt(question, context)
resp = call_llm(prompt)
return {
"text": resp,
"refs": [h.id for h in context], # 答案附知识来源
}
def fallback(question, user):
log_unknown(question) # 记录未命中问题
return "知识库暂无相关内容,已转人工同事跟进。"两个细节是这段代码的灵魂:其一,相似度阈值——低于 0.55 的条目不用,宁可承认不知道,不给模型凑数的材料(材料不对,它答得越流畅越害人)。其二,答案必须附来源——每条回答下方列出引用的知识条目编号,用户点开能看原文。这一条让机器人的可信度上了一个台阶:答案可验证,用户才敢信;也倒逼知识库质量——引用条目写错了,一眼就能抓出来。
机器人答不了的问题,全部落库记录。每周五下午我看一眼这周的未命中清单,三类处理:知识库有的但没检索到——条目写法有问题,改问法让表述更贴用户习惯;知识库没有的——找对应同事要答案,入库;问了但没价值的(闲聊、超范围)——标记忽略。这个循环跑下来,未命中率从首月的四成降到现在的两成以内,每一分下降都是知识库的实打实的增厚。
机器人上线初期最大的阻力不是技术,是信任:同事觉得它答的不一定对,宁可问人。破局靠两个机制:答案带来源(前面说了);纠错通道——任何人发现答错了,一键上报,对应知识的维护人当天确认修正。头两个月我们收到十七次纠错,全部当天闭环,第三个月纠错降到每月两三次。信任这个东西,机器人跟人一样:靠一次次答对攒起来,靠纠错的速度兜住。
知识库最怕腐化:产品更新了,知识还是三个月前的。我们的保鲜机制分两层:每条知识带 updated 日期,季度提醒维护人复查;产品每次发版,发版清单自动同步给知识库维护人,涉及的功能条目强制过一遍。知识库和产品版本对齐这件事,是内部工具里最容易被忽视的债——我们吃过亏:一次用户照着过期的配置说明操作,白折腾半小时,从此把知识对齐写进了发版流程。
投入盘点:知识整理约三十人时(大头,占比六成),链路搭建两三天,运营每周半小时。产出:常见问题解答六成自动化,按团队每天省一小时保守算,一个月省二十多小时;新人上手周期缩到五周,招聘和培养成本直降;最隐性也最值钱的——知识开始属于团队而不是个人,人员流动的风险敞口小了一半。
边界也要讲清楚,免得期望落空:判断类的问题它答不了(这个客户该给什么折扣——知识库里没有标准答案的事);敏感数据它不该答(薪酬、合同条款这类,从一开始就不入库,省得纠结权限);跨领域的综合分析它不行(把三个模块的问题串起来的排错,还得人上)。我们的定位始终是:机器人管有标准答案的六成,人管没有标准答案的四成。定位准了,它就是帮手;定位飘了,它就是背锅的。
问:知识库要攒多大才能开始用?
答:三百条就能起步——足够覆盖最高频的问题,机器人的价值立刻可见。别等知识库完美再上线,它本来就该边用边长。我们是五百条上线,头一个月就在使用中新增了一百多条。反过来也别太早:一百条都不到时,命中率惨到没人愿意问第二句,头一个印象砸了,推广难度翻倍。
问:同事不爱用怎么办?
答:三招实测有效:领导带头用(我们 CEO 天天在里面问问题,用行动表态);答案附来源(可信度是使用的前提);把最痛的场景打样(我们头一个是报销制度问答——以前财务每月被问十几次,机器人接管后财务逢人就夸,口碑自动传播)。工具推广的顺序是:先解决一个人的痛,让这个人成为传教士。
问:答案不准的责任怎么算?
答:内部工具这件事要事先说破:机器人答案仅供参考,正式口径以文档和维护人为准——这句话写在使用说明的头一行,管理者群里公告过。真出了错,看错在哪层:检索没命中,修条目;知识本身错了,修知识加追责维护人;模型表述歧义,改提示词。分层归因后你会发现,模型的锅其实是少数,大部分是知识库的债——工具上线后,知识质量头一回变得可见、可考核,这本身就是收获——多少年说不清的知识债,终于有了账本。这份账本,比机器人本身还值钱。
问:以后会不会直接买现成的产品,不用自建?
答:有可能,而且我们评估过:现成产品在权限管理、多端适配这些地方比自建的成熟。但现阶段自建有两样买不来的:知识整理的过程本身——把散落知识收拢这个动作,是团队的一次集体复盘,买产品替代不了这个动作的价值;以及链路的掌控力——检索阈值、兜底逻辑这些细节,自建的想改就改。我的建议:小团队先用最轻的方式把知识收拢跑起来,等规模到了再考虑换产品,到时候知识库这个核心资产是带得走的。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。