LLMStart|持续课程 · 不追玄学
模块 8 · 8.3
进阶级70 分钟

8.3观测、日志与评估

本课只解决一个主问题:本单元只解决一个主问题:

AI 产品上线后,如何知道它到底哪里做得好、哪里出了问题?

学习目标

学完本单元后,学习者应该能够:

  • 理解 AI 应用为什么必须记录日志和监控指标。
  • 区分系统日志、模型日志、检索日志、工具调用日志和用户反馈。
  • 设计一个基础 AI 应用观测方案。
  • 识别 AI 产品中常见的线上质量问题。
  • 把失败案例转化为评估集和改进任务。

先给直觉

没有观测的 AI 产品,就像闭着眼开车。

用户说:

这个 AI 回答不对。

如果你没有日志,就很难知道:

  • 用户问了什么。
  • 模型看到哪些上下文。
  • 检索到了哪些资料。
  • 调用了哪些工具。
  • 使用的是哪个模型。
  • Prompt 是哪个版本。
  • 输出为什么错。

没有这些信息,只能猜。猜问题是很省事,但通常也很省效果。

为什么 AI 应用更需要日志

传统软件出错,通常有明确错误码或异常堆栈。

AI 应用的问题更复杂:

  • 输出事实错误。
  • 引用不支持结论。
  • 模型误解用户。
  • 检索找错资料。
  • 工具调用参数错误。
  • 输出格式偶发失败。
  • 成本突然升高。
  • 延迟突然变长。

这些问题不一定会抛异常,但会影响用户信任。

需要记录什么

1. 请求日志

记录:

  • 用户请求时间。
  • 用户或会话 ID。
  • 功能入口。
  • 用户输入。
  • 输入长度。
  • 请求类型。

注意隐私:敏感内容需要脱敏或受控存储。

2. Prompt 日志

记录:

  • 系统提示版本。
  • Prompt 模板版本。
  • 填入的变量。
  • 最终发送给模型的上下文。

Prompt 是产品逻辑的一部分,必须能追踪版本。

3. 模型日志

记录:

  • 模型名称。
  • 模型版本或配置。
  • 输入 Token。
  • 输出 Token。
  • Temperature 等参数。
  • 响应时间。
  • 调用成本。
  • 是否失败或重试。

这些数据用于成本和质量分析。

4. 检索日志

RAG 系统要记录:

  • 查询文本。
  • 查询改写结果。
  • 检索策略。
  • Top-k。
  • 返回片段。
  • 片段来源。
  • 相似度或排序分数。
  • 最终进入上下文的片段。

回答错时,先看检索是否找对。

5. 工具调用日志

Agent 和工具调用要记录:

  • 工具名称。
  • 参数。
  • 权限检查结果。
  • 执行结果。
  • 错误码。
  • 重试次数。
  • 是否经过用户确认。

高风险工具必须有审计日志。

6. 输出日志

记录:

  • 模型原始输出。
  • 后处理结果。
  • 格式校验结果。
  • 引用列表。
  • 风险标记。

7. 用户反馈

记录:

  • 点赞/点踩。
  • 用户修改了什么。
  • 是否采纳。
  • 是否重新提问。
  • 投诉和人工标注。

用户反馈是线上质量的重要信号。

关键指标

质量指标

  • 回答准确率。
  • 引用准确率。
  • Groundedness。
  • 资料不足时的正确拒答率。
  • 用户采纳率。
  • 人工审核通过率。

系统指标

  • 成功率。
  • 错误率。
  • 平均延迟。
  • P95 延迟。
  • 超时率。
  • 工具失败率。

成本指标

  • 单次请求成本。
  • 每日总成本。
  • 输入 Token。
  • 输出 Token。
  • 不同模型调用占比。
  • 缓存命中率。

风险指标

  • 敏感信息触发次数。
  • 越权访问拦截次数。
  • 高风险工具调用次数。
  • 人工确认拒绝次数。
  • Prompt Injection 命中次数。

日志和隐私

日志不是越全越好。

