ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

别再被上下文超限搞社死|详解Claude Code五级压缩流水线

别再被上下文超限搞社死|详解Claude Code五级压缩流水线 文章目录前言1 五道关卡流水线从轻到重不瞎搞1.1 第0关超大回执先搬去“外接硬盘”1.2 第1级snip最老的历史先“收起来”1.3 第2级微压缩旧回执直接“打个标记”1.4 第3级折叠长对话直接换成“剧情简介”1.5 第4级自动压缩直接整成“一页工作总结”2 压缩也会翻车人家留了后手2.1 失败三次直接“熔断”2.2 压缩请求自己也可能撞顶3 缓存折扣这点账人家算得门儿清4 最金贵的是什么是你说的每句话5 最后说句实在的P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。前言用过AI编程工具的朋友大概率都碰过这个社死现场正跟它掰扯一个复杂bug前因后果刚讲完代码刚贴完它当场给你弹一句——上下文满了装不下了。这时候你就纠结了删点啥腾地方删系统提示它当场失忆连自己是写代码的还是陪聊的都分不清了。删前面的对话三分钟前你刚说的需求它转头就忘回头再问你一遍等于白聊。很多人到这就开始瞎删跟手机内存满了乱卸APP似的卸完才发现把微信给删了。但Claude Code不这么干。人家的思路很简单不能扔那就压。1 五道关卡流水线从轻到重不瞎搞别以为压缩就是一句话的事真到代码里这是一整条流水线。每调一次模型之前消息都要过五道关一级比一级下手狠。原则就一条代价小的在前代价大的在后。啥叫代价就是干完之后模型丢多少信息。能少丢就少丢实在不行再下狠手。就像你家里收拾东西先叠衣服再塞收纳箱实在放不下才扔旧东西。一上来就扔家具的那是搬家公司干的事。1.1 第0关超大回执先搬去“外接硬盘”第一关其实都不算压缩叫预算岗专门管刚进门的新内容。模型有时候一口气并行干好多活读五个文件跑两条命令搜一轮代码。一堆结果塞在同一条消息里分分钟就爆量。人家定了条规矩同一条消息里的回执加起来不能超20万字符。超了怎么办不是删是搬。就像你C盘满了不删文件把大电影挪去D盘桌面留个快捷方式。想点开看双击就有。占地方最大的回执整个存到本地磁盘文件夹里原位置只留个路径再加开头2000字节的预览。模型一眼扫完预览真需要全文照着路径一读就来一个字都不会少。最妙的是这一关只动还没发出去的新内容老内容一个字节不改。懂行的都知道对话每轮重发前缀不变服务器会给缓存折扣。老内容一动折扣直接没了等于白嫖的优惠没了。这一关完全不碰老内容相当于每轮白跑稳赚不亏。1.2 第1级snip最老的历史先“收起来”过了第0关还不够就到第一级snip。直白到离谱把最老的一段历史从发给模型的列表里直接拿掉。注意啊不是删掉是本地还完整存着只是不给模型看了。就像你微信聊天记录最早的斗图和废话先折叠起来最近的工作消息都留着。毕竟当下正在干的活上下文不能动。这里还有个很有意思的小细节。判断上下文满没满不是每轮都重新算token是拿上次服务器报的数当底数新消息粗估算往上加。但snip删的是最前面的老消息底数没跟着减算出来的数就比实际大。打个比方上次说你钱包里有150块你今天花了30又赚了20你按15020170算觉得钱够花其实你只剩140。所以snip干完活得专门报个数我这一趟腾出了多少空间。后面的关卡得先减掉这个数再判断要不要动手。想手动体验也简单敲个斜杠命令就行。1.3 第2级微压缩旧回执直接“打个标记”到第二级终于有点压缩那味儿了。啥叫微压缩就是只清旧的工具回执别的啥都不动。模型每调一次工具对话里就留一对它发的请求加工具返的结果。比如读文件整个文件内容都塞在回执里往后每一轮都原样发一遍巨占地方。微压缩干的事就是把这些旧回执的原文清掉换成一句占位符旧工具结果已清空。听着挺粗暴人家算得门儿清。能被清的全是结果可再生的工具读文件、跑命令、搜代码、抓网页。文件就在磁盘上命令能重跑网页能再抓。就像你电脑里的旧安装包你知道它在哪个文件夹不用天天放桌面上占地方。真要用的时候找出来双击就行。而且也不全清最近5笔回执完完整整保留着更早的才动手。还有个很鸡贼的触发条件距离上一次模型响应超过60分钟也顺手清一轮。为啥等60分钟等服务器端的缓存自己过期啊。这时候再改老内容一分折扣都不亏算盘打得我在这都听见了。1.4 第3级折叠长对话直接换成“剧情简介”再往上就是第三级折叠。这一级就聪明多了又长又旧的一段对话不直接删换成一段短摘要发给模型。原文原封不动存在本地半个字不改。啥意思呢就像你看几十集的电视剧后面复盘剧情不用从头再看一遍看个剧情简介就行。关键信息都在省时间。人家叫“读时投影”完整历史只有一份发给模型的内容是每次发送前照着折叠记录现拼的。就像你看书书签夹在哪就从哪看书本身没撕没剪。折叠记录跟着会话存下次打开还能接着用。摘要也不是临时抱佛脚写的后台提前就把候选区间备好摘要写好还带个风险分——估摸着折叠之后对干活影响大不大。触发时机也分两档用量到90%开始慢悠悠一条条折叠到95%直接停下手里的活先把折叠做完再说。为啥折叠顶在前面因为再往后的自动压缩太狠了一上来就把历史全压成一篇摘要细节全没了。折叠能搞定的话就不用惊动后面这位狠角色。1.5 第4级自动压缩直接整成“一页工作总结”最后一级也是下狠手的一级自动压缩。简单说就是让模型自己把整段旧对话写成一篇小结用这篇小结顶替全部旧历史。就像你月底写周报前面干了三十天的活最后浓缩成一页交差。老板要的重点都有细节不用全写。人家也不是等满了才动手提前就留好了余量。20万的上下文窗口触发线设在16.7万token。为啥提前3万多就动手俩原因。第一写摘要本身要占地方得给产出留空间。第二写摘要的请求得把整段旧历史发过去它自己就是个大请求不留余量的话压缩请求先撞顶了那就搞笑了。而且这个数不是拍脑袋定的是拿实测数据算的摘要产出的99.99分位是17000多token取整留两万。讲究的就是一个用数据说话。写摘要的也不是什么小模型就是主循环用的同一个模型。为啥还是缓存那笔账。同一个模型写摘要的请求能接上主对话的缓存前缀旧历史最后按折扣价发一次。换个模型这份优惠直接打水漂。摘要也不是瞎写固定九节内容主要请求、关键概念、涉及文件、错误修复、解决过程、全部用户消息、待办任务、当前工作、下一步。划重点用户亲手发的每一条消息一条不落全列进去。压缩完还会顺手把最近读过的5个文件原文附上。毕竟接下来还要接着干活与其让模型自己再找着读不如直接带上省得麻烦。2 压缩也会翻车人家留了后手别觉得压缩一触发就万事大吉。压缩本身也是一次模型调用该翻车照样翻车。就像你清理手机内存清理APP自己卡住了那才叫尴尬。2.1 失败三次直接“熔断”第一道断路器机制。自动压缩连着失败3次这个会话里就再也不自动尝试了。别觉得这个设计多余。后台数据显示曾有一个会话自动压缩连败3272次。3272次啊朋友们什么概念你打排位连输三千多把早就该卸载游戏了。算下来这类失败每天要浪费25万次API调用。都是真金白银不心疼是假的。要是自动压缩被关了用量又逼近上限循环会提前硬停报错还留3千token的余量。留着干嘛给你手动敲命令用啊。总不能卡死在这连手动操作的余地都没有。2.2 压缩请求自己也可能撞顶第二道给压缩请求自己兜底。写摘要得带着全部旧历史发出去历史要是太大这次请求自己也可能被服务器拒绝。就像你搬家打包好不容易把东西都塞箱子里了结果箱子太沉电梯塞不进去。怎么办从最老的一轮开始整组丢弃再试。最多试3次。还不行那就收手给你一句实在话对话太长了按两下Esc回退几条消息再试。能做的都做了剩下的交还给用户。不硬撑不甩锅挺实在。3 缓存折扣这点账人家算得门儿清聊到这肯定有懂行的朋友要问对话每轮完整重发前缀不变才有缓存折扣。后面这几级压缩改的全是已经发过的历史那折扣不就没了没错全都会失效。所以人家才把触发时机卡得那么死。第0关只动新内容折扣不受影响所以每轮都跑白跑也不亏。后面几级就不一样了非到万不得已不动手。折叠守着90%、95%的线自动压缩守着16.7万不到高位绝不出手。微压缩更鸡贼专门等闲置60分钟再清。等的就是服务器缓存自己过期这时候再改一分钱折扣都不亏。自动压缩最彻底整段历史换成一页摘要缓存直接从头再来。但人家也蹭了最后一次折扣用同一个模型写摘要旧历史最后按折扣价发一次之后从摘要开始重新养缓存。而且折扣只失效一轮。改完之后新的前缀稳定下来折扣接着有效。省下的token往后每一轮都在省。说白了代价不是白付的是算过投入产出比的。4 最金贵的是什么是你说的每句话五道关走完你会发现一个很有意思的规律从上到下扔的东西越来越多但有一样东西保护得最深。就是你说的话。第0关和微压缩只动工具回执碰不着你的消息。snip和折叠扔的也是最老的旧历史近处的都留着。到最后一级自动压缩整段历史都换成摘要了里面专门有一节要求把用户发的每一条消息一条不落全列进去。凭啥按能不能再生排的。工具回执是跑腿的痕迹丢了能再生成。文件能重读命令能重跑网页能重抓。但你的话不能再生。你提的需求、说的思路、定的要求丢一句就少一句。就像你出门逃难打包行李先扔换洗衣物再扔零食身份证和钱包肯定攥在手里。可再生的先扔不能再生的保到最后。这个逻辑很实在。5 最后说句实在的很多人觉得AI智能就智能在模型本身。但上下文满了这件事模型自己啥也做不了。它连“忘”都不会。忘什么、留什么全是外面那层代码说了算。智能在模型干活在框架。连记忆怎么取舍都是框架替它安排得明明白白。而且这条流水线管得再宽也只管当前会话装不下的事。还有一样东西压根不进消息数组也不会跟着会话结束消失压缩根本碰不着。就是你写的CLAUDE.md。至于它是怎么被一层层找出来怎么活过一次次压缩的咱们下次再聊。不信的话找个长会话敲个/compact命令翻一翻模型写的那页小结。你敲过的每句话都在里面那就是最后一级压缩的产物。P.S. 目前国内还是很缺AI人才的希望更多人能真正加入到AI行业共同促进行业进步增强我国的AI竞争力。想要系统学习AI知识的朋友可以看看我精心打磨的教程 http://blog.csdn.net/jiangjunshow教程通俗易懂高中生都能看懂还有各种段子风趣幽默从深度学习基础原理到各领域实战应用都有讲解我22年的AI积累全在里面了。注意教程仅限真正想入门AI的朋友否则看看零散的博文就够了。
返回列表