HyperAIHyperAI

Command Palette

Search for a command to run...

通过即时工具链演化扩展智能体工具链智能

摘要

智能体的能力并非仅由模型决定。智能体工具链,包括记忆管理、规划策略、动作协议以及工具/技能编排,可能主导底层基础模型的贡献。然而,工具链设计仍然是手动的、任务特定的,并且从根本上不可扩展。我们提出了 JIT-Agent,一个工具链智能模型,训练用于为任意现成的智能体大语言模型即时合成任务自适应的工具链。我们将智能体工具链形式化为一个可组合、机器可生成的工件,由固定的四模块协议控制,并训练 JIT-Agent 为给定任务定制工具链,修复工具链以实现稳定可靠的执行,并通过从不断扩展的先前工具链配置档案中提炼性能信号来自我进化。配备 JIT-Agent 作为工具链助手,DeepSeek-V4-Flash 在 DeepSearchQA(+9.1)和 OdysseyBench(+4.3)上超越了 GPT-5.6,而已经强大的 GLM-5.2 获得了高达 +20.2 分的提升。在受控评估中,JIT-Agent 生成的工具链在性能上与成熟的智能体运行时(如 OpenCode 和 Claude Code)竞争,并持续改进 DeepSeek V4、Mimo-V 2.5 和 Qwen3.6 等多尺度模型家族。据我们所知,JIT-Agent 是第一个专门为即时工具链生成而构建的模型,将工具链智能确立为一个可训练、可迁移且可复合的智能体能力维度,与模型扩展正交。

一句话总结

上海交通大学及合作机构的研究人员提出了 JIT-Agent,这是首个通过固定四模块协议即时合成任务自适应 agent harness 的 harness 智能模型,具备修复与自我进化能力;与 DeepSeek-V4-Flash 搭配时,在 DeepSearchQA(+9.1+9.1+9.1)和 OdysseyBench(+4.3+4.3+4.3)上超越 GPT-5.6,使 GLM-5.2 提升最高达 +20.2+20.2+20.2 分,并与 OpenCode 和 Claude Code 等成熟运行时表现相当。

核心贡献

  • 提出 JIT-Agent,一种 harness 智能模型,可在推理时为任意现成 agentic LLM 合成任务自适应 agent harness,将 harness 形式化为由固定四模块协议(记忆、规划、动作与工具/技能编排)约束的可组合工件。
  • 通过定制学习、修复监督和 Evo-GDPO 训练 JIT-Agent,实现任务条件化的 harness 生成、基于执行反馈的修复,以及通过蒸馏先前 harness 配置的性能信号实现自我进化,将 harness 构建从手工的提前工程转变为习得的即时优化。
  • 实验表明,JIT-Agent 生成的 harness 使 DeepSeek-V4-Flash 在 DeepSearchQA 上提升 +9.1、在 OdysseyBench 上提升 +4.3,超越 GPT-5.6,并使 GLM-5.2 提升最高达 +20.2 分,同时在 DeepSeek V4、Mimo-V 2.5 和 Qwen3.6 等多规模模型家族上与 OpenCode 和 Claude Code 等成熟运行时保持竞争力。

引言

作者解决了 LLM agent 设计中的一个关键局限:agent 能力不仅取决于基础模型,还取决于管理记忆、规划、动作和工具使用的 harness。以往的工作通常提前(AOT)优化 harness,将其视为旨在跨任务泛化的持久工件,这在部署分布异构或实例特定时会失效。为克服这一问题,作者提出 JIT-Agent,一个紧凑的元 agent,在推理时即时(JIT)生成任务特定的 harness,并包装现成的 agentic LLM 执行。该系统通过三阶段流水线训练,教授任务条件化定制、从失败生成中修复,以及通过一种名为 Evo-GDPO 的新颖优化方法实现进化,将 harness 工程从静态工件转变为习得的即时合成。

方法

3 统一 Harness 代码库

3.1 模块化 Harness 设计空间

agent harness 是将基础模型转变为闭环 agent 的操作层:它决定保留先前交互中的哪些内容、如何形成中间指令、每个阶段暴露哪些外部能力,以及控制如何推进。因此,harness 生成是在程序而非无约束文本上定义的。作者区分了原始生成空间 G\mathcal{G}G、语法有效的 harness Hsyn\mathcal{H}^{\mathrm{syn}}Hsyn、协议合规的 harness HΠ\mathcal{H}_{\Pi}HΠ 及其可执行子集 HΠexec\mathcal{H}_{\Pi}^{\mathrm{exec}}HΠexec,其中 GHsynHΠHΠexec\mathcal{G} \supseteq \mathcal{H}^{\mathrm{syn}} \supseteq \mathcal{H}_{\Pi} \supseteq \mathcal{H}_{\Pi}^{\mathrm{exec}}GHsynHΠHΠexec。固定协议规定了模块模式和接口、其生命周期、验证规则以及共享执行语义。它消除了语言和运行时中的偶然差异,同时保留了区分现有 harness 的主要操作选择。

Harness 可组合性。 可组合性已成为现代 harness 设计中的首要关注点。例如,DeepSeek Harness 采用“一切皆插件”的架构,将运行时表示为通过显式依赖关系连接的模块。可组合性对即时(JIT)生成同样至关重要:它将 harness 构建从无约束的程序合成转变为对类型化、可重组设计空间的组装。

JIT-Agent 通过四个可互操作模块使这些选择显式化:历史如何压缩、局部意图如何形成、工具和技能如何编排,以及控制如何推进。设 τ\tauτ 为任务,πψ\pi_{\psi}πψ 为冻结的骨干执行器,CτC_{\tau}Cτ 为该任务可用的能力注册表(如工具、API、技能)。使用 πψ\pi_{\psi}πψ 运行 harness h\mathbf{h}h 会产生闭环轨迹

