子代理 5 分钟缓存过期烧光额度,一行配置让缓存写入省 75%

Schadz · reddit · 2026-09-18

一位 Reddit 用户排查了 Claude Code 订阅额度被快速烧穿的问题,发现根源是子代理的 prompt 缓存默认只有 5 分钟 TTL(主会话是 1 小时):只要子代理执行任何超过 5 分钟的工具调用(测试、构建、git hook),缓存就过期,下一次请求会以 1.25 倍价格全量重写上下文——实测单个子代理上下文可达 30 万60 万 token,一天内 5 个子代理共重写 26 次、写入 1220 万 token,吃掉大半额度。

修复方法:在 /.claude/settings. 加 "subagentPromptCacheTtl": "1h"(或环境变量 CLAUDECODESUBAGENTPROMPTCACHETTL=1h),需 Claude Code v2.1.242+;超出套餐限额走付费额度时主会话也会降为 5 分钟,可再加 "promptCacheTtl": "1h"。作者改后同样工作量缓存写入减少约 75%。

自查方式:查看 /.claude/projects/<project>/<session>/subagents/agent-<id>.l,若 cachecreationinputtokens 反复出现同样的大数字且紧随长工具调用,就是重写;ephemeral5minputtokens 与 ephemeral1hinputtokens 可区分写入的缓存生命周期。

原文链接 →

「编程与Agent」频道最新

更多「编程与Agent」频道 AI 资讯 →