在前 3 篇里,我们已经把一个企业智能助手从 0 搭到了「能用」:

  1. ​(一)​ DeepSeek + RAG 搭建企业知识库问答;
  2. ​(二)​ 接入钉钉 / 企业微信,在 IM 里 @ 机器人就能问;
  3. ​(三)​ 加上多轮对话 + 工具调用,从 FAQ 升级为企业智能助手。

但真正上线一段时间后,你会发现三个现实问题:

  • 回答质量忽高忽低:有时候很准,有时候一本正经胡说八道;
  • 知识库总是落后业务变化:产品一改版,旧答案立刻过时;
  • 团队不知道怎么系统性优化:所有改动全靠拍脑袋,缺乏数据和闭环。

这一篇,我们做的事就是:

在现有 DeepSeek 企业助手上,加一整套
​「反馈 + 日志 + 分析 +自动/半自动优化」闭环
让这个助手随着使用越来越「懂你们公司」。


一、整体思路:从「一次性项目」到「可持续演进系统」

可以把一个成熟的企业智能助手想象成一个小型「产品」而不是脚本,它的生命周期应该是这样:

上线 → 收集数据(对话+反馈+日志)→ 分析问题 → 提出优化方案 → 修改知识库 / Prompt / 模型 → 再上线 → 再收集数据…

对应到技术体系,大概是这样一张图(文字版):

  1. 采集层

    • 对话日志:每轮问答、多轮会话、调用的工具、耗时、Token 等;
    • 用户反馈:评分、评论、转人工、重复提问等;
    • 系统日志:异常、慢接口、限流、报错堆栈。
  2. 分析层

    • 对话质量分析:高频问题、失败模式、对话轮数、转人工原因;
    • 反馈分析:评分分布、负面反馈聚类、常见抱怨关键词;
    • 性能与成本:平均响应时间、成功率、Token 花费。
  3. 决策层

    • 找出「知识缺口」:哪些问题压根没答上来;
    • 找出「Prompt/逻辑问题」:答非所问/太泛/太啰嗦;
    • 拿出「可执行优化单」:更新哪些文档、改哪些提示词、要不要换模型。
  4. 执行层

    • 自动或半自动更新知识库;
    • 调整对 RAG / 多轮对话的 Prompt;
    • 更新模型配置(temperature、模型版本等);
    • A/B 测试新版本的效果。

下面分模块讲清楚「怎么落地」。


二、数据采集:你必须留下哪些「可回放」信息?

1. 对话日志:记录最小可回放单元

