Featured image of post Openclaw玩家必学的省钱小技巧

Openclaw玩家必学的省钱小技巧

另一个 AI 恐怖故事

就跟很多 AI 恐怖故事一样,只不过我没有在早上醒来时收到一张 1000 美元的账单。

上周,我突然收到 OpenAI 的邮件,说我的余额已经用完,需要充值。我当时吓了一跳,因为我的 OpenClaw 使用的是 OAuth 方式连接,按理说不应该动到我的 Credit。但由于 OpenClaw 的 Token 花费突然提高,它开始扣除我的 Credit 余额了。至于这是 OpenClaw 的 Fallback 策略导致的,还是 OpenAI 自身的 Fallback 策略导致的,我并不清楚。总之,这件事就这么发生了。

我第一时间有些慌张,直接把整个 OpenClaw 删除重装,然后又在 Discord 里新建了一份会话。这个方法虽然有效,但多少有些反应过度。今天我要教你的,是一个使用 OpenClaw 时必学、但很多人都不会的技巧。

根本原因

这个问题是这样发生的。你要知道,模型本身是没有记忆的。每一次你跟模型对话时,它都不知道你是谁,也不知道它自己是谁。你需要给模型提供上下文,告诉它它是谁、你是谁、你们之前聊过什么,以及你现在需要它做什么。除了你当前发送的这条消息之外,其他所有信息都可以统称为上下文。这个上下文通常由 Harness 负责维护。常见的 Harness 包括 OpenClaw、Hermes Agent、Claude Code 等。

不过 “Harness” 这个词有点过于专业,所以大家平时更习惯把它们统称为 Agent。

多层上下文

上下文本身也是分层的:

  • app 层:这一层记录了你是谁、这个 App 是谁。你在 ChatGPT 里问"你是谁",它会告诉你它是 ChatGPT;你在 OpenClaw 里问同样的问题,它会告诉你它是 OpenClaw。即使你的 OpenClaw 连接的是 OpenAI 的模型,回答你的其实仍然是同一个底层模型。
  • session 层:这一层是当前 Chat 的上下文。这也是为什么你在一个 Chat 里说过的话,不一定能在另一个 Chat 里被识别。但好处是可以隔离不同对话。例如你可以在一个 Chat 里让它扮演律师,在另一个 Chat 里让它扮演心理咨询师。

在 app 层,OpenClaw 会帮你注入大量上下文,包括但不限于:

  • AGENTS.md
  • SOUL.md
  • USER.md
  • MEMORY.md

上下文压缩

那么问题来了。随着 App 使用时间越来越长,以及 Chat 对话持续时间越来越久,你的上下文会变得越来越长。最终长到让费用开始暴涨。有时候 Agent 会触发上下文压缩(Context Compression)来缓解这个问题。但你很快会发现,Agent 好像变傻了。它并不是完全忘记了你交代的事情,而是会记住一部分、遗漏一部分。这是因为在压缩过程中,你之前的指示细节被丢失了。而且即使经过压缩,上下文依然可能非常庞大。

那么,如果压缩也解决不了问题,我们该怎么办呢?

解决方案

养成好习惯

首先,问问自己是不是经常依赖某个 Chat 来做重复性的事情。例如,你开了一个 Chat,然后不断让它帮你翻译文档,或者持续帮你访问某个网站完成固定任务。久而久之,你会非常害怕这个 Chat 被关闭,因为重新建立一个新的 Chat 很麻烦。

如果你存在这种情况,那么需要养成一个好习惯:

当一件事情重复三次以上,就把它蒸馏成 Skill。

如果你做不到这件事,可以直接去使用 Hermes Agent。现在你应该能理解 Hermes Agent 为什么会火了吧。不过我个人还是更喜欢手动掌控 Skill 的制作过程,所以我依然使用 OpenClaw。

平时也记得把一些长期有效的信息固化到预加载的上下文文件中,例如:

  • 如果你觉得自己设计的人设很好玩,请确保这些设定被写入 SOUL.md。
  • 如果你希望某些个人信息被长期记住,例如地址、电话等,避免每次重复说明,那么请确保这些信息被记录到 USER.md 中。

重置上下文

如果你已经养成了前面的习惯,那么当再次遇到上下文暴涨时,就可以比较放心地重置上下文。重置上下文主要分为两步:

  • app 层:清空 MEMORY.md 以及 memory 文件夹。由于常用习惯已经被蒸馏成 Skill,这部分 Memory 往往没有那么重要,可以直接删除。
  • session 层:当你完成了一个大型任务,或者某个 Chat 已经连续使用超过一周时,就使用 /new 创建一个新的 Chat。

这样一来,你就清理掉了上下文中体积最大的两个部分。

好处

这样做有两个直接好处:

  • 大幅降低 Token 消耗,从而减少使用成本。
  • 降低 OpenClaw 的出错概率。上下文越干净,模型越容易聚焦于当前任务,减少遗漏和误解。返工次数少了,本质上就是工作效率提高了。


关于作者

我是代码Plato。

我相信,人类的创造力才是 AI Coding 的真实之树,而代码与模型不过是投射在洞穴墙上的影子。

微博:@代码Plato 主页:https://weibo.com/u/1041257881