当前位置:首页>排行榜>AI Agent 通用评测 12 个指标

AI Agent 通用评测 12 个指标

  • 更新时间 2026-10-13 22:23:54
AI Agent 通用评测 12 个指标
最近一年一直在做agent,有做开源也有对接的项目,更有小模型的搭建与训练。做为一直在测试行业混摸打滚这么多年以及互联网测试经验,今天针对Agent整理12个指标。

任务完成指标

指标 1:端到端任务完成率
定义:Agent 在单次执行中成功达成用户目标的概率。
公式:完成率 = 成功完成任务数 / 总任务数 × 100%
适用:所有 Agent 类型。
def task_completion_rate(results):    """计算端到端任务完成率"""    completed = sum(1 for r in results if r["goal_achieved"] is True)    total = len(results)    return completed / total * 100 if total > 0 else 0

指标 2:N 次运行一致性

定义:同一个任务在 N 次独立运行中成功完成的比例。

公式:一致性 = N 次都成功的任务数 / 总任务数 × 100%

阈值建议:N=5 时一致性 > 80% 视为合格。低于 60% 意味着 Agent 行为高度不可预测。

指标 3:约束完成率

定义 在给定约束条件内完成任务的比率。

典型约束

  • 时间约束:必须在 5 秒内完成响应

  • Token 约束:单次任务不超过 4000 Token

  • API 约束:最多调用 5 次外部 API

  • 成本约束:单次任务成本不超过 ¥0.01

def constraint_completion(trace, constraints):    """检查是否在约束内完成任务"""    checks = {}    checks["within_time"] = trace["total_duration_ms"] <= constraints["max_duration_ms"]    checks["within_tokens"] = trace["total_tokens"] <= constraints["max_tokens"]    checks["within_api_calls"] = len(trace["tool_calls"]) <= constraints["max_api_calls"]    all_passed = all(checks.values())    return {"passed": all_passed, "details": checks}

工具调用指标

指标 4:工具调用准确率

定义:Agent 在所有工具调用中,正确选择了工具并传入了正确参数的比例。

公式:准确率 = 正确的工具调用次数 / 总工具调用次数 × 100%

工具调用出错的三种典型形式:

  • 选错工具:应该调 search_order 却调了 search_product

  • 参数错误:传了 order_id: "abc" 但系统期望的是数字

  • 省略参数:调用 send_email 时没有传 recipient

指标 5:工具冗余调用率

定义:Agent 调用了不必要的工具的比率。

公式:冗余率 = 冗余调用次数 / 总工具调用次数 × 100%

冗余调用是 Agent 中最隐蔽的成本黑洞。一个看似正常的任务,Agent 可能在内部调用了 8 次 API,而最优解只需要 2 次。

def detect_redundant_calls(trace, optimal_path):    """检测冗余的工具调用"""    actual_calls = [call["name"] for call in trace["tool_calls"]]    # 场景 1:重复调用同一个工具    redundant = []    seen = {}    for call in trace["tool_calls"]:        key = f"{call['name']}:{call.get('params', '')}"        if key in seen:            redundant.append(call)        seen[key] = True    # 场景 2:调用了最优路径外的工具    extra_calls = [c for c in actual_calls if c not in optimal_path]    return {        "redundant_count": len(redundant) + len(extra_calls),        "total_calls": len(actual_calls),        "redundant_rate": (len(redundant) + len(extra_calls)) / len(actual_calls) * 100    }

指标 6:工具调用成功率

定义:工具调用中返回成功状态的比例。

公式:成功率 = 返回成功的调用次数 / 总调用次数 × 100%

这个指标与"准确率"的区别:准确率看"有没有选对工具",成功率看"工具调用后 API 是否正常返回"。选对了工具但 API 超时或出错,是成功率的问题。

输出质量指标

指标 7:输出忠实度

定义:Agent 的最终输出内容是否忠实于检索到的信息或工具返回的数据。

检测方式:LLM-as-Judge 或事实性交叉验证。

def faithfulness_check(output, retrieved_docs):    """检查输出是否忠实于检索来源"""    # 从输出中提取事实性声明    claims = extract_claims(output)    # 验证每个声明是否能在检索文档中找到支持    unsupported = []    for claim in claims:        if not verify_against_docs(claim, retrieved_docs):            unsupported.append(claim)    faithfulness = 1 - len(unsupported) / len(claims)    return {"faithfulness": faithfulness, "unsupported_claims": unsupported}

阈值建议:> 0.9 合格。低于 0.8 意味着 Agent 存在系统性幻觉,需要排查。

指标 8:上下文遗忘率

定义:在多轮对话中,Agent 遗忘或错误引用前文信息的比例。

适用:多轮对话型 Agent。

测试方式:构造长对话,在最后几轮引用前文信息,检查 Agent 是否能正确回忆。

指标 9:幻觉率

定义:Agent 输出中包含事实性错误、杜撰信息的比例。

公式:幻觉率 = 包含幻觉的回答数 / 总回答数 × 100%

幻觉是 Agent 最危险的缺陷之一——特别是当 Agent 看起来"非常自信"地给出错误信息时。

指标 10:回答有用性

定义:从用户视角看,回答是否直接解决了问题。

评测方式:这个指标通常需要人工评测或用户满意度调查。自动化评测很难准确衡量"有用性",因为有用性是高度主观的。

效率与成本指标

指标 11:平均延迟

定义:从用户输入到 Agent 输出完整回复的平均耗时。

分解:总延迟 = LLM 推理时间 + 工具调用时间 + 检索时间 + 后处理时间

def latency_breakdown(trace):    """延迟分解"""    spans = trace["spans"]    return {        "total_ms": sum(s["duration_ms"] for s in spans),        "llm_ms": sum(s["duration_ms"] for s in spans if s["type"] == "LLM"),        "tool_ms": sum(s["duration_ms"] for s in spans if s["type"] == "TOOL_CALL"),        "retrieval_ms": sum(s["duration_ms"] for s in spans if s["type"] == "RETRIEVAL"),    }

阈值:实时交互 < 3s,后台处理 < 10s。

指标 12:单位任务成本

定义:完成一个任务平均消耗的 Token 成本 + API 成本。

def cost_per_task(trace, token_price, api_price_map):    """计算单次任务的成本"""    total_tokens = trace["total_tokens"]    token_cost = total_tokens * token_price    api_cost = 0    for call in trace["tool_calls"]:        api_name = call["name"]        api_cost += api_price_map.get(api_name, 0)    return {"tokens": total_tokens, "token_cost": token_cost,             "api_cost": api_cost, "total_cost": token_cost + api_cost}

#

指标

所属维度

自动化评测

适用阶段

1

端到端任务完成率

任务完成

✅

测试/门禁/监控

2

N 次运行一致性

任务完成

✅

测试/门禁

3

约束完成率

任务完成

✅

测试/门禁

4

工具调用准确率

工具调用

✅

开发/测试/门禁

5

工具冗余调用率

工具调用

✅

测试/监控

6

工具调用成功率

工具调用

✅

测试/监控

7

输出忠实度

输出质量

✅ (LLM Judge)

测试/门禁

8

上下文遗忘率

输出质量

✅

测试

9

幻觉率

输出质量

✅ (LLM Judge)

测试/门禁

10

回答有用性

输出质量

❌ (需人工)

上线前

11

平均延迟

效率成本

✅

全阶段

12

单位任务成本

效率成本

✅

测试/监控

#Agent #自动化评测 #评测指标

随机文章