OpenClaw跑起来之后,你以为只是跟它聊聊天、让它干干活,但每句话的背后都是实打实的Token在燃烧。输入算钱,输出也算钱,重复对话算钱,加载记忆还算钱。等你反应过来的时候,账单已经跑出去老远了。
Token消耗这件事,很多人一开始不重视,想着"先跑起来再说"。结果跑着跑着发现,AI是挺好用,但用不起了。今天咱们就聊聊,怎么通过优化提示词,把那些白白烧掉的Token省下来。
先说一个反直觉的事实:提示词越长,模型可能越笨。
这不是玄学,而是注意力机制的天然缺陷——模型对Prompt开头和结尾的信息关注度最高,中间部分常常成为"注意力洼地",这就是著名的"迷失在中间"现象。你以为把上下文塞得越满,它理解得越准确,结果它反而抓不住重点,答非所问。
更扎心的是,那些塞进去的无关信息,每一行都在消耗你的Token。给模型喂一万字的背景资料,它真正用上的可能不到一千字,剩下的九千字纯属浪费。有人做过测试,精简后的Prompt在同样任务上Token消耗能减少70%以上,回答质量反而更高。
所以第一条原则很简单:能删则删,能不说的尽量不说。
具体怎么删?可以从几个方向入手。
第一个是"先总结再输入"。如果你真的有一大段背景资料非给不可,别直接扔进去,让模型自己先读一遍,生成一份摘要,再拿这份摘要去做后续任务。这个过程叫"自我压缩",相当于让模型帮你把厚书变成薄本,薄本再变成卡片,层层过滤之后,留下来的才是真正有用的信息。
第二个是"只给最相关的"。别动不动把整个知识库都塞进去,用检索增强生成(RAG)的思路,只把跟当前问题最匹配的那几个片段捞出来。比如你要问上个月的销售数据,就别把去年的日志也捎上;你要处理邮件,就别把聊天记录也加载进来。精准投放,比大水漫灌省得多。
第三个是"模板化重复内容"。如果你经常让OpenClaw做同一类任务,比如每天整理邮件、每周生成报表,可以把固定的指令部分写成模板,每次只替换变量。这样既保证了格式统一,又避免了每次重新写一大段话。而且很多平台支持prompt cache功能,相同的提示前缀命中缓存后,Token按40%单价计费,长期用下来省得更多。
说完输入的优化,再看输出的控制。
输出Token的计费通常比输入更贵(有些平台按1:2的比例),所以让模型"少说点"比"少喂点"更值钱。
最简单粗暴的办法是设置max_tokens参数,给输出加上天花板。比如你只是想要一个简短结论,就别让它长篇大论地分析。有个技巧叫"约束压缩"——要求模型只给最有用的前20%信息,控制在120字以内,格式可以用"一行答案+三个要点"的结构。这样既保证了信息的完整性,又避免了无意义的废话。
另一个好用的是结构化输出。让模型直接返回JSON格式的数据,而不是自然语言描述的段落。比如你想要某个结果,可以这样写:
json
请以JSON格式返回:
{
"结论": "简短结论",
"关键数据": ["数据1", "数据2"],
"建议": "下一步操作"
}
这样模型就知道该说什么、不该说什么,不会跑题也不会啰嗦。而且JSON解析起来也方便,后续程序直接处理,省去了文本解析的麻烦。
如果任务比较复杂,别指望一个Prompt解决所有问题。拆成多步,每一步只做一件事。比如先让它提取关键信息,再让它基于这些信息做分析,最后让它生成报告。每一步的输入都是上一步的输出,中间没有冗余内容。这种"规划者-执行者"的分工模式,既清晰又省钱。
最后说说OpenClaw特有的省钱技巧。
OpenClaw最大的特点是有"技能"(Skills)生态,很多优化工作可以借助现成的技能来完成,不需要自己写Prompt。
比如QMD这个技能,专门解决记忆检索低效的问题。原生记忆系统每次查询都要加载全部记忆文件,哪怕只需要1%的信息,也会消耗完整的Token。QMD采用三层混合检索机制——BM25全文搜索、向量语义搜索、Qwen3重排序,把查找Token消耗从15000降到1500,节省比例超过90%。安装之后,长对话场景下100轮的Token消耗能从50万降到6万,效果立竿见影。
还有prompt-guard这个技能,解决的是防御规则冗余的问题。传统提示注入防御每次请求都加载完整规则集,70%的Token用于无意义的重复校验。prompt-guard采用分层加载策略,只加载当前必要的规则,节省比例可达70%以上。
这两个技能在OpenClaw镜像里都可以一键安装,步骤也不复杂:
# 进入OpenClaw容器
docker exec -it openclaw
# 安装QMD
curl -fsSL https://bun.sh/install | && export PATH="$HOME/.bun/bin:$PATH"
bun install -g qmd
qmd init --backend openclaw
# 编辑配置文件,启用QMD
vi ~/.openclaw/openclaw.json
# 添加memory配置后重启服务
openclaw gateway restart
说到底,优化提示词这件事,本质上是换一种思维方式——从"喂饱"模型变成"引导"模型。
以前觉得给得越多,它懂得越多。现在发现,给得越准,它干得越好。那些被删掉的废话、被压缩的长文、被拆解的步骤,每一处节省下来的Token,最后都会变成账单上实实在在的减少。
下次你的OpenClaw账单又飙高的时候,别急着骂模型太能吃,先回头看看自己喂的那些话里,有多少是它真正需要的。
推荐文章
