概述
Multi-Agent Eval Harness 是一个用于多智能体系统的评估工具。它指出:适用于单智能体的评估方法无法捕捉协作故障,例如交接丢失、角色混淆、互相指责循环、状态部分传递等。该工具通过增加按角色划分的指标、协作故障场景和完整对话记录评分来弥补这一空白。
适用场景
- 两个及以上智能体协作(编排者+工作者、对等智能体、A2A 协议)
- 仅在生产环境的多智能体运行中出现的缺陷
- 需要比较不同编排模式(分层式、对等式、黑板式)
- A2A 协议集成(可参考 a2a-protocol)
测量指标
| 层级 | 指标 | 用途 |
|---|---|---|
| 按角色 | 任务完成率 | 每个角色是否完成其职责 |
| 按角色 | 工具调用有效性 | 每个角色是否正确使用工具 |
| 交接 | 状态传递完整性 | 接收方是否获得所需信息 |
| 交接 | 交接延迟 | 协调开销 |
| 系统 | 端到端成功 | 整体是否成功 |
| 系统 | 总成本/延迟 | 生产可行性 |
| 故障 | 指责循环检测 | 智能体是否互相推责 |
| 故障 | 死锁检测 | 是否互相等待 |
协作故障测试套件
工具建议故意注入以下场景进行测试:
- 丢消息:验证接收方能否检测并重试
- 过期状态:接收方拿到过时上下文,必须刷新
- 指令冲突:两个智能体发出相反指令,谁获胜
- 对端静默失败:对等智能体超时但无报错
- 角色越界:编排者试图执行工作者的任务
- 权限混乱:工作者覆盖编排者的决定
- 交接中途预算耗尽:能否优雅处理还是卡死
对话记录评分
工具提供基于评分表的评分方式,评分项包括:
- 角色遵循度:每个智能体是否保持其声明的角色
- 交接质量:交接是否包含所需上下文
- 终止方式:系统完成后是否干净停止
- 指责循环:检测到任何指责循环则记 0 分
- 面向用户的质量:最终回答与黄金标准相比的质量
资料中给出评分函数的示例代码,并强调 LLM 作为评判者时必须看到带角色标签的完整对话记录,而不仅是最终输出。
工具结构
资料给出的目录结构包括 scenarios(场景定义文件)、runs(按时间戳存放 transcript.jsonl 与 scores.json)、grader.py 和 reporter.py。
快速开始
资料给出示例代码:加载全部场景,对每个场景在目标智能体系统上运行,按评分表评分并生成报告。
CI 门禁
资料建议在以下情况阻止合并:回归集上角色遵循度低于 0.9;检测到任何新的指责循环;端到端成功率相比基线下降超过 5 个百分点。
延伸阅读
资料提及可参考 LangGraph Studio 评估、AutoGen/CrewAI 的编排模式,并建议与 agent-evaluation、agent-observability 搭配使用。具体安装命令与完整代码资料未提供。