Harness-1:基于强化学习训练的有状态搜索20B检索子智能体
Meet Harness-1: A 20B Retrieval Subagent Trained With Reinforcement Learning Inside a Stateful Search Harness on gpt-oss-20b
UIUC与Chroma联合推出Harness-1,一个20B参数的检索子智能体。它通过强化学习在一个有状态搜索框架中训练,该框架维护候选池、重要性标注集、证据图和验证记录,由策略决定搜索、筛选、验证及停止的时机。Harness-1在8个基准测试上达到0.730平均curated recall,比下一个最佳开源子智能体高出11.4个百分点,仅落后于Opus-4.6。模型权重和框架代码均已公开。
UIUC和Chroma放出的这个20B检索子代理,用RL训练出了0.73的平均召回,把开源竞品甩开11.4分,只比Opus-4.6低一点。权重、Harness全开源,搞RAG的可以真刀真枪试试了。
大多数搜索智能体都是作为策略,在一条不断增长的对话记录上进行训练的。模型决定如何搜索。它还必须记住自己看到了什么、哪些证据重要、以及自己核查过哪些主张。来自伊利诺伊大学厄巴纳-香槟分校、UC Berkeley 和 Chroma 的一个研究团队认为,这要求过高了。强化学习最终会同时优化搜索决策和日常的簿记工作。
他们的答案是 Harness-1,一个基于 gpt-oss-20b 构建的 20B 检索子智能体。它在一个有状态的搜索 harness 内通过强化学习进行训练。harness 负责簿记。策略保留语义决策。权重和 harness 代码均已公开发布。

Harness-1 究竟是什么
Harness-1 为下游的作答模型生成一组排序后的文档。它本身并不回答问题。它运行在一个以每个 episode 的 WORKINGMEMORY 为中心的状态机 harness 内。
每一轮都按一个循环运作。harness 渲染出紧凑的搜索状态以及近期的动作。模型输出一个结构化动作。harness 执行它、更新状态,并渲染出下一个观测。
有状态 harness:哪些部分从策略中移出
研究团队将其原则称为“有状态认知卸载”。策略决定搜索什么、筛选什么、验证什么,以及何时停止。执行框架则围绕这些决策维护可恢复的状态。
该状态包含若干部分。候选池存放经过压缩、去重的文档。带重要性标签的精选集是最终输出,上限为 30 篇文档。标签有四个取值:very_high、high、fair 或 low。全文存储则保留所有检索到的文本块,置于提示词之外。
证据图增添了结构。正则表达式提取器扫描每个文本块,查找专有名词、年份和日期。执行框架随后呈现高频实体、桥接文档和单例。桥接文档包含两个或更多高频实体。单例仅出现在一篇文档中,提示后续线索。
策略通过八个工具运作。它们是 fan_out_search、search_corpus、grep_corpus、read_document、review_docs、curate、verify 和 end_search。搜索输出用 sentence-BM25 压缩,保留前四句。两级去重通过文本块 ID 和内容指纹消除重复。
一项设计选择针对冷启动问题。首次成功搜索会自动以八条重排序结果、fair 重要性为精选集播种。策略随后提升强文档、移除弱文档。这使任务从从零构建转变为精炼优化。
研究团队为可训练执行框架列出了三项要求。它们是热启动精选、紧凑的派生状态呈现,以及保持多样性的激励。Harness-1 实现了全部三项。
训练方式
训练沿着与 harness 相同的路线展开。监督微调教会模型操作界面。强化学习则在维护的状态之上改进搜索决策。
单个教师模型 GPT-5.4 在完整 harness 内实时运行。经过筛选后,剩余 899 条轨迹用于 SFT。模型使用 rank 32 的 LoRA 训练三个 epoch。第 550 步的检查点用于初始化 RL。
RL 采用 on-policy CISPO,上限为 40 轮,仅使用终端奖励。它只在 SEC 查询上训练。奖励相同的组会从梯度中剔除。训练在 Tinker 上运行。
该奖励将发现与选择区分开来。它还增加了一个工具多样性奖励。如果没有该奖励,智能体会退化为重复搜索。此时精选召回率随后停滞在 0.53 附近。有了该奖励,多样性趋于稳定,召回率达到约 0.60。
基准案例
Harness-1 在涵盖网页、金融、专利和多跳问答的八个基准上进行了评估。主要指标是精选召回率:最终集合中相关文档的覆盖率。轨迹召回率则统计整个 episode 中在任何位置遇到的证据。
| 模型 | 类型 | 平均精选召回率 | 平均轨迹召回率 |
|---|---|---|---|
| Harness-1(20B) | 开源小模型 | 0.730 | 0.807 |
| 通义 DeepResearch 30B | 开源小模型 | 0.616 | 0.673 |
| Context-1(20B) | 开源小模型 | 0.603 | 0.756 |
| Search-R1(32B) | 开源小模型 | 0.289 | 0.289 |
| GPT-OSS-20B | 开源小模型 | 0.262 | 0.590 |
| Qwen3 (32B) | 开放小模型 | 0.216 | 0.446 |
| Opus-4.6 | 前沿 | 0.764 | 0.794 |
| GPT-5.4 | 前沿 | 0.709 | 0.752 |
| Sonnet-4.6 | 前沿 | 0.688 | 0.725 |
| Kimi-K2.5 | 前沿 | 0.647 | 0.794 |
| GPT-OSS-120B | Frontier | 0.496 | 0.769 |
Harness-1 达到 0.730 的平均 curated recall。这比排名第二的开源子智能体通义 DeepResearch 30B 高出 11.4 分。在测试的 frontier 搜索器中,只有 Opus-4.6 的平均得分更高。
迁移模式是该机制最清晰的信号。SFT 使用了四个基准系列;RL 仅使用了 SEC。在这些源系列任务上,Harness-1 比最接近的开源基线提升了 7.9 分。在四个留出基准上,它提升了 17.0 分。这意味着在距离训练数据最远的任务上,提升幅度大了 2.2 倍。
消融实验支持了 harness 的主张。禁用所有 harness 机制后,在 BrowseComp+ 上的 Recall 相对下降了 12.2%。训练后的策略仍在继续搜索,但无法对它所见的内容进行排序。

