跳到主要内容

从 LoopArena 偷一个评估技巧:测控制器,不必每次跑完整任务

abanana
abanana

· 阅读约 5 分钟

今天这篇笔记有点跨界,记的不是某个配置项,而是一篇上周刚挂到 arXiv 的论文(编号 2608.28281,名字叫 LoopArena)。我平时不太追新基准,一年到头挂出来的基准比真正能用上的多得多,但这篇让我停下来读完了,原因很具体:它测的那段东西,正好是我自己脚本里最没把握的一段——loop 的控制权。这篇想记下来的就一件事:从里面偷一个评估技巧,测控制器不必每次都跑完整任务。

先交代我的场景。我用 Claude Code 跑长任务的时候,外面套了一层自己的小脚本,干的是最普通的那几件事:每轮看一眼进度、决定下一轮让它干什么、跑几个检查、判断什么时候该停。这个流程里编码代理本身我是放心的,真正心里没底的是那个「决定」的动作。LoopArena 测的就是这个位置:它把被测的模型叫做 Controller,编码代理固定不动、叫做 Worker,Controller 每轮拿到运行的结构化摘要,然后发出下一步指令,或者决定到此为止。按我的理解画出来大概是这样:

while not done:
    summary = worker 本轮运行的结构化摘要
    decision = controller(summary)  # 下一步指令,或者 stop
    if decision == "stop":
        break
    worker.run(decision)

这个设定把变量隔得很干净:Worker 固定,分数低了没法赖执行的手,只能赖指挥的嘴。

然后是我整篇论文里唯一划了线的数字:完整任务模式下从初始状态一路跑到底,当前最好的严格成功率是 24.69%。四分之一。这个数字不是在说「AI 写代码不行」,Worker 是固定的同一个,变的只是坐在控制器位置上的模型,所以它量的是「指挥」这件事本身的水平。我的看法没充分论证,但先记下来:平时折腾 agent,注意力几乎全在换更强的 Worker 上,模型一出新的就想着换上去;但 loop 里那个「什么时候继续、什么时候停」的控制动作,才是长周期任务里更值钱、也更没被做好的位置。24.69% 是个挺冷静的提醒。

接下来是我真正想偷的部分。LoopArena 有三种评估模式,先用最粗的话过一遍:

  1. Type I:不执行 Worker,只拿验证问题去评估「下一步循环选择」对不对;
  2. Type II:挑完整任务里的一个选定片段,从那个中间状态开始,重复做控制;
  3. Type III:从任务初始状态评估完整任务。

三种模式各自在干什么,我一开始是混着的,拆开看看才理顺:Type III 最接近真实用法但最贵,Type I 最便宜但离「整条链能不能串到底」最远,Type II 卡在中间。真正让我坐直的是论文里的一组对照:Type II 和完整任务模式在核心标准下的排序相关性,Spearman 到了 0.9747,同时多个控制器评估的估计推理成本平均降了 64.4%。翻译成我自己的话:如果只是想给几个模型排个先后、看看谁适合坐控制器的位置,挑片段重复测,排序基本不会翻,成本省一大截。

这个对我日常的用处比那个 24.69% 还直接。我以前比较两个模型当控制器行不行,做法笨:各跑几个完整任务,数结果。完整任务一跑几十分钟起步,中间崩一次就得从头来,一晚上就耗掉了,最后样本还小得没法下结论。下次我打算换个顺序:先在两三个片段上重复测 → 筛掉明显不行的 → 只剩头部一两个再上完整任务。这条记下来了,下次应该用得上。不过写到这里我又犹豫了一下:如果你手上的任务本身不长,十几分钟能收尾的那种,直接跑完整任务也没什么负担,片段法是长任务上才划算的偷懒。

关于 Type I 再坦白一段。一开始我没搞懂为什么要专门设一个「不执行 Worker」的模式,看起来像图省事——反正完整任务都是要跑的。后来才想明白它拆开的是两件事:单步决策的质量,和整条链能不能串到底。单步全对,链条照样可能在某个中间状态上 drift 掉;反过来,任务最后失败了,也不代表每一步都错。完整任务的成功率把这两件事搅在一起,Type I 把其中一件单独拎出来量。理顺这个区分之后,我自己顺手试了个土办法(说清楚,这是我的土办法,不是论文里的):把以前跑过的长会话摘要截到某一步,问模型「下一步你会让它干什么」,和当时实际做的对答案,一次都不用真的执行 Worker。💡 粗糙,但比拍脑袋强,睡前能过几十轮。

几个我读的时候差点看岔的地方,顺手记一下:

  1. 0.9747 这个相关性是它自己的任务集上测出来的,换个任务分布别直接当公理用,我的计划是先在自己的一两个任务上对一下排序,一致了再放心偷懒;
  2. 那个 64.4% 是「估计推理成本」的降幅,不是墙钟时间,别拿去直接对 API 账单,我第一眼就是看岔的;
  3. 「严格成功率」里严格和宽松的口径差多少,我还没搞清楚,这里不装懂,等自己跑过一遍再回来补。

划重点:第一,控制器是被低估的位置,Worker 固定的情况下最好的严格成功率才 24.69%,这个数字比任何新模型发布都值得记一笔;第二,评估控制器不必每次跑完整任务,片段重复控制和完整任务的排序高度一致,成本降一大截,这个思路在自己搭的任何 loop 上都能用缩小版;第三,单步对不对和整链通不通是两件事,评估的时候最好分开量。论文把数据和评测代码一起放出来了,我打算这个周末先跑 Type I 那一档,成本最低。你要是也试了,回来留个言,我把踩到的坑补成下一条笔记。

abanana
abanana

把自己踩过的坑整理成一篇能复现的笔记,写给三个月前的自己看。

查看主页 →