news 2026/9/16 14:53:31

page-agent提示词缓存优化指南:cachedTokens如何帮企业省下API账单

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
page-agent提示词缓存优化指南:cachedTokens如何帮企业省下API账单

page-agent提示词缓存优化指南:cachedTokens如何帮企业省下API账单

【免费下载链接】page-agentJavaScript in-page GUI agent. Control web interfaces with natural language.项目地址: https://gitcode.com/GitHub_Trending/pa/page-agent

page-agent是一个纯 JavaScript 的页面内 GUI Agent,让 AI 用自然语言直接控制网页界面——点按钮、填表单、读页面,全部在浏览器里完成,无需浏览器扩展或截图识别。它天生适合做企业 SaaS 里的 AI 副驾驶,但每执行一步任务,就会把系统提示词和完整对话历史重新发给大模型。任务步骤越多、系统提示词越长,API 账单就越贵。好消息是:page-agent 已内置cachedTokens缓存命中统计,再配合各模型供应商的**提示词缓存(Prompt Caching)**能力,企业可以把重复计费的部分大幅打折,省下可观的 LLM 成本。

提示词缓存为什么能省钱?

先理解账单是怎么"烧"出来的:

计费项说明能否被缓存
输入 Tokens(prompt)系统提示词 + 对话历史 + 页面 DOM 文本,每一步都要重发✅ 可以
输出 Tokens(completion)模型本步的推理和动作❌ 不可以

Agent 类应用的特点是:多轮、长上下文、前缀稳定。前几十步里反复发送的同一段系统提示词和历史消息,正是缓存的"黄金命中区"。主流供应商对缓存命中的输入 Token 通常按1/10 甚至更低的价格计费——也就是说,一次长任务的账单可能直接砍掉一大块。

cachedTokens 从哪来:page-agent 内置的缓存命中率统计

page-agent 不需要你手动解析原始响应。它的 OpenAI 兼容客户端会自动从接口返回的usage.prompt_tokens_details.cached_tokens中提取缓存命中量,作为cachedTokens字段透出:

  • 字段定义:packages/llms/src/types.ts 中标注为Prompt cache hits
  • 提取逻辑:packages/llms/src/OpenAIClient.ts
  • 事件上报:每个 Agent 步骤的usage都会带上该字段,见 packages/core/src/types.ts

这意味着你的监控面板里可以做一个简单的健康指标:

缓存命中率 = cachedTokens ÷ promptTokens

命中率长期低于 50%,说明前缀不稳定(比如系统提示词里塞了时间戳、随机 ID),缓存几乎白开;命中率能稳定在 80% 以上,才是省钱的正确姿势。

最快配置方法:用 transformRequestBody 开启主动缓存

不同供应商的缓存开关不一样,page-agent 提供transformRequestBody钩子,让你在请求发出去之前注入缓存标记。官方文档在 packages/website/src/pages/docs/features/models/page.tsx,下面是最常用的两家:

Claude:一行请求体级 cache_control

Claude 支持全局自动缓存,只需在请求体顶层加一个标记:

transformRequestBody: (requestBody) => ({ ...requestBody, cache_control: { type: 'ephemeral' }, }),

阿里云百炼 Qwen:给 system 消息打标

Qwen 系模型需要把cache_control挂在 system 消息的文本块上:

transformRequestBody: (requestBody) => { const [systemMessage, ...rest] = requestBody.messages return { ...requestBody, messages: [ { ...systemMessage, content: [{ type: 'text', text: systemMessage.content, cache_control: { type: 'ephemeral' } }] }, ...rest, ], } },

💡 两个示例都来自官方文档的完整实现,直接抄即可。更详细的供应商差异,可看 transformRequestBody 配置说明。

省多少钱?一个粗略的账单估算

以一个典型场景算账:Agent 每步输入约 8000 tokens,一次任务 15 步,输入 Token 单价 $3/百万:

场景输入费用
无缓存120,000 tokens ≈$0.36 / 次任务
缓存命中 80%24,000 全价 + 96,000 按 1 折 ≈$0.10 / 次任务

单任务省约 70%。按企业每天 1 万次任务、长提示词场景,月度节省可达数万美元级——这还没算缓存命中带来的响应延迟下降(命中部分无需重新预计算)。

实操清单:5 步让账单降下来

  1. 确认你的模型支持缓存:OpenAI、Claude、通义千问等均支持,本地模型(Ollama 等)通常不支持
  2. 按供应商注入缓存标记:用transformRequestBody配置(见上文)
  3. 盯住 cachedTokens:把每步的cachedTokens / promptTokens画成监控曲线
  4. 保持前缀稳定:系统提示词里别放时间戳、随机值,把易变内容放到对话后半段
  5. 用 rawResponse 抽查:packages/core/src/types.ts 的调试字段可保留原始响应,验证cached_tokens是否真的在增长

相关文件索引

  • 缓存字段类型定义:packages/llms/src/types.ts
  • OpenAI 客户端缓存提取:packages/llms/src/OpenAIClient.ts
  • 步骤事件 usage 结构:packages/core/src/types.ts
  • 主动缓存官方文档:packages/website/src/pages/docs/features/models/page.tsx

一句话总结:page-agent 把cachedTokens送进了每一步的执行数据里,企业要做的只是打开供应商的缓存开关、盯住命中率曲线——API 账单自然会给出正反馈。

【免费下载链接】page-agentJavaScript in-page GUI agent. Control web interfaces with natural language.项目地址: https://gitcode.com/GitHub_Trending/pa/page-agent

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/16 14:51:45

STM32电导率仪设计:正弦波激励与DFT信号处理全解析

简介:一款基于STM32的电导率测量仪完整设计资料,面向电子、自动化、仪器仪表及计算机相关专业的毕设、课设和项目初期验证。项目以STM32F429为主控,外接电导率信号处理模块,设计正弦波驱动、滤波、放大与电压转置电路,…

作者头像 李华
网站建设 2026/9/16 14:46:13

Flink实时推荐系统实战:从行为流接入到相似度计算与链路调优

简介:基于Flink实现的商品实时推荐系统源码包,面向大数据流计算与推荐系统开发者,完整演示了从日志采集、热度统计到个性化推荐的生产级实现。系统依托Flink实时计算商品热度并写入Redis缓存,同时将用户画像与行为记录存入HBase&a…

作者头像 李华
网站建设 2026/9/16 14:46:10

Java病人挂号系统网站开发:基于Spring Boot的数据模型与并发控制

简介:面向Java初学者与Web开发者的病人挂号系统网站项目包,含完整源码、需求文档和演示视频,可一站式学习Java Web开发全流程。项目基于Java技术栈,涉及Spring Boot、Spring MVC、MySQL及前端技术,适合课程设计、毕业设…

作者头像 李华