AI 应用上线后,如何做评估、追踪与网关治理?
用 Promptfoo、Langfuse 和 LiteLLM 理解离线回归、在线 trace 与模型网关的分工,建立能发现问题、定位原因和复测修复的闭环。
先看任务,再看工具
小屏幕可左右滑动,查看完整对照表。
| 项目 | 先解决的观察问题 | 不能直接替代 |
|---|---|---|
| Promptfoo | 提示词或模型变更后,测试集结果变了吗? | 生产流量的完整追踪 |
| Langfuse | 一次请求里哪一步慢、错或缺少证据? | 所有基础设施指标与网关路由 |
| LiteLLM | 怎样统一接入、路由和管理模型调用? | 回答质量评估与需求验收 |
先有一小组可以复测的问题
从真实业务挑选少量代表样本:正常输入、缺少信息、无答案问题、长材料以及格式要求。为每条样本写清楚判断标准,区分必须正确的字段、可以变化的表述和不允许编造的内容。
用 Promptfoo 等工具保存输入、模型及提示词配置,让每次变更都能重复比较。不要只保存一个总分,也要保留具体失败样本。调用远程模型或评判器时,样本会按该链路发送,需先脱敏并核对费用。
用 trace 找到质量和耗时发生在哪一步
请求慢可能发生在检索、排队、模型首段输出或工具调用。给一次请求关联清楚的追踪信息,在 Langfuse 等平台检查步骤、输入摘要、输出、模型与提示词版本。
根据业务决定采样和保留内容。不要默认把全部用户原文写入长期日志;先让一条脱敏流程可追踪,再扩大范围。基础设施监控仍然负责 CPU、内存、数据库和服务状态等信号。
把网关稳定性和回答质量分别验收
模型网关能统一接入、密钥和路由,但返回 200 不代表答案正确。切换供应商后,应检查流式片段、工具调用格式、错误语义、超时、重试和用量统计。
使用 LiteLLM 等网关时,先用一个供应商验证,再逐步增加回退。一次自动重试可能增加调用成本,也可能重复触发下游动作,不能只把成功率变高作为唯一目标。
把线上问题送回测试集
出现问题后,先保存脱敏后的最小输入、相关版本与失败位置,再尝试修复。修复后把这个样本加入回归集,比较质量、延时与成本是否出现新的退步。
模型作为评判器只是一种辅助信号。重要答案、来源引用和业务动作仍需人工抽查;把实际测试范围写清楚,避免从少量样本推断所有场景都可靠。
开始前检查
- 每次变更有可重复的样本与版本记录
- 一次请求能够关联关键步骤和失败位置
- 网关行为、回答质量与费用分别检查
- 脱敏后的线上失败样本会回到回归集
参考来源
根据下列项目 README 与资料整理。选型和验收步骤为本站编辑建议,未宣称对工具进行基准测试。项目可能更新,实际使用前请核对官方说明。
- 项目原始资料
https://github.com/promptfoo/promptfoo/blob/ea8b3d073a63769f7be243ac3c3460f72881a930/README.md - 项目原始资料
https://github.com/langfuse/langfuse/blob/564f800fb5301a1edf68ed8c0498fd880880bcd5/README.md - 项目原始资料
https://github.com/BerriAI/litellm/blob/7e6fb09da3987c8b75062307695f9083da55feed/README.md - 项目原始资料
https://github.com/langgenius/dify/blob/76d0cfcd5cd09e93cfa513899a9f66c4c1a2463e/README.md - 项目原始资料
https://github.com/infiniflow/ragflow/blob/543e16738b4883fcb7e70520e0b5849e7e18c9b7/README.md