news 2026/10/8 16:38:54

省钱又提速:OmniBot Prompt Cache提示词缓存命中机制深度剖析

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
省钱又提速:OmniBot Prompt Cache提示词缓存命中机制深度剖析

省钱又提速:OmniBot Prompt Cache提示词缓存命中机制深度剖析

【免费下载链接】OmniBotYour on-phone / mobile AI Agent / Claw, capable of operating terminals and performing a wide range of tasks in the Android world || 你的手机 AI 代理,她可以操作终端,也可以完成 Android 世界的广泛任务项目地址: https://gitcode.com/gh_mirrors/op/OmniBot

OmniBot 是一款跑在安卓手机上的 AI Agent,既能操作终端,也能完成 Android 世界的广泛任务。它内置的 Prompt Cache(提示词缓存)命中机制,让每一轮对话里重复的上下文"免费复用",在省钱的同时显著提升首响应速度。本文带你搞懂它是怎么工作的。

为什么 Agent 每发一条消息都要"重新读全文"?

和普通聊天不同,OmniBot 这类 Agent 每轮请求都会携带很长的前缀:系统提示词、工具定义(一次可能多达 58 个)、历史消息、记忆与技能索引等,单条请求轻松突破 10 万字节。如果服务商对重复前缀不做缓存,每轮都要全量计费、全量推理,既贵又慢。

而只要请求前缀与上一次保持一致,服务商就能返回cached_tokens(缓存命中 token 数),这部分通常大幅降价甚至免费,响应也更快。OmniBot 的 Prompt Cache 机制,就是为了让这个命中"尽可能稳定发生"。

命中机制拆解:三步设计

第 1 步:为每段对话生成稳定缓存键

核心实现是 PromptCacheKeyStore.kt,它按"安装范围 + 会话 ID"拼出一个匿名稳定键:

omnibot:v1:<20位随机十六进制安装范围>:conversation:<conversationId>
  • 稳定:同一会话内,键在整段生命周期不变,缓存才能持续命中;
  • 隔离:20 位随机安装范围由 UUID 派生并持久化,避免两台手机上恰好都叫"会话 1"的用户被路由到同一个缓存命名空间;
  • 隐私友好:键里不含账号、设备、提示词或 API 密钥等任何敏感数据,且长度被控制在 64 字符以内,兼容网关的标识符长度限制。

第 2 步:每次请求自动携带缓存键

用户消息进入执行器时,OmniAgentExecutor.kt 的processUserMessage会调用PromptCacheKeyStore.forConversation生成键,并作为 OpenAI 扩展字段prompt_cache_key随请求发出。响应中的cached_tokens则用于用量归属与统计。

第 3 步:兼容性保护,只发给"认"这个字段的接口

并非所有 Chat Completions 网关都接受prompt_cache_key——曾有服务商直接返回400: 未知请求字段。OmniBot 的策略是:

  • 官方 OpenAI 接口:默认保留该字段;
  • 其他第三方 / 本地接口:发送前自动移除顶层prompt_cache_key,避免请求整体失败;
  • 本地仍保留身份标识用于用量归属,不改消息、不改密钥、不加重试。

相关修复记录见 prompt-cache-key-compatibility-2026-09-06.md,请求出口的过滤逻辑位于 HttpController.kt。

实测数据:命中率达到 99.8%

开发团队在同一台手机、同一接口、同一模型下,用固定约 13k token 前缀做了顺序对照实验(完整记录见 prompt-cache-hit-verification-2026-09-07.md):

请求prompt tokenscached tokens命中率响应头耗时
无键 11295900%8.4s
有键 11295912928≈99.8%1.9s
无键 21295200%3.4s
有键 21295912928≈99.8%10.9s

结论很清晰:携带稳定缓存键时,前缀几乎全部命中;缺省时该接口不命中。而带键首次命中时,响应头耗时从 8.4s 降到 1.9s——提速效果肉眼可见。

⚠️ 诚实的工程注记:高命中并不意味着"必然快"。同一轮测试中,带键命中 99.8% 仍出现过 10.9s 等待;另一台设备在 cached 10368/10447 时仍等待约 16s。缓存修复解决的是"前缀重算"的成本,网关排队、模型推理等其他上游延迟需要单独排查(见 chat-start-latency-2026-09-07.md)。

用户如何用好缓存?

  1. 保持会话连续:同一会话连续追问,前缀天然稳定,命中最稳;
  2. 避免频繁改系统提示与工具集:中途修改会"打断"前缀,缓存前缀作废、重新全量计费;
  3. 技能按需展开:OmniBot 采用渐进披露设计,技能正文通过工具结果按需加载,而不是塞进头部消息——这正是为了不破坏整段会话前缀(实现见 OmniAgentExecutor.kt 注释说明);
  4. 模型配置保持稳定:更换模型或接口会进入新的缓存命名空间,首轮必然未命中。

