HelloAgents学习笔记:智能体性能评估

HelloAgents:智能体性能评估

前言

过去,大语言模型的评测往往围绕着"回答是否正确"展开,例如采用 BLEU、ROUGE、Accuracy 等指标衡量模型生成文本的质量。然而,当 AI Agent 开始具备工具调用、任务规划以及多轮推理能力之后,仅凭最终答案已经无法全面反映一个智能体的真实能力。

举个简单的例子,当用户询问"今天北京天气如何?"时,一个优秀的 Agent 并不是直接根据已有知识回答,而是应该主动调用天气 API 获取实时数据,再结合查询结果生成最终答案。如果最终回答正确,但调用了错误的工具、传递了错误参数,或者经历了大量无效推理,那么这样的 Agent 依然不能认为是优秀的。

因此,Agent 的评估逐渐从传统的"结果评估"扩展到"过程评估"。HelloAgents 在第十二章选择了三个目前最具有代表性的评测方向:BFCL(工具调用能力评测)GAIA(通用智能体能力评测)以及数据生成质量评估(Data Generation Evaluation) 。三者分别对应 Agent 的三个核心能力:能否正确调用工具、能否完成真实复杂任务,以及能否生成高质量的数据。


一、BFCL:工具调用能力评估

随着 Function Calling 成为主流大模型的重要能力,Agent 已经不仅仅是一个聊天机器人,而是能够通过调用搜索引擎、数据库、计算器、浏览器等工具完成复杂任务。因此,一个 Agent 是否真正具备实用价值,很大程度上取决于它的工具调用能力(Tool Calling)

为了统一评价这一能力,伯克利提出了 BFCL(Berkeley Function Calling Leaderboard) 。它可以理解为 Tool Calling 领域最具代表性的 Benchmark,其目标不是评价模型回答得是否漂亮,而是评价模型是否能够正确完成函数调用

BFCL 将一次工具调用拆解为四个步骤:首先,模型需要理解用户自然语言中的真实意图;其次,在多个候选工具中选择最合适的工具;随后,根据工具的函数签名正确组织参数;最后,还需要能够处理多工具、并行调用以及无需调用工具等复杂场景。

因此,一次 Tool Calling 实际上可以抽象为:

text 复制代码
User Query
      │
      ▼
Intent Understanding
      │
      ▼
Tool Selection
      │
      ▼
Argument Generation
      │
      ▼
Function Calling

官方数据集将测试样本划分为四类,由易到难分别是 SimpleMultipleParallelIrrelevance。Simple 只要求调用一个函数;Multiple 要求连续调用多个函数;Parallel 需要同时执行多个函数;Irrelevance 则要求模型判断当前问题是否根本不需要调用任何工具,这也是很多模型容易犯错的地方。

与普通文本生成评测最大的区别在于,BFCL 并不是直接比较字符串,而是采用 AST(Abstract Syntax Tree,抽象语法树)匹配 进行评测。原因是函数调用本质上属于程序结构,不同参数顺序、不同空格甚至不同格式都可能表示同一个调用,因此字符串匹配容易产生误判。

设模型预测得到函数调用为

