00:00 / 01:47
连播
清屏
智能
倍速
点赞12
00:00 / 00:46
连播
清屏
智能
倍速
点赞40
教你最大化Claude Code缓存命中来节省token 之前两期讲了Prompt Cache怎么省token、breakpoint怎么命中。这期反过来讲:什么动作会让cache直接报废,怎么用才能最大化命中率。 先给一个心法。 把每个请求想成一根从左到右的链条:tools → system → CLAUDE.md/skills → messages。改哪一段都会让cache失效,区别只在影响范围:改左边的从这段往右全部跟着废,改右边的只伤自己那一段。所以越靠左越要锁死。官方三级失效层级表(tools/system/messages)就是这个原则的精简版(CLAUDE.md严格来说在messages层,单独抽出来是因为它最常被改)。 4个日常杀手,按它们出现在链条上的位置从左到右排: 1. 切 /model —— 最左。每个模型独立的KV cache,跨模型完全隔离。Opus跑了10万token再切Sonnet,反而比继续用Opus更贵。非要切?正解是用subagent隔出去跑(Claude Code的Explore agent就是这么干,用的Haiku) 2. 装新MCP —— tools层。装一个新MCP,tools数组就多几个工具,链条最左边一动,下面system+messages连锁失效(三层全废)。但MCP只在Claude Code启动时读一次,session内装新MCP不影响当前session——真正的杀手是 /resume 或 /reload-plugins,触发重读后tools数组重组,之前cache全丢 3. 改CLAUDE.md 或装新 skill —— messages层。CLAUDE.md 是 user 消息(052已实证),skill 列表也注入在 messages[0]——都只在启动时读一次:改完文件或装完 skill 别 /resume,否则 messages 整段重建 4. idle超过5分钟 —— TTL过期,服务器直接删条目 每个杀手都给出怎么避免:MCP/hook 启动前一次配好;长任务前 `export ENABLE_PROMPT_CACHING_1H=1` 把 TTL 延到 1 小时。 #claude #AI工具 #张司机 #个人开发者 #命令行
00:00 / 04:16
连播
清屏
智能
倍速
点赞196
Claude提示词缓存 Prompt Caching算法详解 之前的视频我们介绍了Claude Code如何利用Prompt Caching节省token的。这次我们深入讲解一下Claude Code客户端在请求里明文写的cache_control标记是如何工作的。 cache_control有两种用法。Automatic自动模式,请求顶层放一个字段,服务器自动给最后一个block打1个breakpoint,简单粗暴。Explicit明确指定,自己往block上挂,最多4个,位置自己挑。Claude Code用的是Explicit,3个breakpoint的位置全是它自己选的。3个分别标在system数组第2项末尾、第3项末尾、最新user消息末尾。前两个是稳定锚点,第3个是游标,每轮跟着最新输入往后跑。 3条核心原理: 原理1:缓存只在breakpoint位置写,写的是从头到这里的累积prefix。所以29个tools没标cache_control也被缓存——蹭system[1]的车一起打包写进去。 原理2:读的时候在breakpoint位置查不到,往前一个block查,最多查20个。它找的是"之前写过的条目",不是"现在稳定的内容"。 原理3:20格上限。超过就放弃。 官方博客Thariq的"Prompt Caching is Everything"分享了Claude Code围绕缓存的几个设计:分层(静态在前动态在后)、Plan Mode做成两个工具而不是swap工具集、Tool Search用defer_loading发轻量存根、compact共享原session的system+tools+history做前缀。两条提醒:不要中途切模型(缓存按模型分隔),不要中途改MCP/hook(整段前缀重来)。 #claude #个人开发者 #命令行 #AI工具 #张司机
00:00 / 06:46
连播
清屏
智能
倍速
点赞248
00:00 / 00:10
连播
清屏
智能
倍速
点赞329
00:00 / 01:20
连播
清屏
智能
倍速
点赞2589