如何大幅降低LLM调用成本:commerce-agents的Prompt缓存字节级稳定优化实践与验证方法
如何大幅降低LLM调用成本commerce-agents的Prompt缓存字节级稳定优化实践与验证方法【免费下载链接】commerce-agentsReference blueprint for building shopping and merchant agents with Claude. Examples in retail, commerce, telecom, and entertainment included.项目地址: https://gitcode.com/gh_mirrors/co/commerce-agentscommerce-agents是基于 Claude 构建购物 AgentShopping Agent与商家 AgentMerchant Agent的开源参考蓝图内置零售、旅行、电信、娱乐四个可运行示例。除了功能设计它最值得初学者借鉴的是一套Prompt 缓存字节级稳定优化实践通过把请求前缀稳定到一个字节都不变让第二轮、第三轮对话大量命中缓存读取cache read从而显著降低 LLM 调用成本、缩短响应延迟。本文带你理解它的核心思路、关键实现与验证方法。为什么字节级稳定是省钱的关键Claude 的 Prompt 缓存规则很直接请求的前缀只要有一个字节变化缓存就失效整段前缀要重新处理并重新计费。一次请求的缓存前缀按顺序是tools工具列表→system系统提示→ 消息历史缓存断点cache breakpoint标记了下一轮可以读回来的范围。commerce-agents 的做法可以概括为一句话所有每请求都会变的东西购物车、当前页面、时钟、记忆事实全部隔离到一个独立的动态上下文块里绝不让它污染稳定前缀。状态没变的对话轮次整段历史都走缓存读取状态变了比如购物车写入、换了页面也最多只多读一次。三个缓存断点请求前缀的路标参考实现统一使用 commerce-common/commerce_common/prompt_assembly.py 放置三个断点最后一个工具with_tool_cache_control(tools)只给工具列表的最后一项打上缓存标记工具数组整体被纳入缓存范围。静态系统文本build_system_blocks(static, context)把静态身份/规则文本作为带断点的第一个 system 块每请求的上下文放在它后面的第二个、不带断点的system 块里。最新一条已持久化消息build_request_messages(messages, rolling_breakpointTrue)只给当次发出的请求打滚动标记——下一轮调用时之前各轮包括很长的搜索结果都变成缓存读取。标记只存在于请求副本上绝不写回持久化历史。这个设计在 plugins/commerce-builder/skills/commerce-prompt-caching/SKILL.md 中有完整说明是该项目的缓存稳定装配参考规范。静态与动态分离哪些字段是提示词字节以购物 Agent 为例shopping-agent/core/shopping_agent/prompt.py 做了清晰切分部分内容稳定性build_static_system身份、工作规则、信任与边界规则、技能索引只依赖部署配置整个部署生命周期内字节相同build_dynamic_context用户偏好、记忆事实、购物车、当前页面、账户上下文、时间每轮渲染一次包在数据围栏内放在断点之后两个细节特别抠时钟只精确到小时context_clock把分钟、秒、微秒清零。如果渲染到分钟几乎每一轮都会因为时间变化而改变动态块导致反复重读整段对话——一小时之内字节不变缓存才稳得住。工具列表每次构建出相同的字节内置工具固定顺序、技能枚举排序、扩展按给定顺序追加全部注册工具随每次请求发出由执行器在调用到达时决定能否服务。每次请求临时决定带哪些工具正是最常见的缓存杀手之一。配置里标了(prompt)的字段如brand_name、brand_voice、各角色的enable_*开关会被渲染进静态文本或工具列表改动它们等于重新部署而门槛词表、内存设置、延迟旋钮eager_tool_dispatch、rolling_conversation_cache等不是提示词字节随意改动不影响缓存。哪些习惯会击穿缓存命中项目把踩坑清单写得非常直白适合当自检表用把每请求内容用户名、购物车数量、页码、时钟分钟、请求 ID塞进静态块或工具列表——上下文块可以放前四种请求 ID 则哪里都不该放用 set/dict 不排序地迭代进提示词或 schema顺序随机 字节随机在对话轮内重建静态文本或工具列表而不是在构造函数里一次构建两个运行时都在__init__中构建_static_system与_tools之后只渲染动态块把滚动标记持久化进会话历史导致每轮多一个标记前缀短于模型的最小可缓存长度写了也读不回在运行中的部署上开关(prompt)字段或技能——每个都意味着重新部署。另外有两个有意跳过标记的场景单条消息的首次调用一次性会话只付写、无读以及tool_choice非auto的强制轮tool_choice是消息区间的键强制轮写入的条目后续 auto 轮读不到但系统/工具区仍会命中。验证方法不靠猜靠测试和计数器单元测试双保险。tests/test_role_registries.py 对每个角色构建两遍提示词和工具并逐字节比较检查缓存标记位置并断言所有非提示词设置改变后字节不变commerce-common/tests/test_prompt_assembly.py 覆盖块构建、上下文时钟同一小时内10:02与10:58渲染相同字节、滚动标记的前滚与清除、以及两个跳过场景tests/test_turn_loop.py 把两个角色的对话循环钉死在同一组块、标记与干净历史上。每个部署应带同样三项检查。线上看三个数。每轮turn_complete事件携带usage由 commerce-common/commerce_common/turn.py 的usage_totals汇总本次各次调用的四项计数与elapsed_ms每次模型调用也会通过log_model_call记一行含同样计数器的日志。值得按配置版本持续跟踪的指标cache reads 占输入 token 的比例核心省钱指标elapsed_ms与每轮模型调用次数第二轮对话的 cache read 为零 前缀变了这是最直接的故障信号部署环境实测。跑一次三轮对话读第二、三轮的cache_read_input_tokensscripts/smoke_chat.py 会直接打印 cache read 计数。任何重写请求的代理或重试层只会在这里暴露别无他处。快速上手跑起来亲眼看到缓存生效环境要求 Python 3.11 与 Node 22。仓库地址https://gitcode.com/gh_mirrors/co/commerce-agentsgit clone https://gitcode.com/gh_mirrors/co/commerce-agents cd commerce-agents pip install -r requirements.txt cp .env.example .env # 填入 ANTHROPIC_API_KEY (cd examples npm ci) python scripts/run_demo.py retail # API :8000 商城前端 :3000启动后与购物助手连续对话两轮以上观察 scripts/smoke_chat.py 或运行日志中的cache_read计数第二轮开始明显上涨就说明静态/动态分离与滚动断点在工作。完整目录结构、部署到其他平台Vertex AI、Bedrock 等见 docs/deployment.md 与 README.md。小结commerce-agents 的 Prompt 缓存实践可以浓缩为四条经验稳定前缀 动态尾巴工具与静态系统文本字节级恒定每请求内容全部进第二个 system 块三个断点覆盖全前缀最后一个工具、静态文本、滚动到最新持久化消息警惕隐形字节不排序的集合、分钟级时钟、请求 ID、运行中改配置都是击穿点验证先行两次构建逐字节比较的测试 cache read 比例监控让省没省钱一目了然。这套模式不依赖特定业务任何多轮对话型 Agent 都可以照搬——把前缀做到字节级稳定成本与延迟的下降会自然发生。【免费下载链接】commerce-agentsReference blueprint for building shopping and merchant agents with Claude. Examples in retail, commerce, telecom, and entertainment included.项目地址: https://gitcode.com/gh_mirrors/co/commerce-agents创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关新闻

2027 自律打卡 App 完整功能清单:任务、习惯、时间与数据可视化全解析

2027 自律打卡 App 完整功能清单:任务、习惯、时间与数据可视化全解析

1. 引言 自律打卡类 App 的核心价值,是把「目标 → 行动 → 反馈」闭环产品化。本文基于一份完整功能清单,梳理任务管理、习惯养成、时间管理、目标管理、数据可视化、激励反馈、笔记反思、系统个性化、社交监督、健康联动十大模块,并补充数据…

2026/10/1 18:58:18 阅读更多 →
靶机打靶实战:ME AND MY GIRLFRIEND 渗透测试全流程

靶机打靶实战:ME AND MY GIRLFRIEND 渗透测试全流程

一、靶机简介与学习目标本次实战靶机为 ME AND MY GIRLFRIEND,通过完整打靶流程,可以系统掌握以下核心技能:了解 nmap 扫描以及端口的概念。了解 SSH 服务以及相关工具的使用。了解 sudo 权限,并掌握 sudo 提权。二、主机发现在未…

2026/10/1 18:58:54 阅读更多 →
189PPT华为组织效能实战,从选好路到用好人:解密“五横四纵”打造企业增长飞轮的方法论

189PPT华为组织效能实战,从选好路到用好人:解密“五横四纵”打造企业增长飞轮的方法论

很多企业一谈组织效能,第一反应就是裁人、控编、压成本、抓绩效。但真正的问题,往往不在人少不少,也不在人忙不忙。而是战略、组织、流程、绩效、激励和人才没有形成一套互相咬合的系统。战略定了,组织没变。 组织调了&#xff0c…

2026/10/1 18:58:44 阅读更多 →

