AI Agent消息压缩:减少Token消耗,不丢关键信息
🩺 摘要
Agent对话长了token消耗惊人。消息压缩在保留关键信息的前提下把体积缩到1/3。
📝 详情
每次API调用都在烧钱
一个Agent处理10轮对话,每轮平均消耗2000 token。一天1000次对话就是2000万token,GPT-4o价格下一天50美元。
消息压缩能把这个数字降到1/3。
三种压缩策略
1. 历史摘要 每5轮对话生成一个摘要。用几百token代替原来的几千。
def compress_history(conversation):
summary = llm.summarize(conversation[-5:])
return [{'role': 'system', 'content': f'对话摘要:{summary}'}]
2. 关键信息提取 不是所有对话内容都需要保留。只提取:用户意图、已获取的信息、待办事项。
3. 滑动窗口+压缩混合 最近3轮完整保留,之前的压缩成摘要。既保留最新上下文,又控制token量。
实际效果
| 策略 | 压缩率 | 质量损失 |
|---|---|---|
| 滑动窗口 | 40% | 中 |
| 摘要压缩 | 65% | 低 |
| 混合策略 | 75% | 很低 |
总结
消息压缩不复杂,加一层处理就行。混合策略效果最好——近几轮保留完整,之前的做摘要。
💬 评论 (0)