SmartCall 是一套基于 AI 大模型 + Asterisk 通信引擎构建的新一代智能客服呼叫中心系统,深度融合 AI 语音机器人、智能 IVR 流程编排、实时语音识别(ASR)、语音合成(TTS)、大模型意图识别等核心能力,为企业提供从呼入智能应答到智能外呼的全链路 AI 客服解决方案。
在 v1.0.9 版本中,我们正式上线了本次更新的重头戏——智能体知识库。产品介绍、业务政策、办理流程、常见问题……这些企业沉淀的资料现在可以直接挂载到智能体上,客户来电提问时,AI 不再"凭感觉编答案",而是先查阅资料、再组织回答,帮助客服团队统一答复口径,大幅降低大模型幻觉带来的业务风险。
一、为什么需要智能体知识库?
用过 AI 客服的同学大概都遇到过这样的尴尬:
- 客户问"退款政策是什么",大模型一本正经地编了一套并不存在的政策;
- 同一款产品,不同坐席、不同时间给出了不同的口径;
- 业务规则每周都在变,靠改 Prompt 根本追不上变化速度。
问题的根源在于:通用大模型不了解企业私域知识。而 RAG(检索增强生成)正是业界公认的最佳解法——先把企业资料检索出来,再让模型基于资料作答。
v1.0.9 之前,SmartCall 已通过智能体对话节点对接了 MaxKB。而在 v1.0.9 中,我们把知识检索能力下沉为智能体的一等公民:每个智能体都可以独立维护自己的知识库列表,按业务域拆分、按触发条件精细管控,检索结果直接注入对话上下文。
二、三种知识库来源,总有一款适合你
新增知识库时,第一步是选择来源。v1.0.9 提供了三种来源,覆盖从零成本开箱到深度定制的全部场景:
| 来源 | 说明 | 适用场景 |
|---|---|---|
| 📦 系统知识库 | 平台内置知识库,填写标识即可挂载 | 快速体验、通用语料 |
| ⚡ MaxKB 知识库 | 对接 MaxKB 进行语义检索,下拉选择已建好的知识库 | 已在 MaxKB 中沉淀文档资产的企业 |
| 🔌 自定义接口 | 对接任意三方 HTTP 检索接口 | 已有自建检索服务 / 其他知识库平台 |
其中自定义接口来源的灵活性值得一提,几乎所有检索服务的对接细节都做成了可视化配置:
- 请求方式(GET / POST)、请求头(含鉴权)、附加参数(topK、mode 等透传);
- 用户问题在请求中的字段名(默认
query); - 响应解析三件套:结果路径(如
data.records)、标题字段、正文字段、分数字段; - 单次检索超时(默认 1200ms),保证通话链路不被慢接口拖垮。
也就是说,无论你的检索服务是自研的 Elasticsearch 网关、向量数据库 API,还是其他开源知识库平台,只要能返回"标题 + 正文 + 分数"结构的 JSON,就能零代码接入 SmartCall。
三、两种触发通道:规则门控 or 模型自主决策
什么时候该查知识库?查得太频繁拖慢响应、浪费 token,查得太少又答不上来。v1.0.9 提供了两种触发通道:
1️⃣ 自定义触发(interceptor)—— 规则门控,快且省
由平台在对话拦截层按规则判定是否检索,不消耗大模型推理,响应更快、成本更低。触发条件支持精细化配置:
- 命中方式:满足任一条件即检索(OR,召回优先)/ 同时满足全部条件才检索(AND)/ 只看关键词(KEYWORD_ONLY);
- 关键词:本知识库的领域词,如"退款、发票",是精度的主判据;
- 疑问词:出现"怎么、为什么、可以吗"等疑问词时扩展召回;
- 排除词:命中"转人工、投诉"等直接跳过检索,交给技能或人工处理;
- 忽略词:客户只说了"嗯、好的、谢谢"这类无实质内容的寒暄时不检索,避免误触发;
- 最短字数:少于 4 个字(默认)不检索;
- 生效轮次:仅在第 N 轮到第 M 轮对话之间检索,留空不限制。
这套"关键词 + 疑问词 + 停用词 + 轮次窗口"的组合门控,让每一次检索都花在刀刃上。
2️⃣ 模型触发(function)—— 大模型自主判断
将知识库注册为模型可调用的工具(Function Call),由大模型根据对话上下文自主决定何时检索哪个知识库。此模式下:
- 知识库编码(如
kb_refund)作为模型路由键,同一智能体内唯一,须蛇形命名,前端失焦即异步校验重复; - 知识库描述是模型判断"何时该查这个库"的依据,写清楚内容与适用场景即可。
两种通道可以按知识库粒度混搭:高频、边界清晰的政策问答用规则门控,长尾、开放式的问题交给模型自主决策。
四、检索配置:向量 / 全文 / 混合三种模式
每个知识库均可独立配置检索参数:
- 检索方式:向量检索(embedding)/ 全文关键词检索(keywords)/ 混合检索(hybrid);
- 相似度阈值:低于阈值视为未命中,取值 0.00–1.00(MaxKB 混合检索综合得分可达 2.00,前端上限随来源与检索方式自动联动);
- 返回片段数:单次检索返回的最大片段数(top-k,1–20)。
五、管理体验:来源卡片引导 + 动态表单 + 列表行内启停
在交互层面,知识库管理也做了不少打磨:
- 新增两步走:点击"新增"先弹出来源选择卡片(图标 + 说明,标题取自字典
KNOWLEDGE_SOURCE),选定来源后再进入表单抽屉; - 表单随来源动态重建:不同来源渲染不同的配置分区,触发条件字段仅在选择"自定义触发"时出现,界面始终干净;
- 编辑精准回显:列表 VO 刻意不携带
searchConfig/triggerConfig两个 JSON 大字段,编辑时再拉详情回显,"后端返回什么就回显什么",不注入前端默认值; - 列表行内启停:启用/停用通过行内开关一键切换(新增默认启用),配合按名称、来源、触发通道的组合搜索;
- 按钮级权限:新增、编辑、删除、启停分别受
CALL_AGENT_KNOWLEDGE_CREATE / UPDATE / DELETE / SWITCH权限码控制; - 细节兜底:新建智能体尚未保存时,会提示"请先保存智能体,再维护知识库",避免脏数据。

六、写在最后
从 v1.0.5 的智能体技能与工具,到 v1.0.7 的模型与音色管理、v1.0.8 的坐席手机接听,再到 v1.0.9 的智能体知识库,SmartCall 一直在朝着"让每一通电话都被智慧对待"的目标迭代。知识库的加入,补齐了 AI 客服"懂企业私域知识"这块最关键的拼图。
项目基于 Java 17 + Spring Boot 3.5 + Spring Cloud 2025 + Vue 3 构建,遵循 Apache 2.0 开源协议,允许商业使用。
如果这个项目对你有所帮助,欢迎到 Gitee 点个 Star ⭐,你的支持是我们持续迭代的最大动力!
SmartCall — 让 AI 为每一通电话赋能