Meta-Harness 的领域落地:代码、科学研究与芯片设计

在细分领域,让 Agent 完成一次任务已经有很多实例。更值得追踪的是:它能否从执行结果中改进后续任务使用的工具、流程、技能,甚至优化器本身?这里精读代码、计算科学、药物发现与 RTL 优化中的四项研究,再用一个明确包含外层 Harness 改写的芯片原型检验这个问题。

一个共同问题:把当前产物改好后,下一次究竟留下了什么

修复一个仓库的代码、找到一个更强的分子、让一个电路跑得更快,都可以由固定流程反复尝试完成。要形成可积累的能力,还需要另一条写回路径:修改运行程序、保留可复用技能,或更新任务模型。前一篇笔记解释了通用 Meta-Harness 方法;本篇关注这些写回在具体领域里怎样发生。

当前任务的结果

修复后的 patch、候选算法、分子结构、优化后的 RTL。

后续任务使用的方法

提交检查、搜索与选择程序、条件技能、工具配置或模型参数。

软件代码通常通过编译和测试反馈检查;计算科学常用可执行目标函数检验构造;药物发现要区分数据库实验记录、模型预测与新做的实验;芯片设计则把功能验证和实现质量分开。这些反馈的差异决定哪些经验能安全地迁移,不能只因为都有 Agent 循环就视为同一种学习。

芯片方向的必要背景

EDA 是电子设计自动化。本文的 RTL(寄存器传输级描述)主要是 Verilog:它描述时钟到来时寄存器如何更新、寄存器之间有哪些计算。综合工具把它变成逻辑门,后续布局布线再决定物理位置与连线。LLM 可以修改这几层的不同对象,本篇重点是 RTL 以及支撑 RTL 优化的执行流程。

PPA 指功耗、性能和面积,但每篇实验未必同时测三项。时序报告中的 slack 是允许时间减去实际到达时间;WNS 反映最严重的时序违例,TNS 汇总负 slack。自拟例子:路径允许 1 ns,实际 1.2 ns,slack 为 −0.2 ns;优化到 1.08 ns 后是 −0.08 ns,违例缩小,但仍未满足时序。这不能直接表述成整个芯片快了 60%。

下面四项研究分别回答:模型与 Harness 怎样协同更新;优化研究程序能否在运行时修改;科学经验怎样变成可审查技能;电路优化策略怎样跨设计复用。芯片原型另外给出直接改写 Harness 的工程实例。

1. 代码:Self-HPO 让训练后的模型继续优化自己的 Harness

Self-Evolving Coding Agents via Harness-Policy Optimization · 2026-10 预印本 · 代码、Harness 与模型入口

它发现的问题:固定 Harness 会限制下一阶段训练

一个代码 Agent 包含任务模型和执行 Harness。模型决定下一步做什么,Harness 决定看到哪些报错、命令如何执行、什么才算完成。同一个模型可能已经改对代码,却因提交格式错误而得不到成功反馈;另一方面,模型经过 RL 训练后,原 Harness 针对的失败模式也可能变了。

Self-HPO 因此交替进行两类更新。H-step 冻结当前模型,让它分析失败并修改 Harness;P-step 冻结选出的 Harness,在这个运行环境里训练模型。更新后的模型既继续解题,也成为下一轮 Harness proposer,因此并非始终由一个固定的外部强模型承担优化。

完整循环怎样运行

  1. 建立本轮开发题。第一轮随机选训练任务;后续选上一轮 RL 中所有采样都没有解决的困难任务。本轮搜索期间题目集合固定,避免边换题边比较候选。
  2. 生成并执行 Harness 候选。同一个冻结模型以 solver 和 proposer 两种角色分别调用,阅读失败轨迹、修改提示或可执行逻辑。主实验每轮尝试 6 个候选,用开发题的真实测试结果选择本轮最优 Harness;所有已评估经验可以继续指导提案。
  3. 在新 Harness 下做 RL。基于测试通过与否的二值反馈,使用 GRPO 与自适应 rollout 分组训练任务模型。新 Harness 改变实际采样路径,因此模型学到的执行经验也随之变化。
  4. 把新模型与新失败送回外层。更新后的模型负责下一轮搜索;那些仍然从未解决的题构成新的诊断对象。论文实际运行两轮,每次 P-step 为 50 次 RL 更新。

