💰 Model Catalog & Tiered Pricing 详解
OpenClaw v2026.4.20 成本优化 生产必备 分层定价
🤔 什么是 Model Catalog & Tiered Pricing?
Model Catalog(模型目录)是OpenClaw v2026.4.20引入的一个分层定价模型缓存目录。它不只告诉你"有哪些模型",还告诉你"每个模型花多少钱"——精确到每个token。
Tiered Pricing(分层定价)则是这套系统的核心机制:它把推理分成"标准推理"和"高级推理"两个层级,每个层级有不同的定价。就像打车软件的"快车"和"专车"——都是把你送到目的地,但体验和价格不一样。
这事儿最骚的地方在于:它支持Moonshot Kimi K2.6和OpenAI GPT-5的捆绑定价。什么意思?就是你可以用Kimi处理中文,用GPT-5处理英文,系统自动帮你算总账,比你自己拿计算器按还准。
🧠 分层定价机制原理
OpenClaw的分层定价不是拍脑袋定的,它基于一个朴素的逻辑:不是所有推理都需要"高级推理"。
| 推理层级 | 适用场景 | 典型模型 | 价格系数 |
|---|---|---|---|
| 标准推理 (Standard) | 简单问答、格式化、摘要 | GPT-4o-mini, Kimi K2.6 Lite | 1x(基准价) |
| 高级推理 (Premium) | 复杂推理、代码生成、多步规划 | GPT-5, Kimi K2.6 Pro, o3 | 3-5x(基准价) |
系统会根据任务的复杂度自动判断该用哪个层级。你不用手动指定——当然你也可以强制指定,就像你可以强制叫专车去楼下便利店,只是钱包会骂你。
🎯 Moonshot Kimi K2.6 + OpenAI GPT-5 捆绑定价
这是OpenClaw v2026.4.20最骚的操作:跨提供商的捆绑定价。
传统做法是:用Kimi就只算Kimi的钱,用GPT就只算GPT的钱。但OpenClaw的Model Catalog把多个提供商的模型统一管理,支持"混合计费":
- 中文任务自动路由到Kimi K2.6(便宜且效果好)
- 英文/代码任务自动路由到GPT-5(强但贵)
- 系统自动计算加权平均成本,给你一个统一的账单
这就像你同时办了Kimi会员和GPT会员,但有一个智能管家帮你决定每次用哪个,最后给你一张合并账单。省心。
🔄 自动提供商故障切换
Model Catalog的另一个杀手锏:自动故障切换(Auto Failover)。
假设你的主力模型是GPT-5,突然OpenAI API挂了(这事发生过,2026年3月那次宕机持续了47分钟)。传统做法:你的服务也跟着挂。
有了Model Catalog:系统自动切换到备用模型(比如Kimi K2.6),用户甚至感知不到。而且——重点来了——切换后的成本差异会自动记录,不会让你月底对账时对不上。
🤖 OpenClaw 实战应用
1. 模型目录 YAML 配置示例
# model-catalog.yaml - OpenClaw Model Catalog 配置
# 定义所有可用模型及其定价层级
models:
# 标准推理层 - 便宜快
- id: "gpt-4o-mini"
provider: "openai"
tier: "standard"
pricing:
input_per_1k_tokens: 0.00015 # $0.15/1M tokens
output_per_1k_tokens: 0.0006 # $0.60/1M tokens
context_window: 128000
capabilities: ["text", "vision"]
- id: "kimi-k2.6-lite"
provider: "moonshot"
tier: "standard"
pricing:
input_per_1k_tokens: 0.00012 # 比GPT-4o-mini还便宜
output_per_1k_tokens: 0.0005
context_window: 256000
capabilities: ["text", "long-context"]
preferred_for: ["chinese", "long-docs"]
# 高级推理层 - 贵但强
- id: "gpt-5"
provider: "openai"
tier: "premium"
pricing:
input_per_1k_tokens: 0.0015 # 10x 标准层
output_per_1k_tokens: 0.006
context_window: 512000
capabilities: ["text", "vision", "reasoning"]
thinking_modes: ["low", "medium", "high"]
- id: "kimi-k2.6-pro"
provider: "moonshot"
tier: "premium"
pricing:
input_per_1k_tokens: 0.0012
output_per_1k_tokens: 0.005
context_window: 1000000 # 1M context!
capabilities: ["text", "long-context", "reasoning"]
# 路由规则 - 自动选择模型
routing:
default_tier: "standard" # 默认用标准层
auto_upgrade: true # 复杂任务自动升级到高级层
rules:
- if: "language == 'zh' && complexity < 0.7"
use: "kimi-k2.6-lite" # 中文简单任务用Kimi
- if: "language == 'zh' && complexity >= 0.7"
use: "kimi-k2.6-pro" # 中文复杂任务用Kimi Pro
- if: "task == 'code' || language == 'en'"
use: "gpt-5" # 代码/英文用GPT-5
- if: "context_length > 200000"
use: "kimi-k2.6-pro" # 超长文本用Kimi(1M context)
# 故障切换配置
failover:
enabled: true
strategy: "price-aware" # 优先切换到同价位模型
fallback_order:
- provider: "moonshot"
models: ["kimi-k2.6-pro", "kimi-k2.6-lite"]
- provider: "openai"
models: ["gpt-5", "gpt-4o-mini"]
2. 成本估算代码示例
// OpenClaw Model Catalog - 成本估算示例
// 使用 catalog.estimateCost() 预测请求成本
// 1. 估算单次请求成本
const estimateRequestCost = async (task) => {
// 获取模型目录
const catalog = await gateway(action="catalog.get");
// 分析任务特征
const analysis = {
language: detectLanguage(task.input),
complexity: await estimateComplexity(task.input),
estimated_tokens: {
input: countTokens(task.input),
output: estimateOutputLength(task.type) // 根据任务类型估算输出长度
}
};
// 让Model Catalog推荐模型并估算成本
const recommendation = await gateway(action="catalog.recommend", {
task: analysis,
budget: "standard" // 可选: "standard" | "premium" | "unlimited"
});
console.log(`推荐模型: ${recommendation.model}`);
console.log(`预估成本: $${recommendation.estimated_cost}`);
console.log(`成本分解:`, recommendation.cost_breakdown);
return recommendation;
};
// 2. 批量成本预测 - 用于预算规划
const estimateMonthlyCost = async (dailyRequests) => {
const catalog = await gateway(action="catalog.get");
const predictions = [];
for (const req of dailyRequests) {
const cost = await catalog.estimate({
model: req.preferred_model,
input_tokens: req.avg_input_tokens,
output_tokens: req.avg_output_tokens,
tier: req.tier
});
predictions.push(cost);
}
const monthlyTotal = predictions.reduce((a, b) => a + b) * 30;
console.log(`月预估成本: $${monthlyTotal.toFixed(2)}`);
console.log(`日均成本: $${(monthlyTotal / 30).toFixed(2)}`);
return monthlyTotal;
};
// 3. 实时成本追踪
const trackRealTimeCost = (session) => {
session.on('token_usage', (usage) => {
const cost = catalog.calculateCost({
model: usage.model,
input_tokens: usage.input_tokens,
output_tokens: usage.output_tokens
});
console.log(`[成本] 本次请求: $${cost.total.toFixed(4)}`);
console.log(`[累计] 会话总花费: $${session.total_cost.toFixed(2)}`);
// 超预算告警
if (session.total_cost > session.budget) {
console.warn(`⚠️ 会话已超预算! $${session.total_cost} > $${session.budget}`);
}
});
};
3. 自动故障切换配置
# OpenClaw Gateway 配置 - 自动故障切换
# 当主模型不可用时,自动切换到备用模型
gateway(action="config.patch", raw=JSON.stringify({
model_catalog: {
failover: {
enabled: true,
health_check_interval: 30000, // 每30秒检查一次模型健康状态
timeout_ms: 5000, // 5秒超时视为故障
// 故障切换策略
strategy: "tier-preserving", // 优先切换到同层级模型
// 主备模型映射
mappings: {
"gpt-5": {
primary: "openai/gpt-5",
fallbacks: [
"moonshot/kimi-k2.6-pro", // 同层级,不同提供商
"openai/gpt-4o", // 降级到标准层
"moonshot/kimi-k2.6-lite"
]
},
"kimi-k2.6-pro": {
primary: "moonshot/kimi-k2.6-pro",
fallbacks: [
"openai/gpt-5",
"openai/gpt-4o",
"moonshot/kimi-k2.6-lite"
]
}
},
// 成本保护:切换后价格差异超过此比例会告警
cost_difference_threshold: 0.5 // 50%
}
}
}))
# 查看故障切换历史
gateway(action="catalog.failover.history", {
since: "2026-05-01",
limit: 50
})
# 手动测试故障切换
gateway(action="catalog.failover.test", {
model: "gpt-5",
simulate_failure: true // 模拟主模型故障
})
💸 生产环境中控制AI成本
📊 成本控制的三个层次
1. 事前控制(预算规划):用Model Catalog的estimateCost提前预测,设定每个session/agent的预算上限。就像出门前先看钱包,别等刷爆卡了才后悔。
2. 事中控制(实时路由):让系统根据任务复杂度自动选择模型层级。简单任务别上GPT-5,就像去楼下买瓶水别开法拉利。
3. 事后分析(成本归因):用catalog.getUsageReport()分析哪个agent、哪个任务类型花钱最多。找到"成本黑洞"并优化它。
成本优化实战技巧
| 优化手段 | 实现方式 | 预计节省 |
|---|---|---|
| 标准层优先 | 默认用standard tier,复杂任务才升级 | 40-60% |
| 中文任务用Kimi | 利用Kimi K2.6的价格优势 | 20-30% |
| 长文本用Kimi | Kimi 1M context比GPT-5便宜且能装更多 | 15-25% |
| 缓存重复请求 | 对相同输入使用缓存,避免重复推理 | 30-50% |
| 批量请求合并 | 将多个小请求合并为batch,降低overhead | 10-20% |
⚠️ 最佳实践与踩坑提醒
根据2026年AI运营调查报告,73%的团队表示"AI成本失控"是他们最大的痛点。以下是我们踩过的坑:
🕳️ 踩坑实录
- 坑1:忘了设预算上限 - 一个递归调用的agent在半夜跑了一整晚,第二天醒来账单多了$347。教训:每个session都要设budget。
- 坑2:以为"高级推理"总是更好 - 用GPT-5去处理"今天天气怎么样",就像用手术刀切西瓜。教训:让Model Catalog自动选择层级。
- 坑3:忽略了故障切换的成本差异 - 主模型挂了自动切换到更贵的备用模型,月底发现成本超了50%。教训:配置cost_difference_threshold告警。
- 坑4:Kimi和GPT的token计算方式不同 - 中文在Kimi上算1个token,在GPT上可能算2-3个。教训:用Model Catalog统一估算,别自己算。
- 坑5:context window浪费 - 用512K context的模型处理500字的任务。教训:根据输入长度选择模型,别无脑上最大的。
✅ 最佳实践清单
- ✅ 为每个agent/session设置合理的budget上限
- ✅ 利用Kimi K2.6处理中文和长文本任务(便宜且效果好)
- ✅ 启用auto_upgrade,让系统判断是否需要高级推理
- ✅ 配置故障切换告警,避免成本意外飙升
- ✅ 定期运行catalog.getUsageReport()分析成本分布
- ✅ 对高频、重复的任务使用缓存(cache_prefix/cache_suffix)
- ✅ 监控"成本异常":单个请求超过$1要告警
📊 工具对比表格
| 特性 | OpenClaw Tiered Pricing | LangChain Pricing | 手动成本追踪 |
|---|---|---|---|
| 分层定价支持 | ✅ 原生支持(standard/premium) | ⚠️ 需手动实现 | ❌ 无 |
| 多提供商统一管理 | ✅ Kimi + GPT + 其他统一目录 | ⚠️ 部分支持 | ❌ 各自为政 |
| 自动故障切换 | ✅ 内置,支持成本感知 | ❌ 无 | ❌ 需自己写 |
| 捆绑定价 | ✅ Kimi+GPT混合计费 | ❌ 无 | ❌ 无 |
| 实时成本估算 | ✅ catalog.estimateCost() | ⚠️ 需自己算 | ❌ 事后才知道 |
| 成本归因分析 | ✅ catalog.getUsageReport() | ⚠️ 基础支持 | ❌ 得自己写SQL |
| 自动模型路由 | ✅ 基于复杂度+语言+成本 | ⚠️ 需自己配置 | ❌ 无 |
| 配置复杂度 | ⭐⭐ 简单(YAML配置) | ⭐⭐⭐⭐ 复杂 | ⭐⭐⭐⭐⭐ 很复杂 |
| 维护成本 | ⭐ 低(自动更新定价) | ⭐⭐⭐ 中(需手动更新) | ⭐⭐⭐⭐⭐ 高(啥都得自己干) |
结论:如果你在用OpenClaw,Model Catalog是必选项,不是可选项。手动追踪成本就像用算盘做大数据分析——不是不行,是太累了。
🔗 相关术语
- Model Routing 详解 - 模型路由策略,与分层定价配合使用
- AI Gateway 详解 - OpenClaw Gateway架构,Model Catalog的运行基础
- Token 详解 - 理解token计费的基础概念
- Reasoning Tokens 详解 - 高级推理的token消耗机制
- OpenClaw 详解 - OpenClaw平台整体介绍
📚 延伸阅读
- OpenClaw 实战教程 - 更多生产环境配置示例
- AI 术语百科 - 更多AI术语解释
- 模型路由策略 - 与分层定价配合的路由策略