OpenClaw系统提示词瘦身实战:从39K到15K,省62%Token

本文最后更新于 2026年6月6日 晚上

一、背景

上次对工作区文件采用分层管理、按需加载之后,在 OpenClaw 系统提示词中,工作区文件的 token 占用量已经大幅下降。但用 session_status 一看,系统提示词依然 39K token——大头根本不在工作区文件身上。

拆开一看:

部分 Token 占比
🔧 工具定义(96个工具) 77%
📁 工作区文件 12%
📝 框架指令 7%
📋 技能索引(20个技能) 4%

工具定义占了 30K token。 其中 55 个来自三组 MCP(浏览器自动化 19个、文件管家 11个、待办清单 25个),平时一次都没用过。

📌 本文记录的优化过程是第一轮。后续又做了一轮命名规范化与技能合并(见文末附录)。

二、优化策略

核心思路就两条:

  1. 精简工具,追求原子化 — 只保留最少必要能力,无冗余
  2. 能走技能就不走工具 — 工具全量注入提示词,技能按需加载。同一功能优先选技能

按照效果从大到小排序,从上往下砍:

第一刀:MCP 全清(省 ~8K token)

三组 MCP 工具——浏览器自动化、文件管家、待办清单——日常完全用不上,直接清空 mcp.servers

第二刀:工具瘦身(省 ~6K token)

tools.profile: "coding" 打好基座(文件操作、命令执行、会话管理、搜索、记忆),然后用 tools.deny 精准拒绝不需要的:

web_search, web_fetch, browser, canvas, nodes,
agents_list, message, tts, image_generate, video_generate,
grep, find, ls, apply_patch, gateway, subagents

其中 grep/find/ls 可以用 exec + Shell 命令替代,gatewayopenclaw config CLI 替代,功能不丢。

我常用的 Tavily 搜索工具不在 coding profile 里,手动 alsoAllow 加回来:

tavily_search, tavily_extract

第三刀:用飞书 CLI 替代插件全部工具(净省 ~5.8K token)

飞书官方发布了 @larksuite/cli,覆盖 18 个业务域、200+ 命令、26 个 AI 友好技能。对比后发现:技能是按需加载的,不操作时不占系统提示词,而插件工具每轮都注入。

于是做了三件事:

  1. 关闭插件工具:在 channels.feishu.tools 层面把文档、云盘、知识库、群聊、权限 6 项全部禁用(省 ~3K,这部分跟 CLI 无关,本来也用不上)
  2. 移除飞书技能:禁用 @openclaw/feishu 官方插件自带的 feishu-docfeishu-drivefeishu-permfeishu-wiki 四个技能
  3. bitable 迁移到 CLI:多维表格的 7 个工具不在上述 6 项控制范围内(查源码:registerFeishuBitableTools 无条件注册),将其从 tools.alsoAllow 移除(省 ~3.1K),改用 lark-base 技能,并补了 lark-doc 以便读飞书文档(两个 CLI 技能各占 ~150 token)

算总账:工具端省了 ~6.1K,技能端新增 ~0.3K,净省 ~5.8K

至此飞书插件只保留通道(收发消息),工具和技能全部清空,多维表格操作走 CLI 的 lark-base 技能,按需加载。

工具方案(旧) 技能方案(新)
每轮固定开销 ~3.1K token ~150 token
月均总消耗* 155 万 token 17 万 token

*月均 500 轮对话、10 次多维表格操作

第四刀:技能精简(省 ~1.5K token)

剩下的技能逐个甄别,只保留实际在用的:

  • ✅ 保留:blog-deploygetnotewf-document-downloadwfdata-searchsession-logsskill-creatortavily
  • ❌ 移除:baidu-drive(连二进制 67MB 一起清)、academic-deep-researchliterature-reviewliterature-searchweread-skillstaskflow/taskflow-inbox-triagetmuxweather

📌 后续优化中将 wfdata-searchwf-document-download 合并为 wanfang(万方文献)技能,保留了原有功能但减少了技能槽位。

