论文链接:JIT-Agent: Scaling Harness Intelligence via Just-in-Time Harness Evolution 代码仓库:github.com/bingreeky/JIT | 模型:HuggingFace/JIT-Agent | 网站:bingreeky.github.io/JIT-site 发表时间:2026年8月 机构:LV-NUS Lab(新加坡国立大学系实验室,Project Lead 为 Guibin Zhang,通讯作者为 Wangchunshu Zhou 与 Shuicheng Yan,贡献者含 NUS/Skywork 系研究者;该团队此前已陆续发表组件级自进化工作 MemEvolve 与 TodoEvolve,JIT-Agent 是这一脉络的统一延续) 领域标签:cs.CL / Agent 系统 / Harness 工程
一、论文背景
要读懂这篇论文,先要理解一个词:agent harness(智能体执行脚手架)。
大模型本身只会「接收上下文、输出文本」。要让它真正干活——查资料、订机票、操作办公软件——必须在外面套一层工程系统:这层系统决定哪些历史对话被保留(记忆管理)、任务如何拆解(规划策略)、动作如何执行(动作协议)、能调用哪些工具和技能(能力编排)。这套外层系统就是 harness。你可以把它类比成「新员工(模型)入职时配的一整套工作台、流程手册和工具箱」:同一个员工,配上不同工作台,产出可能天差地别。论文开篇就点明:Agent 的能力不是模型权重的属性,而是「模型–harness 组合」的属性——强模型放进错误的记忆/规划/动作协议里照样失败。
当前的 harness 优化研究大多遵循 AOT(Ahead-of-Time,提前编译)范式:把 harness 当作一个耐用制品,在经验流上反复优化,期望它泛化到未来任务。这在部署分布稳定时有效,但论文指出一个根本矛盾:合适的 harness 不仅因领域而异,甚至因任务实例而异——宽搜索任务需要并行证据探索,终端任务偏好精简的串行 ReAct 循环,深研究任务需要维护证据工作记忆。用一个 AOT harness 应对所有异质需求,等于让优化器在见到下一道题的具体结构之前就预编译出万能答案。
于是作者提出 JIT(Just-in-Time,即时)视角:既然 harness 该长什么样取决于任务本身,那就别提前优化了——训练一个专门的模型,在推理时「看着题」现场生成 harness。这就是 Model-as-a-Harness 范式:训练一个 meta-agent 按任务即时合成脚手架,任意现成 agentic LLM 在该脚手架下执行。作者把这种能力命名为 harness intelligence(脚手架智能),并主张它是与模型 scaling 正交、可训练、可迁移、可复利的能力维度。
二、论文定位和关联工作
论文把自己放进「测试时 harness 优化」研究谱系中,用一张对比表(原文 Table 1)清晰划界。这个谱系可分三支:
第一支:AOT 搜索类。AutoHarness、Meta-Harness、AHE 等工作通过搜索优化 harness 代码、提示词、工具或控制策略,本质是「提前搜出一个好制品」。它们不针对具体任务实例做合成,也不训练生成器。
第二支:AOT + 测试时编辑类。Adaptive AH、TTHE、RHI 在 AOT 制品基础上,用测试时反馈做局部编辑;Harness-R1 更进一步训练了 harness 模型、学到了修复、支持在线演化——但它依然不是为「每个任务实例即时合成」而设计的。
第三支:本文的 JIT 范式。JIT-Agent 在四个维度上(实例合成、harness 模型、学习修复、在线演化)全部打勾,是首个专为即时 harness 生成训练的模型。
| 方法 | 构造方式 | 实例合成 | harness 模型 | 学习修复 | 在线演化 |
|---|---|---|---|---|---|
| AutoHarness / Meta-Harness / AHE | AOT 搜索 | ✗ | ✗ | ✗ | ✗ |
| Adaptive AH / TTHE / RHI | AOT + 测试时编辑 | ✗ | ✗ | ✗ | ✓ |
| Harness-R1 | AOT + 测试时编辑 | ✗ | ✓ | ✓ | ✓ |
| JIT-Agent(本文) | JIT | ✓ | ✓ | ✓ | ✓ |
此外还有一层内部脉络:作者团队先做了 MemEvolve(记忆组件自进化)和 TodoEvolve(规划组件自进化),JIT-Agent 把「组件级自设计」扩展到「完整运营 harness 的自设计」,是三篇工作的统一收官。定位结论:它不是又一个更强的固定 harness,而是把「造 harness」这件事本身变成模型的习得能力。
三、问题定义
具体问题:给定一个任务(比如「跨应用整理通讯录并邮件交付」)和一个现成模型,应该给它配什么样的记忆、规划、动作、工具编排结构?人工设计不可扩展,AOT 优化又无法适配每个实例。
核心洞察:harness 虽然形态各异,但都可以分解成同构的模块组合。论文将 harness 形式化为四元组 h = (M, P, A, F):
- M(Memory):把历史交互轨迹压缩成当前视图——v_t = M(ξ_<t, s_t)
- P(Planning):把视图转成局部指令——d_t = P(τ, s_t, v_t)
- F(capability orchestration):按指令激活工具/技能子集——C_t = F(C_τ, s_t, v_t, d_t)
- A(Action):消费组装好的上下文,更新状态并发出动作——(s_{t+1}, e_t) = A(s_t, τ, v_t, d_t, C_t)
运行时依赖顺序为 M→P→F→A,全部在固定协议 Π(模块 schema、生命周期、验证规则、共享执行内核)下运转。这就像把千变万化的菜谱统一抽象为「备料→调味→火候→装盘」四个阶段:一旦所有 harness 都能映射到同一坐标系 𝔐×𝔓×𝔄×𝔉,「生成一个新 harness」就从无约束的程序合成变成了在类型化可重组设计空间上的装配问题——这正是模型可以学会做的事。
形式化定义:给定任务分布 D_task、冻结执行器 π_ψ、生成上下文 c_τ = (τ, Π, C_τ, E_τ)(任务、协议、能力注册表、少量检索到的历史 harness),训练生成器 p_θ(h|c_τ),最大化期望效用 U(τ, π_ψ, h),其中 U 同时考虑任务奖励、时延与货币成本;且要求生成结果通过协议验证 Valid_Π ∈ {0,1}、可执行。约束的精妙之处在于三点要求同时成立:适配性(harness 匹配任务与 backbone)、可靠性(可执行、失败能恢复)、可演化性(把执行反馈变成更强的未来 harness)——作者称这三者共同定义了 harness intelligence。
四、问题解法
JIT-Agent-27B 基于 Qwen3.6-27B 训练,解法由「一个设计空间 + 三个训练阶段 + 两种推理模式」组成。
4.1 设计空间:HarnessFactory 种子库
类比:深度学习需要先有数据集,训练 harness 生成器需要先有「harness 样本空间」。作者在统一协议和共享执行内核下复现了 13 个代表性脚手架作为种子库 B₀:ReAct、Plan-and-Execute、ReSum、Flash-Searcher、GAM、MemoBrain、AggAgent、OAgent、AgentFold、HiAgent、DeepAgent、ROMA、AOrchestra。每个都被拆解成 (M, P, A, F) 坐标——例如经典 ReAct 是 (完整历史, 无显式规划器, ReAct 循环, 全量工具注册表);Codex/OpenCode 这类工程化变体是 (紧凑记忆, todo 规划, ReAct 动作, 全量注册表);ROMA/AOrchestra 这类递归架构则是 (子问题隔离记忆, 分解规划, 递归执行, 智能体委派)。种子库作用有二:锚定 Stage-I 的合成训练,并为后续演化提供对照种群。
4.2 Stage I:任务条件定制(学「造」)
类比:先跟老师傅学手艺(SFT),再学会挑更好的成品(偏好学习)。冻结的强教师模型按任务类型从种子库抽 3 个参考 scaffold,合成任务适配的 harness;只有通过协议验证和执行检查的样本才保留为训练数据。训练目标有两个:(1) SFT 目标,学习从任务+参考上下文直接映射到协议合规的 harness;(2) 偏好目标(DPO 式),在同一 backbone、同评测种子下对比候选,仅当「奖励提升、且时延与成本两轴均不退化、且至少一轴严格改善」时才构成偏好对,用奖励/时延/成本三维加权的价值差 Δval 加权优化。这保证了模型学到的不只是「能用」,而是「又好又省」。
4.3 Stage II:修复学习(学「修」)
类比:驾校不只教开车,还专门教怎么纠正失误。Stage I 只保证协议合规,不保证可执行——编译错误、接口不匹配、运行时异常仍会发生。与其丢弃失败样本,Stage II 把它们变成监督信号:把失败生成 h(0) 与结构化诊断报告 g(0) 输入,让模型模仿教师的结构化修订 Δ,经确定性 Apply 算子迭代;只保留 2 轮内修复成功的轨迹。这个设计聚焦「现实可局部恢复的失败」而非需要推倒重来的灾难,训练出的正是部署时最需要的能力:面对一个几乎正确但不稳定的 harness,做少量高杠杆修订恢复执行。
4.4 Stage III:Evo-GDPO(学「进化」)
类比:普通 RL 训练只要求「组内最优」(GRPO 式),Evo-GDPO 要求「超越档案库历史最优」——好比运动员的及格线不是本场对手,而是自己的历史最好成绩。在线轮次 n 中,从当前 harness 库 B_n 检索小参考集,取其中最高奖励(时延/成本次之打破平局)者为 incumbent;采样 G 个候选 harness,与 incumbent 在同执行器、同预算、同种子下对比。三通道奖励设计:奖励通道为主(超越 incumbent 有加成),时延与成本通道仅在候选保住 incumbent 奖励水平时才激活:
- R_rew = r_i + λ_evo[r_i − b_r]₊
- R_lat = 𝕀[r_i ≥ b_r][b_ℓ − ℓ̄_i]₊
- R_cost = 𝕀[r_i ≥ b_r][b_κ − κ̄_i]₊
三通道先各自组内归一、再合并、再批级归一(这就是「分组解耦」名称的由来,防止量纲互相淹没),权重满足 w_rew > w_lat + w_cost 保证任务奖励主导,最终用 PPO 式裁剪目标更新。训练后保守更新档案库:候选只有在匹配或超过当前奖励前沿、且至少一个前沿维度严格改善时才入库。
4.5 推理:Static 与 Streaming 两模式
- Static:并行生成 N 个 harness 选 1 个执行——测试时扩展候选多样性而不增加环境 rollout。
- Streaming:跨任务序列持续维护 harness 档案库,执行反馈用于决定是否更新库(模型参数冻结),把经验通过档案库传递给后续任务。
| 组件 | 输入 | 输出 | 作用 |
|---|---|---|---|
| HarnessFactory(13 种子) | 固定协议 Π | 种子库 B₀ | 提供训练锚点与演化对照种群 |
| Stage I 定制 | 任务+参考 scaffold | 协议合规 harness | 适配性 |
| Stage II 修复 | 失败生成+诊断报告 | ≤2 轮修订轨迹 | 可靠性 |
| Stage III Evo-GDPO | 候选组 vs incumbent | 更强的生成器+档案库 | 可演化性 |
| Streaming 推理 | 任务流+档案库 | 持续累积的 harness 前沿 | 跨任务复利 |
五、评估指标与实验证据
评测体系:9 个 benchmark、4 类任务,全部换算为 0–100 分(越高越好):深研究(BrowseComp-Plus 准确率、DeepSearchQA 答案 F1、xBench-DS 准确率)、日常工作(AgentIF-Oneday 加权 rubric 分、PinchBench 平均分)、规划(DeepPlanning-Shopping 购物车匹配率、DeepPlanning-Travel 复合约束分)、工作区(OfficeBench、OdysseyBench 任务成功率)。选择理由:覆盖证据密集搜索、长程指令跟随、约束感知规划、多应用工作区执行,能区分「只会聊天」与「会干活」的 harness。
Baseline 两组(设计非常讲究):宽对比组(Qwen3.7-Plus、GLM-5.2、DeepSeek-V4 双档、Kimi K2.7 Code、GPT-5.6、Gemini 3.1 Pro/3.5 Flash)测端到端竞争力;固定 harness 对照组(Claude Code、Codex、OpenCode、Hermes、NanoBot)控制 backbone 只变 harness,并同时报告 token 与美元成本——把「编排更强」和「砸更多算力」两种解释分离开。这一步是实验设计的灵魂:性能涨了不够,必须证明不是靠更长轨迹堆出来的。
关键数据(均出自论文原文):
| 对比 | 指标 | 结果 |
|---|---|---|
| 同 backbone 自比 | GLM-5.2 九项均值 | 74.1 → 81.8(+7.7) |
| 同 backbone 自比 | DeepSeek-V4-Flash 九项均值 | 66.7 → 75.5(+8.8),18/18 匹配对全胜 |
| 反超 GPT-5.6 | DS-V4-Flash+JIT vs GPT-5.6 | DeepSearchQA 85.1 vs 76.0(+9.1)、PinchBench 92.9 vs 84.2(+8.7)、OdysseyBench 73.0 vs 68.7(+4.3) |
| 最大单项增益 | DeepPlanning | GLM-5.2 Travel +20.2(62.8→83.0);DS-Flash Shopping +24.8(59.1→83.9) |
| 固定 harness 对照 | 6 设置性能 | 4/6 第一;6/6 token 与成本最低,比最便宜固定 harness 再省 14.9–54.1%(均值 36%) |
| 成本实例 | DS-Flash xBench-DS | JIT 82.0 分/212K token/$0.039 vs NanoBot 78.0/527K/$0.075 |
| 跨族泛化 | 3 族 6 backbone × 4 bench | 24/24 全胜 ReAct,平均 +7.6(DeepSeek +10.2 / Mimo +8.6 / Qwen +4.0,最大 +22.2) |
| 在线演化 | Streaming vs Static | 3 个任务流累积精度全程更高 |
为什么这些实验能证明论点:核心主张是「harness intelligence 是可训练、可迁移、可复利的能力维度」——18/18 同 backbone 匹配对全胜证明增益来自 harness 而非模型;24/24 跨族对比证明可迁移(不是补偿某个特定 backbone 的缺陷);token/成本分离报告证明增益来自更聪明更精简的编排而非更多算力;Streaming 曲线证明可复利。定性分析还展示同一生成器为「跨应用通讯录任务」生成图规划执行 harness(Palimpsest)、为「多跳身份考证任务」生成有界递归委派 harness(Trapdoor),证明协议约束的是接口而非行为。
六、效果优势的根源解释
baseline 的根本局限在哪?固定 harness(包括 Claude Code 这类成熟运行时)的瓶颈不是「不够好」,而是结构上不可能普适:任务结构异质——宽搜需并行证据、终端需精简串行、深研需证据工作记忆——任何单一结构都只与部分任务形态匹配。论文给出了直接证据:NanoBot 在 Qwen3.6-Flash DeepSearchQA 上最强,却在 AgentIF 上落后 JIT-Agent 14.8 分。这种跨任务不稳定不是调参问题,是「一个制品对异质分布」的必然结果。AOT 优化路线的障碍也同源:它必须搜索巨大设计空间、积累足够轨迹,然后祈祷制品匹配下一个任务——泛化对象是分布而非实例。
因果链:JIT 按任务实例即时生成匹配结构 →(机制变化一)每个任务获得与其计算结构对齐的记忆/规划/动作/编排(图任务得到 DAG+制品存储,分支证据任务得到递归委派+事实图存储)→ 同 backbone 下性能提升;→(机制变化二)生成的 harness 是更选择性、更短轨迹的编排(该省的步骤直接省掉),而非更长执行 → token 与成本同时下降(6/6 设置最低);→(机制变化三)Stage II 把修复变成条件化能力 → 生成的 harness 可执行性有保障,失败不致命;→(机制变化四)Evo-GDPO 把「超越档案前沿」从搜索启发式变成被优化目标本身 → Streaming 模式跨任务累积提升。
反事实推理:若去掉任务条件化(退回固定 harness),跨任务不稳定立即出现(NanoBot 案例);若去掉成本通道归一,模型将学会用更长轨迹换性能,成本优势消失;若去掉档案库保守更新,流式累积增益(Streaming 曲线)无从谈起。增益最大的任务恰是「需要持续状态管理与约束追踪」的 DeepPlanning(+20~25),这正符合机制预测:这类任务最依赖 harness 结构与任务结构的对齐。
七、必要知识反推
假设一个零基础的人要做这项工作,他必须掌握什么?
领域知识层:(1) agent harness 的构成与作用边界——不知道「能力是模型–harness 对的属性」,就不会想到把 harness 变成训练对象;(2) 现有 harness 设计谱系(13 个种子背后的记忆/规划/动作/编排策略)——没有这个全景,无法设计出能容纳它们的统一四元组协议;(3) 各任务类型的计算结构差异——不知道宽搜/终端/深研/工作区需要不同结构,就无法论证 JIT 的必要性。
方法论知识层:(1) SFT + 偏好优化的组合训练——Stage I 的三维偏好构造需要 DPO 及奖励建模经验;(2) PPO/GRPO 系在线 RL——Evo-GDPO 是在对 GRPO「组内比较」的缺陷理解上改造的(分通道归一、incumbent 对照、批级稳定化每一处都是对已知失效模式的回应);(3) 程序合成与修复学习——Stage II 的有界修订轨迹设计借鉴了代码修复文献;(4) 测试时扩展(parallel-sample-select)。
工程知识层:(1) 能在统一内核下复现 13 个异构脚手架的系统工程能力(HarnessFactory 是整个训练数据的地基);(2) 协议验证器与结构化诊断报告的构建——没有 Valid_Π 与诊断报告,失败样本无法变成监督信号;(3) 严格的受控评测设计——同时报告性能/token/成本三轴、控制 backbone 只变 harness 的对照设计,是结论可信的保障。
知识融合的关键节点:最关键的化学反应在「harness 的形式化 × 代码生成训练」的交汇处——把 harness 表述为协议约束下的可执行模块组合(来自软件工程的接口思想),恰好落在「结构化代码生成」这个 LLM 已被证明擅长的能力区间内,JIT 合成才从不可行的开放程序合成变成可行的装配问题。第二个节点是「Evo-GDPO 的 incumbent 对照 × 三通道解耦归一」:把演化计算的前沿推进思想移植进策略优化,同时用解耦归一解决多目标 RL 的量纲冲突。
八、论文中可以提取的通用性灵感
1. 把「环境/脚手架」变成可学习的对象,而不仅是优化的制品。核心思想:与其在外部搜索循环里优化一个制品,不如训练一个模型直接合成它——优化从「重复制品搜索」摊销为「学习的即时构造」。论文证据:JIT-Agent 在四维(实例合成/模型/修复/演化)上全面超越 AOT 搜索与测试时编辑类方法。推广场景:数据库查询计划器(学习为每条查询即时生成执行计划)、CI/CD 流水线配置生成、IDE 个性化工作台合成、教育领域的因材施教课程脚手架。
2. 统一接口协议是让「生成」可行的前提。核心思想:开放式的程序合成很难,但先把异构方案统一到类型化、可重组的协议空间,生成就变成装配问题。论文证据:13 个形态迥异的 harness 全部映射进 (M,P,A,F) 四元组后,一个 27B 模型就能学会生成。推广场景:把各家公司的 API 工作流统一为统一 DAG 协议后做自动编排、机器人技能库的统一动作接口、生物实验协议的标准化后自动设计。
3. 失败 + 诊断报告是高价值监督信号。核心思想:不要丢弃失败样本,把「失败→结构化诊断→有界修复」的轨迹本身变成训练数据,且只保留局部可恢复的失败。论文证据:Stage II 用 ≤2 轮修复轨迹训练,使部署时生成器的失败不致命。推广场景:编译器错误驱动的代码模型训练、医疗诊断的纠错学习、工业设备的预测性维护策略学习。
4. 以「超越历史最优」而非「超越同批对手」为优化目标。核心思想:把与 incumbent(档案前沿)的对比写进奖励,让系统的进步有累积方向;配合保守入库规则防止退化。论文证据:Evo-GDPO 使 Streaming 模式在 3 个任务流上累积精度全程高于 Static。推广场景:持续学习中的抗遗忘课程设计、算法竞赛自动调参的档案机制、企业知识库的增量审核入库。
5. 多目标优化先解耦归一再合并,并设主次约束。核心思想:奖励/时延/成本量纲各异,直接加权会被单一通道淹没;分通道归一 + 「次目标仅在主目标不退化时激活」的门控,是处理「好且省」类矛盾目标的通用配方。论文证据:w_rew > w_lat + w_cost 的约束与 𝕀[r_i ≥ b_r] 门控使模型 6/6 设置成本最低而性能不塌。推广场景:推荐系统的相关性与多样性平衡、芯片设计中的 PPA 权衡、绿色 AI 的精度-能耗联合优化。
一句话总结:这篇论文把「给模型配什么执行脚手架」从人手工打磨的工艺品,变成了一个专门模型可即时合成、可修复、可在线进化的习得能力——harness intelligence 从此成为与模型 scaling 并列的可训练维度。