评估与监控
系统性评估性能、监控进展、检测异常
🎯 核心概念
什么是评估与监控?
定义
评估用于判断任务与版本是否达标,监控用于持续发现线上异常。主要执行者是独立测试和观测系统,模型自评只能作为其中一种信号,不能证明自身可靠。
为什么传统测试不够?
| 传统软件测试 | 智能体评估 |
|---|---|
| 可预测的通过/失败 | 概率性运行 |
| 确定性接口断言 | 保留断言,并增加真实任务、多次运行和环境变动 |
| 单元、集成与端到端检查 | 同时检查结果、工具轨迹与业务状态 |
📋 七大应用场景
| 场景 | 说明 |
|---|---|
| 实时性能跟踪 | 监控准确性、延迟、资源消耗 |
| A/B测试 | 比较不同版本或策略 |
| 合规性审计 | 跟踪对道德准则、监管要求的遵守 |
| AI合约 | 将任务目标、规则编码为合约 |
| 漂移检测 | 检测因数据/环境变化导致的性能下降 |
| 异常行为检测 | 识别错误或非预期行为 |
| 学习进展评估 | 跟踪学习曲线和技能改进 |
📈 智能体轨迹评估
什么是轨迹?
轨迹是智能体达到解决方案所采取的步骤序列。
轨迹比较方法
| 方法 | 说明 | 适用场景 |
|---|---|---|
| 精确匹配 | 与指定调用序列一致 | 业务必须严格固定顺序时 |
| 顺序匹配 | 正确操作按顺序 | 中等灵活 |
| 任意顺序匹配 | 正确操作任意顺序 | 高灵活 |
| 精确度/召回率 | 测量操作质量和完整性 | 评估质量 |
📝 承包商模型
从简单提示到正式合约
| 传统智能体 | 承包商模型 |
|---|---|
| 简短指令 | 详细正式化合约 |
| 目标含糊,难以验收 | 指标明确,可核对;执行仍可能失败 |
| 模糊性增加误解 | 明确定义减少歧义,不能消除模型与系统错误 |
正式化合约示例
传统:"分析上季度销售额"
合约:
"20页PDF报告,分析2025Q1欧洲市场销售:
- 5个数据可视化
- 与2024Q1比较
- 风险评估
- 预期成本和时间"动态协商
合约支持智能体协商和澄清模糊性,避免执行失败。
离线评估与线上监控如何衔接
离线数据集覆盖能力和故障场景;线上仪表盘主要观察流量、运行状态与服务质量。不能把 HTTP 200、生成了文本或模型自报完成当作业务成功。退款任务需核对账务状态,研究报告需抽检关键主张与引用。
建议 trace 记录 run、模型请求、工具调用、子任务、审批与产物之间的父子关系,以及版本、耗时、费用和结束原因。记录足够的输入版本以便回放,但对凭证与敏感正文做权限控制或脱敏,不必收集模型私有思考。
| 在线信号 | 可能的原因 | 后续动作 |
|---|---|---|
| 成功率下降、工具错误上升 | 外部依赖或参数 schema 变化 | 按工具与版本分组,回放失败样本 |
| p95 上升、平均值稳定 | 某类长任务或重试放大 | 查队列、最长 span 与重试层数 |
| 成本上升但成功率不变 | 上下文膨胀、循环委派 | 检查调用数、历史长度与预算终止 |
| 用户重复纠正同一事实 | 记忆冲突或检索过时 | 修正证据与记忆失效策略 |
告警按业务 SLO 和流量窗口设置,低样本时显示样本量,避免单次波动触发大规模回滚。把有代表性的失败脱敏后加入回归集,再评估修订版本。指标与 grader 的设计详见Agent 评估方法。
📊 核心评估指标
基础指标
| 指标 | 说明 |
|---|---|
| 准确性 | 响应正确性 |
| 延迟 | 响应时间 |
| 资源消耗 | Token使用、计算资源 |
高级指标
| 指标 | 说明 |
|---|---|
| 轨迹质量 | 步骤序列的合理性 |
| 协作成功 | 多智能体团队效能 |
| 有用性 | 主观质量(LLM-as-a-Judge) |
🛠️ 评估方法
| 方法 | 说明 |
|---|---|
| LLM-as-a-Judge | 使用LLM进行定性评估 |
| 单元测试 | 测试特定功能 |
| 集成测试 | 综合评估集测试 |
| Web UI | 交互式测试 |
| pytest | CI/CD集成 |
💡 核心要点
使用场景
- 部署到实时生产环境
- 需要比较不同版本
- 受监管或高风险领域
- 性能可能因数据变化而下降
- 评估复杂智能体行为
一句话总结
评估与监控通过定义指标、建立反馈循环和实施报告系统,将智能体从不可预测工具转变为可问责、可信赖的系统。
🔗 相关阅读
参考文献: