与传统的"一问一答"式 AI 对话不同,OpenClaw 每次处理用户指令时,需要向大模型发送的上下文内容要多得多——它包括:系统提示词、已启用的 Skills 列表、历史对话记录、记忆文件内容、工具调用结果等。一次复杂任务的 Token 消耗量可能是普通对话的几十倍甚至上百倍。有用户反馈,在 OpenClaw 失控或配置不当的情况下,数小时内可消耗数亿 Token,产生数万元账单。
因此,优化 Token 消耗不仅关乎使用成本,也是控制预算风险的必要手段。
消耗来源 | 说明 | 优化潜力 |
|---|---|---|
系统提示词(System Prompt) | 定义 Agent 人格、行为规则的提示词,通常较长 | 中(可选用精简版 Soul) |
Skills 列表 | 每个已启用的 Skill 的 SKILL.md 内容都会进入上下文 | 高(禁用不需要的 Skills) |
对话历史 | 当前会话的多轮对话记录 | 中(开启上下文压缩) |
记忆文件 | MEMORY.md 及近期日志文件内容 | 高(精简记忆、使用 QMD 模式) |
工具调用结果 | 浏览器截图、命令执行输出、文件内容等 | 高(限制工具输出长度) |
模型推理步数 | 复杂任务需要多轮"思考-调用工具-再思考"的循环 | 中(选用推理效率更高的模型) |
方法一:精简启用的 Skills 数量
Skills 是 Token 消耗的重要来源——每个 Skill 的 SKILL.md 内容都会在每次模型调用时加载到上下文中。如果安装了几十个 Skills 但日常只用到其中几个,就会造成大量无谓的 Token 消耗。
方法二:开启上下文压缩(Compaction)和记忆刷新(Memory Flush)
OpenClaw 支持在对话长度接近模型上下文窗口上限时自动进行"压缩"——将较早的对话内容概括为简短摘要,从而释放 Token 空间。同时,在压缩之前系统会自动触发"记忆刷新",将重要信息写入磁盘文件,确保关键信息不丢失。
context_window 参数控制触发压缩的阈值,避免过早或过晚压缩。方法三:使用 QMD(Quantum Memory Database)模式
如前文所述,QMD 模式通过向量化检索替代将全部记忆文件内容直接加载到上下文的方式,大幅降低记忆部分的 Token 消耗。实测数据显示,开启 QMD 后 Token 消耗可降低 90% 以上。
memory.backend: "qmd" 即可开启;方法四:选择推理效率更高的模型
不同大模型在相同任务上的 Token 消耗差异很大。一般来说:
方法五:限制工具调用的输出长度
浏览器截图、命令执行结果、大文件内容等工具输出往往会占用大量 Token。可以通过以下方式限制:
方法六:设置预算上限和告警
在配置文件中可以设置 Token 预算上限,当接近上限时 OpenClaw 会主动提醒或暂停执行新任务。同时也可以接入账单告警服务,当短时间内 Token 消耗异常激增时及时收到通知。
腾讯云 Token Plan 为用户提供了成本可控的模型调用方式,同时也配套了多种成本优化工具。Token Plan 采用固定订阅费模式,额度内调用单价显著低于按量计费,且档位越高百万 Token 单价越低,用户可以根据自己的平均消耗量选择合适的档位。可以在腾讯云控制台上为 Token Plan 设置用量告警阈值,当套餐额度消耗达到 80%、90% 时自动发送短信或站内信通知,避免因额度用尽导致服务中断或产生按量计费费用。
通过将模型调用统一经过 API 网关,可以设置 QPS(每秒请求数)上限和每日调用量上限,从基础设施层面防止 OpenClaw 因 Prompt 注入攻击或程序 Bug 导致的 Token 消耗失控。将 OpenClaw 的模型调用日志发送到腾讯云日志服务(CLS),通过日志分析找出 Token 消耗最高的任务类型和时间段,有针对性地优化配置。