1. 查看会话统计

187 字

现在请你帮我查询和解答一个问题,以及 Openclaw 的 TOKEN TOKEN 消耗呃比重问题。

我们知道在 Openclaw 实现功能的过程中,会存在一个调用大模型API的过程,那么这个过程 TOKEN 消耗占比呃是多少?

另外在使用相应的skills 性能的部分,那么这一部分是否会啊,产生啊 TOKEN的消耗,占比是多少?

第三部分在调用相关的配置文件,啊,以及生成相应的本地存储文档过程中,是否会产生TOKEN的消耗?他们的占比是多少?

请分别就 Openclaw 为了实现功能,TOKEN消耗的组成。以及各自的占比‘’

关于OpenClaw的token消耗构成,这是一个很好的技术问题。token成本确实分布在多个环节,我结合架构原理和实际观察为你分析如下。
📊 总体token流向
用户消息 → [系统提示 + 工具定义 + 历史上下文] → 大模型API → 模型响应 → 工具执行 → 结果返回 → 下一轮
一、大模型API调用(核心消耗)
占比:约 60-80%

这是最主要的token消耗环节,发生在每次与模型交互时:
1. 输入token(通常占大头)
系统提示词:固定的身份定义、行为准则、工具说明(约 2-5k tokens)
工具定义:所有可用工具的JSON Schema描述(约 3-8k tokens,随工具数量增加)
会话历史:最近N轮对话的完整记录(可变,通常保留5-10轮)
当前用户消息:你的提问文本
文件/上下文注入:当读取文件或包含项目上下文时,内容会附加到提示中
2. 输出token(相对较少)
模型思考过程(如果开启reasoning模式)
最终回复文本
工具调用指令(当模型决定使用工具时)
示例:你刚才的党建分析请求,我的token使用是:
输入:约 35k tokens
输出:约 1.7k tokens
输入占比约 95%,输出占 5%(这是单次查询的典型比例)
二、Skills技能调用
占比:约 10-25%

Skills的token消耗是间接的:
1. 技能描述注入
当任务匹配某个技能时,OpenClaw会读取SKILL.md文件内容并注入到系统提示中
每个技能文件约 1-3k tokens(取决于复杂度)
只有被激活的技能才会产生这部分消耗
2. 技能执行过程中的模型交互
技能可能触发额外的模型调用(如搜索、分析、总结)
例如:web_search技能执行后,搜索结果会作为上下文返回给模型进行分析
3. 技能工具定义
每个技能注册的工具也会添加到全局工具定义中
这部分是一次性加载,在会话初始化时计入系统提示
三、配置文件与本地存储
占比:约 5-15%
1. 配置文件读取
SOUL.md、USER.md、IDENTITY.md等文件在会话启动时读取
这些内容成为永久上下文的一部分,每次请求都会包含
约 2-4k tokens(取决于文件大小)
2. 内存文件(MEMORY.md等)
通过memory_search搜索到的片段会注入上下文
只有匹配的片段会被包含,不是整个文件
通常每次搜索返回3-5个片段,约 0.5-2k tokens
3. 工作空间文件
当使用read工具读取文件时,文件内容会作为工具结果返回给模型
如果模型需要分析文件内容,这些内容会保留在上下文中
只有被显式读取且模型引用的文件才会产生持续消耗
四、token消耗构成总结
基于典型工作流(中等复杂度任务):
环节
占比
说明
1. 模型API调用
70%
输入(65%) + 输出(5%)
系统提示与工具定义
25%
固定开销,每个会话一次
会话历史
20%
随对话轮数累积
当前查询与上下文
20%
用户消息+注入内容
模型响应
5%
文本回复+工具调用
1/3

五、影响因素与优化建议
📈 增加token消耗的因素
长对话历史:不清理历史,token会线性增长
大量工具注册:每个工具的定义都占用token
频繁文件操作:大文件内容进入上下文
复杂技能链:多个技能串联增加中间交互
📉 降低token消耗的方法
使用--light-context:cron任务可启用轻量上下文
定期清理历史:长时间会话可主动重置
精准文件读取:用offset/limit只读取所需部分
技能优化:保持技能描述简洁
模型选择:有些模型上下文窗口更经济
六、实际测量建议
如果你想精确测量某个任务的token构成:

1. 查看会话统计

openclaw session_status

2. 使用cron任务测试(可控制变量)

openclaw cron add --name "token-test" --every 10m --message "简单测试" --light-context --no-deliver

3. 对比不同配置下的token使用

七、关键结论
token主要在输入侧:系统提示、工具定义、历史上下文占了大头
技能本身不直接消耗token:只有被激活且描述被注入时才产生消耗
文件操作是"按需付费":只有进入模型上下文的内容才会计入token
固定开销可观:每个会话约有8-15k tokens的固定成本(系统提示+工具+配置)
对你工作流的启示:
定期任务(如每日物流报告)使用--light-context可节省20-30% token
复杂分析任务可拆分为多个会话,避免历史累积
大型文件处理时,先提取摘要再让模型分析
OpenClaw的token经济本质上是 "上下文管理成本" —— 你给模型的信息越多,它越了解情况,但代价越高。找到平衡点是关键。