最新新闻

解决npm安装报错:淘宝镜像证书过期与npm源切换指南

解决npm安装报错:淘宝镜像证书过期与npm源切换指南

下午三点,新同事抱着电脑来找我,说是Node.js装不上,终端里躺着一行红色报错。我看了一眼,发现是那句眼熟的npm error request to https://registry.npm.taobao.org/cnpm failed, reason: certificate has expired。这个报错我在过…

2026/10/1 19:44:19 阅读更多 →
Spring Boot + MyBatis + PostgreSQL 实战指南:从选型到上线避坑

Spring Boot + MyBatis + PostgreSQL 实战指南:从选型到上线避坑

在 Java 后端这一摊子里,Spring Boot 早就成了事实上的标配,而说到持久层框架,MyBatis 和 JPA 两派之争从来没停过。我这两年做过的项目中,凡是要精细化控制 SQL、要针对复杂查询做深度优化的,最后几乎都落在了 Spring…

2026/10/1 19:44:19 阅读更多 →
Servlet 核心原理与实战:从 Tomcat、Maven 到调用大模型 API

Servlet 核心原理与实战:从 Tomcat、Maven 到调用大模型 API

很多人学 Java Web 的路子是从 Spring Boot 起步的:新建一个工程,写个RestController,跑起来就能返回 JSON,舒服得让人误以为 Web 开发本来就这么简单。直到某天线上出了个诡异问题——请求参数莫名其妙丢了、过滤器顺序不对、静态…

2026/10/1 19:44:19 阅读更多 →
连接条件下推优化:基于代价模型的数据库查询性能提升实践

连接条件下推优化:基于代价模型的数据库查询性能提升实践

1. 从“跑得动”到“跑得快”:SQL慢在哪,连接条件为何成了活靶子先把话说在前面:这项目不是为了炫技,也不是为了搞一个理论上好看但在生产环境里根本不敢开的特性。它就是冲着真实业务里最常遇到的那类痛点去的——两张表甚至多张…

2026/10/1 19:44:19 阅读更多 →
Git忽略机制全解析:.gitignore与.git/info/exclude的优先级和实战

Git忽略机制全解析:.gitignore与.git/info/exclude的优先级和实战

做Git项目最烦的事情之一,就是 git status 一刷出来,满屏的 untracked files: node_modules 、 target 、 .idea 、 *.class 、 .log ,又占地方又晃眼。更坑的是,你明明只想提交自己的代码,手一…

2026/10/1 19:44:19 阅读更多 →
显存不够?先测量再决策:LLM训练优化实战

显存不够?先测量再决策:LLM训练优化实战

做 LLM 训练调优这几年,我最大的感觉是:很多人一碰到显存不足就急着改代码、调参数,甚至直接换大卡,却很少有人先做一件事——把显存占用“测”清楚。这篇是“大模型显存优化篇”的 task3,核心就两个字:测量…

2026/10/1 19:43:18 阅读更多 →

日新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →

周新闻

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解

如何划分训练/验证集:Spirula Studio五种eval_mode策略详解 【免费下载链接】spirula-studio Cross-vendor 3D Gaussian Splatting trainer - video to splat to mesh, Vulkan or CUDA. 项目地址: https://gitcode.com/GitHub_Trending/sp/spirula-studio Sp…

2026/10/1 19:40:48 阅读更多 →
SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南

SEO怎么推广速查手册新手避坑实战指南 模板网站太丑不够用?别急着加滤镜,那是治标不治本。很多老板盯着后台流量掉得眼红,却还在纠结首页Banner的圆角是不是3像素。这就像穿着西装去挖土,姿势不对,努力白费。我整理这份 速查手册…

2026/10/1 19:41:40 阅读更多 →
FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏

FireRed-OpenStoryline少样本仿写深度解析:AI Agent如何复刻你的独特文案风格与节奏 【免费下载链接】FireRed-OpenStoryline FireRed-OpenStoryline is an AI video editing agent that transforms manual editing into intention-driven directing through natural language …

2026/9/30 13:14:49 阅读更多 →

月新闻

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

我发现了一个新思路:用 Remotion + Claude Code 像写代码一样自动化生成短视频

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

Windows下 Codex 中 Chrome 和 Computer Use 插件不可用问题排查及解决参考方式:TaoToken 统一 Key 配置与验证

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 0:00:30 阅读更多 →
黑夜航拍船只数据集训练YOLOV5模型全流程解析

黑夜航拍船只数据集训练YOLOV5模型全流程解析

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

2026/10/1 1:01:17 阅读更多 →