OmniBot 生成 AI 图片等创作类任务同样受益于稳定的长前缀,缓存命中让连续创作更省更顺:

关键代码与文档索引

内容路径
缓存键生成器baselib/src/main/java/cn/com/omnimind/baselib/llm/PromptCacheKeyStore.kt
缓存键单元测试baselib/src/test/java/cn/com/omnimind/baselib/llm/PromptCacheKeyStoreTest.kt
请求出口与字段过滤assists/src/main/java/cn/com/omnimind/assists/controller/http/HttpController.kt
命中实验记录docs/prompt-cache-hit-verification-2026-09-07.md
兼容性修复记录docs/prompt-cache-key-compatibility-2026-09-06.md
启动延迟调查docs/chat-start-latency-2026-09-07.md

一句话总结:OmniBot 用"匿名稳定键 + 请求级字段 + 兼容性过滤"三层设计,把提示词缓存命中率稳定在 99% 以上,让手机上的 AI Agent 既省钱又更快——而它对"命中不等于必然低延迟"的坦诚测量,也值得每个做 Agent 的同学参考。

【免费下载链接】OmniBotYour on-phone / mobile AI Agent / Claw, capable of operating terminals and performing a wide range of tasks in the Android world || 你的手机 AI 代理,她可以操作终端,也可以完成 Android 世界的广泛任务项目地址: https://gitcode.com/gh_mirrors/op/OmniBot

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

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

RK3568适配YT8521S千兆PHY驱动实战指南

简介&#xff1a;本资源是针对RK3568平台适配YT8521S千兆以太网PHY芯片的完整驱动补丁包&#xff0c;面向嵌入式Linux内核开发者、BSP工程师及硬件驱动调试人员&#xff0c;解决RK3568在实际项目中接入YT8521S PHY时缺乏官方支持、链路无法建立或loopback测试失败等典型问题。压…

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

DeepSeek Harness桌面端实测:从安装到内网部署全解析

最近几天&#xff0c;好几处群都在传“DeepSeek Harness 出桌面端了”。说实话我第一反应以为是 DeepSeek 官方终于把对话窗口做成客户端了&#xff0c;结果装上之后发现完全不是一回事。我把这个桌面端从 Windows 到 Linux 完整扒了一遍&#xff0c;包括安装、启动、插件市场、…

作者头像 李华
网站建设 2026/10/8 16:34:43

PS5串流设置与优化全攻略:官方Remote Play与Chiaki实战

1. AnyPS5&#xff1a;为什么我非要折腾“随处玩PS5”如果你家里有一台PS5&#xff0c;大概率遇到过这样的场景&#xff1a;客厅电视被家人占着&#xff0c;游戏打到一半没法存档&#xff0c;好想换个房间继续。或者是躺在床上想刷两把《GT赛车7》&#xff0c;但主机在客厅、电…

作者头像 李华
网站建设 2026/10/8 16:33:49

从《猎马斗罗》看我的世界RPG服务器六年运营生存密码

六年时间&#xff0c;在《我的世界》服务器圈子里确实算"高龄"了。《猎马斗罗》从当年在联机侠平台上线一路走到今天&#xff0c;我眼看着身边一批批新服开张、爆满、又关停&#xff0c;它反倒一直还在&#xff0c;还有一群老玩家逢年过节自动回归&#xff0c;在群里…

作者头像 李华
网站建设 2026/10/8 16:33:15

DeepSeek Harness插件实战:从核心配置到内网离线部署指南

我一直觉得&#xff0c;DeepSeek Harness 这工具的精髓不在它自带的那个干净界面&#xff0c;而在它那套越玩越深的插件体系。不夸张地说&#xff0c;我本地跑了小半年&#xff0c;从最开始裸奔式地只用默认能力&#xff0c;到后来折腾出一整套属于自己的插件组合&#xff0c;体…

作者头像 李华
网站建设 2026/10/8 16:33:01

免模拟器让PS5游戏原生跑在PC上:AnyPS5转译层原理深度解析

前阵子社区里关于一个叫 AnyPS5 的转译项目的讨论突然热起来。核心卖点就一句话&#xff1a;PS5 游戏不用模拟器&#xff0c;直接在 PC 上以原生进程的方式跑&#xff0c;演示用的是《死亡细胞》&#xff0c;一款 2D 像素风格的 Roguelike 动作游戏。很多人的第一反应是“这又是…

作者头像 李华