benchmark 的价值最终要落到真实 Agent 执行上。任务生成得再好,也要看 Agent 跑出来什么轨迹。

EntBench-Agent 的第五层是真实 Agent 评测。

这部分把前面合成出来的 task.py 放进真实 runner 里跑,记录 Agent 每一步怎么想、选了什么工具、调了哪些参数、数据库状态最后变成什么样。

我觉得这一层很有意思,因为它把 benchmark 从静态题库推进到了动态执行日志。

1. RealBenchmark 是执行入口

PDF 里提到 RealBenchmark,它是真实任务执行入口。

它会读取已经编译好的任务定义,然后把每个 stage 交给 Agent 去执行。

执行过程中会记录:

user_says
selected_domain
selected_tools
stage1_thought
stage2_thought
tool_calls_detail
agent_response
evaluation_result
database_state_change

这些日志非常重要。

因为后面失败分析、Path Mining、工具图检索,都要从这里拿数据。

2. ProgressiveDailyAgent 的分阶段执行

当前真实 Agent 采用的是 progressive tool exposure。

它分成几个阶段:

Stage 1:领域选择
Stage 2:工具选择
Stage 3:工具执行
Stage 4:回答与反思

第一阶段先判断业务域。

比如用户说:

Approve the pending edit request for the launch checklist.

Agent 需要判断这属于:

document
permission

第二阶段暴露当前领域下的工具,以及 system 工具。

Agent 会选择候选工具:

list_permission_requests
approve_permission_request
list_document_permissions

第三阶段才给出这些工具的完整参数说明,让 Agent 做真实调用。

这个流程的好处是减少一次性工具上下文压力。

107 个工具全量暴露给 Agent,很容易让模型迷路。

先选领域,再选工具,再给参数 schema,整个过程更像分层决策。

3. 评测日志长什么样

每个 stage 执行完之后,系统会写日志。

一个日志大概包括:

{
  "task_id": "L3_201",
  "stage_id": 2,
  "user_says": "Approve that request and verify the requester can edit the document.",
  "selected_domain": ["permission", "document"],
  "selected_tools": [
    "approve_permission_request",
    "list_document_permissions"
  ],
  "tool_calls_detail": [
    {
      "tool": "approve_permission_request",
      "arguments": {
        "request_id": "req000123"
      },
      "success": true
    }
  ],
  "evaluation_result": {
    "passed": true
  }
}

这个日志除了记录最后对错,还记录了过程。

过程记录才是后面最有价值的地方。

如果 Agent 失败,我们可以看它在哪一步失败:

领域选错
工具漏选
参数用错
读事实读错
写操作没生效
最终回答和工具结果产生偏差

如果 Agent 成功,我们也可以把成功工具链存下来。

4. Evaluator 怎么打分

Evaluator 会根据任务定义检查每个 stage 的结果。

读任务主要看 fill_blanks。

比如:

request_id = req000123
document_id = doc000456
requester_id = user031

写任务主要看 state_checks。

比如:

PermissionRequest where request_id=req000123 and status=approved
DocumentPermission where document_id=doc000456 and entity_id=user031 and permission=edit

跨阶段任务还会看 consistency。

比如 Stage 2 使用的 request_id,要和 Stage 1 找到的 request_id 一致。

这就能评测 Agent 是否真的继承了前面阶段的信息。

5. 工具链轨迹怎么沉淀

真实执行之后,系统会从日志里抽取工具链。

比如成功任务的 observed tool path:

list_permission_requests
  -> approve_permission_request
  -> list_document_permissions

再比如文档查询任务:

query_documents
  -> get_document
  -> list_document_permissions

这些路径会进入历史轨迹库。

后面 Path Mining 会统计:

出现了哪些工具路径
哪些路径成功
路径长度是多少
同一任务是否存在多条成功路径
当前 Agent 路径和历史最短可解路径差多少

这一步让我觉得 EntBench-Agent 很有闭环感。

任务运行之后,日志会继续变成系统经验。

6. 这部分为什么关键

真实 Agent 评测提供了三类信号。

第一类是性能信号。

按难度统计任务成功率
按业务域统计成功率
按工具组合统计成功率

第二类是失败信号。

缺失工具
错误参数
上下文丢失
写操作部分成功
回答和工具结果产生偏差

第三类是成功路径信号。

哪些工具经常一起出现
哪些工具链能稳定解决某类任务
哪些路径更短
哪些路径适合作为后续检索先验

所以第五层已经超过简单跑 benchmark。

它开始把 benchmark 变成一个能产生数据的系统。