我一直觉得OpenClaw是一款很能干的工具,圈里人习惯叫它“龙虾”。它确实能干活:能自己读代码、跑命令、把一个问题从头跟到尾,像有个不用睡觉的实习生坐在你电脑前面。但用了两个月之后我收到了账单,说实话有点肉疼。OpenClaw是真能吃token,一顿饭能吃掉别人三顿的量,“太消耗token”几乎成了使用它之后的统一吐槽。
今天不聊空泛的优化理论,就拿我自己调参数、换套餐的实测经历,说说“龙虾”的token到底都烧在哪,从省钱到选编程套餐(Coding Plan)具体怎么操作,哪些配置值得改,哪些套餐真的划算。这篇适合正在用OpenClaw做自动化开发、批量脚本、代码审查和Agent任务的人,也适合刚被账单吓到、正准备换套餐的朋友。
1. OpenClaw到底把token烧在了哪里
1.1 OpenClaw每次执行任务,模型到底在看什么
要理解为什么费token,得先知道OpenClaw的工作方式。它不是一个单纯的代码补全工具,而是一个能自主完成任务的智能体。每次它要决定“下一步做什么”,都会把一大堆东西打包发给模型,让模型基于这些信息做判断。
这些信息大概包括四块:系统提示词(告诉它身份和规则)、工具定义(它能调用哪些函数、每个函数怎么用)、项目上下文(当前目录下的文件内容、关键配置)、历史对话记录(之前做过什么、用户提过什么要求)。只要任务没结束,这个包裹就会越滚越大。
我举个生活化的例子:你去餐厅点菜,正常只需要报菜名就行,但OpenClaw这个服务员每次下单前,都要把整本菜单从头到尾背一遍,还要把前几桌客人说过的话也复述一遍。背一遍当然费力气,背十遍就更费,这就是token账单膨胀的核心原因。
1.2 token消耗的四大来源
在我实际观察中,OpenClaw的token消耗大头基本集中在四个地方。
第一是系统提示词太长。OpenClaw为了保持稳定性,默认会携带一长串规则说明,包括任务原则、输出格式、错误恢复策略等等。这些内容每次发起模型请求都会占用输入token,属于“恒定开销”。假如系统提示词有3000 token,你一个任务要调用模型20次,光这一项就是60000 token的输入量。
第二是多轮历史记录的累积。任务做得越久、对话轮次越多,历史记录就越长。而且到任务后期,前面那些“已经过去的内容”并不会自动清空,而是全部保留在上下文里。有的任务做到最后,历史记录可能占整个上下文窗口的一半还多。
第三是工具调用的反复循环。OpenClaw执行一个操作、拿到工具返回结果、再把它交给模型分析,这一来一回相当于两三次普通请求的消耗。如果中间再发生重试、权限确认、超时重连,消耗会成倍增加。这个特点在Agent类工具里非常典型:工具越强大,循环越多,token消耗越凶。
第四是大文件的读写和日志回传。很多任务会涉及到读入整个源文件、输出大段日志或diff结果。一个几千行的文件读进来,转成token可能就有几千上万。如果OpenClaw还需要把这些内容反复引用,消耗自然就压不下来。
1.3 为什么默认配置往往更“费”
用过一段时间OpenClaw你就会发现,默认配置更像是一个“求稳”的配置,而不是“省钱”的配置。官方默认不希望任务失败,于是会把重试次数设得偏多、输出内容设置得更详细、允许的工具范围也很广。
比如默认情况下,OpenClaw可能会自动扫描当前项目的目录结构、读取.gitignore之外的所有文件,把这些都当作上下文发给模型。结果就是你只是想让它改一个小函数,它却把整个项目配置文件、依赖清单、README全部读了一遍。这些扩出来的量,就是账单上多出来的数字。
另一个常见问题是,默认配置对“每个任务能跑多久”“最多调用多少次工具”没有太严格的限制,任务就会一直往下推进。模型每次都在完整上下文基础上继续思考,到后面一个简单判断也要带着巨大的历史包袱,消耗自然指数级增长。
注意:后面所有优化配置,核心思路就只有一条——让OpenClaw少看、少记、少循环。省钱不是靠降低模型质量,而是去掉那些根本没用的“动作”。
2. 不换套餐先省钱:调整配置降低token消耗
2.1 从源头做减法:缩小上下文加载范围
第一件事是管住OpenClaw的“眼睛”,让它不要什么东西都往上下文里塞。大多数Agent工具都支持忽略文件配置,OpenClaw也不例外。我一般会在项目根目录放一个类似.clawignore的文件,内容根据项目类型调整:
node_modules/ dist/ build/ __pycache__/ .git/ *.log .venv/ coverage/这只是基础版。真正要控制消耗,建议反着来:明确告诉OpenClaw只允许看哪些目录,而不是让它从整个项目里自己判断。比如你只在写src/core下面的代码,配置里就把上下文范围锁定到这个目录,其他目录一律不加载。
我自己实测过,加了这个白名单之后,很多任务光“输入token”就减少了40%以上。尤其是大型项目里,node_modules里可能有几万个文件,一旦被误读,一次任务的消耗就能顶别人好几天的量。这个操作花五分钟,效果立竿见影。
同时我还会在项目里维护一个精简版的项目说明文件,大概几十行。OpenClaw每次读它比读整个README和一堆架构文档便宜得多,而且信息密度反而更高。相当于给OpenClaw画一张地图,而不是让它自己把整个森林逛完。
2.2 两个关键参数:max_tokens与上下文长度
第二个要动手的地方是参数配置。OpenClaw通常提供两个和token强相关的设置项:单次输出上限max_tokens,以及任务整体可用的上下文长度上下文窗口。
max_tokens很容易被忽略。默认情况下,模型可以输出很长很完整的回答,但很多任务根本不需要那么长的回复。比如让OpenClaw改一个正则表达式、补一个小函数,输出500 token就绰绰有余。如果把单次输出上限从2000降到800,任务调20次模型,输出部分就能省下24000 token。这个改变对任务成功率几乎无影响,纯粹是堵住浪费。
上下文长度这里要谨慎。把上下文窗口设得太小,比如只有4000,遇到复杂任务模型会“记不住”,反而引发反复确认和重试,消耗更大。我试下来比较稳妥的做法是:普通任务给8000到12000,复杂重构任务给24000以上,不要一刀切。
经验值是这样:上下文越短,历史记录被截断的概率越高;任务一旦发现自己忘了前面做过什么,就会重新读文件、重新确认流程,这个补偿消耗通常比省下的钱更多。所以这项不要卡太死,让OpenClaw能在“记住”和“省钱”之间有个折中。
2.3 工具调用里的隐形消耗
工具调用是OpenClaw的核心卖点,也是token消耗的重灾区。很多时候OpenClaw会调用一些根本用不上的工具,比如查网页、读PDF、扫描API文档。每调用一次工具,模型都要读取工具的定义和返回结果,容易让消耗翻倍。
我的用法是:能关的工具就关掉。尤其在做纯代码任务时,我会把网页搜索、网络抓取这类工具直接禁用,只保留文件读写、终端执行、代码搜索这几项。工具数量少,模型做选择时的开销就小,误用概率也低。
另外,日志输出的频率也要控制。OpenClaw默认可能会把每一步的操作、中间结果、当前工作目录全部回传,这些信息对最终结果没什么用,但会占满输出token。我习惯配置成“精简模式”,只保留关键的步骤描述和最终结果,把详细的调试日志写到本地文件,而不是一股脑回传给模型。
还有一个容易被忽略的点:重试次数。任务一旦报错,OpenClaw默认可能会自动重试。正常情况下重试是好事,但如果重试还是在原上下文里重新跑,每次都要带上全部历史,消耗就大了。我会把重试次数限制在1到2次,并且开启“失败后换思路”而不是“同一思路再跑一遍”。这样既省钱,又能避免死循环。
提示:你可以看任务日志里的“每次请求token数”和“请求次数”。这两个数字是排查消耗的核心指标,只盯总账单看不出问题在哪。
3. 读懂编程套餐(Coding Plan)的计价逻辑再下单
3.1 三种套餐模式一次性对比
选Coding Plan之前,首先得知道各家套餐的收费模式差别很大。我总结下来,市面上的编程类AI套餐基本分三类:固定订阅制、按量计费制、混合制。
固定订阅制就是每个月交固定费用,获得一定额度的模型调用资格。这种模式好处是心里有底,适合用量稳定的人;坏处是一旦超出额度,超出的部分往往按很贵的单价计费,或者直接限速。按量计费制就是完全按token用量付费,用多少花多少,灵活但波动性大。混合制则是订阅一个基础额度,超过的部分按折扣价继续计费。
可以把它们放在一张表里对比:
| 套餐类型 | 计费方式 | 适合人群 | 优点 | 常见的坑 |
|---|---|---|---|---|
| 固定订阅制 | 定额月费,用量固定 | 每天稳定使用的开发者 | 成本可控,适合固定工作流 | 超额后单价很贵,甚至直接限额 |
| 按量计费制 | 按token消耗累计计费 | 用量波动大、任务不均匀 | 灵活,忙时多花闲时少花 | 没有上限,容易失控 |
| 混合制 | 基础订阅+超额按量 | 大多数中度使用者 | 兼顾灵活与稳定 | 需要自己监控额度,容易忽略超额临界点 |
从我的实际体验看,重度使用Agent工具的人,纯固定订阅经常不够用;轻度使用者买固定订阅又会浪费。所以选套餐不是看哪个“便宜”,而是看哪个“和你的用量曲线匹配”。
3.2 账单里不太显眼、但影响很大的规则
很多人在选套餐时只看单价,结果月底账单出来才发现还有一堆隐藏规则。我遇到过几个比较典型的坑,值得特别注意。
第一个是输入token和输出token的差价。一张套餐里,输入token的单价通常远低于输出token。输出token往往要贵好几倍。如果套餐宣传的“百万token只要几十块”是按输入价算的,实际跑起来用输出多的话,真实成本会远超估算。
第二个是上下文缓存计费。有些平台对“重复读取相同的前缀内容”提供缓存价,也就是说,只要每次请求的提示词前一半保持不变,后半部分就可以按缓存价计算。这确实能省不少钱,但有个前提:你的提示词前缀必须稳定。如果我每次任务都改一点系统提示词,缓存就完全失效,命中率直接归零,费用会明显上升。
第三个是并发和限速限制。低价套餐不一定限制总token,但会限制每分钟请求数。如果你的OpenClaw配置了多任务并行,并发一上来,请求会排队,任务会变慢。这不是计费问题,但会直接影响你“能不能在可接受时间内跑完任务”,间接影响效率。
3.3 用一张估算表算清楚自己的用量
在没买套餐之前,可以先简单估算一个月的token消耗。我建议连续观测一周OpenClaw任务日志,记下三个数字:每天平均任务数、每个任务平均消耗token、峰值消耗日。
公式可以这样写:
月消耗token ≈ 日均任务数 × 单任务平均token × 22个工作日 × 冗余系数(1.3~1.5)
冗余系数是因为总有几天特别忙、任务特别复杂。宁可留点余量,也不要算得太精准。
举例来说,如果每天跑20个任务、每个任务平均消耗20000 token、冗余系数1.4,那么月消耗大约是20 × 20000 × 22 × 1.4 = 12320000 token,也就是约1230万token。拿这个数字去对比套餐额度就很直观:如果订阅制只包含500万token,那显然不够;如果按量计费,直接把1230万token乘以实际单价就能得到大概成本。
重要:估算的时候要把“多轮对话增长”考虑进去。单个任务的token消耗不是均匀分布,往往是越到后面越贵,因为历史记录已经很长了。
4. 几套实测算过的高性价比组合参考
4.1 配置模板一:重度自动化使用者
如果你每天要用OpenClaw跑大量自动化任务,比如批量改代码、自动重构、定时整理仓库,这种场景最大的特点是模型请求频率高、任务重复性强。
我的建议是优先选择按量计费加缓存套餐,并开足上下文缓存功能。因为你的任务之间往往有大量相同的前缀提示词和项目上下文,缓存命中率高,实际单价会明显降下来。不要买固定订阅,因为重度使用的量很难卡准,超额部分容易反噬。
配合配置上,max_tokens可以适当放宽到1500左右,因为任务复杂时模型确实需要更长的思考过程;上下文窗口保持24000,避免长任务中途截断。工具方面,只保留代码搜索、文件读写和执行命令,禁用一切联网能力。这样跑下来,我的平均单任务成本比默认配置降低了将近一半。
4.2 配置模板二:日常轻中度使用者
如果你只是偶尔让OpenClaw帮你写个脚本、修个bug、做点小自动化,每天任务量不大,那么固定订阅制反而更合适。因为它给你一个明确的成本上限,不用担心某天突然跑出巨额账单。
这种场景下的配置重点是压低单次调用的成本:max_tokens可以设置到800,因为轻任务根本不需要长输出;上下文窗口8000就够用。同时启用“单次任务结束即清理上下文”的选项,避免OpenClaw把上一个任务的历史带到下一个任务里。
我自己给虚拟项目同学搭的配置就是这套,一个月下来成本稳定,任务也都完成了,基本不需要额外调整。轻中度使用者的核心理念就是:不要让Agent的默认设置把你拖进重度的节奏里。
4.3 混合路由:把轻重任务分开
这是我个人最推荐也最常用的一套方案,核心思路是:不要把所有的任务都丢给旗舰级大模型。OpenClaw这类工具现在基本都支持配置多个模型,通过规则把任务分流到不同档位的模型上。
简单任务,比如查一个函数定义、生成一段测试数据、做一次文本格式化,完全可以交给轻量模型。复杂任务,比如跨文件重构、项目架构梳理、从零写业务模块,再交给旗舰模型。这样做的效果非常明显:轻量模型便宜,能消化掉大部分请求次数;旗舰模型虽然贵,但实际调用次数少,整体费用自然可控。
我通常在OpenClaw配置里这样分:默认参数里的温度降到最低,任务难度超过某个阈值时才路由到旗舰模型。具体怎么判断难度,可以看任务描述里的关键词,或者看需要操作的文件数量。文件多于三个或者涉及多个目录,走旗舰;否则走轻量模型。
还有一招,有些任务可以用本地模型来兜底。比如直接把OpenClaw的“结构化提取”“文本分类”这类子任务接到本地部署的量化模型上,几乎零成本。这些东西本地模型做得很好,不需要云端大模型出手。本地模型加云端旗舰配合,整体成本能再降一档。
注意:不要太依赖单一平台的“全家桶”。不同任务用不同方案组合,往往比死磕一个套餐更省钱。关键是你得先搞清楚自己任务的“轻重比例”。
5. 常见问题排查与避坑实录
5.1 账单突然翻倍,先查这几个地方
有一天我的一位开发者朋友在群里说,自己账单突然翻倍了。我让他去查四样东西,结果真凶马上就找到了。
第一个是并行任务数量。他开了3个会话并行跑,每个会话又各自调工具,结果并发请求直接把价格推上去了。第二个是重试次数。因为某个任务反复报错,OpenClaw自动重试了6次,每次重试都带完整历史上下文,等于是花6倍的钱办一件事。第三个是缓存是否失效。他升级配置之后改了系统提示词前缀,导致缓存命中率掉到接近0。第四个是日志回传。某个任务的日志文件特别大,每次都被完整读进上下文,光这一项就吞了好几万token。
这四个地方的排查顺序,我建议是:先看请求次数有没有异常,再看单请求token有没有暴涨,最后看缓存命中率。只要按这个顺序查,基本都能找到账单翻倍的元凶。
5.2 缓存命中率上不去是怎么回事
缓存这个东西用好了很省钱,用不好等于没用。我见过不少人都开了缓存,但命中率一直很低,实际上就是两个原因。
第一个原因是系统提示词不固定。如果你经常更换提示词模板、添加临时规则,或者用了随机性比较大的会话前缀,缓存就没法命中。第二个原因是上下文顺序变了。模型对缓存的要求很严格,别说是改了内容,哪怕只是调整了文件加载的顺序、改变了工具定义的排列,缓存也可能失效。
我自己的做法是,把系统级提示词完全固定成一段静态文本,动态的部分全部放在这个静态前缀后面,并且加载文件的顺序也保持稳定。这样缓存命中率能稳定在80%以上。如果你发现命中率低,先检查前缀部分是不是每次都在变。
5.3 两个真实踩坑案例参考
这里说两个很有代表性的案例,都来自身边开发者的操作记录。
第一位开发者做的是批量代码迁移任务。他图省事,把所有文件放进一个大会话里让OpenClaw连续处理。结果做到后面,单次请求的token数已经接近上下文窗口上限,每次调用都在“边读边忘边重读”,成本比拆开做高了四倍都不止。后来他改成每个文件单独一个会话,处理完一个立刻清理上下文,费用立刻恢复正常。
第二位开发者的场景是让OpenClaw自动抓网页信息。他忘了把网络工具关掉,结果OpenClaw每次解析页面都调用一次搜索工具,既不准又费token。关掉之后,单纯让他读本地文件、写脚本,同样的任务成本下降了60%。这两个案例合起来说明一件事:大多数时候不是模型本身贵,而是让模型做了太多没必要的事。
5.4 我的几个使用习惯与最后建议
最后分享几个我一直在用的习惯。
第一,一定要开单日消耗提醒。很多平台支持设置用量阈值,超过就警告。这能防止你在某天跑了个失控任务之后,等月底才发现已经超支。第二,每周花十分钟看一下消耗日志的分布。哪个项目消耗最大、哪个任务类型最费,数据会告诉你下一步优化方向。第三,不要频繁修改系统提示词。每次改动都会让缓存失效,长期下来积少成多。
我个人的经验是,用OpenClaw这样的Agent工具,省钱的关键从来不是选一个最便宜的套餐,而是先让你的用法变得健康。大部分人的token消耗异常,都是因为留了太多默认设置、跑太多冗余任务。把配置调好、任务拆清楚,再去看套餐,会发现可选空间大很多。
至于套餐本身,我会建议你先按第三节的公式估算用量,对标着买一个月的量试试,不要一上来就签长期订阅。跑一个月之后,你对自己的用量心里有数了,再决定到底换哪一档。这样比盲目跟风推荐实用得多。