背景
用 OpenClaw 做了两个月内容运营自动化,上月账单发现 Token 消耗远超预期——每天 50 美元,月均 1500 刀。深入分析后发现,问题不在模型调用次数,而在每次调用的上下文过于臃肿。
本文记录优化过程中的三个关键操作和效果数据。
上下文结构分析
OpenClaw 的 Agent Runtime 每次调用模型时组装三层上下文:
第一层:系统指令(静态)
包括 AGENTS.md(核心指令)、SOUL.md(个性配置)、TOOLS.md(工具约定)以及所有已安装技能的元数据。这一层每次调用都完整携带。
测量值:6000-8000 Token,其中技能描述占 2300 Token(23 个技能 × ~100 Token)。
第二层:会话历史(累积)
当前对话的完整消息记录,默认不截断。50 轮对话后达到 5000-8000 Token。
第三层:动态注入(按需)
语义搜索的记忆片段和激活技能的完整指令。2000-4000 Token。
三层合计单次 input 15000-20000 Token。AWS 官博最近的分析文章用了一个精确的定义:Token 问题归结为推理预算(Token 花多少)、信息供给(Memory 进多少)、能力暴露(Skill 暴露多少)。
优化一:技能按需加载
OpenClaw 采用渐进式披露策略管理技能:
- Level 1(元数据):~100 Token/技能,启动加载
- Level 2(指令):激活时加载
- Level 3(资源):使用时加载
23 个技能的 Level 1 总计 2300 Token。日常高频使用的只有 5-6 个。
操作:将 15 个低频技能移到 skills-archive/ 目录。Level 1 从 2300 降到 800 Token。
更进一步的方案是引入语义检索机制——根据当前任务意图动态匹配技能,而非静态加载全部描述。Amazon Bedrock AgentCore 的 Agent Registry 已实现这种模式,支持混合搜索(语义+关键词)按需发现。
优化二:记忆文件瘦身
MEMORY.md 在两个月运营中从 5KB 膨胀到 20KB。内容包括:过期的发布记录、失效的 Cookie 路径、废弃的脚本路径、重复的平台信息。
OpenClaw 的记忆系统基于 SQLite + 向量嵌入,采用混合搜索(余弦相似度 + FTS5 BM25),支持时间衰减。Dreaming 机制自动将高频短期记忆提升为长期记忆,但不会主动清理过期内容。
操作:
- 归档两周前的发布记录
- 删除失效/过期条目
- 合并散落在多处的同类信息
MEMORY.md 从 20KB 压缩到 12KB,每次检索省 2000 Token。
Amazon Bedrock AgentCore Memory 的设计提供了参考模式:分层记忆架构(短期+长期)、多种内置策略(语义/摘要/偏好/情景)、命名空间隔离和跨会话共享。核心思路是按需加载和上下文预算管理。
优化三:会话历史压缩
50 轮对话的完整历史每次调用都随行。其中大量是已完成任务的过程细节,对当前任务没有参考价值。
操作:
- 复杂任务完成后开新会话
- 不同类型任务分会话执行
- 使用 compact 功能将旧消息压缩为摘要
会话历史平均从 8000 降到 3000 Token。
可观测性
Token 优化需要数据支撑。当前 OpenClaw 通过 /status 提供单次调用级别的 Token 可见性。结合 CloudWatch Bedrock 指标(InputTokenCount / OutputTokenCount)可做时序分析。
更深层的分析需要覆盖三个层级:
- 模型调用层:usage 数据(已有)
- Agent 执行层:任务级链路追踪(AgentCore Observability 可补足)
- Prompt 构建层:上下文组成分析(需框架内部埋点)
效果数据
| 指标 | 优化前 | 优化后 | 变化 |
|---|---|---|---|
| 单次 input Token | 15,300 | 6,800 | -55% |
| 日均总 Token 费用 | $50 | $12 | -76% |
| 技能描述占用 | 2,300 Token | 800 Token | -65% |
| 记忆检索占用 | 5,000 Token | 3,000 Token | -40% |
| 会话历史占用 | 8,000 Token | 3,000 Token | -62% |
核心结论:Token 爆炸的根因是 Harness 层缺乏对 Memory 和 Skill 的精细化管理,而非模型能力不足。Skill 按需加载、Memory 分层管理、会话及时压缩——三者配合可实现 50% 以上的 Token 节省。
参考:取之有度,用之有节-从Harness视角破解Agent应用Token爆炸难题
相关服务:Amazon Bedrock | Amazon Bedrock AgentCore