第五刀:Memory-Wiki 禁用(省 ~1.5K token)

Wiki 工具移除、插件禁用、~/.openclaw/wiki/ 目录删除(92KB 空壳)。

三、成果对比

优化前  ████████████████████████████████████████  39K token
        工具77%(96个) | 文件12% | 框架7% | 技能4%

优化后  ██████████████                             ~15K token (-62%)
        工具56%(17个) | 文件24% | 框架18% | 技能2%

最终 17 个工具

分类 工具 数量
文件操作 read, write, edit 3
命令执行 exec, process 2
搜索 tavily_search, tavily_extract 2
系统 cron, image 2
会话管理 sessions_list, sessions_history, sessions_send, sessions_spawn, sessions_yield, session_status 6
记忆 memory_search, memory_get 2

最终 8 个技能

blog-deploy, getnote, wanfang(万方文献,由 wf-document-download + wfdata-search 合并), session-logs, skill-creator, tavily, lark-base, lark-doc

四、方法论总结

1. 工具优化的核心认知

工具定义分两层注入系统提示词:

  • 第一层:文本工具列表(系统提示词中的 - exec: Run shell commands...
  • 第二层:JSON function calling 定义(随 API 请求发给模型的完整参数 schema)

两层联动——tools.deny 一条规则同时移除两层中的工具定义。

2. Token 消耗的真正大头

单是三组 MCP 就提供了 55 个工具,飞书插件 14 个,再加上 OpenClaw 核心 27 个,合计 96 个工具。每个工单的 JSON Schema 少则 200 token,多则 1.5K+(cronsessions_spawnexec 这类参数多的)。96 个工具 × 平均 ~310 token ≈ 30K token。

3. 几点踩坑经验

  • channels.feishu.tools 只有 6 个子属性:doc/chat/wiki/drive/perm/scopes,没有 bitable。多维表格工具不受这个配置控制,要精细控制走 tools.deny
  • tools.profile: "coding" 不包含 group:plugins,所以 Tavily 插件工具需要手动 alsoAllow
  • gateway 工具和 openclaw config CLI 互不依赖——砍掉 gateway 工具不影响 CLI 修改配置
  • subagents 可以用 sessions_list 替代,功能重叠但后者更通用
  • 技能有四个内置扫描路径:<workspace>/skills/<workspace>/.agents/skills/~/.agents/skills/~/.openclaw/skills/。这些目录下的技能全部自动加载,不依赖配置文件——删目录才能彻底去掉。插件捆绑技能(在插件自身的包里)不能直接删目录,需通过 skills.allowBundled 白名单或插件配置来控制

4. 工具 vs 技能:固定成本 vs 按需加载

这是本次优化最大的认知升级:

  • 工具(Tool)每轮都注入系统提示词,无论你用不用都得消耗
  • 技能(Skill)只是一个索引条目(~150 token),实际内容按需读取

飞书多维表格是个典型例子:7 个 bitable 工具固定占用 ~3.1K token/轮,换成 lark-base 技能后只有 ~150 token/轮的索引开销。一个月 500 轮对话、10 次多维表格操作:

工具方案 技能方案
固定开销 155 万 token 7.5 万 token
按需加载 0 9.8 万 token
月总 155 万 token 17 万 token

省了 90%。不算月度总账根本看不出来。

5. 优化要有度

框架指令部分大约 2.5K-3K token,几乎全是硬编码的核心执行逻辑和安全规则(角色定义、工具调用风格、执行偏好、消息路由等),不适合裁剪。而且工具精简后,gatewaysubagents 相关的条件注入段落已经自动消失,额外省了约 450 token。

每轮对话白赚 24K token 可用额度,响应更快、成本更低。 以后新增工具时也按这个标准:不常用的不装、能替代的不留、源头阻断优于 deny。


OpenClaw系统提示词瘦身实战:从39K到15K,省62%Token
https://pandazhi.cn/2026/06/02/openclaw-system-prompt-optimization/
作者
Thermalpdz
发布于
2026年6月2日
更新于
2026年6月6日
许可协议