这里有两条学习通道:Harness 的代码修改会立即影响执行;模型参数更新则把新环境下的成功行为学进权重。优化器角色使用了更新后的同一个模型,但实验仍只观察有限轮次,不能由此推断优化速度会持续加速。

原文案例:代码已经改好,却没有把 patch 交出去

附录 E 比较同一个最终模型在 Sphinx 任务上的两次执行。旧 Harness 下,Agent 修改代码、运行测试通过,然后输出一段总结;评分端需要的是代码补丁,因此没有收到可评估的修改。新 Harness 在第一次提交时检查“碰过哪些文件、提交补丁包含哪些文件”,发现补丁为空,暂缓结束并把缺口返给模型。

已有工作源文件修改完成,测试通过
Harness 拦截检测提交补丁不含已修改文件
重新交付模型导出 diff、检查并提交 patch

这个例子说明提升可以发生在“能力到交付”的接口上。论文还记录了提醒误报:从 issue 里抽出的关键词可能与真正修复无关。因此检查需要结合可执行结果,不能把更长的提醒本身当作进步。附录中的两次运行使用同一模型,但不是完全相同的随机执行轨迹。

结果与迁移范围

任务模型为 Qwen3.5-35B-A3B,种子为 mini-SWE-agent,训练数据共 2,484 个任务。三套评测的平均解决率由 57.8% 提高到 64.8%;单做 RL 为 61.9%,只改 Harness 为 60.1%。在 SWE-Bench Multilingual 上由 54.2% 提高到 59.7%,该集合覆盖训练中未覆盖的非 Python 语言。

这些是代码任务族内部的跨语言、跨 benchmark 泛化证据,仍没有证明可以直接迁移到药物或芯片优化。官方实现使用 8 张 B200 进行训练与评估;完整联合训练的资源要求明显高于只搜索提示或工具封装。外部 Opus proposer 的 HPO 是另一组实验,不应与 Self-HPO 的候选混用。

2. 计算研究:Organon 在搜索过程中修改“怎样搜索”

Organon: From Evolutionary Search to Recursive Self-Improving Agents for Scientific Discovery · 2026-10 预印本 · 官方实现

它优化的两种对象

任务先给一个初始程序、一个评价函数和候选预算,例如“在单位正方形里放置 26 个圆,使半径总和最大”。内层提出构造程序,由固定 evaluator 判断可行性和目标值。Organon 的额外动作是修改父代选择、变异方式、候选存活、记忆、诊断工具和 worker 调度;这些更新会改变后续候选怎样产生。

它不是每次给模型塞进一句“请反思”。系统把进化过程的 loop、select、mutate、evaluate、survive 实现成可替换服务。Agent 通过定义、激活或撤回组件,改变下一段搜索实际调用的实现;候选种群与历史不丢失。这里可改的是内部评价流程和辅助诊断,任务的官方评分函数保持固定。

一次运行的中间机制

  1. 先运行一小段搜索。Agent 自行决定在复盘前花多少次候选尝试;这段期间组件固定。编译或执行失败也计入候选预算。
  2. 查看停滞的具体来源。例如种群只剩同一个家族、一个变异操作经常成功但用得很少、最好解无法被后续 worker 重现,或测量噪声影响排序。
  3. 修改运行组件。新增诊断函数、调整选择规则或变异配额、改变传给 worker 的上下文。激活组件后,下一段搜索调用新实现。
  4. 观察后果并允许撤回。若新机制无效,可以恢复之前的服务,同时继续保留此前获得的候选和测量记录。不存在每项修改都先通过独立留出集才激活的统一门槛。

最具体的例子:把“最好解”从程序变成可继承的数据

