@akshay_pachaar: 不要训练模型,而要进化工具层。

X AI KOLs Following 新闻

摘要

文章讨论了 Hugging Face 的一个实验:一个自动循环仅重写冻结模型周围的代码(工具层),在不改变模型权重的情况下,将其基准分数从 0% 提升到接近 Sonnet 4.6 的水平,且成本更低。这证明许多基准测试失败源于工具层,而非模型本身。

不要训练模型,而要进化工具层。 我读了一篇 Hugging Face 的精彩博文,他们拿一个在严苛法律代理基准测试上得分为 0% 的冻结开源模型,保持其权重不变,让一个自动循环仅重写其周围的代码。 这个代码层就是工具层(harness),即运行时包装器,负责向模型提供上下文、运行工具调用以及决定何时结束运行。 当循环结束时,该系统在基准测试的主要指标上基本达到了 Sonnet 4.6 的水平,而每次任务成本大约是其 1/7。权重完全没有改变。 之所以能有如此提升,是因为模型失败的原因在于:评判者只对保存到正确位置且文件名完全符合要求的文件打分,而模型正确地完成了法律分析,但要么保存时文件名错误,要么放错了临时文件夹,要么根本就没写出来。 因此,0% 的得分从未衡量过法律推理能力——它衡量的是工具层。 手动调整这个层既慢又因模型而异,所以他们将其自动化。一个 Claude 提议者每次迭代增加一个机制,外部循环只有在明显优于当前最佳方案时才保留它,因此被接受的机制会不断累积。 这个循环的发现很大程度上揭示了代理实际失败的地方。 → 最大单一增益来自文件处理,而非智能。一个自动步骤,将交付物精确放到评判者期望的位置,其效果超过了所有提示词修改,且没有消耗额外的模型令牌。 → 代码修复跨模型迁移,而提示词手册则不能。同一工具层将同一系列的小模型提升了 14 个百分点,但调整后的提示词反而损害了另一模型系列在其本已能完成的任务上的表现。 → 工具层比任何其他因素都重要。相同模型、相同评判者、相同任务,五个不同工具层的得分在 3.5% 到 80.1% 之间。 这些改进最终会趋于平缓,剩余的失败看起来像是真正的能力差距。到了某个点,包装器会穷尽手段,模型必须承担起工作。 但教训依然成立:基准测试分数衡量的是模型及其工具层的整体表现,在工具层被修复之前,不可能知道是哪一方出了问题。 我强烈推荐阅读此文:https://huggingface.co/spaces/joelniklaus/harness-optimization… 我也曾写过一篇关于代理工具层工程的深入文章,涵盖了编排循环、工具、内存、上下文管理以及将无状态 LLM 转变为能效代理所需的一切。 该文章如下引用。
查看原文
查看缓存全文

缓存时间: 2026/07/03 08:34

不要训练模型,而是进化驱动层(Harness)。

我读到一篇来自 Hugging Face 的精彩博文,他们采用了一个冻结的开源模型——该模型在某个困难的法律智能体基准测试上得分为 0%,然后他们不动任何权重,只让一个自动化循环重写模型周围的代码。

那一层代码就是驱动层(harness),也就是运行时包装器,负责给模型提供上下文、执行它的工具调用,并决定何时结束一次运行。

当循环结束时,该系统的表现已经基本上追上了 Sonnet 4.6 在基准测试主要指标上的得分,而每次任务的成本大约降低了 7 倍。权重没有任何变化。

这种提升之所以存在,是因为模型失败的原因不在能力本身。评估器(judge)只会在正确的位置、按照精确要求的文件名保存文件时才会给分,而模型总是正确完成法律分析,然后要么用错误的名字保存,要么扔进临时文件夹,要么根本没有写文件。

所以那个 0% 从来就不是在衡量法律推理能力,而是在衡量驱动层。

手动调整那一层既慢又因模型而异,所以他们把它自动化了。一个 Claude 提议者每次迭代只增加一个机制,而外层循环只保留那些明显优于当前最优方案的机制,因此被接受的机制会不断累积。

循环发现的结果,很大程度上揭示了智能体真正失败在哪里。

→ 最大的一次提升来自文件处理,而非智能本身。一个自动步骤就能把交付物准确放到评估器期望的位置,它击败了所有对提示词(prompt)的改动,并且没有消耗额外的模型 token。

→ 代码修复可以跨模型迁移,但提示词手册不行。同样的驱动层把同一模型家族中更小的模型提升了 14 个百分点,而调整后的提示词却伤害了另一个不同模型家族在其已能完成的任务上的表现。

→ 驱动层的重要性超过其他所有因素。同样的模型、同样的评估器、同样的任务,五个不同的驱动层得分分布在 3.5% 到 80.1% 之间。

增益最终会趋于平坦,剩下的失败看起来像是真实的能力差距。到了某个点,包装器就没有花样可耍了,模型必须承担起实际工作。

但结论仍然成立:一个基准测试分数衡量的是模型和它的驱动层之和。在驱动层被固定之前,你根本不可能知道是哪一个出了问题。

我强烈推荐阅读这篇文章:https://huggingface.co/spaces/joelniklaus/harness-optimization…

我之前也写过一篇关于智能体驱动层工程的深度文章,涵盖了编排循环、工具、记忆、上下文管理,以及所有将一个无状态的 LLM 变成有能力的智能体的要素。

下面引用那篇文章的内容。


不要训练模型,而是进化驱动层——一个 Hugging Face Space,作者:joelniklaus

来源:https://huggingface.co/spaces/joelniklaus/harness-optimization 正在从 Hugging Face Docker 仓库获取元数据…

相似文章

我们需要一个工具基准排行榜

Reddit r/AI_Agents

本文主张需要一个基准排行榜,用于比较AI模型工具(例如KimiCode、OpenCode和Codex),而不仅仅是模型本身,并提出了一个代码库,用于测试模型+工具组合的成本、运行时间、token使用量和得分。

过拟合 Harness 的代价(2 分钟阅读)

TLDR AI

本文分析了 OpenAI 可能逐步缩减微调服务的影响,警告称前沿模型可能会过拟合于专有的 Harness。文章指出,尽管这一转变能提升可靠性,但也可能加剧厂商绑定,并降低第三方开发者使用模型的灵活性。