agent-evaluation
用 LLM 自动化评估 AI Agent 质量,支持多轮对话测试与 CI/CD 流水线集成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
用 LLM 自动化评估 AI Agent 质量,支持多轮对话测试与 CI/CD 流水线集成
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你花了一周时间训练了一个客服 AI Agent,它能流畅地回答用户问题,看起来一切正常。但当它真正面对真实用户时——订单查询出错、投诉处理跑偏、技术术语胡编乱造——问题才真正暴露。
这正是 AWS Agent Evaluation 诞生的背景。 作为 AWS Labs 开源的质量评估框架,它用大语言模型(LLM)作为"主考官",自动对虚拟 Agent 进行多轮对话测试,评估其回复质量。与传统的规则匹配测试不同,它能捕捉 Agent 在真实对话流中的语义准确性和任务完成度。
AWS 拥有 Amazon Bedrock、Q Business、SageMaker 等众多 AI 服务,大量第三方开发者和企业用户在其上构建 Agent 应用。但 AI Agent 的评估长期依赖人工测试——成本高、效率低、难以规模化。Agent Evaluation 正是为了解决这个痛点而设计。
核心技术思路:用一个 LLM(评估者)去测试另一个 LLM(被测目标)。评估者会发起多轮真实对话,引导被测 Agent 完成特定任务,同时根据预定义的测试用例(Test)和评估结果(TestResult)自动打分。这套机制让 Agent 质量评估从"人工陪聊"变成了"自动流水线"。
项目采用清晰的模块化架构,核心组件包括:
agenteval/evaluators/ — 评估器层,负责与被测 Agent 交互。BaseEvaluator 是抽象基类,定义了 run() 方法作为评估主循环。子类(如 BedrockRequestHandler)负责实际调用 LLM API。评估器接收 Test 对象作为测试用例,通过 Conversation 对象记录完整对话历史,最终生成 TestResult。
agenteval/targets/ — 被测 Agent 适配层。通过 BaseTarget 抽象接口,支持对接多种 AWS 服务:Amazon Bedrock Agent、Bedrock Flows、Bedrock Knowledge Bases、Q Business、Lex V2、SageMaker Endpoint。开发者也可以通过 boto3_target.py 自定义接入任何兼容 API 的 Agent。
agenteval/plan/ — 测试计划管理层。Plan 类负责加载测试用例(YAML/JSON),协调多线程并行执行(最高 45 线程),通过 Hook 机制支持 CI/CD 集成和自定义扩展。
agenteval/cli.py — 命令行入口,提供 init(初始化测试计划)和 run(执行测试)两个核心命令。通过 click 库构建,参数支持 --filter(按名称过滤测试)、--verbose(详细日志)、--num-threads(并发数)和 --work-dir(结果输出目录)。
项目为纯 Python 实现,依赖清晰精简:
支持 Python 3.10~3.13,通过 setuptools 构建,打包为 agenteval 命令行工具。
安装只需一行:pip install agent-evaluation。初始化测试计划:agenteval init my-plan,会在当前目录生成标准测试计划结构。编写测试用例(YAML 格式),定义场景描述、评估指标和预期行为,最后执行 agenteval run --plan-dir my-plan。
对于 AWS 环境,工具内置对 Bedrock Agent 的原生支持,只需配置 AWS 凭证即可对接。接入自定义 Agent 则需要实现 BaseTarget 接口,返回 TargetResponse 格式即可。
项目提供了 AWS Step Functions + Lambda 部署模板(samples/aws_step_functions_deployment/),以及 AWS Lambda Layer 部署方案(samples/layers/)。这意味着可以将 Agent Evaluation 深度嵌入流水线:当代码提交触发流水线时,自动运行 Agent 评估,只有评分达标才允许合并或发布。
Hook 机制进一步扩展了集成能力——开发者可以在测试前后插入自定义逻辑,例如自动告警、结果上传数据湖、触发人工审核等。
需要客观看待其局限性:
Agent Evaluation 代表了 AI Agent 从"能用"到"好用"阶段的质量工程趋势。随着 Agent 应用从原型走向生产,如何系统化、可重复地评估 Agent 能力将成为刚需。AWS 通过开源这一工具,既是自身 Agent 产品线的质量保障,也是对行业标准缺失的一次填补。
项目信息:由 AWS Labs 于 2024 年 3 月开源,Apache-2.0 许可,当前版本 0.4.1,代码库保持活跃维护。