Evolver savings-core一致性验证完全指南:黄金向量如何核算token节省
【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver
在 Evolver(GEP 驱动的 AI 智能体自进化引擎)中,savings-core是一套统一的 token 节省核算规范:它用"黄金向量(golden vectors)"+ 一致性测试锁死了每一笔节省额的算法。本指南带你读懂它的 8 类核算公式、25+ 条黄金向量,以及如何一键运行一致性验证。
一致性验证套件是什么?为什么需要它?
Evolver 会在进化过程中统计"省下了多少 token"——这个数字最终换算成美元节省,出现在各种报表里。为了让本地实现、上游规范、生产调用三方永远不会算出不同的数字,项目内建了三重锁:
- 实现 == 本地副本:savingsCore.js 必须逐位重放 golden-vectors.json 中的每一条黄金向量,且其常量必须等于 constants.json;
- 本地副本 == 上游:上游的每日漂移检查会比对这两个 vendored 文件;
- 生产路径 == 规范公式:E3 系列向量还会通过真实的 tokenSavings.js 包装函数重放,防止生产代码与规范脱钩。
整套验证逻辑写在 savingsCoreConformance.test.js 中,当前规范版本为spec_version 0.3.0。
黄金向量速览:8 大核算公式与核心常量
所有常量集中在 constants.json,节选如下:
| 常量 | 值 | 含义 |
|---|---|---|
usd_per_m_tokens_blended | 9.0 | 每百万 token 的混合美元单价 |
fetch_usage_tokens_est.Gene | 1500 | 命中一条 Gene 资产的估算节省 |
fetch_usage_tokens_est.Capsule | 3500 | 命中一条 Capsule 的估算节省 |
savings_basis_precedence | measured → cost_index → estimator | 核算依据的优先级:实测 > 成本索引 > 估算 |
而 golden-vectors.json 提供了25 条以上、id 唯一的黄金向量,覆盖 8 类公式:
1. measured_savings:实测节省率
最直观的一类:节省 = max(0, 原始token − 优化后token),节省率四舍五入到两位小数。
- 例:原始 489,273 token、优化后 182,943 → 节省306,330 token(62.61%)
- 边界保护:原始为 0 时结果强制为 0;优化后反超原始(1,200 > 1,000)也会被钳制为 0,杜绝"负节省"。
2. rollout_fold:重试折叠率
平均每次任务跑 1.48 个 rollout,意味着重复跑了 48% →rollout_fold_pct = 32.43(两位小数)。单次 rollout 则为 0。
3. entropy_total:熵事件节省总量
对每类事件按常量系数累加:去重隔离(12,000/次)、去重告警(3,600/次)、Hub 搜索命中(8,000/次)、搜索未命中(0)、取回复用(4,000/次)。黄金向量e1_all_event_types_default_coeffs验证:2+1+3+5+4 共 15 个事件合计节省67,600 token。
同时锁定三条防御规则:
- 调用方自带实测值
tokensEstSaved时优先于系数表(7,777 就是 7,777); - 负数强制归零(-50 → 0);
- 未知事件类型直接忽略(
mystery_event不计入)。
4. fetch_usage_estimate:资产取回节省
按资产类型计数加权:10 个 Gene + 3 个 Capsule + 7 个 EvolutionEvent = 10×1500 + 3×3500 + 7×0 =25,500 token。未知类型(如Artifact)贡献为 0。
5. hit_rate:命中率
1,531 次命中 / 1,591 次请求 =96.23%;分母为 0 时安全返回 0,不会除零崩溃。
6. usd_saved:token 换美元
按 9 美元/百万 token 换算,两位小数:67,600 token →$0.61;2,000,000 token →$18。
7. cache_saved_usd:缓存读取节省
目前支持 Anthropic(每百万缓存读取省 $2.7):100 万读取 →$2.7;123,456 读取 →$0.3333(四位小数);未知供应商(如acme)返回 0。
8. reuse_estimate:复用节省估算(最精巧的一类)
公式:min(120000 + 改动行数 × 800, 600000),其中 75 行是典型 patch 规模。黄金向量覆盖了完整的边界矩阵:
| 输入 | 结果 | basis |
|---|---|---|
| 改动行数未知(null) | 180,000 | estimated_default |
| 75 行(典型 patch) | 180,000 | estimated_blast_radius |
| 2 行(小 patch) | 121,600 | estimated_blast_radius |
| 1,000 行(病态大 patch) | 600,000(封顶) | estimated_blast_radius |
| reference 模式 | 72,000(×0.4 参考系数) | estimated_default |
| 0 行 | 回退到默认 180,000 | estimated_default |
如何运行一致性验证测试?
在项目根目录执行 Node.js 内置测试运行器(Node ≥ 18 即可):
node --test test/savingsCoreConformance.test.js全绿代表:规范版本三处声明一致、常量对象深度相等、25+ 条向量 id 无重复且全部逐位重放通过、E3 向量经生产包装函数 estimateReuseTokensSaved 重放一致。任何一条失败,都说明实现悄悄"漂移"了规范——这正是这套机制要抓的问题。
新手快速核对清单
- ✅
spec_version在常量、向量、实现三处都是0.3.0 - ✅ 向量总数 ≥ 25 且 id 全局唯一
- ✅ 负节省、未知类型、除零分母等边界全部有专属向量
- ✅ 生产路径(tokenSavings 包装)与规范公式双重重放
- ✅ 核算依据遵循
measured > cost_index > estimator的优先级
💡 一句话总结:黄金向量是 Evolver 的"对账单"——每次发版前重放一遍,就能保证你看到的每一分 token 节省,都经得起逐位审计。
【免费下载链接】evolverThe GEP-powered self-evolving engine for AI agents. Auditable evolution with Genes, Capsules, and Events. | evomap.ai项目地址: https://gitcode.com/GitHub_Trending/evolv/evolver
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考