圆填充任务中,某些构造程序依赖时间或搜索过程,只保存代码并不保证下一次得到同一个好构型。后续 worker 以为继承了最好父代,实际却丢掉了它找到的数值解。Organon 将最好 26 个圆的位置与半径存为数值数据,并再次检查可行性,让后续程序能够从这个真实构型继续优化。

作者记录,这个修改结束了 17 次尝试的停滞,目标值从 2.6287 到 2.6353。这与单纯“再找一个圆排列”的区别在于:更新的是后续搜索的继承和记忆方式。另一个任务中,系统发现一种生存规则写反、保留了最差的候选,修正规则后继续搜索,体现它也会检查自己的优化程序。

证据支持到哪里

论文覆盖 21 个计算发现任务,包括算法、GPU kernel、数学构造和系统优化;各方法对齐最多 100 次候选生成预算。在十个 ALE-Bench Lite 任务上,作者报告相对 EvoX 的隐藏评测平均表现提高 20.5%。但相同候选数不等于相同总 token、诊断调用或计算成本。

它主要证明同一任务运行中优化机制可根据证据变化。附录明确说每题只分析一次搜索,多个修改并非逐项隔离,很多“修改之后提升”的关系仍是时间关联。它没有证明跨全新任务保留了一个越来越强的通用研究者,也没有覆盖湿实验科学。与只进化任务程序的系统相比,它更直接地开放了研究方法本身的修改。

3. 药物发现:DrugHarness 把科学证据变成有条件的行动技能

DrugHarness: An Evolvable Agent Harness for Computational Drug Discovery · 2026-10 预印本

难点不是缺少工具,而是哪些证据足以支持下一步行动

DrugHarness 提供八十余项科学操作,覆盖实验记录检索、分子处理、结构准备和计算评估。Agent 可以组合 BindingDB、RDKit、性质预测等资源。一个重要设计是保持候选、测量方法、结果和文件的关联:不同分子的结果不能串错,实验测量与模型预测也不能被混成同一类证据。

外层 learner 从任务、执行轨迹、产物和允许的结果反馈中提出条件行动假设:在可观察条件下,为了哪个目标,哪种动作应替代当前做法,有什么来源支持,还有什么未知。假设再变成候选 skill,由另一个 review agent 检查;任务模型权重不靠这一步更新。

从轨迹到下一次科学行动

  1. 比较相似决策。先对齐目标、分子对象、测量终点和证据状态。例如“候选性质合格但集合多样性不足”,适合扩展结构来源,未必适合继续微调相似分子。
  2. 写出一个有范围的动作变化。技能记录触发条件、动作、依据和限制;新版本保留完整技能集合,避免只得到无法执行的零散总结。
  3. 由独立 reviewer 查证。reviewer 可以回读来源、查接口,并在科学环境中做针对性试验;结论为 admit、reject 或 defer。来源检查和试验结果即使没有通过准入,也留作下一轮证据。
  4. 后续任务读取并检查适用性。一次任务绑定固定技能版本;执行时判断条件得到支持、被否定还是未知,再决定使用、绕开或补充证据。新结果进入下一次技能修订。

实际案例:拿到相同数据库,也可能用错证据

亲和力比较任务要求从两个分子中选出结合较弱的一个。这里的 Ki 是抑制常数,在该任务口径下数值较高对应较弱结合;它不能直接与所有 IC50 记录混比。初版技能建议优先查实验活性记录,但当页面预览没有显示分子映射时,执行者仍可能靠分子性质或构象猜测。

独立 reviewer 在两个来源任务中扫描完整 BindingDB 数据、匹配两种候选结构并找回对应 Ki。learner 据此写出修订技能:预览缺少映射时,恢复完整来源,用结构匹配将两种候选与各自的实验测量关联,再决策。后续一个未进入这次聚焦学习输入的 CXCR2 任务中,两种版本都获得含正确测量的来源;新版本扫描 1,523 条记录并正确选择 A,旧版本只读部分来源、依靠启发式,错选 B。

这里保留下来的经验是何时值得恢复原始数据,以及如何建立候选—测量对应关系。它没有把某个靶点的正确答案写进提示。另一方面,聚焦学习所用执行记录和审查结果由研究者选择,不能把整个过程描述成没有人工参与的自主科学发现。