用例
该方法针对的是文档为答案提供支撑的证据检索场景。多种工作流都符合这一形态。
一个是文献与专利审查。证据图和精选集有助于整理大量来源。另一个是财务申报文件分析。SEC 案例研究在多个 8-K 文件中还原出了准确的高管交接日期。
第三个是多跳事实核查。fan_out_search 和 verify 工具会在最终确认前先消解有歧义的实体。第四个是模块化 RAG。精选集输入给冻结的生成器,更好的集合能带来更高的答案准确率。
优势与不足
优势
- 在测试的开源模型中拥有最高的平均精选召回率,整体上仅次于 Opus-4.6。
- 这些提升在留出基准上依然成立,表明其搜索操作具有领域通用性。
- 仅在 4,352 个唯一条目上训练,远少于若干基线。
- 开放了 checkpoint 和 harness 代码,可用常见运行时进行部署。
不足
- 证据图使用正则表达式提取,而非完整的实体链接。
- verify 工具是一个 LLM 代理,在遇到有歧义的论断时可能出错。
- Sentence-BM25 压缩可能会丢失与语篇结构相关的上下文。
- 研究团队报告的是点估计值,未给出完整的置信区间。
核心要点
- Harness-1 是一个 20B 的搜索智能体,它将搜索的簿记工作移入环境,把语义决策留给策略模型。
- 它在八个基准测试上取得 0.730 的平均精选召回率,比排名第二的开源子智能体高出 11.4 个点。
- 在受测的搜索器中,只有 Opus-4.6 的平均精选召回率得分更高。
- 在留出基准测试上提升最大(+17.0 对 +7.9 个点),表明所学的搜索操作具有迁移性。
- 权重和 harness 代码均已公开,可通过 vLLM、SGLang 或 Transformers 部署服务。
read_document
review_docs
curate
verify
end_search
首次成功搜索会以公平的重要性权重,用八篇重排序文档自动初始化精选集。随后,策略会提升强文档并移除弱文档。
训练
用 SFT 操作界面,用 RL 进行搜索
SFT:
GPT-5.4 教师模型在 harness 内 · 899 条轨迹 · LoRA rank 32 · step-550 checkpoint
RL:
on-policy CISPO · 仅 SEC 查询 · 40 轮上限 · 终端奖励 · 在 Tinker 上训练
数据规模:
4,352 条唯一训练样本(899 条 SFT + 3,453 条 RL)
三项可训练性要求:热启动精选、紧凑的派生状态渲染,以及保持多样性的激励。
结果
这些数字说明了什么
平均精选召回率
在八个基准上
+11.4 分
在下一个开放子智能体上,通义 DeepResearch 30B
在受测的搜索器中,只有
Opus-4.6
平均得分更高
迁移:
在留出集上对比
在源家族上(2.2 倍差距)
消融实验:移除所有 harness 机制会使 Recall 下降
相对
自己运行
部署:
vLLM、SGLang 或 Transformers
检查点:
pat-jj/harness-1(Hugging Face,21B params,BF16)
代码:
github.com/pat-jj/harness-1
论文:
arXiv:2606.02373
Harness-1 为下游的问答模型返回一组经过筛选的文档。它本身并不回答问题。
来源:MarkTechPost(RSS) · marktechpost.com