定制一个可用的完整 Agent 评测平台
从 0 到 1 设计一套「真的能在企业内跑起来」的 Agent 评测平台。平台目标 & 场景边界总体架构设计(模块图 + 数据流)评测任务体系 & 指标体系评测流水线:从“题库”到“报告”的全链路工程落地建议(技术栈、环境隔离、多租户、安全)
从 0 到 1 设计一套「真的能在企业内跑起来」的 Agent 评测平台。
平台目标 & 场景边界
总体架构设计(模块图 + 数据流)
评测任务体系 & 指标体系
评测流水线:从“题库”到“报告”的全链路
工程落地建议(技术栈、环境隔离、多租户、安全)
1. 平台要解决什么问题?
目标:
给公司里所有 Agent(客服机器人、搜索助理、文档助手、自动化脚本、代码 Agent…)
提供一个统一的平台,做:选型、回归测试、版本对比、质量监控。
典型企业需求:
-
多 Agent、版本很多
-
自研 Agent / 第三方 Agent / 不同模型版本 / Prompt 版本。
-
-
场景多样
-
客服问答、RPA 自动化、知识库检索、业务流程自动化(报销/审批)、代码辅助……
-
-
希望有统一的「分数面板」
-
不同团队谈“这个 Agent 好不好用”,可以看同一套指标。
-
-
自动化回归
-
新版本 Agent 上线前自动跑一遍评测,防止质量倒退。
-
-
可追溯 & 可解释
-
每一次评测的样本、轨迹、评分,都可检索与回放。
-
可以理解为:
「把 Agent 能力评测,包装成一个Jenkins + Grafana + Leaderboard + 人工标注工具的综合平台」。
2. 总体架构设计
2.1 模块总览
文字架构图:
-
任务与数据管理(Task & Dataset Service)
-
场景定义、题库管理、样本版本管理、标签管理。
-
-
执行引擎(Execution Engine)
-
调用被测 Agent(HTTP / SDK / 本地)、维护环境(Browser / FS / DB sandbox)、记录完整轨迹。
-
-
评分与裁判模块(Scoring & Judging Service)
-
规则打分、LLM-as-a-judge、规则检查器(Checker)、安全评估。
-
-
结果存储与分析(Result Store & Analytics)
-
存储每个 run 的结果、轨迹、指标;提供统计与报表。
-
-
可视化与控制台(Web Console)
-
实验配置、任务选择、Agent 版本选择、查看雷达图/对比图、Error case drill-down。
-
-
集成与自动化(CI/CD & API Integration)
-
接入 GitLab/Jenkins,Agent 新版本 push 后自动触发评测;
-
暴露 API,给其他系统查询最新评测结果。
-
2.2 数据流/完整评测的路径
-
产品/算法同学在控制台创建一次评测任务:
-
选择:场景(客服/文档/自动化…)
-
选择:题库版本(v1.2)
-
选择:要评测的 Agent 版本(A-v3/B-v2)
-
配置:并发数、是否启用 LLM 裁判、是否启用安全检查等。
-
-
平台生成一次 Evaluation Run(有唯一 ID)。
-
执行引擎从题库中取样本 → 调用 Agent → 在环境中执行 → 保存:
-
输入(用户 Query/任务描述)
-
Agent 的动作序列(tool 调用、浏览器操作、API 请求)
-
环境观测(网页 HTML、文件状态等)
-
最终结果(答复文本 / 文件 / 状态)
-
-
评分模块对每一个样本评分:
-
Task Success Checker(规则检查)
-
LLM-as-a-judge(主观质量维度)
-
安全规则(敏感词、越权操作等)
-
资源消耗统计(步数、token 数、时间等)
-
-
结果写入 Result Store(数据库):
-
每个样本的各维度得分
-
汇总统计(成功率/平均步数/安全风险等)
-
-
控制台展现:
-
单次 run 的汇总报表
-
不同 Agent/版本之间的对比
-
Error case drill-down(点进去看具体任务轨迹和评分理由)
-
3. 场景 & 指标体系:企业级要怎样拆?
一个企业可用的体系,通常需要「三层场景 × 四类指标」。
3.1 三层场景(建议直接照搬)
-
Layer 1 – 基础工具与微任务(Micro Tasks)
-
测:工具调用正确率、基础能力。
-
示例:
-
调用内部 API 获取订单信息
-
填写某张表单
-
把一段话录入某个系统字段
-
-
-
Layer 2 – 业务子流程(Business Subflows)
-
测:中短链条任务完成率(5~10 步)。
-
示例:
-
“根据客户邮件,创建一个工单 + 填写关键信息”
-
“根据知识库和文档,回答一个复杂问题并附上出处”
-
-
-
Layer 3 – 完整业务流程(End-to-End Flows)
-
测:真正的长链条任务(十几~几十步)。
-
示例:
-
从原始客户问题 → 确认信息 → 检索知识 → 填写多个系统 → 给客户邮件答复
-
根据销售数据生成周报(抓取 → 数据处理 → 图表 → 报告 → 通知)
-
-
这三层对应不同业务方:
-
微任务:供工具/中间件团队用
-
子流程:供单一业务线(客服/销售/财务)用
-
完整流程:供管理层看“整体 Agent 能力”
3.2 四类指标(企业向)
1)任务质量(Task Quality)
-
成功率(Success Rate)
-
关键字段正确率(例如:金额/时间/人名 是否准确)
-
回答正确性(可由规则 + LLM-as-a-judge 结合)
2)交互与体验(Interaction Quality)
-
多轮对话是否稳(状态跟踪、上下文记忆)
-
是否出现明显的幻觉/无中生有
-
是否遵守企业语气规范(tone/style)
这部分用 LLM-as-a-judge + 人工抽检来打分。
3)执行与资源(Execution & Efficiency)
-
平均步数 / 工具调用次数
-
平均耗时(end-to-end latency)
-
平均 Token 消耗(成本)
可以按“分场景成本 / 每成功任务成本”给到管理层。
4)安全与合规(Safety & Compliance)
-
是否泄露敏感信息(电话、身份证、内部系统字段)
-
是否进行了越权访问/操作(删除/修改敏感数据)
-
是否违反合规(比如给投资建议、医疗诊断等)
可以结合:
-
规则检测(正则/策略引擎)
-
LLM 安全 judge(“是否给出了高风险建议”)
4. 评测流水线:从题库到报告
这一段可以直接变成内部技术文档里的「评测流程」。
4.1 题库 & 场景建模
4.1.1 题库结构设计
为保证可维护性,题库用统一 JSON/表结构,比如:
{
"id": "cs_kb_qa_00123",
"scene": "customer_support_kb_qa",
"layer": 2,
"input": {
"user_query": "我上个月的账单怎么没扣款?",
"context": {
"user_profile": { "vip_level": "gold" }
}
},
"expected": {
"key_facts": [
"解释扣款规则",
"指出上个月账单状态为未出账",
"说明何时会扣款"
],
"constraints": {
"must_cite_kb": true,
"max_ref_docs": 3
}
},
"metadata": {
"difficulty": 2,
"biz_owner": "CS",
"created_by": "analyst_A",
"version": "1.0.3"
}
}
-
Layer、scene、版本号都要有。
-
expected 里放关键点和约束,为后面 LLM 裁判和规则检查提供依据。
4.1.2 题库来源
-
真实日志脱敏抽样(90%)
-
人工构造难题/特例(10%)
-
对抗样本(专门攻 Agent 的 prompt)
题库本身要做版本管理(v1, v2…),防止 offline overfit。
4.2 执行层:如何调用 Agent + 环境
4.2.1 接入不同 Agent
统一一个 Agent Adapter 接口,比如:
class AgentClient:
def __init__(self, name, endpoint, auth):
...
def run(self, task_input, trace_id, config):
"""
task_input: 题库里定义的 input
trace_id: 用于日志追踪
config: 模型温度、是否允许调用哪些工具等
"""
return AgentResult(
final_output=..., # 最终输出
actions=[...], # 工具/环境调用轨迹
tokens_used=...,
latency_ms=...
)
对于:
-
纯 API 型 Agent → 直接 HTTP 调用。
-
本地/开源 Agent → 通过 gRPC / docker network 调用。
4.2.2 环境模拟
-
Web Agent → Browser sandbox(类似 Playwright / Selenium + 自建网页镜像)
-
文件系统 Agent → 容器里的沙盒目录(chroot 或 Docker Volume)
-
内网系统 → 测试环境(UAT),或用 mock server 录放流量。
企业场景最关键的一点:评测环境要完全与生产隔离,否则 Agent 在评测时会真的改数据。
4.3 评分层:规则 + LLM-as-a-judge + 安全检查
4.3.1 规则评分(Deterministic)
适用于:
-
是否调用了正确 API
-
是否在规定时间内填完表
-
某字段是否匹配预期值(订单号/金额等)
-
文件是否按格式生成
可以给每个场景写一个 checker 脚本:
def check_customer_bill_task(agent_result, expected):
score = 0
# 1. 检查是否解释了扣款规则
if "扣款" in agent_result.final_output and "规则" in agent_result.final_output:
score += 0.3
# 2. 检查是否包含当前账单状态
if "未出账" in agent_result.final_output:
score += 0.3
# 3. 检查是否给出下一步时间
if "明天" in agent_result.final_output or "下个月" in agent_result.final_output:
score += 0.4
return min(score, 1.0)
真实系统中可以更结构化,比如先让 Agent 输出结构化 JSON,再用精确匹配。
4.3.2 LLM-as-a-judge:主观质量维度
针对:
-
回答是否有用(helpfulness)
-
是否覆盖关键点
-
是否语气得当
-
是否幻觉少
用强模型(比如 GPT-5.x / 其它对齐好的大模型)做裁判:
-
输入:
{任务描述 + Agent 回答 + expected.key_facts + rubric} -
输出:分维度评分 + 总分 + 解释。
裁判 prompt 要写成模板,记录版本号,方便后续改进时做对比。
4.3.3 安全与合规检测
-
规则:敏感词列表 / 正则 / 策略引擎(如 OPA)
-
LLM 安全裁判:
-
“这段回答是否包含敏感数据?是否给出了投资/医疗建议?”
-
输出:
safe / unsafe+ 风险类型。
-
最终安全分一般以 “通过/不通过 + 风险标签” 的形式给。
4.4 汇总与可视化
4.4.1 指标聚合
对于每个 run:
-
按 scene & layer 聚合:
-
成功率(Hard task success rate)
-
平均质量分(LLM-judge 总分)
-
平均步数 / 调用次数 / 成本
-
安全违规率
-
给出类似:
| Scene | Success | Quality | Steps | Token/Task | Unsafe% |
|---|---|---|---|---|---|
| cs_kb_qa | 82.3% | 8.4/10 | 6.2 | 3.1k | 0.7% |
| automation_form_filling | 91.0% | 9.1/10 | 8.7 | 4.2k | 0.1% |
| e2e_support_resolution | 68.5% | 7.6/10 | 14.5 | 7.9k | 1.3% |
4.4.2 对比视图
-
同一场景下:不同 Agent/版本的雷达图、条形对比图。
-
显示:
-
质量分 / 成功率 / 安全 / 成本
-
4.4.3 Error case drill-down
点击某个场景 → 某个样本 → 看到:
-
用户输入 & 期望
-
Agent 的所有中间动作(工具调用、返回值)
-
最终输出
-
评分细节(规则分项、LLM 裁判解释、安全判定依据)
方便算法工程师/产品经理做 error analysis & prompt/model 改进。
5. 工程落地建议
5.1 技术栈建议
-
后端:Python(FastAPI)/ Go(高并发)、Node 也可以
-
前端:React/Vue 任意,重点是图表和交互
-
存储:
-
元数据 & 指标:PostgreSQL
-
轨迹(可能很大):对象存储 + 索引(ES/Opensearch)
-
-
消息队列:用于调度执行任务(Kafka/RabbitMQ)
-
任务执行:K8s 上跑 worker,支持水平扩展。
5.2 环境与安全
-
所有 Agent 评测任务尽量在 测试环境 / 沙盒 中跑:
-
Web:用镜像网站或 staging 环境
-
内网系统:连 UAT
-
文件/OS:Docker 容器,完事销毁 Volume
-
-
敏感日志脱敏:
-
去掉手机号/身份证/账号等个人信息
-
Agent 轨迹日志中对敏感字段做 mask
-
5.3 多租户 & 权限
-
不同业务线(客服/财务/销售)拥有自己的场景 & 题库
-
评测结果权限控制:
-
业务线内可见本线
-
平台 owner 可以全局看
-
-
Audit log:记录谁发起了什么评测、读了哪些结果。
5.4 与 CI/CD 整合
-
每次 Agent 代码/Prompt/策略改动,提交后:
-
CI 触发:
-
单元测试
-
小规模评测(快速 sanity check)
-
-
每晚定时跑全量评测(nightly),看长期趋势。
-
-
配置「上线门槛」:
-
比如:关键场景成功率不得下降超过 2%,安全违规率不得高于基线,否则禁止部署。
-
更多推荐



所有评论(0)