收益、退化与湿实验要分别解释

域内回顾实验中,亲和力比较准确率从 62.2% 到 81.1%,分子优化成功率从 79.5% 到 87.2%;但虚拟筛选 Hit@3 从 60% 降至 48%,平均前三名命中数也从 0.72 降至 0.64。候选覆盖率和 JSON 合法性变好,不保证实际命中质量同步提高。

论文另有 HPK1 前瞻设计案例:一个合成化合物的细胞 IC50 为 14.19 nM,优于最佳输入参照的 37.47 nM。它支持该设计流程能够产出有实验活性的分子;这不是对“开启技能进化是否造成湿实验收益”的独立消融,且化合物结构因保密未公开。技能学习的总体实验仍是小规模、同域、回顾评估,未建立跨陌生靶点和任务族的广泛泛化。

4. 芯片设计:Dr. RTL 从并行电路修改中提取跨设计技能

Dr. RTL: Autonomous Agentic RTL Optimization through Tool-Grounded Self-Improvement · v2,2026-04

它改的是 RTL,留下的是“瓶颈模式—改写策略”

给定一份能工作的 RTL,Dr. RTL 希望改善时序并控制面积,同时保留原始微架构和流水线延迟。它不能随意增加一个周期后就声称等价。环境用 Synopsys Design Compiler 综合、Cadence Jasper 做 SEC(时序等价检查):通过形式方法检查改后电路的时序行为是否符合原设计,比只跑少量输入仿真更强。

任务层每轮产生新的 RTL;学习层则从这些修改提炼可复用策略,供其他设计使用。整体多 Agent 角色和调度框架是研究者设计的,并没有像 Organon 那样允许任意改写整个优化器。它最直接的自我改进发生在技能库。

为什么不能只给 Agent 一个“WNS 很差”的分数

同样的时序违例,可能来自算术逻辑过深、控制信号扇出过大,或很长的多路选择链。分析 Agent 因此读取具体关键路径,将起点、终点寄存器和中间逻辑映射回 RTL,提出瓶颈解释;优化 Agent 再从技能库检索对应模式,或提出新改写。评价模块只执行工具、返回数值与等价结果,不负责用自然语言宣布设计优秀。

定位关键路径报告 → RTL 区域与瓶颈
并行改写同一父设计生成 5 个候选
执行与学习综合、SEC → 选版本并提炼技能

每个候选返回 WNS、TNS、面积和 SEC 结果。先排除不等价版本,再按时序/面积的加权目标选择下一轮起点;主实验每个设计运行十轮、每轮五个候选。为区分策略质量与电路本身难度,技能学习主要比较同一父设计、相同报告和工具设置下的并行候选。

怎样把一次成功改写变成后续会用的技能

轨迹分三层保存:轮次、并行候选及其测量、具体关键路径上的模式与改动。辅助技能 Agent 结合组内相对表现,提炼“遇到哪种瓶颈,采用哪种变换”的条目。比如深解码逻辑可能对应条件预计算,高扇出控制可能对应信号复制。成功次数、SEC 通过次数和组内表现用于积累置信证据。

自拟理解例子:同一父电路下,候选 A 简化关键路径的控制逻辑,SEC 通过、WNS 从 −0.20 ns 变到 −0.12 ns;B 只是换一种语法写法,综合后无变化;C 的时序很好但 SEC 失败。值得保存的经验包括 A 的结构模式,也包括 B 可能被综合器消掉、C 破坏等价的失败条件;不能只收藏“看起来最快”的 C。

原文最终技能库有 47 条:12 条高置信、16 条中置信、6 条低置信,以及 13 条应避免策略。新电路的诊断匹配某种模式时,Agent 才取用对应策略;对不上时仍需探索。这里的组相对信号用于提炼文本技能,不等于用 GRPO 更新了底座模型。

对你最有价值的证据:未见设计上是否有效

