Bedrock 上的 OpenAI Agent 如何复用缓存
文章介绍在 Amazon Bedrock 使用 OpenAI 模型时的提示缓存模式,复用 Agent 多轮调用中重复的工具定义、指令与历史上下文。目标是减少重复上下文处理带来的输入成本和延迟。
原文暂未完整获取,基于公开信息的快读
AWS ML Blog 介绍了在 Amazon Bedrock 上使用 OpenAI 模型时,如何通过提示缓存复用 Agent 反复提交的工具定义、指令和历史上下文。它针对的是多步任务中的重复输入开销:每次调用都要带上此前的上下文,而其中不少内容并没有变化。
目前能确认什么
模型请求之间不会自动保留会话记忆。Agent 要接着完成任务,通常需要再次提交工具定义、开发者指令、历史工具调用及其结果,再附上最新消息。
提示缓存复用的是处理这些输入时生成的键值状态(KV)。后续请求如果具有完全相同的输入前缀,服务就可以加载已缓存的状态,减少重复计算。
缓存复用的是输入前缀的计算结果,不是让 Agent 获得永久记忆。
节选介绍了两种方式:隐式缓存由 Bedrock 选择可复用前缀的终点;显式缓存通过 prompt_cache_breakpoint 标记边界。作者建议搭配使用,让工具和指令形成共享起点,同时处理持续增长的会话历史。
示例要求可复用前缀至少达到 1,024 tokens,并使用 prompt_cache_key 标识预期共享缓存的请求。工具排列顺序和指令文本需要保持稳定,边界之后的新任务仍需处理。
我的判断
对多步 Agent,优先检查工具定义和固定指令的组织方式,比单纯压缩每条用户消息更切题。这些内容反复出现,也更容易保持一致。
相同的缓存标识不能替代相同的输入前缀。
如果每轮都调整工具顺序,或把变化的内容放在固定指令前面,就可能破坏前缀复用。缓存设计需要关注最终发送的上下文,而不只是配置参数。
目前节选没有完整展示新增工具、子 Agent 和跨会话复用的实现。示例中的 30m 也不足以说明全部有效期选项;缓存失效规则、共享范围及具体计费条件,仍需完整原文或官方文档确认。