养龙虾经验:OpenClaw用户必看的3个“省token”救命配置

126 阅读3分钟

你有没有这种感觉?每次一觉醒来,看到OpenClaw跑了一夜的对话消耗,几万甚至上几百万tokens就没了,肉疼得像‘养龙虾’跑了苗。

作为一个天天跟AI打交道的技术人,我试遍了各种省钱方法。今天这篇不讲大道理,直接分享我目前在用的3个最有效的配置方案,特别是那个 adaptive 压缩模式,

3个方案对比如下,也可以组合一起用,下面看详细怎么做。

方案

核心原理

省钱效果

适用场景

方案一:压缩

总结历史,保留精华

★★★★★

长对话、复杂任务

方案二:优化提示词

要求模型说“人话”

★★★☆☆

所有场景的基础

方案三:限制历史

简单粗暴,忘记过去

★★☆☆☆

简单、独立问答

方案一. 启用上下文压缩(Compaction) 最推荐 OpenClaw 支持对长对话历史进行压缩,减少传递给模型 的 tokens。在配置中启用 compaction。打开你的openclaw.json文件

找到 agents 部分

你需要决定是为所有 agent 启用压缩(添加到 defaults),还是仅为单个 marketing 启用(添加到 marketing 的单独配置)。

a.为全局启用压缩(所有 agent 继承)

在 agents.defaults 中添加 compaction:

json

"agents": {

"defaults": {

"model": {

"primary": "custom-api-deepseek-com/deepseek-chat "

},

"workspace": "/root/.openclaw/workspace",

"compaction": {

"mode": "adaptive",

"maxMessages": 20

}

},

"list": [ ... ]

}

b.为单个代理marketing 单独启用压缩

在 agents.list 中找到 marketing 对象,添加 compaction 字段:

json

{

"id": "marketing",

"name": "marketing",

"workspace": "/root/.openclaw/workspace-marketing",

"agentDir": "/root/.openclaw/agents/marketing/agent",

"model": {

"primary": "custom-api-deepseek-com/deepseek-chat",

"maxTokens": 400

},

"compaction": {

"mode": "adaptive", // 压缩模式:safeguard | adaptive | none

"maxMessages": 20, // 保留最近消息的最大数量(超出部分可能被压缩)

"summaryPrompt": "请用一句话简洁总结以上对话的核心内容" // 自定义压缩提示词(可选)

}

}

压缩mode说明:

safeguard(默认):仅当会话上下文长度接近模型限制时才会触发压缩,压缩后尽量保留完整对话。 adaptive:主动压缩,根据 maxMessages 或动态策略压缩历史,更激进地节省 tokens。 none:禁用压缩。 其他参数说明:

maxMessages:整数,表示保留的最近消息数(包括用户和助手)。超出部分会被压缩或丢弃。

summaryPrompt:字符串,自定义压缩时使用的提示词。如果不提供,使用内置默认提示。

thresholdTokens:触发压缩的 token 数阈值(仅 safeguard 模式有效),默认自动计算。

注意事项:

压缩会丢失部分历史细节,可能影响多轮对话的连贯性。建议根据实际需求调整 maxMessages 和压缩模式。 如果使用自定义 summaryPrompt,确保提示词能引导模型生成简洁总结,避免反而增加 tokens。 方案二: 优化提示词(SOUL.md) 修改 SOUL.md,在职责和回答风格中明确要求简洁、直奔主题,避免冗长解释。

例如在 SOUL.md 中添加:

回答准则

  • 极简原则:在满足用户需求的前提下,回答必须尽可能简短,避免不必要的修饰和重复。

  • 禁止废话:不要解释原理,除非用户明确要求;不要罗列多种方案,除非用户需要对比。

  • 字数限制:普通问题回复不超过 100 字,复杂问题不超过 300 字。

方案三:限制对话历史长度 通过 session 配置限制每个会话保留的消息数量。在配置文件中添加:

json

"session": {

"maxHistoryMessages": 20 // 每个会话最多保留 20 条消息

}

注意:超出部分会被丢弃或压缩,可能会不连贯。注意。

你平时用OpenClaw最头疼的问题是什么?是token消耗,还是模型效果?欢迎在评论区留言,我会挑一个高频问题,专门写一篇避坑指南。 ———————————————— 版权声明:本文为CSDN博主「欧阳逐梦」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。 原文链接:blog.csdn.net/wpplvhq/art…