P = ( f p , A p ) \] \[P=(f_p,A_p)\] \[P=(fp,Ap)

其中 (f_p) 表示预测的函数名称,(A_p) 表示预测参数;标准答案表示为

G = ( f g , A g ) \] \[ G=(f_g,A_g) \] \[G=(fg,Ag)

BFCL 的评测本质上可以表示为

S c o r e = { 1 , A S T ( P ) = A S T ( G ) 0 , o t h e r w i s e \] \[ Score= \\begin{cases} 1,\&AST(P)=AST(G)\\ 0,\&otherwise \\end{cases} \] \[Score={1,AST(P)=AST(G) 0,otherwise

也就是说,只要抽象语法树一致,就认为调用正确,而不是逐字符比较。

整个 BFCL 的评测流程可以概括为:

text 复制代码
加载测试集
      │
      ▼
Agent执行工具调用
      │
      ▼
生成Function Call
      │
      ▼
AST解析
      │
      ▼
AST Matching
      │
      ▼
Accuracy

这种评测方式更加符合 Agent Tool Calling 的实际需求,也是目前工具调用领域最广泛采用的评价方法之一。


二、GAIA:通用智能体能力评估

如果说 BFCL 关注的是"会不会调用工具",那么 GAIA 更关心的是:

智能体是否真正能够完成现实世界中的复杂任务。

GAIA(General AI Assistants Benchmark)并不是传统的问答数据集,而是一套专门针对 AI Agent 设计的综合任务基准。它强调真实场景中的任务执行,而不是单纯回答一道选择题。

与传统 Benchmark 相比,GAIA 最大的特点是真实性。一个任务往往需要多个步骤才能完成,例如读取 PDF、访问网页、分析图片、编写代码、调用工具、进行推理,并最终输出答案。这意味着 Agent 必须具备完整的规划与执行能力,而不仅仅依赖语言生成。

GAIA 按照任务复杂程度划分为三个等级(Level 1、Level 2、Level 3),难度逐级提升。低等级任务通常只需要少量工具调用,而高等级任务往往需要多轮推理、多工具协同以及长时间规划。

整个 GAIA 的执行过程可以抽象为:

text 复制代码
Task
 │
 ▼
Reasoning
 │
 ▼
Planning
 │
 ▼
Tool Use
 │
 ▼
Observation
 │
 ▼
Next Action
 │
 ▼
Answer

由于最终答案往往具有唯一性,因此 GAIA 多采用 Quasi-Exact Match(准精确匹配) 作为评价方法。它不是严格逐字符匹配,而是在忽略大小写、空格、标点以及部分格式差异之后再进行比较,使得评测更加符合真实应用场景。

相比 BFCL,GAIA 更接近一个完整 Agent 的端到端测试,因此它衡量的不只是模型的推理能力,还包括任务规划、工具使用、文件处理、多模态理解以及最终结果生成等多个方面。


三、数据生成质量评估

除了执行任务之外,越来越多的 Agent 开始承担数据生成工作,例如自动生成训练数据、测试数据、问答对、指令数据等。因此,一个新的问题出现了:

Agent 生成的数据是否足够高质量?

HelloAgents 将这一部分单独作为第三类评估,其核心目标是评价生成数据本身,而不是评价 Agent 是否完成了任务。

传统的自动指标(如 BLEU、ROUGE)虽然可以比较文本相似度,但对于开放式生成任务往往相关性较弱。因此,目前更主流的方法是采用 LLM-as-a-Judge

整个流程如下:

text 复制代码
Reference Data
        │
Generated Data
        │
        ▼
   Judge LLM
        │
        ▼
Correctness
Completeness
Consistency
Relevance

Judge Model 会根据预设 Prompt,从正确性(Correctness)完整性(Completeness)一致性(Consistency)相关性(Relevance) 等多个维度进行综合打分。

除此之外,官方还介绍了 Win Rate(胜率) 的评价方式。它的思想来源于竞技评测:不是直接给模型打绝对分,而是让两个模型生成结果,然后交由评测模型或人工进行两两比较。

若模型 A 获胜次数为 (W_A),总比较次数为 (N),则其胜率可表示为:

Win Rate W A N × 100 \] \[ \\text{Win Rate} \\frac{W_A}{N}\\times100% \] \[Win RateNWA×100

Win Rate 的优势在于能够直接比较两个模型生成结果的优劣,因此在模型迭代和版本对比中应用非常广泛。为了进一步保证评测的可靠性,HelloAgents 还建议将 LLM Judge、Win Rate 与人工验证 结合使用,形成多层次的评价体系。


最后可以用一张图概括整章内容:

相关推荐
林小果119 小时前
GPT-5.6 Luna API 价格详解:1 亿缓存 Token 成本、LinkAGI 接入与 Codex 配置
ai编程·openai api·codex·api中转·prompt caching·gpt-5.6·linkagi
恋猫de小郭19 小时前
AI 又又造词,Graph 就又要替代 Loop 了?
前端·人工智能·ai编程
怕浪猫19 小时前
第2章 大脑构建:提示词工程与思维链
aigc·openai·ai编程
wWYy.20 小时前
Workflow,Agent,Tool概念和区别
agent
AINative软件工程20 小时前
LLM 应用的 Canary 发布工程实践:Prompt、模型和参数变更如何做到安全灰度
ai编程
smartfish_liu20 小时前
LLM.deepseek: 我感受到了时间
agent
copyer_xyf20 小时前
Agentic RAG 入门:从固定检索到自主决策
agent
Esaka_Forever1 天前
AI 工作流六大核心范式完整梳理、对比与落地解读
llm
yaocheng的ai分身1 天前
【准在】GPT-5.6 提示词指引
openai·ai编程