AgentX 服务性能基准#

AgentX 用于衡量推理服务处理长编码 Agent 会话时的性能,不评估模型能力或任务正确率。

安装#

AgentX 要求 Python 3.11--3.13,并且不包含在默认 Perf extra 中:

pip install 'evalscope[agentx]'

服务前置条件#

默认 256K workload 需要支持流式 OpenAI Chat Completions 的服务端,并且实际上下文窗口至少为 256K tokens。32K 服务无法运行默认 trace。使用 vLLM 时,请设置 --max-model-len 262144,并在运行 AgentX 前通过 /v1/models 返回的 max_model_len 核验。

快速开始#

建议先执行短 smoke 测试。它使用一个活跃会话,结果不能与公开成绩比较:

evalscope perf \
  --scenario '{"name":"agentx","mode":"smoke"}' \
  --model YOUR_MODEL \
  --tokenizer-path YOUR_TOKENIZER_PATH_OR_ID \
  --url http://localhost:8000/v1/chat/completions \
  --parallel 1

正式运行#

默认运行使用已校验的 ModelScope 256K 镜像、固定 seed 和 30 分钟时长:

evalscope perf \
  --scenario agentx \
  --model YOUR_MODEL \
  --tokenizer-path YOUR_TOKENIZER_PATH_OR_ID \
  --url http://localhost:8000/v1/chat/completions \
  --parallel 8

parallel 是同时运行的 AgentX 会话数。一个会话可能发出多个请求,因此实际请求并发可能更高。

仅在需要与 AIPerf 上游结果兼容时使用 --data-source huggingface:

evalscope perf --scenario agentx --data-source huggingface \
  --model YOUR_MODEL --tokenizer-path YOUR_TOKENIZER_PATH_OR_ID \
  --url http://localhost:8000/v1/chat/completions --parallel 8

等待在途请求完成#

在场景 JSON 中设置 benchmark_grace_period,可以控制发送时长结束后 AIPerf 额外等待在途响应的秒数。例如,将 --scenario agentx 替换为:

--scenario '{"name":"agentx","benchmark_grace_period":600}'

取值须为有限的非负数;零也会显式透传。省略时保留 AIPerf 默认值(0.12.0 中为 30 秒)。该参数不会改变 --duration 或单个请求的 request_timeout_seconds。在此期间完成的响应会计入指标,阶段总耗时可能超过发送时长。对比不同引擎时请使用相同设置,并检查阶段日志中的取消请求数。

高级配置#

JSON 形式可用于选择其他 workload 变体、配置请求时间参数或记录部署元数据。full 变体需要服务端支持更大的上下文窗口:

evalscope perf \
  --scenario '{"name":"agentx","variant":"full","num_gpus":8,"engine":"vllm"}' \
  --model YOUR_MODEL --tokenizer-path YOUR_TOKENIZER_PATH_OR_ID \
  --url http://localhost:8000/v1/chat/completions --parallel 8

结果#

每个并发点会生成 agentx_summary.json,整体汇总为 agentx_sweep_summary.json。原始 benchmark 文件保存在相邻的 aiperf/ 目录,便于排查问题。

smoke、取消、失败、缩短或哈希不符的运行,submission_valid 均为 false。需要可比较结果时,请使用符合要求的数据集和时长执行正式运行。

兼容性#

首版固定 aiperf==0.12.0 及其 inferencex-agentx-mvp 场景。它不等同于当前 InferenceX AgentX v1.0 榜单口径,后者的 profiling 和 warmup 规则已变化。AgentX 指标不能作为模型质量或 Agent 任务得分。