速评:2847 道题、197 万 token 的长期记忆基准,公开六天,15 个 star,0 次运行。
问题不在公不公平。在没人跑得动。
9 月 28 日,作者 woochan 在 DEV 发了篇自述,说自己尽量公平地做了个长期记忆基准,叫 Glasshouse。基准本身是发帖前六天公开的。到写帖那一刻,仓库的成绩单是 15 个 star、0 fork、0 issue、运行数 0。
这剧本,眼熟。自建基准的开局差不多都是这个构图:先把所有能作弊的口子一个一个堵上,然后发帖问大家为什么不用。
先看他堵了哪些口子,那才是这篇帖子里信息量最大的部分。2847 道题,197 万 token 的对话,10 种语言,塞了 50 张照片。不设总分,各维度分开报——理由是一套系统很可能在这个维度很强、换个维度直接废掉。事实变了、系统找不到新值的时候,回答"不知道"得分比自信地报出一个旧值更高。两条已存事实互相打架、又没有信息能裁决的时候,正确答案是指出它俩不一致。读取答案的模型和评审模型都由基准版本钉死,提交者不能自己挑,官方用的是 claude-opus-5.5。每份提交都附逐题记录,别人可以自己重算,不必信提交者报出来的数字。
每一行都在堵一条具体的作弊路径,每一行都得花真时间。作者自己说,大部分构建时间花在了这上面,而不是让分数好看。我信。这是真功夫,不是通稿。
问题也就出在这儿:上面那些设计,没有一项是降低门槛的,全部是抬高门槛的。钉死读取模型,意味着你想换个便宜的模型先跑一轮热身都不行;评审走 OpenRouter,烧的是提交者自己的 key,一轮标准运行 197 万 token,真金白银。他把公平性做到了能做的最满,顺手把"随手试一下"这个动作做没了。
然后是那个我最想记一笔的决定:他故意不给 runner。理由写得很直白——他唯一写得出客户端的系统,是自家公司卖的那套记忆系统,而那个东西不该出现在一个本该人人可赢的基准里。顺便交代一句背景,他在 Wontopos 上班,日常活儿就是给 agent 做长期记忆 API。也就是说,这个基准要评的那类东西,他自己正在造。他把自己隔离出去,这个动作我敬。但隔离的代价,是把项目最后一条能自己走的路也掐了。
这是做中立基准绕不开的坑,跟人品没关系:你要中立,就不能拿自家东西搭便车;你不搭便车,就只能指望别人替你把车推起来。而别人在推之前会算一笔账——197 万 token 一轮,推之前先看值不值得推。
值不值得,就是 build996 在评论里点破的那件事:大家 star 一个基准,多数是收藏,真正会去跑的时机是"它给出来的分数我不认同"。零提交意味着还没有任何分数可以被人不认同。没有可争议的分数,就没人跑;没人跑,就没有分数。死锁。
后面的建议都挺实在。Sina Rezaei 说核心可能是"值得测"和"真的能测"之间那道缝,建议给一条低成本的首次运行路径。作者回了一句挺要命的话:core tier 和 dry mode 其实早就有了,只是原帖里忘了提,回头补上。
看到这儿我停了一下。他肯花大篇幅解释公平性设计,又在结尾很诚恳地问:打开页面就直接关掉的人,能不能告诉他是在第几行失去兴趣的。而那个真正能让别人第一次跑起来的东西,被他忘在稿子外头了。不是藏私,是心理排序就这样——先把"我是公平的"讲清楚,至于几美分就能跑一轮,他自己都不觉得配占篇幅。能救命的没写,不能救命的写满了。
Henry 那条我也同意一半:近 200 万 token 一轮很难推销,设置摩擦一大,人就会回去用自己熟悉的做法。他举的那个材料基准的例子我没细看,但道理是这个道理——这行的注意力按分钟计费,一边是要你先掏钱、后等结果的冷灶,另一边是已经有二十号人在里面吵架的榜单,谁会被跑,不用猜。
那这项目是没救了?也不见得。但救它的动作不可能靠作者"再解释一遍公平性"完成。得有人先跑出两三个基线,其中一个故意做得非常朴素——把最后 20 万 token 直接怼进上下文。这种方案跑出来大概率不好看,可只有跑出一个难看但公开的分数,别人手里才有第一根能用来打人的棍子。基准的第一次运行从来不是评测,是抬杠。作者现在缺的,就是有人愿意来抬这一杠,而第一杠得他自己先撂出去。
上个月我还在另一篇里写过"自建基准先别急着夸公平,先看有没有人用",当时说的是别家的事,今天立场没变,但撒气的方向得换一换——这一位不是拿公平当卖点,他是真洁癖,而洁癖在这类项目里是会饿死人的。
公平不是基准的起点,是它先跑起来之后才配谈的事。 一份没人跑过的基准,再干净也只是规格说明。
立个 flag:如果到十一月中旬,Glasshouse 的运行数还是 0 或者个位数,那结论就不该落在"这个基准做得不好",而该落在"中立基准这条路的启动成本,已经高到没人愿意替它垫了"。反过来,要是他真把 lite split 补上、或者自己先发三条基线出来,我回来收这个 flag。