训练整个智能体而非仅训练模型:策略与工具框架协同演化的强化学习(HarnessAdapt-RL) Training the Whole Agent, Not Just the Model
在强化学习的同时自适应 harness:生成机制级技能、演化工具与钩子,最终部署模型–框架对。
前置知识
Harness(智能体运行框架)
编码智能体由「模型 + harness」组成:模型(策略 $\pi_\theta$)根据交互历史选择动作,而 harness 负责执行动作并返回观测。本文把 harness 形式化为 $H=(H_0, T, K)$:$H_0$ 是含原生 Bash 的基础配置,$T$ 是附加工具集(如 read_file、edit_file),$K$ 是运行时钩子集(在特定事件触发时向策略注入提示消息,如预算提醒、重复行为警报)。
本文的核心主张是 harness 不是静态基础设施而是可训练对象。整篇论文的技能生成、工具/钩子演化、部署选择都围绕 harness 的这一分解展开,不理解这个概念就无法理解方法在改什么。
GRPO(组相对策略优化)
一种策略梯度 RL 算法:对同一任务采样一组 rollout(本文 4-8 条),用组内奖励的相对差异(组均值中心化的优势,无标准差归一化)作为学习信号。关键性质是:若组内所有 rollout 全部成功或全部失败,奖励无对比度,该组对策略更新无贡献。损失只在策略生成的 token 上计算。
GRPO 的「需要组内奖励对比」这一特性直接催生了本文的 trainable rate 指标——harness 若只提高通过率、制造更多全成功组,反而会减少训练信号,这是方法设计的核心洞察。
SWE-bench 系列基准与 pass@1
软件修复基准:给定真实仓库的 issue,智能体需产出通过隐藏测试的补丁。Verified(500 个经人工验证的 Python 任务)、Multilingual(多种编程语言)、Pro(更难的长时程任务)。pass@1 表示每任务单次尝试的通过率,本文每次评测跑三遍取均值,并用配对 bootstrap 置信区间检验差异显著性。
所有主实验都在这三个基准上用 pass@1 评估,且评测时移除技能、不调用教师模型,这一「无辅助评测」协议是理解论文各技能变体对比结论的前提。
Trainable rate(可训练率)
本文提出的新指标:采样 rollout 中可用于策略更新的比例。判定规则是:被截断的 rollout 排除;每个任务组剩余的 rollout 必须同时含成功与失败尝试(否则 GRPO 无奖励对比),此时才算可训练。分母为全部采样 rollout。它与通过率(补丁通过测试的比例)一起构成 harness 变更的验收标准。
这是本文对 harness 选择准则的关键创新:一个提议只有在「通过率或可训练率至少一项提升、且两项都不下降」时才被接受,拒绝案例显示这两个指标可能冲突。
机制级技能(mechanism-level skills)
一种任务特定的文本指导:教师模型对比同一任务的两条轨迹(优先一成功一失败),提炼修复策略的「何时适用、为何有效」,保留技术推理(如数据结构不变式、状态转换、验证边界),但移除仓库路径、文件名、代码符号和 diff 文本,每条不超过 120 英文词。与直接给出具体代码改动的「近答案提示」形成对照。
三种技能形式的系统对比(近答案提示 / 机制级 / 技能库)及「移除后评测」协议是论文的核心实验设计,结论是只有机制级技能的收益能在技能移除后保留在模型权重里。
研究动机
当前编码智能体训练的标准做法是只更新策略模型、把 harness 冻结不动,但训练轨迹暴露出两类系统性问题:一是有缺陷的修复策略,如错误诊断问题根源、只处理表面症状的修补;二是交互问题,如编辑命令失败、输出过长挤占上下文、验证不充分。论文给出具体证据:随训练进行,每条轨迹的平均测试执行次数从第一 epoch 的 2.87 次降到第二 epoch 的 1.58 次(GRPO 下降 45%,保留第一代 harness 的 H1+Mechanism 甚至下降 57%),说明即便配有测试工具和提醒钩子,策略的验证行为仍随学习进程衰退。这些缺陷因任务而异、且随策略学习不断变化:训练早期需要上下文管理与补丁提交支持,后期需要测试与修订支持,预先固定或人工设计的 harness(如 OpenHands)无法跟随这种漂移。已有工作各有缺口:Meta-Harness、RHO 在固定策略下搜索 harness,感知不到策略变化;技能类方法未系统回答哪种技能形式能在移除后留下持久收益;Co-Harness 用 SFT 而非 RL 交替更新,也缺乏对训练信号可用性的考量。
本文的目标是本文要回答三个环环相扣的问题,并给出一个完整方案。其一,如何为策略学习设计技能:应提供什么形式、什么粒度的指导,使收益能在评测时移除技能后仍保留在模型权重中。其二,当策略不断变化时,如何设计并选择工具与运行时钩子:需要一套基于证据的自动提案—评估—验收流程,且选择标准必须同时照顾任务成功与策略训练的可用性。其三,训练结束后哪些 harness 组件应保留在部署时:技能是否应该移除、演化的工具与钩子是否是最终性能的必要部分。最终交付物不是单个模型,而是一个「模型–框架对」$(\theta_T, H_T)$:经过训练的策略权重加上演化后的工具与钩子,任务特定技能在部署时移除。量化目标是让一个 9B 基座模型在 SWE-bench Verified、Multilingual、Pro 三个基准上超越 GRPO 基线以及使用人工设计 OpenHands harness 的 GRPO 训练。
与已有工作不同的是,本文的独特切入角度是把 harness 当作 RL 训练系统中随策略共同演化的一等公民,而非静态脚手架。具体体现在三个前所未有的设计上。第一,首次系统对比三种技能形式(近答案提示、机制级技能、技能库)并统一采用「移除后评测」协议,揭示出反直觉结论:训练期成功率高不等于最终性能好——近答案提示把训练轨迹 token 缩短 40.8%、训练成功率大涨,但移除后 pass@1 反而比 GRPO 低 2.6 个百分点。第二,首次把 trainable rate(可训练率)引入 harness 验收标准:GRPO 需要组内奖励对比,只优化通过率的 harness 变更可能摧毁训练信号,论文记录了一个真实案例——语义审查钩子使通过率上升 2.7% 但可训练率下降 7.0%,被拒。第三,明确区分部署时两类组件的去留命运:技能是训练脚手架(移除后收益仍在),工具与钩子是能力组件(移除后损失高达 7.7 个百分点),并证明 harness 应随策略更新而再演化,而非在训练前一次性搜索完毕。
核心方法
直觉上,训练编码智能体就像培养工程师:不仅要练技术(更新策略权重),还要随成长调整工具箱和导师反馈(演化 harness)。技术上,harness 表示为 $H=(H_0,T,K)$ 加可选技能 $s$,每个 epoch 循环四步。第一步 rollout 采集:当前策略在当前 harness 上对 46 个任务各采 4 条准备轨迹(64K 上下文、60 轮)。第二步双教师适配:冻结的技能教师(GLM-5.3-Flash)对比两条轨迹生成机制级技能;独立的 harness 教师(GPT-5.6 Sol 经 Codex)通读全部准备轨迹,诊断跨任务复现的交互问题,在单次调用中完成诊断、设计与实现,产出候选 harness $H'$。第三步训练感知的选择:候选与当前 harness 在相同策略、任务、技能和预算下各跑 184 条对比 rollout,只有通过率或可训练率至少一项严格提升且两项都不降才接受。第四步 GRPO 更新:用选定 harness 新采的 rollout 更新策略(损失只算策略生成的 token),新策略轨迹再用于下一轮演化。每 epoch 开头至多演化 5 轮后固定,两轮训练产出 $H_1$(7 工具 4 钩子)与 $H_2$(8 工具 5 钩子),部署时技能移除、教师下线。
核心创新有三层。第一层是机制级技能设计:近答案提示直接告诉模型改哪个文件、哪个函数、怎么改,模型借此跳过代码定位等关键步骤,训练成功率虚高但评测时不会独立走完这些步骤;机制级技能只解释修复机理的「何时适用、为何有效」,刻意抹去仓库路径、代码符号和 diff 文本,迫使策略自己完成定位与实现,收益因此能内化进权重、移除后依然保留——这与 ACE、Voyager 等技能库方法的本质差异在于:比较的不是「有无技能」而是「什么形式的技能能留下持久收益」。第二层是把 trainable rate 作为 harness 验收的一等指标:此前所有 harness 优化工作(Meta-Harness、RHO、Co-Harness)只看任务成功,而 GRPO 时代全成功组不贡献梯度,只优化通过率的 harness 变更可能摧毁训练信号,且两项指标不可互相补偿——真实案例是语义审查钩子使通过率升 2.7% 但可训练率降 7.0% 被拒。第三层是「随策略共同演化」:Pre-Evolved 对照证明用未训练的基座策略预先搜索 harness 不够好,因为策略的问题分布会漂移——第一轮演化聚焦上下文管理与补丁提交,第二轮聚焦测试与修订,这种漂移只有在训练中持续观察新轨迹才能捕捉。
方法步骤详情
流程分七步。步骤一,构建任务池:从 R2E-Gym-Lite 的 4,578 个任务中剔除 pass@4 为 100% 的任务后随机采样 1,058 个(覆盖 pandas 37.71%、numpy 15.41% 等 11 个仓库),与评测基准去重无重叠;另固定 512 个任务作为第二 epoch 受辅助子集。步骤二,rollout 采集:每 epoch 23 次更新、每次 46 任务,受辅助任务各采 4 条准备轨迹供教师使用(不用于训练)。步骤三,技能生成:冻结教师读取 issue 与两条轨迹(优先一成功一失败),输出成功/失败对比、工具使用问题、任务特定技能的 Markdown 报告;技能经筛查确保不含定位性路径/符号/代码,违规则重生成至多 3 次。第一 epoch 辅助全部 1,058 任务,第二 epoch 技能重新生成、只辅助 512 子集。步骤四,harness 提案:教师通读该轮全部准备轨迹与当前 harness,经格式、schema、冒烟测试后,与当前 harness 各用 184 条 rollout 对比两个比率,验收规则为「两项都不降且至少一项严格升」。步骤五,GRPO 更新:4 rollout/任务,优势组均值中心化(无标准差归一化),学习率 $10^{-6}$ 常数,KL 与熵系数为 0,技能文本、钩子消息与工具输出均被 mask。步骤六,每 epoch 开头至多 5 轮演化,产出 $H_1$、$H_2$ 后在该 epoch 余下训练中固定。步骤七,部署评测:技能移除、教师下线,用 $(\theta_{45}, H_2)$ 以 128K 上下文、150 轮评测,每基准重复 3 次取均值。
技术新颖性
新颖性可从四个维度评估。其一,相对 harness 优化线的创新:Meta-Harness 与 RHO 都在策略权重固定时优化 harness,Co-Harness 交替 harness 更新与 SFT;本文是首个在 on-policy RL(GRPO)内部持续演化工具与钩子的工作,必要性有实证支撑——验证行为随训练衰减 44%-57%,早期冻结 harness 会错过新出现的问题。其二,选择准则的创新:引入 trainable rate 并设计保守的单调性验收规则(两项都不降、至少一项严格升),明确拒绝「一项大幅提升补偿另一项下降」,与所有只优化任务成功率的先验工作形成方法论断层;被拒提案记录(+2.7% 通过率但 −7.0% 可训练率)证明两条目标真实冲突。其三,评测协议的创新:「移除技能后评测」使技能价值只按其内化程度计分,纠正了以往以训练成功率为代理指标的误导;所有差异用配对 bootstrap 置信区间报告(对 GRPO 的合并增益 +8.9 [+7.0, +10.7])。其四,工程透明的创新:完整公开 9 个候选提案的接受/拒绝记录、被拒后的改进路径(审查钩子与 view_diff 结合后重新被接受),以及 $H_1$/$H_2$ 逐组件规格,这种演化过程的可审计性在同类工作中罕见。局限是验收基于 184 条 rollout 的经验分数、非显著性检验,存在选择噪声风险。
实验结果
核心结果分五组。第一,主结果(表 1):HarnessAdapt-RL 平均 pass@1 达 44.9%,对 GRPO(35.3%)在 Verified/Multilingual/Pro 分别提升 9.8、12.6、6.4 个百分点(合并区间 +8.9 [+7.0, +10.7]);对使用人工设计 OpenHands harness 的 OpenHands-GRPO(39.0%)提升 6.2、4.0、7.4。第二,技能形式对比(均在 $H_0$ 训练、移除技能评测):机制级 38.3% > 技能库 34.1%,近答案提示 32.7% 反而比 GRPO 低 2.6 个百分点,只有机制级在全部三个基准上超过 GRPO。机理是机制级技能的混合奖励组占比最高(46.5%),提示的全成功组最高(27.5%)反而削弱 GRPO 的奖励对比;提示还把轨迹 token 缩短 40.8%(机制级仅 14.5%),但短轨迹不等于学得好。第三,演化时机:Pre-Evolved(训练前用冻结策略搜索)41.7%,低 2.4/4.3/2.7;H1+Mechanism(第二 epoch 不再演化)41.9%,低 2.2/4.6/2.0,证明必须随策略变化再演化。第四,部署消融(表 2):固定策略权重,$H_0$ 换 $H_2$ 使 HarnessAdapt-RL 提升 4.8/7.7/4.7,只在 $H_0$ 训练的 Skill-Mechanism 也获得 +2.0/+5.3/+2.3,但「与训练一致」增益更大(合并差异 +2.5 [+1.0, +4.2] 显著);反向移除 $H_2$ 最高损失 7.7 个百分点。第五,复用:9 个候选 6 个被接受,首轮工具包 +13.7%/+7.4%,第二轮自动测试提案 +6.3%/+7.4%;Frozen-H2+Mechanism 复用 $H_2$ 达 56.8/38.3/38.9,与完整方法差距在 1 个百分点内,但前提是 $H_2$ 须先经训练中演化发现。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| SWE-bench Verified(软件修复,500 任务) | pass@1 (%) | 57.6 | GRPO 47.8(同基座 Qwen3.5-9B,基座 harness $H_0$) | +9.8 个百分点 [+6.3, +13.3] |
| SWE-bench Multilingual(多语言软件修复) | pass@1 (%) | 37.3 | GRPO 24.7 | +12.6 个百分点 [+8.7, +16.6] |
| SWE-bench Pro(高难度软件修复) | pass@1 (%) | 39.7 | GRPO 33.3 | +6.4 个百分点 [+3.7, +9.1] |
| 三基准平均(对人工设计 harness) | 平均 pass@1 (%) | 44.9 | OpenHands-GRPO 39.0 | +5.9 个百分点(合并 +6.3 [+4.3, +8.2]) |
| 技能形式对比(移除技能后评测) | 平均 pass@1 (%) | 机制级技能 38.3 | 近答案提示 32.7;技能库 34.1;GRPO 35.3 | 机制级比提示高 5.4 个百分点(合并 [+3.7, +7.2]),且是唯一在三个基准上都超过 GRPO 的变体 |
| 部署 harness 消融(固定策略权重) | pass@1 差值($H_2$ vs $H_0$) | HarnessAdapt-RL:+4.8/+7.7/+4.7(Verified/Multi./Pro) | Skill-Mechanism:+2.0/+5.3/+2.3 | 训练与部署 harness 一致带来更大的迁移增益(合并差异 +2.5 [+1.0, +4.2]);反向移除 $H_2$ 最高损失 7.7 个百分点 |
局限与改进
作者承认四点局限:所有任务都是 SWE-bench 风格软件修复,技能、工具、钩子均为此场景定制,未验证网页导航、数据分析等领域;只用单一 9B 基座(Qwen3.5-9B),更大模型可能已能完成工具封装的操作,是否同样受益未知;每配置只训练一次,三次重复是对同一 checkpoint 的评测而非独立训练种子,置信区间不含训练与搜索随机性;候选选择用有限 rollout 的经验分数,验收规则不是显著性检验,rollout 噪声与反复搜索会影响哪些变更被保留。我的补充观察:一是强依赖两个闭源教师(GPT-5.6 Sol 经 Codex、GLM-5.3-Flash),成本高且教师能力决定技能与工具质量上限,作者也承认 CLI 版本未固定、严格复现教师行为有难度;二是 trainable rate 定义深度耦合 GRPO 的组内奖励对比机制,换用带 value baseline 的算法(如 PPO)时指标意义需重新推导;三是每次对比仅 184 条 rollout,统计功效有限;四是验收以整包为单位,无法归因单个组件的贡献;五是 $H_2$ 的自动测试选择是 Python 生态特有的启发式打分(文件名匹配 +3 分、目录 +1 分、符号引用 +2 分,限 pytest/runtests.py/bin/test),迁移到其他语言生态需重新设计。
独立分析的弱点
弱点一:选择统计功效不足。每轮 harness 对比每边仅 184 条 rollout(46 任务 × 4 条),采样噪声完全可能把随机波动当成真改进(作者自承 winner's curse 风险),9 个候选中 6 个被接受无法排除部分源于噪声。改进方向:引入分层 bootstrap 或贝叶斯决策阈值,或要求提升在跨两轮独立批次中复现。弱点二:整包验收无法归因。首轮接受的是 5 个工具的捆绑、次轮是 1 工具加 3 钩子的捆绑,表 12/14 只能展示组合效果,无法知道各组件单独贡献,也难以发现包内冗余或互相干扰。改进方向:对已接受包做事后组件消融,或用多臂老虎机把预算分配到组件级评估。弱点三:教师单点依赖。技能生成需 1,570 次教师请求、harness 演化需 10 次顶级闭源模型调用,教师输出质量直接决定成败。改进方向:把教师蒸馏为开源中型模型,或建立规则模板库降低对教师创造力的依赖。弱点四:Python 生态绑定。$H_2$ 的测试选择启发式、run_check 45 秒上限、pytest/runtests.py/bin/test 识别都绑定 Python 仓库,而 Multilingual 基准上增益最大恰恰暗示多语言需求。改进方向:抽象语言无关的测试发现与执行接口,让教师做语言特定配置。弱点五:可训练率与 GRPO 强耦合,换算法需重定义。改进方向:定义更一般的「学习信号率」,如按优势方差加权。
未来方向
作者指向的方向:把流程推广到软件修复之外(网页导航、数据分析、计算机操作),检验自适应演化是否产生同样有用的支持;检验更大基座模型与不同模型家族下收益是否保持、偏好的指导形式是否改变;利用已验证的结论——$H_2$ 可直接复用于新训练(Frozen-H2+Mechanism 差距在 1 个百分点内)——把演化出的 harness 作为可复用工件发布,避免每个新训练重复搜索。基于其成果可延伸的方向:其一,技能渐退课程——机制级技能收益可在移除后保留,暗示可设计随训练进度逐步撤除技能的调度(先全量、再 512 子集、再归零),把外显指导完全内化为权重;其二,三方共同演化——CoEvolve 已证明训练数据可与策略共同适应,SEARL 优化工具图记忆,数据、harness、策略三者的联合演化闭环是显然的下一步;其三,不确定性感知选择——把验收规则从经验分数升级为带置信下界的决策(如要求提升的 95% 区间下界大于 0),抑制搜索过拟合;其四,跨任务 harness 组件库——把 restore_file、delivery_evidence 等语义清晰的组件泛化为领域无关原语,形成可组合、可审计的智能体基础设施标准;其五,分析技能内容与策略行为改变的因果对应,理解哪类机理描述最容易被权重吸收。
复现评估
开源情况良好:模型权重、演化后的 harness($H_2$)、训练代码与数据都在 github.com/lingxiaotang/HarnessAdapt-RL 公开,附录给出完整超参数表(表 5)、rollout 记账(表 6、13)、教师提示全文(图 9-21)与全部提案记录(表 15),透明度在同类工作中属上乘。算力需求中等:Qwen3.5-9B、BF16、8 GPU、张量并行 2 × 上下文并行 2,slime 框架实现 GRPO,共 46 次更新、8,464 条训练 rollout(HarnessAdapt-RL 总计 18,056 条含准备与对比),高校实验室规模集群可承担。数据可得:R2E-Gym-Lite 训练划分公开,任务池与评测基准去重无重叠。难度评估为中偏高,障碍有三:一是教师依赖——GLM-5.3-Flash 与 GPT-5.6 Sol 需经 OpenCode/Codex CLI 调用,作者明确说明这些标识符未固定教师快照、历史 CLI 包版本未保存,复现者必须自行显式提供版本并对齐端点凭据,且教师 API 有真金白银的成本(1,570 次技能请求 + 10 次 harness 演化调用);二是训练随机性未量化——每配置只训一次,完全照做也可能因种子不同得到波动结果;三是管道复杂——双教师系统、准备/对比/训练三类 rollout 的精确记账、技能筛查重生成、验收规则实现,任何环节偏差都会传导到最终结果。若只复用结论,直接使用发布的「模型–$H_2$ 对」推理评估则非常轻量,部署时不需要任何教师调用。
论文图表
近答案提示变体的教师完整指令:要求教师为单个任务写出具体修复指令,必须点名文件、函数、变量,陈述错误改法与正确改法,输出 Applies when / Wrong approach / Better approach 三字段,并附 issue 与两条轨迹的输入模板。
它是理解「近答案提示」这一对照实验的具体实现的关键:正是这种强制点名代码符号的设计使训练轨迹变短、训练成功率虚高,从而支撑了与机制级技能的对比结论。
机制级技能教师指令第一部分:确立证据标准——对比两条轨迹、只从可观察行为与合理因果对比中推断教训、区分求解器行为与基础设施/框架故障、从 issue 与技术证据确立修复方向、蒸馏机理而非复制 diff 或定位标识符。
机制级技能是论文的核心贡献,而这份指令正是其质量控制的核心:五部分指令定义了如何从轨迹证据中提炼可迁移的修复机理并剥离答案定位信息,是复现该方法不可或缺的细节。
指令第二部分:定义成功/失败对比的四字段结构(failure_mode 枚举 wrong_patch、never_localized、test_thrashing、edited_but_unsubmitted、no_systematic_difference、other;success_behavior;failure_behavior;decisive_difference),并规定全败/全成功轨迹对的处理规则。
failure_mode 枚举实际上是对软件修复失败模式的分类学,decisive_difference 字段强制教师写出一句因果陈述,这些设计细节揭示了「机制」这一抽象概念在操作层面的落地方式。
指令第三部分:规定工具使用问题的识别与四字段格式(Applies when / Wrong tool use / Better tool use / Evidence),要求只报告有证据支持的最严重至多两个问题,明确禁止把一般推理风格批评或新能力建议混入此节。
工具使用问题的记录是 harness 演化的证据来源之一:单任务报告中的工具使用缺陷会在后续聚合阶段跨任务比对,成为教师提案工具与钩子的输入,理解此节才能理解技能生成与 harness 演化之间的证据流水线。
指令第四部分:定义 task_specific_skill 的输出规范——以中等可复用层级保留技术机理(数据结构不变式、排序行为、状态转换、序列化、解码、验证边界等),必须移除仓库/包名、路径、API 符号、字面代码与 diff 文本,三字段合计不超过 120 英文词,且技能永不为 None。
这一段精确定义了「机制级」与「近答案」的分界线:保留什么(可迁移机理)、删除什么(答案定位细节)。这个信息瓶颈设计是技能收益能在移除后保留的直接原因,是全文最关键的方法细节之一。
指令第五部分:给出五步分类顺序(先排除基础设施故障、先写对比、记录工具缺陷、再转化技能、停止不提元技能/工具/钩子),规定必须的 Markdown 三节结构(Success/Failure Comparison、Tool-Use Problems、Task-specific Skill),并附轨迹输入模板。
它明确了单任务报告与最终聚合阶段的职责分离:任务级教师不做跨任务决策,这保证了 harness 演化只在跨任务证据充分时发生,是方法防止单任务噪声污染全局设计的制度安排。
技能库变体的教师指令:读取当前技能库与全部任务报告,跨任务聚类复现的过程性机理,保留、合并、修订或删除规则,产出至多 10 条、共 1,000 词以内的元技能(MS-01 格式:Applies when / Wrong approach / Better approach),禁止出现仓库名、路径、精确符号与补丁。
技能库是三种技能形式中最接近 ACE/Voyager 等已有工作的对照,这份指令使读者能精确理解它与机制级技能的差异(跨任务泛化 vs 单任务机理),是对比实验可信度的保障。
三种技能形式各一个真实输出样例:Skill-Hint 点名 pandas/tseries/holiday.py 的具体函数与返回值改法;Skill-Mechanism 用泛型别名递归替换的语言描述同一类修复机理(提到「复合泛型别名的嵌套参数携带多个类型变量」但不给任何路径与符号);Skill-Bank 给出「为交付序列保留预算」的通用流程规则。
三个并排样例让抽象的「特异性谱系」变得可见:同一证据源在不同约束下产出的指导从具体答案滑向一般原则,读者据此能直观判断机制级技能处于谱系的哪个位置、为何既能指导又不泄漏答案。
harness 提案教师指令第一部分:定义优化目标(通过率与可训练率,且一项的提升不能补偿另一项的下降)、禁止制造失败或弱化任务要求、要求把提议效果当作预测直至有测量支持,并规定第一步是重建需要支持的行为(决策点可用信息、动作与观测、预算与终止状态)。
这是工具与钩子演化的「宪法」:双目标不可补偿的验收哲学、对训练可行性与任务成功的显式权衡都在此定义,是 trainable rate 准则的权威出处,也是与其他 harness 优化工作划清界限的地方。
指令第二部分:要求区分观察、机理假设、替代解释与不确定性;给出六类问题诊断(缺少能力、接口难用、观测不完整/过量/含糊/过期、能力用时错位、反馈被误解、操作-状态-资源协调失当);强调用当前策略的新轨迹重审早期诊断。
六类诊断分类学是教师把轨迹证据映射到 harness 变更的思维框架,而「用当前策略重审旧诊断」的规则正是「随策略共同演化」这一核心主张在提示工程层面的实现。
指令第三部分:要求把每个变更显式分类(工具/钩子/指导/其他)并标记增改换用,区分「指示执行某动作」与「自动执行该动作的代码」,优先修改既有能力而非新增,禁止在不相关理由下捆绑多项改进,并规定对整包结果的解释边界(拒绝的包不证明每个组件都有害)。
它展示了控制提案质量与防止过度工程的具体机制,也解释了为何第 4 轮被拒的语义审查能与 view_diff 结合后在第 5 轮重新被接受——被拒组件可以在新组合中复活。
指令第四部分:要求写出行为机理链(观察到的情形 → 新能力/信息 → 改变的决策 → 对成功与可训练性的可能影响)、描述代价与副作用(额外调用、token、时间、打断、误导性启发式)、规定机制应保持沉默的条件,并把轨迹更短/调用更多/提交更多这类代理指标排除在目标之外。
它体现了该教师系统最深的工程智慧:强制预注册副作用与失效条件、拒绝代理指标,这些约束直接塑造了 $H_1$/$H_2$ 组件克制的设计风格(每个钩子都有触发上限与静默条件)。
指令第五部分:规定工具变更需指明输入约束、操作与副作用、返回观测语义、失败行为与资源上限;钩子变更需指明触发事件、保留状态、反馈内容、重复上限与静默条件;响应结构分四节(证据与诊断、提议机理、具体实现、预测行为),并附含 round_context、current_harness、training_eligibility_rules 等占位符的输入模板。
这份模板是整个 harness 演化管道的接口规范:它定义了教师每轮能看到什么(全部准备轨迹、当前 harness、先前提案结果),对想复现或改造该管道的读者是最直接的操作指南。