要考虑:

  • 是否记录敏感数据。
  • 是否需要脱敏。
  • 谁能访问日志。
  • 保存多久。
  • 是否用于训练或评估。
  • 用户是否知情。

尤其是企业和教育产品,日志本身也可能变成敏感资产。

失败案例库

每次线上失败都应该进入失败案例库。

记录:

  • 用户问题。
  • 期望行为。
  • 实际输出。
  • 失败类型。
  • 关联日志。
  • 修复建议。
  • 是否加入评估集。

失败类型可以包括:

  • 检索失败。
  • 引用错误。
  • 幻觉。
  • 工具调用失败。
  • 权限问题。
  • 格式错误。
  • 输出不适合读者。

失败案例库是 AI 产品持续改进的核心资产。

从日志到改进

日志本身没有价值,能带来改进才有价值。

流程:

记录日志
  ↓
发现失败
  ↓
归类原因
  ↓
加入评估集
  ↓
修复 Prompt / 检索 / 工具 / 模型
  ↓
回归测试
  ↓
上线监控

这条链路让 AI 产品逐步稳定。

看板设计

一个基础 AI 产品运营看板可以包含:

模块 指标
使用量 请求数、活跃用户、功能入口
质量 点赞率、采纳率、人工通过率
RAG 检索无结果率、引用准确率
Agent 工具成功率、确认拒绝率
成本 总成本、单次成本、模型占比
性能 平均延迟、P95 延迟、超时率
风险 敏感信息拦截、越权尝试

案例:课程问答助手观测方案

目标:

监控课程问答助手是否可靠。

记录:

  • 用户问题。
  • 检索查询。
  • 检索到的课程片段。
  • 模型回答。
  • 引用路径。
  • 用户是否追问。
  • 用户反馈。

指标:

  • 检索无结果率。
  • 引用准确率。
  • 回答被踩比例。
  • 资料不足时是否拒答。
  • 平均延迟。
  • 单次成本。

失败处理:

  • 每周抽样 50 条低评分回答。
  • 归类失败原因。
  • 加入评估集。
  • 调整 Chunk、Prompt 或模型。

案例:内容生产 Agent 观测方案

记录:

  • 输入课程单元。
  • 生成的大纲。
  • 标题候选。
  • 事实核查点。
  • 自检结果。
  • 人工修改差异。

指标:

  • 人工修改比例。
  • 标题通过率。
  • 事实核查问题数。
  • 风格检查通过率。

这些指标能判断 Agent 是否真的减少工作量。

常见误区

误区 1:AI 没报错,就说明没问题

AI 最常见的问题是回答质量差,而不是系统崩溃。

误区 2:只记录最终回答就够了

不够。要记录上下文、检索、工具、模型和 Prompt 版本。

误区 3:日志越多越好

日志要有用且合规。敏感数据不能随便记。

误区 4:用户反馈可以完全代表质量

用户反馈重要,但有偏差。还需要抽样评估和人工审核。

误区 5:上线后再补观测

很多问题上线后才出现,但观测能力要上线前准备。

动手练习

为“RAG 课程问答助手”设计观测方案。

填写:

项目 内容
需要记录哪些输入
需要记录哪些检索信息
需要记录哪些模型信息
需要记录哪些用户反馈
质量指标
成本指标
风险指标
失败案例如何进入评估集
检查题(自测)
  1. AI 应用为什么不能只记录最终输出?
  2. RAG 系统应该记录哪些检索日志?
  3. 失败案例库如何帮助产品持续改进?
参考答案
  1. 只记最终输出无法定位问题;要记录输入、Prompt、检索结果、工具调用、模型输出、用户反馈等全链路信息。
  2. 应记录:查询改写结果、检索到的片段、排序、命中情况、未命中的查询,以及最终用了哪些片段。
  3. 失败案例库让团队能复现、分类、分析原因,并把修复固化进评测集和防护规则,形成持续改进的循环。

Takeaway

AI 产品上线后,质量问题不会自动暴露成传统错误。要靠日志、指标、用户反馈、失败案例库和回归测试持续观察。没有观测,就没有可靠改进。