Token导航 LogoToken导航TokenDH.com

Agent的下半场:缓存带来的不可思议有效性

更新时间 2026-05-25来源 BubbleBrain正文 3728字阅读约 12分钟

这是Bubble2026年的第58篇更新

Hello,大家好!

我不知道有多少小伙伴关注过一个问题,

同样的模型,放在不同的Agent里,做同样的任务,价格波动会相差很大。

为什么?

因为不同的Agent设计思路,导致了缓存命中率不同

那在讲为什么不同的Agent 会导致不同的缓存命中之前,我想先尝试用一个非常简单短小例子来给可能还不太懂的小伙伴解释一下什么是缓存。 

什么是缓存? 

比如,你去一家奶茶店点奶茶。

你第一次去这家店,因为是新来,肯定需要跟店员说,“我要一杯冰淇淋红茶,加椰果、大杯,七分糖” 。

店员会一一记下来,给你做。但是如果你第二回、第三回、甚至第四回来这家店了,店员都认得你了,聪明的他肯定就会直接说,“还是老样子?” 如果正好,你某一天突然还想加个蛋糕,店员就会记下,说,“OK,老样子,加个蛋糕。”

这其实就是缓存。

第一次完整处理,后面重复的部分直接复用。这样处理的速度和效率都会高很多。

有心的小伙伴一定会在各个模型厂商的文档里看到类似于缓存命中后的价格这样的描述。通常命中缓存之后。价格都会比较低。

比如这是DeepSeek的(来,让我们感谢梁圣==):

当你的输入命中缓存之后,DeepSeek-V4-Flash 和 DeepSeek-V4-Pro的价格约等于不要钱。。。

那这时有的小伙伴就一定会问,到底怎样尽可能命中缓存达到这样不要钱的价格呢?

这里其实就涉及到Agent 设计里,各种上下文工程的编排了。

怎么才能命中缓存?

我自己因为也做过Agent 的相关开发,所以一直有一个暴论是,

设计好一个Agent,就跟设计系统是一样的 。

因为Agent 的内部其实有非常多的模块。

举个例子,一个正常的Agent里涉及了系统提示词、能调用的工具、MCP、Skills、用户发的消息、历史消息、压缩摘要等等。

而这里面很多东西它都不是静态的,它通常涉及到各种动态的拼接。比如当前的日期、运行的环境、使用的模型ID等等等等内容,

举个例子,如果日期在系统提示词的位置非常靠前,那因为它是动态的关系,在它之后的这些token都不能算做缓存了。也就是说,本身应该命中一段的缓存,因为一个新的日期就失效了,成为了新的内容,那自然产生的费用就会很高。

所以,简单来说,我们要尽可能的保持送给模型的东西中尽可能的增加稳定性和不变性,把动态的东西往后面放放。

OpenClacky 怎么样? 

我这两天刷到GitHub上有一个项目叫OpenClacky,它是一个完全开源的Coding Agent。

主打的就是通过提高缓存命中率来帮用户省钱省token 。

Agent 的下半场除了比拼的是谁能做出更好的模型之外,还要比的是谁能真正帮用户省钱啊,朋友们。

OpenClacky 专门做了一次Benchmark,找了Claude Code、OpenClaw、Hermes 来进行对比。同样的Prompt 、同样的Claude Opus 4.7、同样的Skill配置来做相同的任务。

可以看到OpenClacky和Claude Code 的成本完全和OpenClaw 和  Hermes 不在同一个水平。

再深一步看 Claude Code 和 OpenClacky。Claude Code 缓存命中率更高其实(自家的模型优化处理的效果就是好啊==),但是因为在这任务上请求数更多,所以最后的总花费也比OpenClacky更高。

而为了感受一下OpenClacky 的上下文处理到底能有多省钱,我也亲自体验了一下。

OpenClacky 的配置非常齐全,有TUI版本,还有WebUI版本的对话界面,甚至包括像飞书、企微、钉钉等这样的IM管理都做了。

OpenClaw 引领的那一波IM管理对话Agent 的方式也在OpenClacky上可以实现了。

TUI 的版本是用Ruby写的,主打一个轻量化。安装方式很简单:

Mac 端:

    /bin/bash -c "$(curl -sSL https://raw.githubusercontent.com/clacky-ai/openclacky/main/scripts/install.sh)"

    Windows:

      powershell -c "& ([scriptblock]::Create((irm 'https://raw.githubusercontent.com/clacky-ai/openclacky/main/scripts/install.ps1')))"

      桌面版本也可以直接在Git 或者官网下载。

      而且OpenClacky支持直接官网API KEY 购买配置。可以使用Claude 和 DeepSeek 系列的模型,

      或者你也可以用自己的API KEY,选择自己喜欢的模型,也是一样的。

      我是直接官网买了20刀,用Claude Opus 4.7 体验。我先给你一个最狠、最直接、最不绕弯子🐶的感受是,

      这绝对是我体验过最耐用的Claude Opus 4.7。

      大家用过20刀订阅的Claude Code、Codex、Hermes、OpenClaw 都知道这多不禁蹬了。通常一个功能还没搞定,就已经开始限制了,甚至为了能完成这项任务,还要费劲心思切更差一点的模型等等。

      一晚上用OpenClacky帮我开发了几个产品上的功能,只花了10多刀。

      理论上如果你是用DeepSeek这种价格屠夫的话,爽用是没什么问题的。

      而且我发现OpenClacky 做的非常好的点是,它会在Agent 每次完成响应之后,会统计出缓存的命中率以及复用的token数量,还有完成这一任务的花销等等。

      真的对用户来说非常的透明。

      还有还有,每次一个任务结束之后,OpenClacky会自动做两个方面的检查,一个是分析这个完成的任务是否可以提炼成一个Skill,给之后做复用;还有一个是看记忆模块是否需要更新。

      这两个流程是让Agent 越来越好用,以及越来越懂你的关键。比起手动显示的命令让Agent 记忆,和提升,这种无形的处理,才更符合人们对于Agent的期望。

      我翻了翻OpenClacky的代码, 发现还有一个非常特别的点是,它只内置了16个工具。

      为什么是16个?

      因为与之对比的是,Hermes 有足足52个工具,OpenClaw有23个工具,Claude Code 也有40多个工具。

      工具越多,代表着变量越大。

      对于一个Agent 来说,如何给他选择合适的工具其实非常关键。

      我还是尝试用一个简单的例子来说明为什么工具对于Agent 的运转来说,非常重要。

      你让一个实习生去你家修东西。你给他三种选择。

      第一种,只给一把螺丝刀。

      那肯定不够用,对吧。他去到你家发现,好家伙,我要量尺寸,要切木材,要拧螺母。然而手里只有一把螺丝刀,什么都干不了。

      表面上看,他虽然是轻装上阵了,但是啥活也干不了,每干一步,都要来问你,这步该怎么办,那成本就增加了。

      第二种选择,你给他巨多工具,你想着,这下肯定没问题了。结果他一到现场,发现想要量尺寸,结果背包里找出三把尺子,那他就要看说明书,去看这每把尺子有什么区别。。有的不懂的,甚至还要来问你。这样时间一长,成本又增加了。

      第三种选择,你给的工具正好。这下他就在现场如鱼得水了,也不用动不动就来烦你。

      所以,放到 Agent 里也一样。每一个工具通常都会有一大段说明:有工具名称、工具用途、参数格式、输入限制、返回格式、使用注意事项,错误处理方式等等

      这些工具说明会被塞进上下文里。

      工具越多,Agent 每一轮请求前面就越重。

      这会带来两个问题:

      第一,输入 token 变多

      你哪怕只是问一句“帮我改个颜色”,模型也要先读一堆工具说明。

      第二,缓存更容易丢掉

      如果你的工具列表经常变,那就非常容易导致缓存失效了。

      那为什么OpenClacky 只要16个工具就够了呢?

      因为他们在这16个工具中有一个关键的工具叫Invoke_Skill。 

      这里非常巧妙的是OpenClacky把很多的能力都做成Skills,而不是工具。

      核心的一个原因就是,Skills是动态按需加载的。所以只要当有这个需求的时候,OpenClacky 就会通过Invoke_Skill 这个工具去加载需要的Skills。

      举个例子,很多开发者会专门给Agent 记忆的写入、读取、搜索制作工具,(包括我自己有的时候也是==),比如叫memory_read或者memory_search等等,但事实上,在OpenClacky中,这些其实是可以通过Skills 来替代的。

      这个想法确实非常聪明! 

      最后写点

      体验完OpenClacky这个Agent 之后,

      我其实就是有一个非常强烈的感受,

      过去我们总是在追问模型够不够强,却很少认真追问一次任务到底该不该这么贵。

      Agent 的竞争,模型的能力当然重要,但每次任务成本的考量也不能够忽视。

      缓存命中率、工具数量、Skill 加载方式、记忆更新机制,这些看起来很工程化的细节,最后都会变成用户钱包里的真实数字。

      真正好的 Agent,应该让强模型变得可持续,让用户敢用、常用、放心用。

      因为 AI 产品走到最后,省下来的每一个 token,其实都是体验的一部分。

      我是真的很开心看到,终于有做Agent 的团队开始关注用户的钱包了!

      OpenClacky 给我的最大启发其实是:

      当一个 Agent 开始考虑认真替用户省钱,它也正在慢慢变成一个真正值得长期协作的系统。

      文章标签智能体
      资讯来源:由AI资讯编辑整理自互联网公开内容,版权归原作者所有,未经许可,不得转载。

      继续浏览更多资讯

      返回资讯目录

      相关资讯

      更多