ξRollout(τ,πψ,h,Cτ;Π)=(s1,e1,o1,,sT,eT,oT),\boldsymbol{\xi} \sim \text{Rollout}(\boldsymbol{\tau}, \pi_{\psi}, \mathbf{h}, C_{\tau}; \Pi) = \big(\mathbf{s}_1, e_1, \mathbf{o}_1, \dots, \mathbf{s}_T, e_T, \mathbf{o}_T\big), ξRollout(τ,πψ,h,Cτ;Π)=(s1,e1,o1,,sT,eT,oT),

其中 stS\mathbf{s}_t \in \mathcal{S}stS 是维护的控制器状态,ete_tet 是发出的工具调用或终止输出,otO\mathbf{o}_t \in OotO 是产生的观察,TTT 是协议或预算约束的停止时间。关键假设是每个 hHΠ\mathbf{h} \in \mathcal{H}_{\Pi}hHΠ 都允许模块化分解

h=(M,P,A,F)M×P×A×F,\mathbf{h} = \left(\mathbf{M}, \mathbf{P}, \mathbf{A}, \mathbf{F}\right) \in \mathfrak{M} \times \mathfrak{P} \times \mathfrak{A} \times \mathfrak{F}, h=(M,P,A,F)M×P×A×F,

其中 M\mathbf{M}MP\mathbf{P}PA\mathbf{A}AF\mathbf{F}F 分别表示记忆、规划、动作和能力编排模块,M\mathfrak{M}MP\mathfrak{P}PA\mathfrak{A}AF\mathfrak{F}F 是它们的协议兼容实现空间。该元组遵循此概念分解;在运行时,其依赖顺序为 MPFA\mathbf{M} \rightarrow \mathbf{P} \rightarrow \mathbf{F} \rightarrow \mathbf{A}MPFA。所有模块都针对同一冻结骨干运行,其公共运行时依赖在下面省略。

定位。 诸如 Codex、Claude Code 和 DeepSeek Harness 等生产级 harness 暴露的机制远比四模块实例丰富。这种差距是有意为之。本工作不要求模型复现完整的生产运行时,而是建立一个更基础的结果:即使是即时生成的紧凑 harness,也能带来显著收益。JIT 范式与生产 harness 工程互补。随着模型越来越多地参与自身运行时的设计和修订,harness 智能的训练方案在更大规模上也将变得重要。作者将当前设计空间视为一个起点。

协议同时维护不可变的事件历史 ξ<t\boldsymbol{\xi}_{<t}ξ<t 和可变的控制器状态 st\mathbf{s}_tst,二者交互如下

vt=M(ξ<t,st)V,historyview,\mathbf{v}_t = \mathbf{M}(\boldsymbol{\xi}_{<t}, \mathbf{s}_t) \in \mathcal{V}, \quad \text{history} \rightarrow \text{view}, vt=M(ξ<t,st)V,historyview, dt=P(τ,st,vt)Ddir,viewlocal directive,\mathbf{d}_t = \mathbf{P}(\boldsymbol{\tau}, \mathbf{s}_t, \mathbf{v}_t) \in \mathcal{D}_{\mathrm{dir}}, \quad \text{view} \rightarrow \text{local directive}, dt=P(τ,st,vt)Ddir,viewlocal directive, Ct=F(Cτ,st,vt,dt)Cτ,directive-conditioned capability orchestration,C_t = \mathbf{F}(C_{\tau}, \mathbf{s}_t, \mathbf{v}_t, \mathbf{d}_t) \subseteq C_{\tau}, \quad \text{directive-conditioned capability orchestration}, Ct=F(Cτ,st,vt,dt)Cτ,directive-conditioned capability orchestration, (st+1,et)=A(st,τ,vt,dt,Ct)S×A,control update and action emission,(\mathbf{s}_{t+1}, e_t) = \mathbf{A}(\mathbf{s}_t, \boldsymbol{\tau}, \mathbf{v}_t, \mathbf{d}_t, C_t) \in \mathcal{S} \times \mathcal{A}, \qquad \text{control update and action emission}, (st+1,et)=A(st,τ,vt,dt,Ct)S×A,control update and action emission,

其中 V\mathcal{V}VDdir\mathcal{D}_{\mathrm{dir}}Ddir 是视图和指令空间,A=UY\mathcal{A} = \mathcal{U} \sqcup \mathcal{Y}A=UY 是可执行调用和终止输出的不相交并集。注册表 CτC_{\tau}Cτ 包含可调用工具(如 bash 工具、API 和 MCP)以及更高级的 agent 技能。没有显式规划器的 harness 通过空指令 dDdir\mathbf{d}_{\varnothing} \in \mathcal{D}_{\mathrm{dir}}dDdir 保持类型一致,该指令由 P\mathbf{P}_{\varnothing}P 在每一步返回。也就是说,记忆构建已实现历史的视图,规划将该视图转换为局部指令,能力编排激活相关的外部工具或 agent 技能,动作模块消费组装好的上下文以更新控制器状态并发出下一个动作。内核随后通过以下方式解释发出的动作

