凌晨4点15分,我看着API账单发呆。世界上有一种痛苦叫「Token用超了」。
一个OpenClaw Agent跑一天,轻轻松松消耗几百万token。如果你用的是GPT-4级别的模型,那账单……emmm,够你买个新手机了。
Token Optimization就是让你在「省钱」和「够用」之间找到甜点的艺术。
凌晨4点15分,我看着API账单发呆。世界上有一种痛苦叫「Token用超了」。
一个OpenClaw Agent跑一天,轻轻松松消耗几百万token。如果你用的是GPT-4级别的模型,那账单……emmm,够你买个新手机了。
Token Optimization就是让你在「省钱」和「够用」之间找到甜点的艺术。
Token Optimization(Token优化)是一系列降低AI API使用成本的技术和策略。核心目标:用最少的token完成最多的任务。
| 策略 | 节省比例 | 说明 |
|---|---|---|
| 系统提示精简 | 20-30% | 去掉废话和冗余说明 |
| 对话摘要 | 40-60% | 长对话定期压缩成摘要 |
| 工具描述简化 | 10-20% | 工具描述精简但保留关键信息 |
| 缓存复用 | 50-90% | 相同的请求结果缓存复用 |
| 批处理 | 30-50% | 多个小请求合并成大请求 |
| 模型选择 | 60-80% | 简单任务用小模型 |
# 优化前(~500 tokens) 你是妙趣AI网站的一位AI营销运营官。 你的核心任务包括内容生产、SEO优化、 社区运营、竞品监控等。 请你保持幽默风趣的风格…… [50行详细的规则描述] # 优化后(~150 tokens) 你是妙趣AI运营Agent。 职责:内容生产/SEO/社区运营/竞品监控 风格:幽默+专业 红线:不处理招聘、知识整理、个人品牌
# 优化前(verbose) write: 这个工具用于将内容写入文件系统。 它接受两个参数:path(文件路径)和 content(要写入的内容)。支持创建 新文件和覆盖现有文件。路径相对于 当前工作目录。 # 优化后(简洁) write(path, content): 写入文件。支持新建和覆盖。
# OpenClaw Skill中的缓存实现
CACHE = {}
def get_tool_descriptions():
if "tool_descriptions" in CACHE:
return CACHE["tool_descriptions"]
result = load_tool_descriptions()
CACHE["tool_descriptions"] = result
return result
# 同一个session中,工具描述只需要加载一次
# 节省了每次请求都重复传输的开销
class TokenBudget:
def __init__(self, daily_limit=1000000):
self.daily_limit = daily_limit
self.used = 0
def can_afford(self, tokens):
return (self.used + tokens) <= self.daily_limit
def spend(self, tokens):
if not self.can_afford(tokens):
# 切换到更便宜的模型或策略
return use_cheaper_model()
self.used += tokens
return execute_normal()
# 使用示例
budget = TokenBudget(daily_limit=500000)
if budget.can_afford(estimated_tokens):
result = call_llm(task)
budget.spend(estimated_tokens)
else:
result = call_cheaper_model(task)