在 20 个人工编写 RTL 设计上,作者报告相对商业综合基线,平均 WNS/TNS 违例改善 21.3%/16.9%,面积下降 5.8%。去掉技能库后,WNS/TNS 改善约为 14%/11%,SEC 通过率由 86% 降至 78%。更关键的是,技能应用采用四折验证:每折从 15 个设计提取技能,再用于 5 个未见设计,技能库和提示按折隔离。这是本次调研中较直接的跨设计复用证据。

这些结果主要来自特定库与工具约束下的 RTL/综合时序优化,不代表整颗芯片、所有工艺角、功耗和流片质量都得到同样改善。主目标没有纳入功耗;20 个设计仍属有限样本。作者报告总 LLM 用量约 50 美元,但 EDA 执行约一周,且依赖商业工具;模型 API 成本不是复现总成本。

复现时还要核对:相对优势的符号方向

原文候选目标 Score 越低越好,但式(5)写成 A=(Score−组均值)/组标准差,直接代入时正值对应比同组更差的候选。若后续把正 A 解释为更优,需要另行反向或统一分数定义。正文没有完整消除这个方向歧义;这里保留为实现核对项,不擅自把修正后的公式说成作者已实现的版本。

一个更直接的芯片 Meta-Harness 原型:失败后改工具和上下文

Christopher B. Martin:Chip Harness · 作者工程记录,2026-09 · 公开代码与运行日志入口

这个项目的证据规模小,但结构几乎正对“一个 Agent 专门优化 Harness”的设想。内层四个 Agent 改写一个 4×4 INT4 乘加阵列:先过随机自检 testbench,再做快速综合,最后通过 Yosys/OpenROAD 完成布局布线,读取最高频率。外层则在连续失败或收益停滞时,读取版本化试验历史,改写指令、可读报告、可用工具、策略权重、记忆数量和昂贵评估的触发条件。

原型中发生了什么

作者故意设置的弱种子 h1 只给概括分数、不开工具也不提供记忆。四次流水线修改都破坏行为,例如只把乘法结果延后一拍、没有同步延迟使能信号。外层诊断后生成 h2:向设计 Agent 开放 tier1_check,允许提交前自行仿真和快速综合,并提供关键路径报告。

h2 的后续设计通过检查,布局布线后的频率从 909.5 MHz 到 1,332.2 MHz,作者报告提升 46.5%。这里两层修改很清楚:内层改电路,外层改变 Agent 能读取和执行的诊断过程。随机测试通过和零设计规则违例仍不是对完整功能与流片质量的证明,也不应把 Nangate45 工具流结果当成实测硅片。

第二次运行反而更能解释优化目标

第二次运行中,种子首个设计偶然达到约 1.53 GHz。此后八个演化 Harness 的 32 个设计全部通过验证,而种子只有 8 个中的 1 个通过;但没有版本超过父代最佳频率 1% 的保留门槛,八个版本都被退役。日志还指出,演化器始终从 h1 分支,多次重新发现同一个工具修复。

所以这个 demo 证明了自诊断与配置修改可执行,却没有建立稳健的跨设计迁移,也没有证明每次改写都提高最终峰值。它提出一个具体研究问题:验收 Harness 应同时看有效候选产出率、达到质量目标的成本,以及最终性能。只看最快电路,可能丢掉更可靠、更省评估的优化流程。

这些结果怎样回答“细分领域能否进化出能力”

代码方向已经有联合优化模型与 Harness 的直接实验;科学领域开始学习有证据和适用条件的研究动作;芯片领域已有跨设计技能验证,以及明确改写 Harness 的原型。它们在优化对象与评测范围上不同,不宜合并成“自我进化已全面成立”。

Self-HPO 的持久化是模型参数和运行代码,验证集中在软件任务族;Organon 改搜索程序,主要测同一次研究中怎样突破停滞;DrugHarness 改科学技能,但总体仍是域内回顾实验,部分任务退化;Dr. RTL 对技能做了未见设计测试,仍未覆盖跨架构/工艺/工具的全面迁移。芯片原型提供了可读的失败与修改链条,不能与大规模评测等量看待。