建议为「每一段多轮会话」建一个 ConversationLog 结构,至少包含:

  • conversation_id:会话 ID
  • platform:来源(dingtalk / wecom / web / app)
  • start_time / end_time
  • messages 列表,每条包括:
    • roleuser / assistant / tool
    • content:内容(注意脱敏
    • timestamp
    • metadata
      • 是否命中 RAG、命中哪些文档;
      • 使用了哪个工具(订单查询 / HR / 工单等);
      • DeepSeek 调用耗时 / Token 数;
      • 是否转人工。

这样做的意义是:以后任何一个差评,都能把当时的上下文完整回放出来,判断到底是:

  • 知识缺失?
  • Prompt 设计不当?
  • 工具调用逻辑问题?
  • 还是用户期望不合理?

2. 用户反馈:显性 + 隐性都要采集

显性反馈(直接给你的):

  • 评分:1~5 星(或「有用/没用」);
  • 评论:一小段自然语言吐槽或夸奖;
  • 特殊操作:点了「转人工」「投诉」「太啰嗦了」。

隐性反馈(用户行为本身就是反馈):

  • 重复提问:同样主题的问句,在短时间内被多次修改/重发;
  • 立即关闭对话窗口;
  • 明显情绪词:比如「乱讲」「不对」「根本没用」等。

实际实现时可以在 IM 网关里埋一个简单的采集器,例如:

  • 每次用户消息 + 助手回答,都记录一条 interaction
  • 一旦用户有「评分/转人工/再次提问」,把它和上一轮 interaction 关联起来。

这一步的最低目标:给每个问题 / 会话一个「质量标签」​(好 / 一般 / 差)。


三、分析:从海量对话里挖出「可改的点」

1. 对话层面:你得先知道「它在回答什么」

建议每天离线跑一个简单批处理,对最近 N 条会话做统计:

  • 总会话数、总问题数;
  • 平均每次会话的轮数(>5 轮一般意味着用户没被一次性解决);
  • Top-10 高频问题(按归一化后的问题聚类);
  • Top-10 失败模式,对应的典型示例对话。

常见的失败模式:

  1. ​「不知道但瞎编」​

    • 日志中几乎没有检索到相关文档片段;
    • 但模型还是产出了「很完整」的答案;
    • 用户评分低 / 立刻追问「真的吗?」。
  2. ​「只说一半」​

    • 用户问「年假怎么计算,还能结转吗?」
    • 回答只讲了休假天数,没讲结转;
    • 用户随后追问「可以结转多少?」。
  3. ​「答非所问」​

    • 用户问「去年给小米那单现在状态?」
    • 助手不去查订单工具,而是输出《如何查询订单》的 FAQ。

你的分析脚本不需要多高级,最开始甚至可以:

  • 用关键词规则识别「再问」「不对」「不是这个」等二次追问;
  • 用评分/转人工作为负例;
  • 把这些会话单独拉出来做人工 review。

2. 反馈层面:评分 + 文本评论的双重视角

在有评分的场景下,非常建议统计几个简单指标:

  • 不同业务线的平均评分(产品问答 / HR / IT / 销售支持…)
  • 不同渠道的平均评分(钉钉 / 企微 / Web)
  • 随时间的评分变化(版本发布前后)

同时,对评论做一个粗粒度的文本分析即可:

  • 单词 / 词频统计:高频负面词比如「过时」「不准」「太笼统」「太长」;
  • 主题聚类(哪怕是简单的 TF-IDF + 聚类):
    • 一类集中在「知识点过时」;
    • 一类集中在「流程不清楚」;
    • 一类集中在「太啰嗦」。

最终产出的是一份「反馈分析报告」而不是模型输出的 fancy 图表,包括:

  • 哪几个话题是负面反馈高发区;
  • 哪几个渠道体验明显更差;
  • 哪些典型用户原话值得贴给产品/业务看。

四、决策:把「问题」翻译成「可执行的优化单」

到了这一步,手上已经有:

  • 高频问题列表;
  • 失败会话样本;
  • 负面反馈的聚类结果;
  • 大概的评分/成功率/转人工率曲线。

接下来要做的,不是马上写代码,而是把这些信息整理成几类「可改动项」:

  1. 知识库层面

    • 哪些问题是「压根没文档」?
    • 哪些文档内容已经明显过时(比如引用了已下线的流程/旧系统)?
    • 哪些文档写得太内部化,用户看不懂?
  2. Prompt / 逻辑层面

    • 是否需要在系统 Prompt 里加一句:「如果不确定,请直说不知道,不要编造」?
    • 是否需要对某些业务线设置更强的风控提示,比如不能输出价格、不能输出薪资等?
    • 是否需要改变回答风格:过于啰嗦 → 更精简;过于精简 → 要求列步骤/示例。
  3. 工具调用策略层面

    • 某些问题本应调用订单/HR/工单工具,却反复走了知识库 → 需要补意图识别规则;
    • 部分工具超时/频繁报错 → 需要加熔断或降级策略。

可以把这些汇总成一个「每周优化 Backlog」,给到对应的:

  • 业务同学:补文档、校验内容;
  • 算法 / 平台同学:改 Prompt、路由策略;
  • 后端同学:查接口异常、加限流/熔断。

五、执行(一):知识库如何「自动 + 半自动」更新?

1. 半自动:最靠谱也是最现实的方式

实践中最推荐的是:

  1. 分析脚本,每天/每周产出一份「知识缺口清单」​,包含:

    • 问题样本;
    • 出现频次;
    • 现有回答示例(如果有的话);
    • 用户反馈(评分、评论节选)。
  2. 把这份清单发给对应业务线的知识维护人(产品/HR/运营),让他们:

    • 标记哪些是需新增 FAQ
    • 哪些是需修改已有文档
    • 哪些是误用场景或不支持的问题(要在 Prompt 里明确声明)。
  3. 业务侧完成编辑后,通过一个知识库管理后台(哪怕是简陋的表单)提交:

    • 标题 / 标签 / 适用范围;
    • 正文内容;
    • 生效时间 / 失效时间。
  4. 后台触发一个简单任务:

    • 把这些文档写回知识库 JSON / 数据库;
    • 重跑向量化 + 建索引;
    • 在 RAG 服务中热更新索引。

2. 自动:在可控范围内用大模型生成「补知识」

如果团队资源有限,可以在上面半自动流程的基础上,增加「自动草稿」能力:

  • 对于频次很高但没有对应文档的问题:

    • 提示 DeepSeek / 其它大模型写一份初始 FAQ 草稿
    • 明确标注「需人工审核」。
  • 对于明显过时的答案:

    • 把旧答案 + 新业务文档输入大模型,请它「生成一版合并更新后的说明」;
    • 同样进入人工审核队列。

关键点在于:自动生成的东西严禁直接上生产,一定要有人看一眼。
这一步不但减轻了人力负担,也让知识库更容易保持跟业务同步。


六、执行(二):用日志指导 Prompt / 策略的迭代

除了内容本身,Prompt 和策略的调整经常是提升效果的「低成本杠杆」。

1. 减少「瞎编」:更严格的事实约束

在系统提示词里,明确写出类似内容:

  • 你必须基于「检索到的文档」或「工具返回的数据」回答问题。
  • 如果相关信息不在这些文档 / 数据中,请直接说明「目前知识库/系统中没有相关记录」,不要自行编造。

并配合策略上的约束:

  • 如果向量检索的最高相似度 < 某阈值(比如 0.4),直接返回「不知道/知识库无记录」​,不调用模型;
  • 对某些敏感意图(安全、合规、财务数据)即使检索命中,也要求用户再确认或转人工。

2. 控制风格:太啰嗦/太短都可以调

根据评分和评论,判断用户偏好哪种风格:

  • 「太长,看不完」→ 在 Prompt 里加:
    「默认不超过 200 字,如需长文请用户额外请求详情」;
  • 「太简单,看不懂」→ 在 Prompt 里加:
    「必须包含至少一个具体示例或操作步骤」。

也可以针对不同业务线使用不同的「回答模板」:

  • 技术 FAQ:适合「步骤化 + 代码块」;
  • HR 政策:适合「条款 + 示例」;
  • 销售支持:适合「关键要点 + 风险提示」。

3. A/B 测试:不要一次改死全场

有条件的话,建议给 Prompt/策略做小流量灰度

  • 10% 用户用新 Prompt,90% 继续老版本;
  • 观测一周的:
    • 平均轮数;
    • 平均评分;
    • 转人工率;
  • 如果显著提升,再全面切换。

这样可以避免「一改 Prompt,全公司体验骤降」的事故。


七、监控与评估:用几组简单指标看全局

不需要上来就搞一大堆复杂指标,先把这几组做好就够用

  1. 服务质量类

    • 有效回答率:有命中知识 / 工具并给出明确答案的比例;
    • 用户满意度:评分 ≥4 的占比;
    • 转人工率:需要人工介入的会话占比;
    • 平均轮数:每次对话平均轮数(<4 通常比较健康)。
  2. 知识维度

    • 知识库覆盖度:高频问题中「有对应文档」的比例;
    • 过时文档数:近 30 天被标记为「内容过时」的 FAQ 数量;
    • 每周知识更新量:新增/更新条数。
  3. 性能与成本

    • P95 响应时间;
    • DeepSeek / 其它 LLM 的月度 Token 消耗;
    • 单次会话平均 Token 成本(可估算成 $ 成本)。
  4. 趋势

    • 以上指标的 7 日 / 30 日滚动平均;
    • 每次大版本调整后的「前后对比图」。

把这些数据每周生成一个简单的「运营周报」,发给相关干系人(技术负责人、业务 owner、产品、运营),对齐一个共识:我们是在「运营」一个智能助手,不是在「维护」一个脚本。​


八、落地路径建议:从简单到完整的三阶段

如果你现在已经有了第(一)(二)(三)篇的体系,可以按下面 3 个阶段推进本篇的内容:

阶段 1:加埋点,加日志,加评分(1~2 周)

  • 对现有 IM 网关加:
    • 对话日志写入(JSON/DB 均可);
    • 用户评分 & 评论入口;
  • 定义最简单的质量标签:
    • 成功 / 失败 / 转人工;
  • 手工抽样看看最近 100 个「失败」对话,感受一下问题类型。

阶段 2:做一套「分析 + 报表 + 人工改」闭环(2~4 周)

  • 写一个简单的分析脚本 / 小服务:
    • 统计高频问题、平均轮数、评分分布;
    • 输出「知识缺口清单」+「负面反馈聚类」;
  • 让业务同学参与,每周花半天时间处理这些清单:
    • 补文档、改文本;
    • 和技术一起商量改 Prompt / 策略。

阶段 3:引入半自动知识更新 + 灰度发布(4~8 周)

  • 实现「自动生成 FAQ 草稿 + 人工审核」流转;
  • 引入 Prompt/策略的 A/B 测试:
    • 小流量试运行;
    • 用数据说话决定是否推广;
  • 持续调优到一个「可维持、可迭代」的 steady state。

九、结语:让企业智能助手「活」起来

这一篇的核心不是再给你一堆新代码,而是帮你把视角从:

「我做了一个 RAG / 机器人」

转成:

「我在运营一个基于大模型的企业级产品」。

关键心法只有一句话:

把「所有对话与反馈」当作训练数据,把「优化」当成日常,而不是救火。​

在这个心法之下,日志、反馈、分析、知识更新、Prompt 调整、监控报表,就都不再是「可有可无的附属」,而是你这个智能助手能不能持续好用的「生命线」。

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