为什么AI输入输出一句话,缓存读取和创建都是10k+,开销巨大?

meister 2026-06-07 00:08 1

rt,用的都是中转站,发现无论是桌面端还是cli都是缓存数非常大,重开新对话只问一句话比如 模型版本,也是如此: ^-^

最新回复 (14)
  • meister 楼主 06-07 00:09
    1

    换ds模型也是,基本都只是纯对话,没涉及项目全局分析..

  • wnluo 06-07 00:09
    2

    站点发出来我研究研究

  • Modyix 06-07 00:10
    3

    所有的agent都有预设的提示词

    再一个可能就是中转站的token计算有猫腻 ^-^

  • meister 楼主 06-07 00:10
    4

    @wnluo #2 站内的大站点

  • meister 楼主 06-07 00:10
    5

    @Modyix #3 安装的skill 会有影响吗

  • lotfree 06-07 00:11
    6

    缓存只有输入缓存吧?

  • at 06-07 00:11
    7

    检查一下本地skills和rules,官方建议是最多不要超过20个,这些会自动注入到回话中

  • meister 楼主 06-07 00:11
    8

    @lotfree #6 缓存读取 和 缓存创建

  • kitty-cat 06-07 00:16
    9

    我猜是预设skill比较多,可以抓个包看看

  • Pan 06-07 01:30
    10

    看看有无缓存命中吧,没有的话开销是会大,kv缓存和prompt缓存的概念可以了解一下;另外,要是我开中转想赚钱,赚的就是这个缓存命中的💰 ^-^ 再加一句,skill多了也不会影响很大的,skill本身被造出来就是为了减少token

  • WDAhyhy 06-07 01:36
    11

    应该skill和记忆吧

  • meister 楼主 06-07 02:56
    12

    @Pan #10 skills 大头就 superpowers 系列,不清楚会不会携带大量上下文进去

  • Pan 06-07 14:00
    13

    @meister #12


    先说下 skill 和 prompt 概念


    Skill 是先只加载 name + description(metadata),真正命中任务后才读 SKILL.md,需要更深内容时再读 references/ 或执行 scripts/;和传统 prompt 整段塞进上下文不一样。而且你一个 skill 启动的时候加载差不多 100 tokens,你想要 10k+ 的缓存读取,大概要 100+ skills;所以首先排除 skill 加载 metadata 可能导致的 缓存读取问题,不可能是 10k+。


    你说的 superpowers skill 系列



    • 应该是 https://github.com/obra/superpowers


    就这个skill来看,单个 metadata、单个 SKILL.md、以及按需 references 一般不像会单独撑到 10k+ tokens。


    不过你的 10k+ 缓存读取和创建还是有可能发生


    就像你说的,携带大量上下文。但是大概率是 整个请求前缀 = 系统提示词 + 工具定义 + 插件信息 + 所有 skill metadata + using-superpowers bootstrap + 项目上下文 + 历史对话 + 可能触发的 skill 内容 共同触发的结果。而且这只会针对第一次对话。


    然后你接着对话,后续请求会读之前缓存的部分,并把新增部分写入缓存,这里读取之前缓存的部分就是 prompt命中,缓存命中(对应你图中缓存绿色的部分)。


    如果每轮都发生就有问题了


    ️ 但如果你每轮都看到缓存创建 10k+(对应你图中缓存蓝色的部分),那说明你的缓存前缀可能经常变化,这就有问题了,一般不至于在一个对话中引入那么多新增的缓存部分;建议换个中转吧。


    ^-^

  • Pan 06-07 14:06
    14

    @meister #0 刚才说的第一张图,你 ds 的图蓝色的缓存没截到

* 帖子来源NodeSeek
返回