两个相关系统为什么放在辅助位置

AlphaEvolve 是重要的计算发现与芯片设计实例:LLM 提出程序,自动 evaluator 评分,进化库为后续提案提供父代。Google 报告其 Verilog 改写删去矩阵乘法电路中不必要的位,并集成到后续 TPU 设计。但这项硬件成果主要证明被搜索的电路产物改进,不能单独证明优化 AlphaEvolve 的 Agent 越来越会设计新 Harness。

HORIZON 把 Markdown 任务说明编译成可执行项目包,再通过 git 版本、工具反馈和接受条件反复修复 RTL/验证产物。论文“100%”描述可见反馈下的多轮 benchmark 收敛,部分任务需要几十轮;它不是独立隐藏测试上的单次成功率,综合 PPA 也留待后续。它更适合帮助理解工程状态和验收如何组织,而非作为跨任务优化器学习的主要证据。

更值得研究的接口:什么时候该改动作,什么时候该改方法

下面是本文基于材料提出的研究判断。代码、科研和 EDA 的共同难点,是最终结果很容易归因给错误对象:一次电路变快可能来自好运、一次分子筛选看起来更规范却可能降低命中率、同一个 bug 修对了也可能因提交错误得零分。因此,Meta-Agent 必须检查当前产物、执行过程、评价器及可复用策略之间的连接。

芯片方向:把贵反馈用于选择真正有用的 Harness 修改

先固定任务模型、输入 RTL、延迟与等价约束,只开放诊断报告选择、前置检查、候选策略分配和记忆更新。比较固定 Harness、只复用成功轨迹、条件技能和外层代码修改;按未见设计划分,而不只在一个电路上继续搜索。主要指标为达到目标时序的综合/验证次数、SEC 通过率、面积代价和最终质量,而不是只报最佳频率。

可检验预测:前置检查和关键路径级诊断应首先降低无效候选与昂贵评估次数;若还声称形成跨设计能力,则这种收益应在新 RTL 上保留。进一步更换架构或工艺后,技能的适用条件可能失效,必须重新验证,不能只按文本相似度复用。

AI4Science 方向:学习的是证据使用方法,还是评价指标的捷径

DrugHarness 的“从预览回到完整原始数据并建立对象匹配”尤其值得研究:它让模型主动获取更可靠反馈。可以固定候选生成,比较技能是否改善证据覆盖、对象对应和实际决策;再用未参与技能开发的新靶点或新任务族检验。湿实验结果与模型预测分别计分,避免用更多合法输出替代真实科学目标。

若目标是研究方法自身的改进,Organon 提供了更直接的操作面:选择规则、实验预算、诊断工具都能修改。下一步应把这些修改逐项消融、在新问题上转移,并计算完整成本。一个新工具在同一题里有用,和研究者在另一类题上更会发现值得做的实验,仍需要不同证据。

阅读与复现优先级

从 LLM/后训练背景进入,可以先读 Self-HPO 的代码提交案例与模型—Harness 交换实验;研究跨任务反馈,重点看 DrugHarness 的独立审查和退化结果;进入芯片方向,优先读 Dr. RTL 的关键路径、等价检查及四折技能验证,再看 Chip Harness 如何将这些资源开放给外层优化器。完整联合训练和商业 EDA 复现的资源要求较高,最小实验可以从固定模型、少量 RTL 与可执行反馈开始。

证据边界与资料索引

本篇按截至 2026-11-09 可得的四篇原论文正文、算法、实验和案例核对,补读作者原型记录、官方仓库 README 及相关一手材料。四篇核心研究均按预印本材料介绍,数值是作者报告,没有独立运行模型训练、药物实验或 EDA 流程。代码入口存在和可读,不代表完整复现已经通过。

软件、算法、分子和硬件结果的任务、分母、成本与验收层级不同,不作横向分数排名。人类参与、回顾评估、单次运行、多轮可见反馈,以及缺乏的迁移实验已在各节注明。本文的例子与预测明确标为演示或研究建议,不作为论文新增结果。