Learn
Dify/15-logs-evaluation

日志、标注与评估

上线不是终点。会话日志 + 用户标注 + 效果评估 才是 Dify 持续迭代的飞轮。本章讲怎么用数据驱动优化。

1. 会话日志

「日志」页记录每一次真实对话:

  • 用户输入、模型完整输出
  • 实际注入的上下文(知识库片段)
  • 使用的模型、耗时、token 消耗
  • 调用了哪些工具、返回什么
会话 #204
  用户:退款要几天?
  检索命中:[退款政策 §3, 退款政策 §5]
  模型:一般 3–5 个工作日……
  耗时:1.8s  token:820
💡从日志里找失败模式

定期翻日志,专门找「答非所问 / 答错 / 没用到知识库」的会话。它们是最有价值的优化线索,比拍脑袋改提示词管用得多。

2. 用户标注(Annotation)

Dify 支持「标注」机制:当模型答错或不够好,人工给出标准答案。

原回答:……
标注正确回答:「退款通常在 3 个工作日内原路退回。」
状态:已标注(待用于评估/训练)

标注数据有两个用途:

  • 作为评估基准:新版本回答是否接近标注
  • 作为改进素材:反馈给提示词优化或知识库补充

3. 效果评估

Dify 提供评估能力,用标注集或自动指标衡量质量:

维度说明
命中率知识库是否召回了相关片段
回答相关性输出是否贴合问题
标注一致性与人工标准答案的吻合度
成本/延迟token 与响应时间
⚠️没有评估别乱改

每次只改一个变量(提示词 / 检索参数 / 模型),用同一批标注问题跑评估对比。同时改多处,你永远不知道是哪个改动起了作用。

4. 迭代闭环

上线 → 收集日志/标注 → 发现失败模式
  → 改提示词/补知识库/调检索
  → 用标注集评估对比
  → 效果好则发布,不好则回滚

这是一个持续循环,让应用随真实使用越来越准。

5. 导出与复用

  • 日志可导出,用于离线分析或构建评测集
  • 标注可沉淀为回归测试集,每次大改前先跑一遍
  • 好的知识库补充(文档更新)应同步回第 4 章的知识库
🎯动手做

在日志里挑 5 条回答不理想的会话,给它们写标注答案,形成你的第一个小评估集。下次优化提示词后用这 5 条验证是否改善。

小结

  • 日志揭示真实失败模式;标注沉淀标准答案
  • 评估用命中率、相关性、一致性、成本多维度衡量
  • 一次只改一个变量 + 固定评测集,避免盲目调参
  • 形成「上线→标注→优化→评估」迭代飞轮
  • 下一步:权限与团队协作 →