当前位置: 首页 > news >正文

记一次 OpenClaw Token 费用优化:从日均 50 美元到 12 美元的技术拆解

背景

用 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 机制自动将高频短期记忆提升为长期记忆,但不会主动清理过期内容

操作:

  1. 归档两周前的发布记录
  2. 删除失效/过期条目
  3. 合并散落在多处的同类信息

MEMORY.md 从 20KB 压缩到 12KB,每次检索省 2000 Token。

Amazon Bedrock AgentCore Memory 的设计提供了参考模式:分层记忆架构(短期+长期)、多种内置策略(语义/摘要/偏好/情景)、命名空间隔离和跨会话共享。核心思路是按需加载上下文预算管理

优化三:会话历史压缩

50 轮对话的完整历史每次调用都随行。其中大量是已完成任务的过程细节,对当前任务没有参考价值。

操作:

  • 复杂任务完成后开新会话
  • 不同类型任务分会话执行
  • 使用 compact 功能将旧消息压缩为摘要

会话历史平均从 8000 降到 3000 Token。

可观测性

Token 优化需要数据支撑。当前 OpenClaw 通过 /status 提供单次调用级别的 Token 可见性。结合 CloudWatch Bedrock 指标(InputTokenCount / OutputTokenCount)可做时序分析。

更深层的分析需要覆盖三个层级:

  1. 模型调用层:usage 数据(已有)
  2. Agent 执行层:任务级链路追踪(AgentCore Observability 可补足)
  3. 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

http://www.jsqmd.com/news/723723/

相关文章:

  • CBCX平台:多市场接入与跨境交易适配
  • Keithley 2600B系列SMU仪器:高精度电子测试解决方案
  • 用Typer从零搭一个AI命令行工具:我踩过的6个坑
  • 你的数字足迹守护者:为每个应用打造专属位置身份
  • 如何使用 RS® ZNL 设置并执行网络分析仪测量
  • 全网最详细的postman接口测试教程,一篇文章满足你
  • RTX 30/40系显卡实测:用OpenCV CUDA加速图像处理,效率提升多少?
  • 3步解决视频卡顿问题:Flowframes AI插帧实战指南
  • 2026大批量礼盒定制技术干货:从合规到成本的全链路管控 - 优质品牌商家
  • 同态加密密文乘法优化与硬件架构设计
  • vector 核心接口和模拟实现
  • Windows 系统上手动安装 Ubuntu 22.04 到 WSL
  • Python定时任务框架横评:APScheduler vs Celery vs Dramatiq
  • Flutter物流应用的版本控制与依赖管理
  • c++14概述
  • 打造纯净供应链:Ledger官方授权杜绝一切中间风险环节
  • 使用 20 年后告别!Emacs 替代工具开发完成,新工具优势大
  • LLaMA-Factory结合DPO实现偏好对齐(RLHF简化方案)-方案选型对比
  • Fortran数组运算与循环优化实操案例详解
  • 从Django REST framework看NotImplementedError:打造更健壮的API视图与序列化器
  • 模型推理速度翻倍?深入浅出聊聊YOLO里的‘RepConv’重参数化黑科技
  • AI驱动知识管理市场爆发:2026年企业数字化转型的“必答题“
  • 2026金三银四,Java竞争依旧激烈!
  • 2026年Redis入门保姆级教程:从缓存到消息队列,搞懂互联网快如闪电的秘密
  • CentOS/Openeuler主机中,为一个网卡设置多个IP地址
  • SAP采购订单消息输出配置避坑指南:从NACE到OMQN,手把手解决ME23N状态不变绿问题
  • A-index框架:突破深度伪造检测的对抗鲁棒性挑战
  • “钱去哪了?”被董事会问住之后:一家中型制造厂的ERP上线实录
  • 【无标题】重磅!沉寂15个月,DeepSeek-V4预览版发布,开源大模型迎全新突破
  • GitHub Copilot 6 月 1 日起转向基于使用量计费,能否解决成本难题?