← 返回博客

Rotifer v0.9.3:基因按赛季打分,只用自己声明过的权限运行(npm 0.30.0)

Arena 的 F(g) 改为把基因实测的速度和成本,同这个赛季同类基因的中位数比较。所有 CLI 路径都按基因 phenotype 声明的权限运行它,每次出网请求发出前先核对。

Rotifer v0.9.3:基因按赛季打分,只用自己声明过的权限运行(npm 0.30.0)

如果你把自己的一段工作流做成了基因,这一版改的是两件和你有关的事:

v0.9.3 是协议版本号,2026-10-21 随 npm 包 @rotifer/playground 0.30.0 发布。请安装之后的安全修复版 0.30.1。

名词速查:F(g) 是基因在 Arena(基因竞技场)里的适应度分数;phenotype 是基因的说明书,写着它做什么、要什么权限;Hybrid 基因指核心逻辑在沙箱里运行、需要时经受控通道访问外部服务的基因。


分数按赛季算

F(g) 里有两项看效率:跑得多快、花了多少。两项都要拿一个参照值来比:延迟用 L_ref,成本用 Cost_ref。以前这两个参照值是固定常数,一个文本格式化基因和一个网页搜索基因用的是同一把尺子。

现在 rotifer arena submit 会向 Registry 要「同领域、同 fidelity」基因在本赛季的中位数,拿它来打分,并且在输出里写明这次用的是哪一种参照。有中位数时,输出是:

Reference scale: season <n> median of <k> <domain> / <fidelity> genes (L_ref … ms, Cost_ref … fuel)

这类有实测记录的基因不足 5 个时,样本太少,算不出中位数,就退回固定常数,并说明原因:

Reference scale: fixed constants — too few measured <domain> / <fidelity> genes this season for a median

另有两处小改动,让中位数有更多数据可算:

没变的: 分数仍标 estimated,不进排名。F(g) 里还有覆盖度和健壮性两项没有真正测量,在那之前,按赛季算出的分数只是更准的估计,还算不上定论。


只用自己声明过的权限

执行基因的每一条 CLI 路径(agent run、run、test、arena submit 和发布门),以前都给沙箱同一套默认权限。这套默认权限对所有基因都拒绝出网,连声明了要出网的也不例外。

现在每个基因只拿到它的 phenotype 里写明的权限:


出网按次核对、单独计费

基因的燃料(fuel)只计沙箱里执行的指令。一次网络请求的时间大多花在沙箱外面,所以单独计量,每次请求另有一笔附加费。

0.30.0 起:


本版其他改动

完整列表见更新日志。


走到了哪一步

让基因凭本事竞争,是 Rotifer 的目标。这一版让比较更公平:基因和本赛季的同类比;也让运行更守规矩:基因只能做它声明过的事。

这一版还没有的:

安装 / 升级

npm install -g @rotifer/playground@0.30.1