目 录CONTENT

文章目录

OpenClaw输入Token 分析及优化

过客
2026-02-27 / 0 评论 / 0 点赞 / 2 阅读 / 0 字

前面将了OpenClaw使用qmd的坑,使用了QMD后,发现每次请求Token也有20K左右,然后让OpenClaw自检了一下,得到了一下数据

一、Token 使用分析 (当前 ~20k)

根据 session_status 和工作区文件分析,当前 token 组成如下:

1. 系统提示 (System Prompt) — 约 3-4k tokens

  • OpenClaw 核心指令集
  • 工具定义和使用规范
  • 安全协议和行为准则
  • 技能系统说明

2. 工作区文件 (Workspace Files) — 约 8-10k tokens

已加载的核心文件:

文件 大小估算
SOUL.md ~800 tokens
USER.md ~600 tokens
IDENTITY.md ~200 tokens
TOOLS.md ~400 tokens
MEMORY.md ~300 tokens
AGENTS.md ~2.5k tokens
WORKFLOW_AUTO.md ~100 tokens
运行时元数据 ~200 tokens

3. 会话历史 (Session History) — 约 6-7k tokens

  • 当前对话的往来消息
  • 之前的工具调用记录
  • 系统通知和审计信息

4. 工具定义 (Tool Schemas) — 约 1-2k tokens

  • 可用工具的参数说明
  • Feishu、browser、message 等集成的详细定义

5. QMD 记忆上下文 — 约 500-800 tokens

  • 本次会话召回的记忆片段

总计: ~20k / 33k (60% 使用率)

二、优化

1. 卸载/禁用不用的工具

卸载/禁用可以直接对话让OpenClaw自己搞定,也可以修改openclaw.json

  • tools.deny列表:添加禁用的内置工具。
  • plugins加载的工具:plugins.allow列表中删除不用的工具。

2. 优化工作区文件

  • 结构化​:使用 Key-Value 或简短列表,减少 Markdown 层级带来的 Token 浪费。
  • 像soul.md、user.md、agents.md等文件,将重复的定义合并到一个文件中。
  • 删除冗余内容。移除冗余的“废话”和“防御性指令”,如:“你必须严格遵守...”、“作为一个负责任的AI...”、“不要输出无关内容...”等长篇大轮,现代大模型(Qwen/Claude/GPT-4)对简短指令的理解力很强,不需要“哄”。

3. 定期清理会话历史

如果与上下文没多大关联的会话时,可以使用 /reset清空,虽然清空的是当前会话的往来消息,偶尔关联到了之前会话,QMD记忆召回也会把记忆添加进来。

4. 工具/技能定义优化

如果技能太多,占用的Token太多,可以精简优化一下工具/技能描述。
一般工具描述文件在/root/.openclaw/tools/工具.json
一般技能描述文件在/root/.openclaw/skills/技能名/SKILL.md

一个标准的定义包含 name, description, parameters (含 type, description, enum, examples),大部分描述是为了让人类开发者看懂的,对模型来说全是冗余噪音,所以,可以手动精简,原则是纯功能定义结构清晰参数明确仅保留必要配置提示,如:

  • 删除所有“建议性”话语​:如 "You should use...", "It is useful when..."。模型通过工具名和参数就能推断用途
  • 删除示例 (Examples) ​:除非参数极其复杂,否则不要放 examples 字段。
  • 参数描述也精简​:把 "The query string to search for, e.g., 'latest AI news'" 改为 "Search query."

注:如果工具/技能更新了,会把描述语言件更新回去。

测试结果

这一套折腾下来,输入Token又少了2~3k左右,因为我用的skill和tools少,如果用的多可以省的再多一点。

0
  1. 支付宝打赏

    qrcode alipay
  2. 微信打赏

    qrcode weixin

评论区