关于 cost-counterfactual
cost-counterfactual 是一项成本分析技能,通过会话记录将模型路由的实际支出与假设基线进行比较。它帮助团队评估路由节省,并发现路由设置是否导致不必要的模型升级。
主要功能
- 01与模型基线比较支出
- 02按时间范围筛选会话
- 03计算节省金额与比例
- 04汇总各基线结果
- 05以 JSON 输出结果
适用场景
- 01审查季度路由节省情况
- 02在 CI 中设置节省门槛
- 03验证路由配置变更
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ ruvnet/ ruflo --skill cost-counterfactual安装后在 Claude Code 中输入/cost-counterfactual确认已加载。
详细介绍
多基线反事实成本分析。与现有的可观测性功能相辅相成:
cost-budget-check— “我们是否已超过阈值?”(响应式)cost-projection— “我们何时会超过阈值?”(预测式)cost-counterfactual— “路由是否物有所值?”(比较式)← 本项
算法
- 从
cost-tracking命名空间读取所有session-*记录。 - 应用
--since时间窗口筛选(默认:全部时间)。 - 对每个会话的
byModel[*]条目中的 token 求和。 - 对每个指定基线(默认:全部三个):
counterfactualUsd = (input × tier.input + output × tier.output + cache_write × tier.cache_write + cache_read × tier.cache_read) / 1M
- 计算
savings = counterfactualUsd − actualUsd。 - 输出每个基线的总额,以及比较集中的节省百分比。
冒烟测试记录(2 个会话:50K haiku token + 50K sonnet token)
| Sessions considered | 2 |
| Total input tokens | 100,000 |
| Actual spend | $0.162500 |
| Baseline | Hypothetical | Actual | Savings | % |
| `always-haiku` | $0.025000 | $0.162500 | -$0.137500 | -550.00% |
| `always-sonnet` | $0.300000 | $0.162500 | +$0.137500 | 45.83% |
| `always-opus` | $1.500000 | $0.162500 | +$1.337500 | 89.17% |
如何解读负节省额
always-haiku 结果为负,意味着路由器为任务选择了比 haiku 更贵的模型,而这些任务本可由 haiku 处理。这是过度升级的信号:
- 可能是 qualityBar 设置过高
- 也可能是 sonnet/opus 会话确有复杂度需求,但基线并不了解这一点
- 运行
cost optimize(或通过cost conversation检查具体会话)以进一步排查
正节省额表示路由器相对于该基线节省的成本。最有参考价值的数字通常是 always-sonnet——如果没有路由,大多数团队都会选择它作为标准的“安全默认”基线。
何时使用
- 季度成本审查:“与始终使用 Sonnet 相比,我们节省了 $X——证据如下。”
- CI 门禁:
cost counterfactual --format json | jq '.baselines[1].savingsPct > 30'— 如果路由相对于 sonnet 基线未节省 ≥30%,则构建失败(工作负载变化检测器)。 - 路由配置验证:引入新的 qualityBar 或成本上限时,重新运行 counterfactual,以确认节省额没有下降。
平稳性注意事项
与所有反事实分析一样,这一分析假设:对于相同复杂度的相同 token,基线模型会产生相同结果。这是一个上限——基线模型可能会失败并需要重试,而计算并未涵盖这一点。请将这些数字视为不考虑质量的上限。
评论
支持 Markdown