进阶级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 课程问答助手”设计观测方案。
填写:
| 项目 | 内容 |
|---|---|
| 需要记录哪些输入 | |
| 需要记录哪些检索信息 | |
| 需要记录哪些模型信息 | |
| 需要记录哪些用户反馈 | |
| 质量指标 | |
| 成本指标 | |
| 风险指标 | |
| 失败案例如何进入评估集 |
检查题(自测)
- AI 应用为什么不能只记录最终输出?
- RAG 系统应该记录哪些检索日志?
- 失败案例库如何帮助产品持续改进?
参考答案
- 只记最终输出无法定位问题;要记录输入、Prompt、检索结果、工具调用、模型输出、用户反馈等全链路信息。
- 应记录:查询改写结果、检索到的片段、排序、命中情况、未命中的查询,以及最终用了哪些片段。
- 失败案例库让团队能复现、分类、分析原因,并把修复固化进评测集和防护规则,形成持续改进的循环。
Takeaway
AI 产品上线后,质量问题不会自动暴露成传统错误。要靠日志、指标、用户反馈、失败案例库和回归测试持续观察。没有观测,就没有可靠改进。