researchharness Harness 在准备好的 Environment 中运行 ResearchHarness 研究 agent。它用于运行 ResearchClawBench,也可运行 SGI Deep Research 等长文本研究 Benchmark。
工作原理
- 准备 ResearchHarness。 Harness 根据
install_strategy使用环境中已有的包,或执行install_command完成安装。已安装版本必须为 ResearchHarness 0.0.49 或更高版本。 - 运行研究循环。 AgentCompass 向任务环境注入运行器,传入准备好的提示词和工作区,并启动 ResearchHarness agent。
max_rounds限制 agent 轮数,timeout限制单个任务的最大运行时长。 - 配置检索服务。 Serper 用于网页和学术搜索,Jina 用于读取网页内容,MinerU 用于解析 PDF。凭据可通过专用 Harness 参数或同名环境变量提供。
- 回收结果。 Harness 将 ResearchHarness 事件规整为标准轨迹、最终答案、执行状态和任务要求的输出文件,并返回
RunResult。
参数
通过--harness-params '{...}' 传入 Harness 配置,也可写入 --config 的 harness.params;同名项以命令行为准。
参数总览
| 参数 | 类型 | 默认值 | 可选值 / 取值 | 说明 |
|---|---|---|---|---|
install_strategy | 字符串 | install_if_missing | preinstalled / install_if_missing / install_always | 准备 ResearchHarness 包的方式。 |
install_command | 字符串 | python3 -m pip install researchharness | 命令 | 所选策略需要安装包时执行的命令。 |
install_timeout | 整数 / 空值 | 900 | 整数 ≥ 1 / null | 安装命令的超时时间,单位为秒。 |
timeout | 整数 | 10800 | 整数 ≥ 1 | 单个任务的最大运行时长,单位为秒。 |
max_rounds | 整数 | 500 | 整数 ≥ 1 | 单个任务的最大 agent 轮数。 |
llm_request_timeout_seconds | 整数 | 1200 | 整数 ≥ 1 | 单次 model 请求的超时时间,单位为秒。 |
webfetch_tool_timeout_seconds | 整数 | 300 | 整数 ≥ 1 | 单次 WebFetch 工具调用的超时时间,单位为秒。 |
readpdf_tool_timeout_seconds | 整数 | 300 | 整数 ≥ 1 | 单次 ReadPDF 工具调用的超时时间,单位为秒。 |
max_output_tokens | 整数 | 16384 | 整数 ≥ 1 | 单次 model 请求的最大输出词元数。 |
max_input_tokens | 整数 | 131072 | 整数 ≥ 1 | 单次 model 请求的最大输入词元数。 |
compact_trigger_tokens | 字符串 | 96k | 正整数或 k 后缀 | 触发上下文压缩的词元阈值。 |
serper_api_key | 字符串 | API 密钥或环境变量引用 | 网页与学术搜索使用的凭据。 | |
jina_api_key | 字符串 | API 密钥或环境变量引用 | 读取网页内容使用的凭据。 | |
mineru_token | 字符串 | 令牌或环境变量引用 | 解析 PDF 文档使用的凭据。 | |
extra_tools | 列表 | [] | 工具名列表 | 追加 ResearchHarness 工具,例如 str_replace_editor。 |
检索与解析 API 密钥
serper_api_key、jina_api_key 和 mineru_token 默认引用 ${SERPER_API_KEY}、${JINA_API_KEY} 和 ${MINERU_TOKEN}。可在启动 AgentCompass 的进程中设置这些环境变量,也可通过 --harness-params 显式传值。专用参数的优先级高于通用环境变量覆盖。
运行示例
- 默认配置
- 自定义参数
在终端中设置
SERPER_API_KEY、JINA_API_KEY 和 MINERU_TOKEN,然后使用 ResearchHarness 默认配置运行 ResearchClawBench。输出
ResearchHarness 为每个任务返回RunResult,其中包含执行状态、最终答案、标准轨迹、任务要求的输出文件,以及原始 ResearchHarness 事件与日志。所选 Benchmark 会将聚合指标和单任务详情写入 results/<benchmark>/<model>/<run>/,详见结果。