【深度自测】万字长文拆解 OpenClaw 系统提示词:为什么一句 "hi" 消耗 16k Token?(附瘦身优化包)

0 阅读4分钟

前言:
你是否发现,在使用 OpenClaw 聊天时,仅仅发一句“hi”,后台的 Token 消耗就高达 15k 甚至 30k?

很多同学觉得这是 LLM 的“幻觉”或统计错误。但拒绝脑补!我通过自研工具 ModelBox,扒开了 OpenClaw 发给模型的所有底牌。今天我们就来一次“提示词瘦身手术”,看看这些 Token 到底花在哪了,以及如何优化它。

一、 拨云见日:如何获取“消失”的完整提示词?

在 OpenClaw 的日志里(.openclaw/agents/main/sessions/),你只能看到简短的指令,却看不到发给模型的完整上下文。

1. 环境准备:自研工具 ModelBox

为了“拦截”这些请求,我们需要模拟一个模型提供商。

  • 工具:  modelbox (开源项目)

  • 操作:

    1. git clone github.com/cclank/mode…
    2. 按照 Readme 安装启动,将其作为代理。
    3. 在 OpenClaw 随意发一条内容,ModelBox 就会吐出完整的 JSON 请求体。

2. 惊人的发现

实测显示:一句简单的 “hi” 占用了约 34,062 个字符,换算成 Tokens 约 16k - 20k。这意味着即使是干净的对话,系统默认也带了巨大的“沉重负担”。


二、 抽丝剥茧:系统提示词的三大板块

通过 ModelBox 的日志(modelbox.jsonl),我们可以将 OpenClaw 的 System Prompt 拆解为以下三部分:

1. 源码硬注入:工具与规则(约 4k Tokens)

这是系统的“行为指南”,包含身份定义(You are a personal assistant...)和工具清单(Tooling)。

  • 核心逻辑:  亮出当前可用的 read, write, exec, camofox_* 等工具。
  • 限制规矩:  严禁轮询(Avoid rapid poll loops)、严禁自我复制安全守则。
  • 槽点发现:  如果你安装了大量插件,这段内容会无限膨胀。

2. 项目上下文 (Project Context):八大金刚文件(约 10k-15k Tokens)

这是 OpenClaw 的灵魂,它会把工作区里的 .md 文件全部灌进去。

  • AGENTS.md:  行为宪法,规定了如何记笔记、如何防隐私外泄。
  • SOUL.md:  人格设定,决定了龙虾是“高冷”还是“黏人”。
  • MEMORY.md:  长期记忆总库。这是 Token 消耗的大头!  随着你使用时间的增加,这个文件会越来越大,直到撑爆上下文。
  • TOOLS.md/USER.md:  环境备注与用户信息。

3. 运行环境快照与消息路由(约 2k Tokens)

包括当前的时间戳、时区、模型别名表(Model Aliases)以及消息标签(Reply Tags)。


三、 深度复盘:哪些地方在浪费你的钱?

通过这次“扒皮”,我发现了两个明显的优化点:

1. 工具描述的“双写冗余”

在发送给模型的请求中,system 段落里有一份详细的工具说明(## Tooling),而在 API 请求的 body.tools[] 结构体里又有一份 JSON Schema 描述。

  • 现状:  31 个工具在一条消息里出现了两次。
  • 优化思路:  缩减 system 里的文字描述,只保留核心调用规则,依赖 body.tools[] 引导模型。

2. 模型别名表的“无差别注入”

即使你只用一个模型,OpenClaw 也会把配置里所有的别名映射(Claude, Gemini, Qwen...)全部发过去。

  • 优化思路:  定期清理 .env 或配置文件中不常用的模型别名。

3. Sub-agent(子代理)的“降级”机制

我通过测试发现,spawn 出来的子代理提示词会精简很多:

  • 去掉了技能索引(Skills)和复杂的会话编排工具。
  • 保留了核心的 AGENTS.md 和 TOOLS.md。

四、 Q&A 常见困惑

Q:开启 Compact(压缩)能减少 System Prompt 吗?
A:  不能。Compact 压缩的是对话历史(Messages),系统提示词是每轮根据模板动态构建的,依然会全量发送。要瘦身,必须改 .md 文件或源码。

Q:MEMORY.md 太大了怎么办?
A:  建议定期手动归档 MEMORY.md。将旧的内容移出,只保留当前最核心的“长期规则”。

在运行 OpenClaw 过程中,不少同学反馈遇到了卡顿或配置繁琐的问题。为了提升运行效率,我整理了一份**「OpenClaw 专属优化包」**,主要针对环境兼容性和运行流畅度做了深度调优。

优化包内容:

  1. 性能配置文件:预设最佳渲染参数。
  2. 核心补丁文件:修复了部分已知环境下的闪退问题。
  3. 一键启动脚本:简化命令行操作,即开即用。

获取方式:

(注:建议覆盖安装前先备份原始配置,祝大家体验愉快!)