在线评测
1. 定义与边界
在线评测是在真实或准真实流量下评估 Agent 版本,包括影子流量、灰度发布、A/B 实验、人工接管分析和用户反馈闭环。它关注真实用户、真实系统和真实成本。
2. 为什么重要
离线集无法完整覆盖真实表达、真实工具抖动、长尾业务规则和用户耐心。在线评测负责回答:新版本在生产分布中是否真的更好,是否引入不可接受的延迟、成本或风险。
3. 核心机制
在线评测要区分三种流量:
| 模式 | 是否影响用户 | 用途 |
|---|---|---|
| 影子流量 | 否 | 对比新旧版本行为,不执行新版本动作 |
| 灰度流量 | 是,比例小 | 验证真实效果和稳定性 |
| A/B 实验 | 是,受控分组 | 判断业务指标差异 |
4. 指标设计
| 指标 | 解释 |
|---|---|
| Resolution Rate | 用户问题一次解决率 |
| Human Handoff Rate | 人工接管率,过高说明能力不足或策略过严 |
| Reopen/Repeat Contact Rate | 用户二次联系率,能反映假成功 |
| Unsafe Action Rate | 越权、未确认、违反策略动作比例 |
| P95/P99 Latency | 高分位延迟,影响用户体验 |
| Cost per Resolved Task | 每个成功任务成本 |
5. 工程实现
在线评测需要实验路由和事件埋点:
{
"event": "agent_task_finished",
"experiment": "refund_agent_v3_ab",
"variant": "treatment",
"trace_id": "tr_123",
"task_type": "refund",
"success_label": "auto_resolved",
"human_handoff": false,
"unsafe_action": false,
"latency_ms": 11920,
"input_tokens": 4200,
"output_tokens": 380,
"tool_calls": 5
}
关键实现要求:
- 影子流量的工具调用必须只读或写入沙箱。
- A/B 分组要稳定,避免同一用户在一次任务中切换版本。
- 不可逆动作必须有策略门禁,不能因为实验而降低确认要求。
- 线上指标要和离线 run id、prompt 版本、工具 schema 版本关联。
6. 生产实践
- 先影子,再小流量灰度,再扩大实验。
- 对高风险标签单独设置更低流量上限和更高回滚敏感度。
- 在线评测必须设置 guardrail:错误率、人工接管率、延迟、成本、安全告警达到阈值自动停止。
- 对线上失败自动生成候选回归样本,经脱敏和标注后进入离线集。
7. 常见反模式
- 只看 CSAT,不看是否真正完成业务状态变更。
- 把用户点击“满意”当作唯一成功标签。
- 线上实验没有排除工具故障、活动峰值、渠道变化等混杂因素。
- 没有影子阶段,直接让新 Agent 执行写操作。
8. 评测方法
在线结论要包含:
- 样本量和实验时间窗口。
- 控制组与实验组的任务分布是否一致。
- 主要指标、护栏指标和安全指标。
- 分任务类型、用户等级、渠道、工具链路的切片。
- 回滚条件是否触发。
9. 安全与治理
在线评测不能绕过生产权限。所有工具调用都应带 trace_id、user_id、agent_version、policy_version,便于审计。涉及个人信息、金融、医疗、权限变更的场景,应保留人工在环和二次确认。
10. 权威资料
- LangSmith Observability docs: https://docs.langchain.com/langsmith/observability (核对日期:2026-05-09)
- OpenAI Agents SDK tracing: https://openai.github.io/openai-agents-python/tracing/ (核对日期:2026-05-09)
- Google SRE Workbook - Alerting on SLOs: https://sre.google/workbook/alerting-on-slos/ (核对日期:2026-05-09)
- NIST AI RMF: https://www.nist.gov/itl/ai-risk-management-framework (核对日期:2026-05-09)
17. 主控验收清单
- 实验是否有唯一 experiment_id 和稳定分桶规则。
- 是否定义 primary metric 和 guardrail metric。
- 是否有安全、成本、延迟触发的自动回滚。
- 是否按租户、语言、风险等级和工具组合分片。
- 是否处理用户反馈偏置,不能只看主动点赞差评。
- 是否保留 shadow/canary trace 作为发布证据。
- 是否限定实验时长和最小样本量。
- 是否避免高危动作直接进入无审核 A/B。
- 是否把线上失败样本脱敏回流离线集。
- 是否记录模型、prompt、工具、策略版本。
- 是否由业务和安全 owner 共同确认上线判断。
- 是否在实验结束后归档报告和决策理由。
11. 二次精修:在线评测信号
在线评测关注真实用户、真实权限、真实成本下的表现。它不能替代离线评测,因为线上错误可能已经造成损害。
| 信号 | 来源 | 用途 | 风险 |
|---|---|---|---|
| 用户显式反馈 | 点赞、差评、投诉 | 体验质量 | 样本偏置 |
| 隐式行为 | 重问、放弃、人工转接 | 任务失败 proxy | 解释不唯一 |
| 工具结果 | 下游成功/失败 | 真实任务结果 | 数据延迟 |
| 安全事件 | 策略拦截、越权尝试 | 风险监控 | 漏报 |
| 成本延迟 | trace/metrics | 可持续性 | 易被均值掩盖 |
| 人工质检 | 抽样标注 | 校准 judge | 成本高 |
12. Canary 与 A/B 流程
13. 在线指标定义
online_eval:
primary:
task_success_proxy: "downstream_completion && no_user_reopen"
guardrails:
unsafe_action_rate: "<= 0.001"
cost_per_success_usd: "<= 0.35"
p95_latency_ms: "<= 8000"
human_escalation_rate_delta: "<= 0.02"
slices:
- tenant_tier
- locale
- agent_version
- prompt_version
- tool_version
14. A/B 实验注意事项
- 先定义主要指标和护栏指标,不要事后挑选有利指标。
- 按用户或会话稳定分桶,避免同一用户在两个 Agent 版本之间跳变。
- 高风险动作不适合直接 A/B,应先 shadow 或人工审核。
- 实验要分层看结果:总体提升可能掩盖某个租户、语言或工具的退化。
- 线上负反馈要回流到离线数据集,但必须脱敏和去重。
15. 安全与治理
在线评测要保留审计链:实验 ID、版本、分桶规则、用户授权、工具权限、人工审批、回滚记录。任何自动优化系统不得绕过安全 guardrail;一旦安全指标触发,优先回滚而不是继续收集数据。
16. 补充权威资料
- LangSmith online evaluation: https://docs.langchain.com/langsmith/online-evaluations (核对日期:2026-05-09)
- Google SRE Workbook - Alerting on SLOs: https://sre.google/workbook/alerting-on-slos/ (核对日期:2026-05-09)