On-disk history 不动
JSONL 里的记录还在,像书柜里的故事书没有被撕页。
Concepts 导读
Session Pruning 在每次 LLM 调用前自动删除过时的工具输出(如执行结果、文件读取),只保留最近 3 轮完整对话。它不会动磁盘上的会话记录,但能显著减少上下文膨胀,尤其适合 Anthropic 的 prompt caching——缓存过期后重新写入时,裁剪过的 prompt 更小,直接省钱。
先讲这一页到底在解决什么
Session Pruning 在每次 LLM 调用前自动删除过时的工具输出(如执行结果、文件读取),只保留最近 3 轮完整对话。它不会动磁盘上的会话记录,但能显著减少上下文膨胀,尤其适合 Anthropic 的 prompt caching——缓存过期后重新写入时,裁剪过的 prompt 更小,直接省钱。
先分清
官方第一句就很关键:pruning 只改请求时送去模型的上下文,不会改磁盘上的 session 历史。
JSONL 里的记录还在,像书柜里的故事书没有被撕页。
只是模型那一轮看到的东西变轻了,像把书桌上的材料减薄。
这个模式像“缓存过期后再先修剪一下”,避免下一次重新缓存时背太多旧纸。
它是模型前面的临时收纳,不是历史文档的永久删改。
什么时候剪
官方把触发条件写得非常明确。翻成人话,就是“这次真的需要了再剪”。
mode: "cache-ttl"像把剪纸规则挂出来:只有走这个模式才会裁旧纸。
像说“上次缓存已经过期了,那这次先裁一点再重新上桌”。
一旦裁过,新的缓存窗口就重新开始计时。像刚裁好,桌面又变整齐了。
官方写得很直白:这个裁纸工,只在 Anthropic API 和 OpenRouter Anthropic 模型这条线上工作。
为什么有用
这部分就是成本故事。它不是神奇变快,而是帮你少背一点旧东西,让缓存重写时轻一点。
第一次过 TTL 后的那次请求,重新写缓存时会更轻。
官方特地提醒:pruning 不是额外加钱,而是换一种更聪明的上下文形状。
裁过一次以后,下一轮 follow-up 就能继续吃新的缓存,而不是反复背很重的旧包。
它省的是缓存写入,不是拿历史开刀。
能剪什么
这页最实在的地方在于边界很明确:不是所有消息都动,只有 toolResult 才在可裁范围里。
toolResult像只裁工具台上堆太厚的旧纸,不碰用户和助手的原话。
最后几段助手话不剪,像把最近几页作业本留在桌上。
带图的纸不能随便裁,官方直接让它跳过。
一个像把长纸条头尾留下,中间折掉;一个像整张旧纸直接换成“已清理”的占位牌。
怎么配
官方给了一整套默认值。把它看成“裁纸机面板”就好读很多。
ttl像规定这张缓存票多久后会失效,默认 5 分钟。
keepLastAssistants像规定最近几段助手内容必须留着,默认留 3 段。
softTrim像裁纸时留头留尾,别把整张纸都扔了。
hardClear像实在太厚就直接换成“这里已经清掉了”的占位卡。
最后总结
Session Pruning 就是在模型开工前,把过旧、过厚的工具结果先裁一裁,让 Anthropic 的缓存更轻一点,但又不碰磁盘上的完整故事书。
如果你想看“模型怎么通过一组小工具去看会话、发消息、开分身”,下一页可以去 /concepts/session-tool。