Harness基模JIT-27B,为每个任务写一套“Claude Code”
Agent benchmark 通常把模型视为能力的主要来源,但同一模型只要更换记忆组织、规划协议、工具暴露方式或错误恢复流程,最终表现就可能跨越一个明显的档位。
这样的差异来自 Agent Harness:它定义模型在什么状态中推理、通过什么接口行动,以及一条轨迹如何被推进到完成。
新加坡国立大学LV-Lab推出了JIT-Agent-27B,一款Harness Intelligence基座模型。 JIT-27B以Agent的Runtime运行层为训练对象。
它面向具体任务即时构造一套完全根据任务定制化的 harness,并学习如何修复失败结构、如何依据执行反馈继续改进。任务定制样本、故障恢复轨迹,以及奖励、延迟和成本信号都通过训练更新模型权重。部署时,模型再把参数中积累的结构经验转换为当前任务的可执行程序。
论文标题:JIT-Agent:Scaling Harness Intelligence via Just-in-Time Harness Evolution
论文主页:https://bingreeky.github.io/JIT-site
代码仓库:https://github.com/bingreeky/JIT
模型与资源:https://huggingface.co/JIT-Agent
结果直接呈现了 harness 所能贡献的能力增量。在 GLM-5.2 与 DeepSeek-V4-Flash 上,18 组同模型、同 benchmark 对照全部提升。DeepSeek-V4-Flash 配合 JIT-generated harness 后,在 DeepSearchQA 上超过 GPT-5.6(+9.1);GLM-5.2 即使已经具备较强 Agent 能力,单项增益仍可达到 20.2。

Table 3 固定 backbone,将实验变量收束到运行方式本身。结果提供了模型参数与推理预算之外的观察角度:Agent 的能力上限也受到运行结构的直接塑造。
Harness作为可生成的运行时表示
为了让模型能够生成完整 runtime,JIT-Agent 把 harness 统一表达为四个模块。
- Memory 负责证据、历史与中间状态;
- Planning 维护下一步目标;
- Action 定义控制循环与恢复路径;
- Capability Orchestration 决定当前可调用的工具、API 和技能。
四个模块共同形成一份包含状态与控制语义的可执行协议。

图1|JIT-Agent的生成接口。 输入任务经过 Memory、Planning、Action 与 Capability Orchestration 的组合,得到面向具体问题的执行结构。
这套表示还连接着 HarnessFactory。ReAct、ReSum、Flash-Searcher、HiAgent、ROMA、AOrchestra 等 13 种 scaffold 被重新实现到同一协议下,使原本分散的运行时成为可比较、可组合的结构样本。共同接口让 JIT-Agent 学习跨 scaffold 的结构规律,并据此选择和重组运行机制。
Insight|可组合性把 runtime 变成模型可以操作的对象
《A Programming Paradigm for Spatiotemporal Composability》把依赖关系置于 DeepSeek Harness 的组织中心,并用 “Everything is a Plugin” 为每个运行单元赋予可组合的位置。
JIT-Agent 进一步将模块接口转化为生成约束。模型面对的是具有类型和依赖关系的组件空间,harness synthesis 由此获得稳定的结构语义。
论文把这种能力定义为 Harness Intelligence。它由三部分组成:针对任务形成合适结构的 adaptivity,从编译和执行故障中恢复的 reliability,以及利用真实结果推动设计改进的 evolvability。相应地,模型的角色也从动作生成器延伸为运行系统的构造者,即 Model-as-a-Harness。
让Agent为每个任务定制化写一套“Claude Code”
JIT-Agent-27B 的训练围绕 harness 的生命周期展开。系统先建立任务到运行结构的映射,再把失败执行转化为恢复经验,最后依据环境返回的效果与成本信号优化候选设计。

图2|三阶段Harness学习。 Customize、Repair 与 Evolve 分别对应结构生成、故障恢复和 frontier 推进。
在 Customize 阶段,教师监督提供任务适配的 harness,价值加权偏好学习进一步区分高任务收益、低延迟和低成本的方案。Repair 阶段把编译错误、接口不一致、工具失败与运行异常组织成短程修改轨迹,使模型学习诊断与补丁之间的对应关系。
Evolve 阶段采用 Evo-GDPO,让同一任务下的一组候选 harness 与 archive 中的 incumbent 比较,并分别归一化奖励、延迟和成本信号。
这些训练过程共同改变 JIT-Agent-27B 的参数。模型权重保存跨任务复用的构造与修复规律;archive 记录近期执行中形成的优秀实例,为后续生成提供参考。部署期间权重保持固定,长期参数知识与运行时 archive 在不同时间尺度上协同工作。
同一协议可以生成完全不同的程序
Palimpsest 和 Trapdoor 展示了任务条件如何进入 harness 内部。Palimpsest 服务于联系人整理、工作簿生成和邮件交付组成的跨应用任务。它把任务编译成制品依赖图,通过受限并行完成发现、过滤、构建和发送,并把中间产物写入持久化 memory。
Trapdoor 面向多跳身份研究。它动态生成子问题,通过有步数上限的 delegate 调用启动私有研究分支,再将返回事实纳入 FactGraphMemory。一个 runtime 围绕 artifact DAG 运转,另一个围绕受控递归和证据图运转;二者共享模块接口,却拥有不同的状态结构与控制语义。


图3|任务条件化的Harness实例。 JIT-Agent根据任务需求改变规划、记忆、行动循环和能力暴露方式。
这些案例也说明,task-conditioned harness 的含义超出 prompt 改写。生成结果会改变数据结构、工具策略、执行顺序、并行宽度和验证条件,进而改变基础模型处理长程任务的方式。
性能、成本与迁移实验
固定 backbone 后比较不同 harness,可以进一步分离模型能力与运行时贡献。对 DeepSeek-V4-Flash 和 Qwen3.6-Flash 的六组受控设置中,JIT-Agent 在四组取得最高任务表现;全部六组均使用最少 token,并产生最低 API 成本。以每组费用最低的固定 harness 为基准,平均单例成本减少 36.0%。

Table 4 还揭示出固定 scaffold 的任务依赖性:某个 harness 在一个 benchmark 上领先,换到另一类任务时可能明显回落。即时生成将选择发生的时间推迟到任务已知之后,使模型能够依据当前问题构造运行方式。
六个不同尺寸的 backbone 来自 DeepSeek V4、Qwen3.6 与 MiMo-V2.5。它们与 ReAct 构成的 24 组配对实验全部获得正向增益,平均提升 7.6 分。JIT-Agent-27B 参数中的结构先验因而能够跨越模型家族和规模,为不同 backbone 形成有效 harness。
Harness Intelligence带来新的Scaling对象
模型参数决定推理与生成的基础能力,harness 决定这些能力在环境中如何被组织。JIT-Agent-27B 将后者纳入模型训练,使 scaffold synthesis、repair 和 evolution 成为可以积累、迁移和复用的参数能力。
这也为模型与 harness 的共同设计提供了新的接口。生产系统可以继续保留稳定内核,把记忆策略、规划方式、能力编排或局部控制交给模型按任务生成。随着更多运行经验进入 foundation model 的训练过程,Agent scaling 将同时发生在模型本身与承载模型行动的系统之中。