议题定位
本议题不试图证明「Self-Harness 对所有工具都有效」。放弃这个宽泛命题,是整个研究最重要的方法论决定。它换成了一个具体得多、也难回答得多的问题:
对什么类型的工具结构,在什么条件下,修改哪一个 Harness 表面,能够改善哪一种能力,并会产生什么局部或非局部代价?
什么是 Tool-Side Harness
它是位于模型与工具之间的本地语义适配层,可能包括:Skill 的 frontmatter description 与主体说明文档;MCP Tool 的名称、描述与 JSON Schema;CLI 的参数说明与使用示例;Agent Preset 与组合配置;工作流规则与错误恢复策略;深层参考资料、模板与脚本;以及验证器、检查器和运行时约束。
它要帮模型完成的不是「读一段提示词」,而是七件事:判断什么时候需要用工具、找到正确的工具或 Skill、理解输入输出与约束、按正确顺序执行工作流、发现并修复执行错误、验证最终结果、控制上下文与工具调用成本。
因此本研究把 Harness 当作一个渐进式工具结构(L0 / L1 / L2 分层),而不是一段不可分割的 Prompt。
四个研究问题
RQ1 · 目标异质性
不同 Skill、MCP 与 CLI Workflow 的 Self-Harness 进化结果是否明显不同?观察五件事:是否获得可靠任务增益、是否发生任务交换、是否产生 held-out 回归、是否可以晋升候选、是否影响 token 与工具调用成本。
RQ2 · 结构类别关联
Harness 的进化效果是否与目标工具的结构类别有关?当前的分类与各自的典型失败:
展开:五个结构类别与各自的典型失败
| 类别 | 主要结构 | 常见失败 |
|---|---|---|
| 原子转换与验证 | 明确的输入输出契约 | Schema 歧义、字段伪造、输出漂移 |
| 多步工作流 | 命令顺序与状态迁移 | 跳过前置步骤、状态混乱、盲目重试 |
| 知识规则与策略 | 高密度条件规则 | 规则冲突、注意力稀释、虚构例外 |
| 资源与事件流交互 | 动态 Tool、Resource、Event | 发现失败、边界泄漏、上下文膨胀 |
| 调试与诊断 | 复现、定位、修复、回归验证 | 先修改后复现、只修症状、验证不完整 |
RQ3 · 结构机制
哪些因素能解释 Harness 的效果?当前重点:Harness 内容与模型先验的距离、规则密度、信息所在层级、深层参考资料的访问成本、验证器的可观察性、任务之间的耦合程度、修改是否局限在单个表面、以及 Harness 内容是否真正被模型消费。
RQ4 · 复制性
结果能否在同一目标的独立运行中复制、在同类别的独立目标中复制、在不同代码仓库中复制、在不同模型之间复制?
当前进展
研究已经建立起一套面向 Skill、MCP、CLI 与 Agent Preset 的实验方法:目标注册、结构分类、三变体基线、held-in / held-out 任务、单表面修改、可靠任务硬门与跨模型复制。目前完成了两个自指目标的正式基线,并在降级基线上得到一个局部可靠的能力进化候选。
展开:完整实验进展 — 基线数据、能力 lineage、三个负结果、先验距离校准、跨模型证据
三变体基线已具备区分度
在 GLM 基线上,两个正式目标都表现出明确的 Harness 梯度——也就是说,测试确实能区分完整 Harness、最小 Harness 与无 Harness,而不是三者都过或都不过:
| 目标 | official-full | minimal | no-harness |
|---|---|---|---|
| editing held-in | 9/9 | 3/9 | 3/9 |
| editing held-out | 6/6 | 3/6 | 3/6 |
| headless held-in | 9/9 | 3/9 | 3/9 |
| headless held-out | 6/6 | 0/6 | 0/6 |
一个局部可靠的能力 lineage
在其中一个目标上,先删除承重规则构造降级基线,再测试恢复候选。最终候选把原始承重章节浓缩约 44%,仍能完整恢复任务能力,并在同一目标上独立复制成功,晋升为能力 lineage。
当前结论等级是 E2:局部、受边界条件约束的可靠能力进化。它说明 Harness 里存在可以被压缩的非必要表达,但不能推导为所有 Skill 都能安全压缩。
三个负结果(照实记录,不隐藏)
- 效率优化没有复制。一次实验观察到约 16.1% 的 token 降低,独立复制时只有约 0.1%,晋升已撤回。当前结论是:在 15 次尝试的实验粒度下,模型运行方差足以淹没 20%–30% 文本编辑造成的效率变化。
- 一次跨仓负复制。在一个独立的无障碍审计目标上,能力恢复模式没有稳定复制。这说明 Harness 内容的承重性不是唯一条件——模型是否已从训练数据掌握相关知识同样关键。
- 一个目标因先验覆盖被终止。Git 工作流经两轮测试仍无可靠剂量反应,因为它属于训练数据中广泛存在的通用知识,无 Harness 时模型也能完成大部分任务。该目标被终止资格化,并作为「先验覆盖导致实验天花板」的机制数据点保留。
第二条负结果直接催生了本研究现阶段的核心机制假设。
先验距离:从效果描述走向机制解释
假设是:Harness 内容与模型已有知识之间的距离越大,Harness 的可测因果效应通常越强。它已经被转化为可直接测量的 Guessability 指标:
G = 模型在无 Harness、单次回答条件下猜中目标知识的概率
初步校准:GLM 上 8 对中有 6 对符合预期的 G–E 负向关系,另一模型上 4/4 对符合预期方向;不同模型的 G 明显不同;人工构造值与本项目特有规则在两个模型上的 G 都接近 0。由此得到三条实用规则:低 G 适合设计 Harness 区分任务;高 G 容易出现天花板,不应作为主要区分器;模型间 G 不同,应针对不同模型分别冻结效果预测。
首批跨模型方向性证据
换用第二个模型重跑两套正式任务后,梯度方向基本保持,完整 Harness 仍优于无 Harness,但该模型的「无 Harness 能力地板」在部分任务上更高。当前等级是 E3-directional:跨模型方向性证据,还不是完整的跨模型确认性复制。
下一步
下一个目标(一个 TypeScript MCP Server 生成器)已通过事前筛查,判定为值得做定向设计的 pilot:HTTP transport 的准确类名、MCP v2 的包拆分、SSE/WebSocket 的移除属于低 G 的承重知识;而 stdio transport 类名、基本注册 API 与依赖版本属于高 G,不适合作为主要区分器。正式 pilot 尚未完成,这是下一阶段最直接的研究任务——同时也用来验证一件事:先验距离测量能否在正式实验之前预测 Harness 的实际效果。
展开:方法路径 — 十步实验链、目标注册、held-out 隔离、单表面修改、4D 结果向量
方法路径
一个目标从发现走到结论,要经过这条链:
- 候选目标发现,以及许可证与可运行性检查
- 结构分类与特征冻结
- 先验距离 probe——若关键内容全是高 G,说明测试会撞天花板,此时终止或重新设计目标,不投入几十上百次模型运行
- 冻结 held-in / held-out fixture
- 运行三变体正式基线,检查是否具备区分度
- Failure mining,生成单表面候选
- 三次独立重复验证
- 过可靠任务硬门则晋升 lineage,被拒则写入冲突矩阵
- 本地独立复制
- 跨目标、跨模型复制
目标注册要在看到结果之前冻结
每个目标在看到进化结果前,必须先冻结来源仓库、来源 commit、License、工具结构类别、主拟合路径、L0/L1/L2 结构、可编辑表面与结构特征向量。这样才能防止看到实验结果后反向调整类别解释。
Held-out 的隔离必须由 runner 强制
Held-out 用来测量非局部影响、检查任务交换与隐藏回归。它的答案、参考实现与 grader 必须在 runner 层隔离,不能只靠提示词要求模型不要读取。
单表面有界修改
每个正式候选只能改一个表面(L0 description、L1 核心规则、Schema 约束、某一个工作流阶段、某一节深层参考资料、某一条 CLI 错误恢复协议),并且必须声明表面 id、所在层级、拟合路径、预期改善的结果维度、修改范围与可能的非局部风险。只有这样才能把结果归因到明确的干预,而不是一次无法解释的大型重写。
4D 结果向量
| 维度 | 含义 | 当前状态 |
|---|---|---|
| Q1 Correctness | 任务是否完成、验证器是否通过 | 已正式测量 |
| Q2 Reliability | 同一任务能否在多次 fresh repeat 中稳定通过 | 当前主要晋升硬门 |
| Q3 Efficiency | Token、调用次数、延迟与单位成功成本 | 已记录,方差控制不足 |
| Q4 Human Utility | 可读性、维护性、专家效用与信任 | 尚未测量 |
Q2 的优先级高于 Q3:如果候选损失了可靠任务,不能因为平均 token 更少而晋升。
失败也进档案
被拒绝的候选不会删掉,而是记录进冲突矩阵:它想改善什么、实际改善了什么、损害了什么、是否出现任务交换、是否属于假阳性、为什么不能晋升。项目保存的不只是成功历史,还有失败机制。
可以怎么参与
不需要同时具备全部能力,六个角色任选其一即可开始。
展开:六个参与角色分别做什么、适合谁
| 角色 | 主要工作 | 适合的人 |
|---|---|---|
| 目标与样本贡献者 | 寻找适合研究的 Skill / MCP / CLI / Agent Preset,检查许可证,固定来源 commit,分析结构,提取可编辑表面,判断是否存在 prior-resistant 内容 | 开源维护者、Agent Skill 与 MCP 开发者、某一垂直领域的工程师 |
| Fixture 与 verifier 设计者 | 设计 broken fixture、参考实现与确定性 verifier,划分 held-in / held-out,检查任务文本是否泄漏修复方法 | 熟悉测试、Shell 与确定性验证的人 |
| 实验运行与基础设施 | 维护 Node.js runner、对接模型 API、管理重复与随机种子、隔离工作区、审计 shell 与文件访问、汇总 token 与延迟 | Node.js 工程师、Agent Runtime 开发者、CI / Sandbox / 可复现环境工程师 |
| Harness 候选研究者 | 分析失败 trace、聚类失败签名、判断承重规则、提出单表面候选、编写 candidate manifest、预测 Q1/Q2/Q3 变化 | Prompt 与 Harness 工程师、LLM Agent 研究者、技术文档与 Schema 设计者 |
| 数据分析与研究方法 | 分析尝试间方差、设计 paired experiment、估计最小可检测效应、研究先验距离与 Harness 效应的关系、审核 claim 等级 | 实验设计研究者、统计分析人员、实证软件工程研究者 |
| 论文与研究审计 | 审核主张是否超出证据、检查 protocol 是否先于实验、核对 registry 与论文数字是否一致、检查失败实验是否完整披露 | 方法论与技术阅读能力强的人,不必运行模型 |
现在最缺的是第二类和第五类。Fixture 设计直接决定实验有效性——错误的 fixture 会制造假天花板、假地板、checker 反馈陷阱与 held-out 泄漏。而 Q3 效率研究目前卡在方差控制上,需要更高重复次数、paired comparison、固定任务顺序与最小可检测效应设计。
展开:参与前提 — 最低前置知识、实验方法基础、环境与资源
参与前提
最低前置知识
模型与 Agent 基础:System / User Prompt 与 Context、Tool Calling、Agent Loop、Model Prior、Hallucination、Context Window、fresh repeat 与非确定性。
工具侧 Harness 基础:Skill 的 description 与正文、MCP 的 Tool / Resource / Prompt、JSON Schema、CLI 参数与工作流、渐进式加载与 L0/L1/L2 信息层级。
软件工程基础:Git 与 commit、Shell、JSON / YAML、Node.js、文件系统与工作目录、自动化测试、exit code。
实验方法前置
参与正式实验设计前,建议理解 baseline、control group、ablation、held-in / held-out、preregistration、data leakage、ceiling effect、floor effect、replication、confounding variable、variance,以及 task-level 与 attempt-level 统计单位的区别。不要求一开始就掌握复杂统计学,但必须理解一句话:
一次成功不是稳定能力,平均通过率上升也不一定表示可靠任务增加。
环境与资源
正式运行实验通常需要 macOS 或 Linux、Node.js、Git、Bash 兼容 Shell、至少一个 OpenAI 兼容的模型端点与凭证、可运行的目标工具、明确允许研究与修改的开源许可证、足够的模型调用预算,以及保存 trace 与结果的磁盘空间(历史 runs 已达数百 MB,需要考虑归档与 trace 压缩)。
展开:研究纪律 — 先注册后实验、不许 held-out 泄漏、负结果必须保留等五条
研究纪律
- 先注册,后实验。在看到结果前冻结目标、类别、任务、verifier、候选、重复次数、晋升标准与预期方向。不能根据结果临时调整标准,然后仍称为预注册实验。
- 不允许 held-out 泄漏。参与者与候选提出者不得读取 held-out 的解法、参考实现、grader、隐藏期望值或已有的失败 trace。隔离由 runner 强制执行。
- 不允许用平均分掩盖任务交换。修好任务 A 却损失任务 B、总通过数不变,这不算可靠能力提升。必须分别列出新增与损失的可靠任务。
- 负结果必须保留。候选被拒、效率未复制、跨仓复制失败、verifier 有错、runner 出现泄漏、目标因天花板终止——全部视为机制证据,不是需要隐藏的失败。
- 不得把随机种子标签当作实验日期。记录日期是 recorded_at,seed 只用于确定性排序与重复。
怎么开始
新参与者建议先从这几件事里选一件,而不是一上来就跑完整的 Self-Harness 进化流程:审核一个 fixture、为一个目标编写结构特征、运行一次先验距离 probe、检查一份结果摘要、审核论文主张与证据地图的对应关系、或者提出一个只改单一表面的候选。
研究框架文档、实验协议与仓库访问会在联系后提供。