🎖️ 任务奖励 — 学完你能做到
能计算自己的月度 Token 预算,并配置自动预警和限额
📖 本章目标:识别六大出血点,用五套配置把成本降到最低
6.1 六大出血点
| 出血点 | 典型影响 | 优先级 |
|---|---|---|
| 会话历史无限累积 | 单次请求 token 随时间线性增长 | 🔴 最高 |
| Thinking 模式未关闭 | Claude 的 extended thinking 可放大 token 消耗 10–50x | 🔴 最高 |
| Heartbeat 间隔过短 | 30 分钟间隔 = 每天 38 次 API call,99% 结果都是 HEARTBEAT_OK | 🔴 高 |
| 系统 Prompt 过大 | 基线约 136K tokens;SOUL.md + AGENTS.md 过大每次都注入 | 🟡 中 |
| config.schema 工具输出 | 约 396KB+ 的工具描述每次都注入 | 🟡 中 |
| Skills 装得太多 | 每个 Skill 增加工具选择推理 token | 🟡 中 |
6.2 Heartbeat 真实成本计算
📊 真实数据(GitHub Issue #23254)
配置:Heartbeat 间隔 30 分钟,每日活跃 19 小时
结果:每天 38 次 API call
每次上下文:8,000–15,000 tokens(输入)
模型:claude-opus-4-6(约 $15/M input tokens)
每日 Heartbeat 成本:约 $6.84
月成本:约 $205
其中 99% 结果:HEARTBEAT_OK(什么都没发生)
⚠️ 你在为每天 38 次「没事儿放心吧」付费。
✅ 解决方案
"heartbeat": {
"every": "1h", // 从 30m 改为 1h,成本减半
"target": "last",
"delivery": {
"directMessage": false
}
}
6.3 Cron vs Heartbeat——选择原则
| 任务类型 | 用什么 | 原因 |
|---|---|---|
| 「这封邮件重要吗?」需要 LLM 判断 | Heartbeat | 需要语义理解,LLM 推理必要 |
| 每天 9 点发日报(固定时间固定输出) | Cron | 不需要 LLM 推理,Cron 成本极低 |
| 服务器状态监控(每 5 分钟) | Cron | 高频任务绝对不要用 Heartbeat |
| 天气 / 新闻摘要 | Cron | 固定任务,廉价模型 + Cron 组合 |
💡 原则:能用 Cron 的绝不用 Heartbeat;Heartbeat 只用于需要 LLM 判断的语义任务。
6.4 省钱五配置(按优先级排序)
配置一:关闭 Thinking 模式(优先级最高)
openclaw config set agent.thinking false
Thinking 模式可放大 token 消耗 10–50x,一般任务完全不需要。
配置二:限制 contextTokens
"agent": { "contextTokens": 50000 }
防止 context 爆炸。同时养成
/new习惯——完成一个任务阶段后开启新 session。
配置三:合理配置 Heartbeat
间隔改为 1–2h
复杂检查用 Cron 替代
加上 HEARTBEAT_OK 合约
配置四:Skill 说明保持简短
每个 Skill 的 description 超过 200 字就会显著增加工具选择 token。定期禁用不用的 Skill。
配置五:小模型处理简单任务
主对话:Sonnet(质量优先)
Cron 定时任务:Haiku / 本地 Ollama(成本优先)
6.5 模型选择速查
| 模型 | 适合场景 | 成本级别 |
|---|---|---|
claude-opus-4-6 | 复杂推理、代码、重要决策 | 🔴 贵,按需用 |
claude-sonnet-4-6 | 日常对话、内容生成(推荐默认主模型) | 🟡 中等 |
claude-haiku-4-5 | 简单问答、格式化、Cron 定时任务 | 🟢 便宜 |
Ollama 本地模型 | 固定格式输出、摘要(不联网任务) | 🟢 零成本(需 GPU) |
openai/gpt-5.2 | Fallback 用途(Anthropic 限流时) | 🟡 中等 |
6.6 Session 管理省钱技巧
# 聊天中输入
/new # 开启新 session(清除当前 context),阶段性任务完成后必做
/compact # 压缩当前 session 历史(减少 token)
/context detail # 查看 token 用量明细,找出消耗大头
💡 一位用户发现每个 API call 里有 111KB 是纯粹的旧消息历史——养成
/new习惯可以直接砍掉这部分成本。
← 上一章:高级配置 | 返回目录 | 下一章:安全指南 →