需依据Terminal-Bench 2.0运行多维度测试:一、执行全量基准测试;二、按类别筛选专项测试;三、启用延迟监控模块;四、隔离模型层测纯推理;五、分析容器网络MTU与缓冲区影响。
☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 多模态理解力帮你轻松跨越从0到1的创作门槛☜☜☜

如果您需要评估 Hermes Agent 在各类实际任务中的执行质量与稳定性,则需依据标准化基准环境运行多维度测试。以下是开展性能测试的具体步骤:
一、执行 Terminal-Bench 2.0 全量基准测试
该方法通过加载预置的 89 个终端任务集合,覆盖开发、运维、系统管理等真实场景,全面反映 Hermes Agent 在复杂指令理解、工具调用编排与结果验证环节的综合能力。
1、进入项目 benchmarks 目录:cd environments/benchmarks/terminalbench_2/
2、运行完整评估命令:python terminalbench2_env.py evaluate --dataset-name "nousresearch/terminal-bench-2" --output-dir ./tb2-results
3、等待测试完成,检查 ./tb2-results/ 目录下是否生成 JSON 日志与 CSV 汇总表。
4、确认 Weights & Biases 仪表板链接是否已写入日志末尾,用于可视化分析各任务成功率与耗时分布。
二、按任务类别筛选执行专项测试
该方法允许聚焦特定能力域,例如仅验证代码生成或系统配置类任务的表现,避免全量测试耗时过长,同时支持快速定位模块级瓶颈。
1、执行代码类任务子集测试:python terminalbench2_env.py evaluate --category "coding" --max-tasks 5
2、执行 DevOps 类任务测试:python terminalbench2_env.py evaluate --category "devops" --timeout 3600
3、指定模型进行对比:python terminalbench2_env.py evaluate --model "hermes-2-pro" --category "sysadmin"
4、观察控制台输出中每项任务的 [PASSED] 或 [FAILED] 标识,以及对应耗时数值。
三、启用内置延迟监控模块
该方法可精确拆解端到端响应时间构成,识别模型推理、工具分发、上下文压缩等各阶段延迟占比,为性能调优提供数据支撑。
1、设置环境变量:export HERMES_ENABLE_METRICS=true
2、启动带监控的 agent 实例:hermes run --env default --metrics
3、触发一次典型任务:hermes skill run web_search --query "Hermes latency benchmark"
4、导出最近五分钟指标:hermes metrics dump --since 5m
5、重点检查字段 model_inference_ms 与 tool_dispatch_ms 的中位数及波动范围。
四、隔离模型层延迟进行纯推理测量
该方法剥离平台工具链干扰,单独测定底层大模型在 Hermes 封装下的原始响应性能,适用于判断延迟是否源于模型配置或本地运行环境。
1、创建最小化配置文件 test-minimal.yaml,仅保留 model 和 provider 字段。
2、启动无扩展实例:hermes run --config test-minimal.yaml
3、发送不含工具触发词的 prompt:“请用一句话描述 Hermes Agent 的核心设计目标。”
4、使用秒表或脚本记录 TTFT(首 token 流出时间)与 TTFB(完整响应结束时间)。
5、重复执行 10 次,取 TTFT 中位数;若值超过 800ms 且模型为本地 7B 量级,需核查 Ollama GPU 卸载状态或 llama.cpp 线程绑定设置。
五、分析容器网络 MTU 与缓冲区影响
该方法针对 Docker 部署场景,检测底层网络参数是否引发 TCP 分段重传与 ACK 延迟累积,尤其在传输长上下文 prompt 时显著抬高端到端延迟。
1、进入 Hermes Agent 容器:docker exec -it hermes-agent bash
2、检查当前 MTU 值:ip link show | grep mtu
3、测试网络吞吐表现:ping -s 1472 -c 5 google.com(若丢包则说明 MTU 过大)
4、查看 TCP 接收缓冲区设置:cat /proc/sys/net/ipv4/tcp_rmem
5、临时调整缓冲区上限:echo 'net.ipv4.tcp_rmem = 4096 65536 16777216' >> /etc/sysctl.conf && sysctl -p



















