分享一个Agent开源项目,把KV Cache玩出了花,任务成本可降到Hermes的1/6
现在各种Agent框架泛滥,很多时候我们Token的消耗,大部分都花在了输入侧。
系统提示词、工具定义、skill 描述、历史消息、文件内容、网页快照、压缩摘要,这些东西只要进入上下文,每一轮都可能参与计费。
今天就给大家分享一个Agent开源项目-OpenClacky,
真是把Prompt Cache玩出了花,把agent任务的成本打到极低,
从官方对比报告,相当于OpenClaw的1/3、Hermes的1/6,比Claude也是便宜一些。
并且这个项目不是那种Demo,各项功能都比较完善,
可本地运行,开源MIT 协议,有 CLI、Web UI、多 Session、Skill、浏览器自动化,也接了飞书、企微、微信这些国内IM等。
我是直接拿我开源模型月报整理来做的对比,确实比OpenClaw花费要更少。
OpenClacky是如何做到的呢?
先从system prompt说起,
都是到系统提示词,在一个session里,加载了就不要动,
因为对prompt cache来说,前缀越稳定,后面复用率就越高。
但对于Agent系统来说,日期、文件目录、模型信息、更新的skill等本身就要更新到系统提示词中,
这样能让模型效果更好,但就会失去缓存命中。
OpenClacky则增加了一个session context模块,存放日期、模型、系统、路径等信息,
而system prompt保持session中永远不变,
相当于把静态规则和动态状态分开了,静态的东西适合被缓存,动态的东西适合被更新。
当然,这种情况下,如果用户新装了一个skill的话,那么很难被识别,
因为系统提示词中缺少对应的name、description等信息,可能触发skill的调用频率会变低,
OpenClacky的解法是,
通过一个invoke skill来发现对话中提到的skill的名称、描述等信息,自行去调用提到的skill内容
然后再去调用。
---
name:invoke_skill
description:Invoke a specialized skill to handle specific tasks. Use this when user's request matches a skill's description (e.g., code exploration, document creation, etc.). This will read the skill's instructions and execute them appropriately (either inline or in a subagent).
---
你可能觉得跟Claude Code的ToolSearchTool差不多,
但还是有很大的不同,
invoke skill不单单是检索skill,它其实是启动了一个sub agent,
并且对于main agent来说,最后只会拿到结果,在整个history中是不会有其他一些冗余信息的,
就可以极大的减少上下文长度。
并且,OpenClacky中内置可靠的工具只有16个,这也本身会极大减少上下文长度,
PS:OpenClaw 23、Claude Code 40+、Hermes 52.
然后是压缩,采用Insert-then-Compress
与其他Agent压缩,另起线程让其他模型整理不同,
OpenClacky直接在当前session 的末尾插入一条压缩指令,让当前会话自己把前面内容整理掉,极大程度利用前面的cache内容。
压缩之后,再把history组成更短的结构:system prompt、summary、最近若干消息。
虽然这也会带来一次新的缓存状态变化,
但相比于新起线程直接吃掉所有上下文,还是减少很多消耗的。
还有当用户3分钟没有进行输入时,为了防止cache因无请求过期,并且history 上下文超过一定程度时,就会触发压缩机制。
主要还是节省长思考间隙下的cache缓存消失的问题,长上下文warm的费用要高度缓存摘要+短上下文warm。
OpenClacky还有一个很细的 cache marker 设计。
在给消息加 cache 标记时,不是只盯最后一条,会处理尾部两条。
可以解决,调用工具失败等场景需要单步回退的操作,
但是要注意marker不能标记在session context模块上(一次性信息,下轮丢失,会导致缓存位置不对)
最后,
你可能觉得这些改动没什么,
但在Agent时代,可能一个小的trick就可以节约大量的成本。
多一个常驻工具,多一段没用的 skill 描述,多一次 system prompt 改写,多一轮缓存,多一段没有压缩的浏览器 snapshot。
每一处都不致命,叠在一起就很贵。
所以OpenClacky真的值得看一下,
好好研究一下底层逻辑。
#how i ai##ai创造营#