ot={Exec(et;Ct),etU,,etY,ξt=ξ<t(st,et,ot),\mathbf{o}_t = \begin{cases} \operatorname{Exec}(e_t; \mathcal{C}_t), & e_t \in \mathcal{U}, \\ \perp, & e_t \in \mathcal{Y}, \end{cases} \quad \boldsymbol{\xi}_{\leq t} = \boldsymbol{\xi}_{<t} \oplus (\mathbf{s}_t, e_t, \mathbf{o}_t), ot={Exec(et;Ct),,etU,etY,ξt=ξ<t(st,et,ot),

其中 Exec:U×2CτO\operatorname{Exec}: \mathcal{U} \times 2^{C_{\tau}} \rightarrow OExec:U×2CτO 是共享执行内核,O\perp \in O⊥∈O 是终止空观察,\oplus 将事件追加到轨迹。执行从 ξ<1=\boldsymbol{\xi}_{<1} = \emptysetξ<1= 和协议定义的初始状态 s1Sinit\mathbf{s}_1 \in \mathcal{S}_{\mathrm{init}}s1Sinit 开始,当 etYe_t \in \mathcal{Y}etY 时终止,产生 y=eTYy = e_T \in \mathcal{Y}y=eTY。这种分解将原本异构的程序转化为 M×P×A×F\mathfrak{M} \times \mathfrak{P} \times \mathfrak{A} \times \mathfrak{F}M×P×A×F 中的可比坐标。

经典 ReAct 可写为 hReAct=(Mfull,P,Areact,Fall)\mathbf{h}_{\mathrm{ReAct}} = (\mathbf{M}_{\mathrm{full}}, \mathbf{P}_{\varnothing}, \mathbf{A}_{\mathrm{react}}, \mathbf{F}_{\mathrm{all}})hReAct=(Mfull,P,Areact,Fall),其中 Areact\mathbf{A}_{\mathrm{react}}Areact 是标准 ReAct 循环,P\mathbf{P}_{\varnothing}P 表示没有显式规划器,Mfull\mathbf{M}_{\mathrm{full}}Mfull 保留完整运行历史而不进行上下文管理,Fall\mathbf{F}_{\mathrm{all}}Fall 暴露完整的工具/技能注册表。像 Codex 和 OpenCode 这样的工程化 ReAct 变体仍然适合同一框架:(Mcompact,Ptodo,Areact,Fall)(\mathbf{M}_{\mathrm{compact}}, \mathbf{P}_{\mathrm{todo}}, \mathbf{A}_{\mathrm{react}}, \mathbf{F}_{\mathrm{all}})(Mcompact,Ptodo,Areact,Fall),其中动作内核仍是 ReAct 风格,但 Mcompact\mathbf{M}_{\mathrm{compact}}Mcompact 在接近上下文限制时压缩历史,Ptodo\mathbf{P}_{\mathrm{todo}}Ptodo 维护显式的任务待办列表。递归架构如 ROMA、AOrchestra 和 Recursive Language Models(RLM)同样可以通过 hrec=(Msubproblem,Pdecomp,Arec,Froute)\mathbf{h}_{\mathrm{rec}} = (\mathbf{M}_{\mathrm{subproblem}}, \mathbf{P}_{\mathrm{decomp}}, \mathbf{A}_{\mathrm{rec}}, \mathbf{F}_{\mathrm{route}})hrec=(Msubproblem,Pdecomp,Arec,Froute) 等选择来捕获。在这类系统中,主编排器可以通过 Arec\mathbf{A}_{\mathrm{rec}}Arec 生成子 agent,在 Pdecomp\mathbf{P}_{\mathrm{decomp}}Pdecomp 中维护待办式分解,在 Msubproblem\mathbf{M}_{\mathrm{subproblem}}Msubproblem 中隔离 agent 上下文,并通过 Froute\mathbf{F}_{\mathrm{route}}Froute 为每个子 agent 分配工具或技能。

基于这一模块化设计空间,作者接下来介绍 HarnessFactory,其作用是测试 HΠ\mathcal{H}_{\Pi}HΠ 的表达力,并为 JIT-Agent 的元 harness 设计提供多样化的源材料。

3.2 HarnessFactory

在共享协议和公共内核下,HarnessFactory 重新实现了 13 个具有代表性的当代 agentic 框架:ReAct、Plan-and-Execute、ReSum、Flash-Searcher、General Agentic Memory(GAM)、MemoBrain、AggAgent、OAgent、AgentFold、HiAgent、DeepAgent、ROMA 和 AOrchestra。它们提供异构的记忆、规划、动作和能力编排策略。因此,种子库 B0\mathcal{B}_0B0 包含 K0=13K_0 = 13K0=13 个协议兼容的 harness。

该库具有双重作用:从 B0\mathcal{B}_0B0 采样的 harness 锚定阶段 I 的合成,而后续的存档状态提供评估新设计的先验种群。随着系统运行,B0\mathcal{B}_0B0 扩展为 BnB0\mathcal{B}_n \supseteq \mathcal{B}_0BnB0,其条目将每个保留的 harness 与其任务、观察到的奖励、延迟和成本关联;这一进化在第 4.3 节中形式化。

4 训练流水线

训练遵循 JIT-Agent 的推理时生命周期:首先合成任务条件化的 harness,然后恢复不稳定的生成,最后在线学习从更强的存档状态中改进。设 τDtask\tau \sim \mathcal{D}_{\mathrm{task}}τDtask 表示从训练分布中抽取的任务,CτC_{\tau}Cτ 为其能力注册表,Eτ\mathcal{E}_{\tau}Eτ 为来自 harness 库的小型参考上下文。作者将生成上下文定义为 cτ=(τ,Π,Cτ,Eτ)\mathbf{c}_{\tau} = (\tau, \Pi, C_{\tau}, \mathcal{E}_{\tau})cτ=(τ,Π,Cτ,Eτ),并从 pθ(hcτ)p_{\theta}(\mathbf{h} \mid \mathbf{c}_{\tau})pθ(hcτ) 中采样 harness。冻结的执行器 πψM\pi_{\psi} \sim \mathcal{M}πψM 随后运行每个 harness 进行验证和效用测量。共同目标是

θ=argmaxθEτDtask,πψM,hpθ(cτ)[U(τ,πψ,h)],\theta^{\star} = \arg \max_{\theta} \mathbb{E}_{\substack{\boldsymbol{\tau} \sim \mathcal{D}_{\mathrm{task}}, \pi_{\psi} \sim \mathcal{M}, \\ \mathbf{h} \sim p_{\theta}(\cdot \mid \mathbf{c}_{\tau})}} \left[ U(\boldsymbol{\tau}, \pi_{\psi}, \mathbf{h}) \right], θ=argθmaxEτDtask,πψM,hpθ(cτ)[U(τ,πψ,h)],

其中 UUU 使用任务奖励、延迟和货币成本评估模型-harness 对产生的轨迹。由于 pθp_{\theta}pθG\mathcal{G}G 中生成而非通过构造保证可执行性,每个输出都经过协议验证器检查。作者使用 ValidΠ(h;τ,πψ,Cτ){0,1}\mathrm{Valid}_{\Pi}(\mathbf{h}; \boldsymbol{\tau}, \pi_{\psi}, C_{\tau}) \in \{0, 1\}ValidΠ(h;τ,πψ,Cτ){0,1} 作为其有效性标志;失败的检查还会返回结构化诊断报告。作者在阶段 I 中使用离线监督、阶段 II 中使用修复轨迹学习、阶段 III 中使用在线策略改进来实例化公式(8)。

4.1 阶段 I:定制 Harness

数据准备。 阶段 I 使用冻结的更强教师 qϕq_{\phi}qϕ 在固定四模块协议下合成任务适配的 harness。对于每个任务,从种子库的任务类型匹配子集 B0(d(τ))\mathcal{B}_0^{(d(\tau))}B0(d(τ)) 中采样三个参考框架,

Eτ={h(1),h(2),h(3)}Sample3(B0(d(τ))),hteachqϕ(cτ),\mathcal{E}_{\tau} = \{\mathbf{h}^{(1)}, \mathbf{h}^{(2)}, \mathbf{h}^{(3)}\} \sim \mathrm{Sample}_3(\mathcal{B}_0^{(d(\boldsymbol{\tau}))}), \qquad \mathbf{h}^{\mathrm{teach}} \sim q_{\phi}(\cdot \mid \mathbf{c}_{\tau}), Eτ={h(1),h(2),h(3)}Sample3(B0(d(τ))),hteachqϕ(cτ),

其中 d(τ)d(\tau)d(τ) 表示任务类型。教师接收任务、协议、能力注册表和采样框架。仅当生成通过协议验证和执行检查时才保留,产生

DI={(τ,πψ,Cτ,Eτ,hteach)ValidΠ(hteach;τ,πψ,Cτ)=1}.\mathcal{D}_{\mathrm{I}} = \left\{(\boldsymbol{\tau}, \pi_{\psi}, C_{\tau}, \mathcal{E}_{\tau}, \mathbf{h}^{\mathrm{teach}}) \mid \mathrm{Valid}_{\Pi}(\mathbf{h}^{\mathrm{teach}}; \boldsymbol{\tau}, \pi_{\psi}, C_{\tau}) = 1 \right\}. DI={(τ,πψ,Cτ,Eτ,hteach)ValidΠ(hteach;τ,πψ,Cτ)=1}.

阶段 I 的训练任务来自不同来源,包括现有基准以及一部分合成任务。

训练设置。 阶段 I 使用两个耦合目标。第一个是标准监督微调目标,针对接受的教师生成:

LIgen(θ)=E(τ,πψ,Cτ,Eτ,hteach)DIj=1hteachlogpθ(yjteachy<jteach,cτ),\mathcal{L}_{\mathrm{I}}^{\mathrm{gen}}(\theta) = - \mathbb{E}_{(\boldsymbol{\tau}, \pi_{\psi}, \mathcal{C}_{\tau}, \mathcal{E}_{\tau}, \mathbf{h}^{\mathrm{teach}}) \sim \mathcal{D}_{\mathrm{I}}} \sum_{j=1}^{|\mathbf{h}^{\mathrm{teach}}|} \log p_{\theta}\left(y_j^{\mathrm{teach}} \mid y_{<j}^{\mathrm{teach}}, \mathbf{c}_{\tau}\right), LIgen(θ)=E(τ,πψ,Cτ,Eτ,hteach)DIj=1hteachlogpθ(yjteachy<jteach,cτ),

其中 yjteachy_j^{\mathrm{teach}}yjteach 是第 jjj 个目标 token。这教会 JIT-Agent 将任务和小型参考上下文直接映射到协议合规的 harness。仅协议合规是不够的:可执行的 harness 在任务奖励、延迟和货币成本上仍可能有很大差异。因此,作者在相同骨干和评估种子下比较候选,仅当奖励改善且不降低任一效率轴且至少一个效率增益是严格的时候才保留偏好:

h+τh    r+>r+κ+κ(+<κ+<κ),Δval(τ;h+,h)=αr(r+r)+α[+]++ακ[κκ+]+,\begin{array}{c} \mathbf{h}^{+} \succ_{\tau} \mathbf{h}^{-} \iff r^{+} > r^{-} \land \ell^{+} \leq \ell^{-} \land \kappa^{+} \leq \kappa^{-} \land (\ell^{+} < \ell^{-} \lor \kappa^{+} < \kappa^{-}), \\ \Delta_{\mathrm{val}}(\boldsymbol{\tau}; \mathbf{h}^{+}, \mathbf{h}^{-}) = \alpha_r (r^{+} - r^{-}) + \alpha_{\ell} [\ell^{-} - \ell^{+}]_{+} + \alpha_{\kappa} [\kappa^{-} - \kappa^{+}]_{+}, \end{array} h+τhr+>r+κ+κ(+<κ+<κ),Δval(τ;h+,h)=αr(r+r)+α[+]++ακ[κκ+]+,

其中 (r±,±,κ±)(r^{\pm}, \ell^{\pm}, \kappa^{\pm})(r±,±,κ±)(h+,h)(\mathbf{h}^{+}, \mathbf{h}^{-})(h+,h) 的重复 rollout 平均值,[x]+=max(x,0)[x]_{+} = \max(x, 0)[x]+=max(x,0)αr,α,ακ0\alpha_r, \alpha_{\ell}, \alpha_{\kappa} \geq 0αr,α,ακ0 控制三个价值差距。设 DIpref\mathcal{D}_{\mathrm{I}}^{\mathrm{pref}}DIpref 收集由此产生的偏好元组。作者优化参考锚定目标

LIpref(θ)=E(τ,πψ,Cτ,Eτ,h+,h)DIpref[Δvallogσ(βpreflogpθ(h+cτ)pθ(hcτ)βpreflogpref(h+cτ)pref(hcτ))].\mathcal{L}_{\mathrm{I}}^{\mathrm{pref}}(\theta) = - \mathbb{E}_{(\boldsymbol{\tau}, \pi_{\psi}, C_{\tau}, \mathcal{E}_{\tau}, \mathbf{h}^{+}, \mathbf{h}^{-}) \sim \mathcal{D}_{\mathrm{I}}^{\mathrm{pref}}} \left[ \Delta_{\mathrm{val}} \cdot \log \sigma \left( \beta_{\mathrm{pref}} \log \frac{p_{\theta}(\mathbf{h}^{+} \mid \mathbf{c}_{\tau})}{p_{\theta}(\mathbf{h}^{-} \mid \mathbf{c}_{\tau})} - \beta_{\mathrm{pref}} \log \frac{p_{\mathrm{ref}}(\mathbf{h}^{+} \mid \mathbf{c}_{\tau})}{p_{\mathrm{ref}}(\mathbf{h}^{-} \mid \mathbf{c}_{\tau})} \right) \right]. LIpref(θ)=E(τ,πψ,Cτ,Eτ,h+,h)DIpref[Δvallogσ(βpreflogpθ(hcτ)pθ(h+cτ)βpreflogpref(hcτ)pref(h+cτ))].

这里 σ\sigmaσ 是逻辑 sigmoid,βpref>0\beta_{\mathrm{pref}} > 0βpref>0 控制偏好锐度,prefp_{\mathrm{ref}}pref 是冻结的阶段 I SFT 检查点;在对数比率中,logp(h)\log p(\mathbf{h} \mid \cdot)logp(h) 表示长度归一化的序列对数似然。完整的阶段 I 目标是 LI(θ)=LIgen(θ)+λprefLIpref(θ)\mathcal{L}_{\mathrm{I}}(\theta) = \mathcal{L}_{\mathrm{I}}^{\mathrm{gen}}(\theta) + \lambda_{\mathrm{pref}} \mathcal{L}_{\mathrm{I}}^{\mathrm{pref}}(\theta)LI(θ)=LIgen(θ)+λprefLIpref(θ),其中 λpref0\lambda_{\mathrm{pref}} \geq 0λpref0。生成模仿建立协议有效的结构,而偏好学习使模型偏向于同时更有效和更高效的 harness。

4.2 阶段 II:修复 Harness

数据准备。 阶段 I 优化协议合规性,但可执行性仍不保证:一些生成的 harness 无法通过静态或运行时验证,因此永远不会进入 DI\mathcal{D}_{\mathrm{I}}DI。阶段 II 不丢弃这些失败,而是将其转化为修复监督。设

DIfail={(τ,πψ,Cτ,Eτ,h~(0),g(0))h~(0)HΠexec},\mathcal{D}_{\mathrm{I}}^{\mathrm{fail}} = \left\{(\boldsymbol{\tau}, \pi_{\psi}, \mathcal{C}_{\tau}, \mathcal{E}_{\tau}, \widetilde{\mathbf{h}}^{(0)}, \mathbf{g}^{(0)}) \mid \widetilde{\mathbf{h}}^{(0)} \notin \mathcal{H}_{\Pi}^{\mathrm{exec}} \right\}, DIfail={(τ,πψ,Cτ,Eτ,h(0),g(0))h(0)/HΠexec},

其中 h~(0)\widetilde{\mathbf{h}}^{(0)}h(0) 是失败的阶段 I harness,g(0)\mathbf{g}^{(0)}g(0) 是其诊断报告,包括编译器错误、接口不匹配、工具调用失败和运行时异常。对于每个失败,教师从补丁空间 P\mathcal{P}P 提出结构化修订 Δ(k+1)P\Delta^{(k+1)} \in \mathcal{P}Δ(k+1)P,Apply 确定性地将其应用于当前 harness:

h~(k),g(k)Δ(k+1)h~(k+1)=Apply(h~(k),Δ(k+1)),k0.\widetilde{\mathbf{h}}^{(k)}, \mathbf{g}^{(k)} \longrightarrow \Delta^{(k+1)} \longrightarrow \widetilde{\mathbf{h}}^{(k+1)} = \operatorname{Apply}\left(\widetilde{\mathbf{h}}^{(k)}, \Delta^{(k+1)}\right), \qquad k \geq 0. h(k),g(k)Δ(k+1)h(k+1)=Apply(h(k),Δ(k+1)),k0.

每次修订后,验证产生下一个报告 g(k+1)\mathbf{g}^{(k+1)}g(k+1)。作者仅保留在两轮修复内变得可执行的轨迹。写作

K=min{k{1,2}:ValidΠ(h~(k);τ,πψ,Cτ)=1},K^{\star} = \min \left\{k \in \{1, 2\}: \mathrm{Valid}_{\Pi}(\widetilde{\mathbf{h}}^{(k)}; \boldsymbol{\tau}, \pi_{\psi}, C_{\tau}) = 1 \right\}, K=min{k{1,2}:ValidΠ(h(k);τ,πψ,Cτ)=1},

阶段 II 监督仅在 KK^{\star}K 定义良好时构建。这使语料库聚焦于现实的、局部可恢复的失败,而非需要全面重新设计的失败。

训练设置。 阶段 II 随后训练 JIT-Agent 模仿成功的修复转换而非一次性合成。对于每个保留的轨迹,设

DII={(τ,πψ,Cτ,Eτ,RK)(τ,πψ,Cτ,Eτ,h~(0),g(0))DIfail,K exists},\mathcal{D}_{\mathrm{II}} = \left\{(\pmb{\tau}, \pi_{\psi}, \mathcal{C}_{\tau}, \mathcal{E}_{\tau}, \mathcal{R}_{K^{\star}}) \mid (\pmb{\tau}, \pi_{\psi}, \mathcal{C}_{\tau}, \mathcal{E}_{\tau}, \widetilde{\mathbf{h}}^{(0)}, \mathbf{g}^{(0)}) \in \mathcal{D}_{\mathrm{I}}^{\mathrm{fail}}, K^{\star} \text{ exists} \right\}, DII={(τ,πψ,Cτ,Eτ,RK)(τ,πψ,Cτ,Eτ,h(0),g(0))DIfail,K exists},

其中 RK={(h~(j),g(j),Δ(j+1))}j=0K1\mathcal{R}_{K^{\star}} = \{(\widetilde{\mathbf{h}}^{(j)}, \mathbf{g}^{(j)}, \Delta^{\star(j+1)})\}_{j=0}^{K^{\star}-1}RK={(h(j),g(j),Δ(j+1))}j=0K1,每个 Δ(j+1)\Delta^{\star(j+1)}Δ(j+1) 是沿最终变得可执行的修复轨迹的教师修订。修复目标以整个历史为条件:

LII(θ)=EDIIk=0K1logpθ(Δ(k+1)cτ,{(h~(j),g(j))}j=0k).\mathcal{L}_{\mathrm{II}}(\theta) = - \mathbb{E}_{\mathcal{D}_{\mathrm{II}}} \sum_{k=0}^{K^{\star}-1} \log p_{\theta}\left(\Delta^{\star(k+1)} \mid \mathbf{c}_{\tau}, \{(\widetilde{\mathbf{h}}^{(j)}, \mathbf{g}^{(j)})\}_{j=0}^{k}\right). LII(θ)=EDIIk=0K1logpθ(Δ(k+1)cτ,{(h(j),g(j))}j=0k).

由于 K2K^{\star} \leq 2K2,由此产生的监督正好针对部署时重要的短视修复机制:给定一个近乎正确但不稳定的 harness,JIT-Agent 学会利用执行反馈产生少量高杠杆修订,以恢复协议有效的执行。

4.3 阶段 III:学习进化 Harness

阶段 III 将测试时的 harness 进化本身视为可训练能力。目标不仅是恢复或模仿先前观察到的 harness 设计,而是优化 JIT-Agent,使其在测试时能够反复提出超越先前设计的 harness,成为更强的未来参考,并不断推进 harness 前沿。作者将由此产生的在线目标称为 Evolutionary Group-Decoupled Policy Optimization(Evo-GDPO)。

数据准备。 阶段 III 的训练示例由三个同步来源构建:一个任务实例、一小部分先前的高质量 harness 设计,以及在同一任务下在线收集的新鲜执行反馈。具体来说,在在线轮次 nnn,作者采样任务 τ\boldsymbol{\tau}τ,从当前 harness 库 Bn\mathcal{B}_nBn 中检索小型参考集 Eτ,n\mathcal{E}_{\tau,n}Eτ,n,并形成 cτ,n=(τ,Π,Cτ,Eτ,n)\mathbf{c}_{\tau,n} = (\tau, \Pi, C_{\tau}, \mathcal{E}_{\tau,n})cτ,n=(τ,Π,Cτ,Eτ,n)。模型提出的候选与这些先前设计在同一冻结执行器 πψM\pi_{\psi} \sim \mathcal{M}πψM、预算和评估种子下并行执行。在 Eτ,n\mathcal{E}_{\tau,n}Eτ,n 中,最高奖励的 harness(并列时以较低延迟、然后较低成本打破)提供单个现有最佳,其统计量记为 (br,b,bκ)(b_r, b_{\ell}, b_{\kappa})(br,b,bκ)

训练设置。 在此上下文中,Evo-GDPO 首先从当前策略中采样一组候选 harness:

hii.i.d.pθold(cτ,n),i=1,,G,\mathbf{h}_i \stackrel{\mathrm{i.i.d.}}{\sim} p_{\theta_{\mathrm{old}}}(\cdot \mid \mathbf{c}_{\tau,n}), \qquad i = 1, \ldots, G, hii.i.d.pθold(cτ,n),i=1,,G,

其中 G>1G > 1G>1 是组大小,θold\theta_{\mathrm{old}}θold 是 rollout 策略快照。每个候选在执行前都经过验证;在有限修复后仍无效的候选获得最小任务奖励,而其修复延迟和成本仍计入测量的效率。对于可执行候选,rir_iriˉi\bar{\ell}_iˉiκˉi\bar{\kappa}_iκˉi 表示重复 rollout 上的奖励、平均延迟和平均货币成本。奖励通道是主要的,而效率通道仅在候选保持现有最佳奖励时激活:

Rirew=ri+λevo[ribr]+,Rilat=I[ribr][bˉi]+,Ricost=I[ribr][bκκˉi]+.\begin{array}{r} R_i^{\mathrm{rew}} = r_i + \lambda_{\mathrm{evo}} [r_i - b_r]_{+}, \\ R_i^{\mathrm{lat}} = \mathbb{I}[r_i \geq b_r] [b_{\ell} - \bar{\ell}_i]_{+}, \\ R_i^{\mathrm{cost}} = \mathbb{I}[r_i \geq b_r] [b_{\kappa} - \bar{\kappa}_i]_{+}. \end{array} Rirew=ri+λevo[ribr]+,Rilat=I[ribr][bˉi]+,Ricost=I[ribr][bκκˉi]+.

这里 λevo0\lambda_{\mathrm{evo}} \geq 0λevo0 控制奖励,I[]\mathbb{I}[\cdot]I[] 是指示函数。Evo-GDPO 在合并前分别归一化三个信号,防止它们的数值尺度相互压倒。第二次批级归一化跨任务稳定优化:

Aim=Rimmean({Rjm}j=1G)std({Rjm}j=1G)+εnum,m{rew,lat,cost},AiΣ=wrewAirew+wlatAilat+wcostAicost,wrew>wlat+wcost,AiΣ^=AiΣmeanbatch(AΣ)stdbatch(AΣ)+εnum.\begin{array}{r l} & A_i^m = \frac{R_i^m - \mathrm{mean}(\{R_j^m\}_{j=1}^{G})}{\mathrm{std}(\{R_j^m\}_{j=1}^{G}) + \varepsilon_{\mathrm{num}}}, \qquad m \in \{\mathrm{rew}, \mathrm{lat}, \mathrm{cost}\}, \\ & A_i^{\Sigma} = w_{\mathrm{rew}} A_i^{\mathrm{rew}} + w_{\mathrm{lat}} A_i^{\mathrm{lat}} + w_{\mathrm{cost}} A_i^{\mathrm{cost}}, \quad w_{\mathrm{rew}} > w_{\mathrm{lat}} + w_{\mathrm{cost}}, \\ & \widehat{A_i^{\Sigma}} = \frac{A_i^{\Sigma} - \mathrm{mean}_{\mathrm{batch}}(A^{\Sigma})}{\mathrm{std}_{\mathrm{batch}}(A^{\Sigma}) + \varepsilon_{\mathrm{num}}}. \end{array} Aim=std({Rjm}j=1G)+εnumRimmean({Rjm}j=1G),m{rew,lat,cost},AiΣ=wrewAirew+wlatAilat+wcostAicost,wrew>wlat+wcost,AiΣ=stdbatch(AΣ)+εnumAiΣmeanbatch(AΣ).

非负权重之和为一,所述不等式使任务奖励占主导;εnum>0\varepsilon_{\mathrm{num}} > 0εnum>0 是上述两个分母中的数值稳定器。最终策略更新是由此聚合优势驱动的 PPO 风格裁剪目标:

LIIIEvoGDPO(θ)=E[1Gi=1G1hij=1himin(ρi,j(θ)AiΣ^,clip(ρi,j(θ),1ϵclip,1+ϵclip)AiΣ^)]+βKLE[KL(pθpref)],ρi,j(θ)=pθ(yi,jyi,<j,cτ,n)pθold(yi,jyi,<j,cτ,n).\begin{array}{r l} & \mathcal{L}_{\mathrm{III}}^{\mathrm{Evo-GDPO}}(\theta) = - \mathbb{E} \left[ \frac{1}{G} \sum_{i=1}^{G} \frac{1}{|\mathbf{h}_i|} \sum_{j=1}^{|\mathbf{h}_i|} \min \left( \rho_{i,j}(\theta) \widehat{A_i^{\Sigma}}, \mathrm{clip}(\rho_{i,j}(\theta), 1 - \epsilon_{\mathrm{clip}}, 1 + \epsilon_{\mathrm{clip}}) \widehat{A_i^{\Sigma}} \right) \right] \\ & \qquad + \beta_{\mathrm{KL}} \mathbb{E} \left[ \mathrm{KL}(p_{\theta} \| p_{\mathrm{ref}}) \right], \\ & \rho_{i,j}(\theta) = \frac{p_{\theta}(y_{i,j} \mid y_{i,<j}, \mathbf{c}_{\tau,n})}{p_{\theta_{\mathrm{old}}}(y_{i,j} \mid y_{i,<j}, \mathbf{c}_{\tau,n})}. \end{array} LIIIEvoGDPO(θ)=E[G1i=1Ghi1j=1himin(ρi,j(θ)AiΣ,clip(ρi,j(θ),1ϵclip,1+ϵclip)AiΣ)]+βKLE[KL(pθpref)],ρi,j(θ)=pθold(yi,jyi,<j,cτ,n)pθ(yi,jyi,<j,cτ,n).

期望覆盖采样的任务、冻结的执行器和来自 pθoldp_{\theta_{\mathrm{old}}}pθold 的候选组;hi|\mathbf{h}_i|hi 是 harness 的 token 长度,ϵclip>0\epsilon_{\mathrm{clip}} > 0ϵclip>0 是裁剪半径,βKL0\beta_{\mathrm{KL}} \geq 0βKL0prefp_{\mathrm{ref}}pref 是用于 token 级 KL 惩罚的冻结阶段 II 检查点。相对于标准 GRPO 风格训练,模型不仅因在采样组内表现良好而获得奖励,还因超越先前的 harness 设计并在奖励质量保持时更高效地做到这一点而获得奖励。优化后,作者保守地更新 harness 库:仅当候选匹配或超过当前奖励前沿,然后严格改进至少一个前沿维度(奖励本身、延迟或成本)时才保留。在训练期间,该反馈同时更新策略和 Bn\mathcal{B}_nBn;在部署时,策略保持冻结。

5 推理架构

JIT-Agent 支持两种推理模式:静态推理和流式推理;它们的区别在于经验是在任务后被丢弃还是被保留以支持后续任务。

静态推理。 在此模式下,作者引入了一种轻量级的测试时扩展形式:JIT-Agent 并行生成 NNN 个 harness,选择其中一个,并仅执行所选 harness。这增加了候选多样性而不增加环境 rollout 的数量。所选 harness 遵循上述相同的验证和有限修复程序。

流式推理。 流式推理模式旨在跨任务序列携带有用经验。对于第 nnn 个任务 τn\tau_nτn,JIT-Agent 从当前库 Bn\mathcal{B}_nBn 中检索,生成并选择一个 harness hn\mathbf{h}_n^{\dagger}hn,并执行一次。由此产生的环境反馈仅用于确定该经验是否应更新库:

ξnRollout(τn,πψ,hn,Cτn;Π),mn=Eval(ξn),Bn+1=UpdateIII(Bn;τn,hn,mn),Eτn+1,n+1=Retrieve(τn+1;Bn+1),\begin{array}{c} \boldsymbol{\xi}_n \sim \text{Rollout}(\boldsymbol{\tau}_n, \pi_{\psi}, \mathbf{h}_n^{\dagger}, C_{\tau_n}; \Pi), \\ \mathbf{m}_n = \text{Eval}(\boldsymbol{\xi}_n), \\ \mathcal{B}_{n+1} = \text{Update}_{\mathrm{III}}(\mathcal{B}_n; \boldsymbol{\tau}_n, \mathbf{h}_n^{\dagger}, \mathbf{m}_n), \\ \mathcal{E}_{\tau_{n+1}, n+1} = \text{Retrieve}(\boldsymbol{\tau}_{n+1}; \mathcal{B}_{n+1}), \end{array} ξnRollout(τn,πψ,hn,Cτn;Π),mn=Eval(ξn),Bn+1=UpdateIII(Bn;τn,hn,mn),Eτn+1,n+1=Retrieve(τn+1;Bn+1),

其中 mn=(rn,ˉn,κˉn)\mathbf{m}_n = (r_n, \bar{\ell}_n, \bar{\kappa}_n)mn=(rn,ˉn,κˉn) 包含奖励、平均延迟和平均货币成本。遵循阶段 III 的保留规则,UpdateIII\mathrm{Update}_{\mathrm{III}}UpdateIII 在完成的 harness 不提供可接受的改进时保持 Bn\mathcal{B}_nBn 不变。否则,保留的 harness 成为后续任务的潜在参考。因此,流式推理通过不断进化的 harness 库传递先前经验,而不将环境反馈注入当前 rollout 或更新模型参数。

实验

JIT-Agent 在九个基准上进行了评估,涵盖深度研究、日常工作、规划和工作区任务,使用 GLM-5.2 和 DeepSeek-V4-Flash 等开放骨干。在所有匹配的骨干-基准对中,JIT 生成的 harness 一致地优于原始骨干,平均提升 7.7 到 8.8 分,并经常匹配或超过前沿模型。当保持骨干固定时,JIT-Agent 在大多数设置中实现了最高性能,同时将 token 消耗和 API 成本降低 14.9% 到 54.1%,表明收益来自更高效的编排而非更长的轨迹。该方法在多个模型家族中泛化,测试时进化进一步提高了累积准确率。定性分析表明,生成器产生任务特定的 harness,例如用于工件生产的依赖图和用于深度研究的递归委派,证明共享协议约束接口而非行为。

该表按构建范式对 harness 优化方法进行分类,区分提前搜索、带测试时反馈的提前编辑和即时生成。它还跟踪每种方法是否支持实例合成、训练 harness 模型、从失败执行中学习以及部署后继续进化。这些方法差异很大,只有即时方法结合了所有四种能力。提前搜索方法缺乏实例合成、学习修复和在线进化。提前编辑方法增加了在线进化,但仍不合成实例或训练 harness 模型。即时方法是唯一直接合成实例特定 harness、训练生成器、从失败轨迹中学习并部署后继续改进的方法。

种子库包含 13 个手写 harness,实例化四模块协议,涵盖异构的记忆、规划、动作和能力编排策略。这些 harness 作为合成和评估的初始种群,库随时间扩展以包含任务特定的性能数据。这些 harness 在记忆策略上各不相同,从完整历史到基于检索或推理图的方法。规划模块从无显式规划器到线性路线图、DAG 规划和动态分解。动作策略包括标准 ReAct、标记引导执行和多 rollout 聚合,而所有 harness 共享完整的能力注册表。种子库旨在通过保留推进存档前沿的 harness 来增长,将每个 harness 与任务、奖励、延迟和成本关联。

用 JIT 生成的 harness 替换默认框架一致地提高了所有匹配骨干-基准对的性能,在两个骨干上平均提升 7.7 到 8.8 分。最大的改进出现在需要持续状态管理和约束跟踪的任务上,JIT 装备的系统在九个基准中的八个上取得最佳结果,经常超越更强的前沿模型。JIT 生成的 harness 在每个匹配的骨干-基准对上都提高了性能,平均提升 7.7 到 8.8 分。最大的增益在规划任务上,DeepSeek-V4-Flash 和 GLM-5.2 分别提升 24.8 和 20.2 分。JIT 装备的系统在九个基准中的八个上排名第一,其中 GLM-5.2 领先七个,DeepSeek-V4-Flash 领先一个。JIT-Agent 搭配 DeepSeek-V4-Flash 在每个报告的基准上都超过了更强的 DeepSeek-V4-Pro 基线,平均优势为 8.7 分。唯一没有由 JIT 装备模型领先的基准是 DeepPlanning-Travel,其中 JIT 装备的 GLM-5.2 与 GPT-5.6 的差距在 1.9 分以内。

对高级 agent harness 的受控比较表明,生成的 harness(如 JIT-Agent)在多个骨干上通常比固定 harness 以更低的 token 使用量和 API 成本实现更好的任务性能。权衡因任务而异,一些固定 harness 在特定基准上仍具竞争力,但生成的 harness 通常提供更有利的成本-性能前沿。JIT-Agent 在 DeepSearchQA 上使用 DeepSeek-V4-Flash 骨干优于所有固定 harness,以最少的 token 和最低的成本实现最高性能。在 AgentIF 上,JIT-Agent 在降低成本的同时提高了相对于 NanoBot 的性能,而 NanoBot 在相同骨干的 xBench-DS 上仍是最佳表现者。对于 Qwen3.6-Flash,JIT-Agent 提供了更低成本的工作点,与 NanoBot 相比有适度的性能权衡,以较小的性能下降将成本削减一半以上。

评估跨构建范式比较 harness 优化方法,表明只有即时方法结合了实例合成、训练的 harness 模型、从失败执行中学习和部署后进化,而提前方法缺乏关键能力。一个包含 13 个手写 harness 的种子库,涵盖多样的记忆、规划和动作策略,作为初始种群,并通过保留推进前沿的 harness 增长。用 JIT 生成的 harness 替换默认框架在骨干和基准上产生一致的性能提升,最大改进在规划任务上,JIT 装备的系统经常超越更强的基线。成本-性能比较表明,JIT 生成的 harness 通常以更低的 token 使用量和成本实现更好的任务性能,尽管权衡因任务和骨干而异。


用 AI 构建 AI

从创意到上线——通过免费 AI 协同编码、开箱即用的环境和最优惠的 GPU 价格,加速您的 AI 开发。

AI 协同编码
开箱即用的 GPU
最优定价

HyperAI Newsletters

订阅我们的最新资讯
我们会在北京时间 每周一的上午九点 向您的邮箱投递本周内的最新更新
邮件发送服务由 MailChimp 提供