我如何在长时间智能体运行中轻松减少约90%的输入token消耗
摘要
作者分享了一个实用技巧,通过提示缓存(prompt caching)在长时间智能体运行中将输入token成本降低约90%:将不变文本(系统提示、工具定义、上下文)放在每个提示的开头,以利用LLM提供商的缓存前缀。
我的开源智能体框架SmithersBot让我可以无人值守地长时间运行Claude Code和Codex,一次运行数小时。我使用的是每月100美元的Claude套餐和20美元的OpenAI套餐,所以我经常达到5小时的使用上限,于是开始寻找减少token消耗的方法。最简单的改进就是缓存。你只需将从不改变的内容(系统提示、工具定义、上下文)放在每个提示的最开头,并且每次都保持相同的顺序。其工作原理是,LLM基于下一个token预测运行,如果提示的开头部分与模型已经处理过的部分相同,它就可以将该状态作为检查点,从那里开始预测,而不需要重新预测直到该点的每个token。这就是为什么所有模型提供商对缓存输入都提供90%的折扣。如果你重发之前用过的提示,并将新信息放在末尾,那么重复的部分成本比你把相同的新信息放在前面、打破已见过顺序的情况要低90%。对于单次对话来说,这几乎没什么影响,但对于像我这样的智能体,它要对相同的上下文进行数百次调用,消耗就非常可观了。只需排列一次顺序,之后的每次调用都可以利用缓存前缀。你们是怎么处理这个问题的?我很想知道人们还有哪些减少token消耗、避免达到使用上限的方法。
相似文章
将我的Agent令牌消耗削减72%(每个任务11.9k ➝ 3.3k)。以下是我所做的具体改动,附数据
一位开发者分享了通过精简系统提示、收紧检索、裁剪工具输出等技术,将AI Agent的令牌消耗降低72%的详细案例研究,且对成功率影响极小。
我们如何通过将稳定上下文移出提示词来使AI代理更快
描述了一种通过将稳定上下文移出提示词来提高AI代理速度的技术,从而减少令牌使用量和延迟。
@pallavishekhar_: 如何减少AI代理中的Token使用?我们来理解一下。AI代理使用LLM进行思考、规划和推荐工具。每一步…
本帖子分享了减少AI代理中Token使用的策略,包括提示缓存、上下文摘要、使用较小模型、修剪工具输出、子代理、RAG以及紧凑的系统提示。
代理中的提示缓存
本文解释了提示缓存在大语言模型代理中的工作原理,涵盖 KV 缓存机制、预填充和解码阶段,以及其对延迟、成本和代理设计的影响。
子代理在长代理运行中占据大部分Token成本:实际可将使用量降低70%至90%的修复方法
本文分析了 Bai 等人 2026 年的论文,该论文表明,子代理和上下文膨胀导致长代理运行中的Token成本比普通聊天高出约1000倍,并提出了三种实用的修复方法(PLAN.md、读取预算、带外备注),可将Token使用量减少70-90%。