跳转到主要内容
Harnesses 定义“如何尝试完成任务”。它们把模型、命令行 agent 或外部 agent framework 适配到 AgentCompass 的 PreparedTask -> RunResult 契约。 Harness 不负责 benchmark scoring。它运行 agent,收集 trajectory 和 output,并把标准化结果交给 benchmark 和 analyzers。

Harnesses 负责什么

兼容性

声明该 harness 是否支持当前 environment 和 model protocol。

Session setup

启动本地进程、remote entrypoint、tmux session 或 framework session。

任务执行

消费 PreparedTask 并返回包含 prediction、trajectory、error 和 metadata 的 RunResult

清理

释放 harness 自己持有的 session 资源,不删除 benchmark 的结果产物。

核心接口

Harness 家族

用法:GUI Grounding Harness

这里 screenspot 准备图片和指令,qwen3vl_gui 调用模型 endpoint。评分仍然由 ScreenSpot benchmark 负责。

用法:Coding Agent Harness

Benchmark 在 /testbed 准备 repository task,Modal recipe 选择任务镜像,mini_swe_agent 在 workspace 中运行修复流程。

用法:Terminal Agent Harness

Terminal harness 高度依赖 environment 行为。如果任务 image、命令执行或 workspace isolation 不应占用本地资源,优先使用 remote sandbox。

Harness 输出应包含什么

  • final prediction 或生成文件;
  • 结构化 trajectory steps;
  • 可用时记录 model usage、latency、tool-call metadata;
  • analyzer 能解析的 error fields;
  • benchmark evaluation 所需的 workspace 或 command context。

开发者说明

当 agent framework、CLI、model interaction protocol 或 terminal control loop 是新的,就新增 harness。如果只是 task image 或 workspace 不同,应使用 recipe 或 environment config。

相关页面