测试显示GPT-6 Astra执行Zstd验证任务成本降至1美元且正确率超99%
来源标题:Test and verification technique effectiveness with GPT-6 Astra
GPT-6 Astra在Zstd RFC实现评测中,中等努力下仅需1美元即可在超过99%的情况下通过全部测试,而GPT-5.6 Sol此前需3.50美元且正确率仅约63%。在测试方法使用上,Astra也较Sol更有效,例如执行模糊测试时不再大量生成无效随机输入。
以下正文由 AI 翻译自 Hacker News 最新(原文版权归原站所有),可能存在偏差,重要内容请以原文为准。
在8月的那次评估中,我们观察了agent使用测试/验证技术的效果,发现当要求GPT-5.6 Sol使用TDD、QuickCheck、Lean 4等特定技术或库时,它通常只是做出各种技术的“ caricature”(表面模仿);而不指定任何特定测试方法(我们称之为Default)时,反而产生了大量无价值的单元测试——这却是表现最好的条件之一,因为要求agent按特定方式测试,大多只会让它们表现更差。在那次评估中,我们给agent提供了Zstd RFC,要求它们实现Zstd(并附有说明,要求它们在Default之外的所有条件下应如何测试)。
用GPT-6 Astra重新运行同一评估后,我们看到了两个重大差异:
关于第(1)点,我们此前看到,在使用5.6 Sol根据RFC实现Zstd时,平均而言,agent在medium effort下花费$3.50、在xhigh effort下花费$5.50,分别有约63%和77%的概率达到完整的(holdout)测试正确性。而使用Astra时,agent在medium effort下花费$1,就有超过99%的概率达到完整测试正确性。
关于第(2)点,一个例子是:当我们要求5.6 Sol进行fuzzing时,它会生成大量无价值的随机输入,这些输入大多命中相同的代码路径,测不到任何有趣的东西。而使用6 Astra时,我们看到被要求以结构化方式进行fuzzing的agent确实能覆盖代码路径并发现非平凡bug,但我们无法判断这是否提升了正确性,因为Zstd实现的基准已经饱和了。
我们还尝试给5.6 Sol提供IMAP RFC,但这对5.6 Sol来说太难了。改用6 Astra再次尝试时,我们得到如下结果分布(y轴为所有测试通过的运行百分比;agent不会拿到测试,数据点为每个条件80次运行的结果)。
Default再次看起来相当不错。有些条件带来了略好的正确性,但成本也更高。尽管IMAP RFC尚未饱和,但最好也能看到更难任务上的结果,因为我的大部分时间都花在agent大多数时候无法一次性完成的任务上。为了测试这一点,我们将尝试在比较编程语言时用过的pandoc评估。我想看到更大规模评估结果的一个原因是,正如我们在观察caveman mode时以及在使用不同语言时看到的那样,模型在更大的任务上往往表现相当不同。在caveman mode中,人们报告的大幅优势变小甚至消失了;在使用不同语言时,我们从多个方面看到了这一点,例如Zstd的C和C++实现在内存安全方面至少还算可以,而Pandoc的C和C++实现则饱受内存安全问题困扰。
Pandoc明显更难,即使运行多轮(平均约14轮)后,也没有任何条件达到100%正确性,因此我们改为观察通过的测试比例,而不是达到100%的运行比例。
为此,由于成本原因,每个条件我们只运行了25次。按MSRP计算,这花费了约$90k。
回想一下,在我们过去针对语言和测试/验证技术运行的评估中,失败往往是agent运作方式的特异性结果,例如使用Clojure的agent默认写出错误的字节转换代码,或使用Verus的agent写出空洞的证明。这类情况与人们所说的“agent应该使用某种特定语言或测试/验证技术”的理由相当不同——那些理由通常听起来很合理,以一种非常人性化的方式解释为什么某件事应该更好,但当我们观察agent实际做了什么时,这些解释似乎与现实无关。
由于我们在这里“只”运行了价值$90k的评估,我们实际上没有足够信息来解释几乎任何事情发生的原因。我们可以观察到某些条件比其他条件表现更好,但很难说这意味着什么。因此,我们不应过度解读,但我们确实看到一些似乎符合预期的现象:我们可能预期大多数被建议的测试技术和库能带来更好的泛化能力,从而在holdout与测试分数上表现更好(在可见测试与holdout测试分数的图上,结果位于Default线的左上方),而TDD带来更差的泛化能力(位于Default线的右下方)。
但是,如果测试属性确实能带来更好的泛化,而像TDD这样产生大量小测试的条件导致更不通用的结果,那么我们会预期built-in条件相对于Default也有较低的holdout:visible比率,而这并不是我们看到的。原因尚不清楚,我认为没有大量更多运行,我们无法真正确定这一点。
关于实际结果,成本对holdout和成本对visible的曲线是对所有图轨迹在多轮上的形状拟合到Default的曲线。位于线下方/右侧的可以认为更差,位于上方/左侧的可以认为更好。使用5.6 Sol时,很明显测试条件总体上没有做有用的工作,原因有多个:
在这里,我们看到许多不同技术的结果优于Default。每个条件的概念误差棒都相当宽(比图上显示的bootstrap区间所指示的还要宽),但大量条件优于Default,使得许多条件优于Default这件事是合理的,即使我们不知道具体哪些条件如此。此外,某些条件很可能确实优于其他条件,但我们没有足够数据来判断哪些条件普遍更好。当几乎所有技术在广泛多样性上都表现糟糕时,情况就简单得多。
以下是我对结果的一些疑问:
(原文较长,此处译出前 6000 字,完整内容请点「打开原文」。)
正文由 探How 从来源站点 RSS 同步,内容未经改写;遇到排版缺失或需要图片、视频时请以原文为准。