返回资讯
作者:meeka编辑部 · 编辑整理 · 来源发布于 2026/10/27 01:27:20

AWS 官方教程:在 Amazon Bedrock 上用 OpenAI 模型时如何做提示词缓存

发生了什么

AWS Machine Learning Blog 发布一篇由 Amazon Bedrock 团队高级解决方案架构师 Claudio Mazzoni 撰写的教程,讲的是在 Amazon Bedrock 上调用 OpenAI 模型运行智能体时,如何用提示词缓存避免每一轮都重新处理全部上下文。

文章先说明智能体的输入结构:工具定义、开发者指令、会话历史和最新一轮消息。模型在生成第一个 token 前要先做 prefill,把输入 token 转成 KV 状态;缓存就是保存这份状态,后续请求若开头 token 相同,直接加载而不重算。

Bedrock 提供两种模式:隐式缓存由服务自行决定可复用前缀的终点,显式缓存由代码用 prompt_cache_breakpoint 标出终点。作者建议两者结合使用,并给出静态前缀、对话历史、会话中途新增工具、子智能体分发、新会话复用等场景的代码示例。

关键数字与限制

  • 可缓存前缀至少需 1,024 个 token。
  • 缓存前缀在最近一次写入或成功复用后至少保留 30 分钟,可被刷新。
  • 缓存写入按正常输入价格的 1.25 倍计费,读取价格因模型而异。
  • 作者称在一个六轮工作负载中,GPT-6 Astra 的隐式缓存使输入成本比不缓存低约 62%,显式滚动断点低约 61%;另一例中 8,000 token 启动前缀加六轮各 2,000 token 的会话,滚动断点把模拟输入成本从 0.87 美元降到 0.32 美元。作者明确这些是特定工作负载结果,需自行测量。
  • 复用缓存要求同一模型、同一 AWS 账户和区域,且存在匹配前缀。

编辑部观察

这篇教程的价值在于把缓存边界当成工程设计问题:工具列表和指令必须逐字节稳定,时间戳、用户名、请求 ID 等变化内容要放在缓存边界之后;会话中途加工具应通过 additional_tools 追加,而不是改动初始工具列表。作者也提醒,缓存与智能体结合时工具和系统提示存在泄露或被利用的风险,应纳入负责任 AI 治理。

实践建议

准备改造自有智能体的团队,可以先从一条工作流开始:固定工具与指令的序列化方式,用响应中的 cached_tokens 和 cache_write_tokens 确认读写是否发生,再对比缓存读写与未缓存输入的成本占比。生产环境可结合 CloudWatch 的 CacheReadInputTokenCount 和 CacheWriteInputTokenCount 指标观察,但作者指出 Mantle 端点的 CloudWatch 命名空间目前没有单独的缓存计数器。缓存写入本身有成本,短会话或前缀频繁变动时未必划算,需要按实际轮次测量后再决定是否启用。

作者:meeka编辑部

信息来源:AWS Machine Learning Blog · 原文作者:Claudio Mazzoni

原始标题:Groundhog Day for AI agents: Prompt caching patterns for using OpenAI models on Amazon Bedrock

编辑部依据所列来源整理事实;“编辑部观察”和“实践建议”为本站分析。