
前几天有个粉丝私信我说他面蚂蚁的时候被问了一道题你知道 Claude Code 的/compact功能是怎么工作的吗他当时挺自信的说这不就是自动总结对话嘛把长对话压缩一下省 token。面试官听完笑了笑问他那压缩之后模型是怎么知道之前改过哪些文件的他愣了一下说应该也总结进去了吧。面试官又问那如果文件内容在压缩之后变了呢摘要里写的是旧的模型怎么拿到新的他挠挠头说不太清楚——这个细节他从来没想过。面试官没追问只是说你理解的有点浅了回去研究研究。他后来私信我问我/compact到底做了什么。我一开始也以为就是个总结功能仔细研究了一下才发现这背后的设计比自动总结复杂得多。今天把这个说清楚。✦ ✦ ✦一、/compact的时候到底发生了什么/compact激活之后会走一个流程Claude Code 并不是简单地调一个总结接口而是会做这些事情1.把原始对话大概 99 条消息、10 万 token最后拼接一条伪装的 user 消息。2.这条消息用CRITICAL级别的大写开头属于强制指令级别的目的是让模型按照固定模板、不能省略、不能用普通聊天方式去处理。3.然后要求模型把完整对话历史给压缩成一个固定模板的结构化摘要模板写成了9 个章节。这 9 个章节分别是1.任务目标2.整体架构3.文件变更4.决策5.已解决的问题6.全部用户指令7.约束8.当前状态9.下一步这本质上就是一种让模型自己按照固定模板把长对话压缩成结构化摘要的策略通过固定模板加容错模式设计去保证压缩出来的信息是可复用的、结构化的而不是一段模型自由发挥的摘要。✦ ✦ ✦二、模型内部的两层皮设计模型回复里面会有 3 个部分属于两层皮设计每层都有各自的功能定位◆禁止执行任何工具禁止模型在总结过程中调用 Read、Bash、Edit 这些工具防止它偷偷替用户去把文件改了。◆强制生成analysis和summary强制模型先做一轮内部推理/思考再去生成摘要其实就是 Chain of Thought也就是思维链确保摘要的准确性。◆把第 6 章全部用户指令原封不动保留防止模型在复述用户历史指令的时候添油加醋丢失关键的原始细节。◆把第 9 章每一步都加一句 direct quote 原文摘录保证压缩之后还能准确衔接对话的上下文不会出现片段丢失的情况。你可以看到这些设计策略其实都是有目的的写进 prompt 的属于对压缩过程中容易出现的信息丢失模式做针对性防御。用工具就会改文件直接摘要就会丢细节转述就会丢原意结尾没有原文就会衔接不上。✦ ✦ ✦三、模型写完之后客户端会做什么有一个很关键但也容易被忽略的一步。◆模型按照模板去生成analysissummary这些内容。◆Claude Code 客户端会把analysis全部丢弃只保留summary。核心内容才会进入上下文。也就是说◆analysis里面是模型自己打的草稿/思考过程这部分不是给用户看的也不是给未来模型看的只是用来消耗一部分原始对话的 token这部分 token 还是挺大的。◆最后客户端只看得到summary这部分。压缩效果大概是◆原始对话大概 10 万 token99 条消息◆压缩后只剩 1 万 tokenmessages 从 99 条变成 4 条可以说压缩率非常高了但是这种高度压缩本身是抹掉过程细节的留下的只有结构化的最终结论信息。✦ ✦ ✦四、压缩后的4 条消息到底装了什么值得注意的是压缩之后剩下的可不只是那被精简的 4 条消息还有这些内容1.summary里面是 9 章结构化摘要。2.紧接着的一条 assistant 回复最后一句衔接确保对话结尾不缺失。3.5 个文件自动附录Claude Code 会主动把之前对话里提到过的文件确保客户端状态是新的而不是摘要里可能已经过时的片段。4.一些 hook context 和系统注入的辅助信息。也就是说恢复并不是总结对话那么简单而是要恢复成可继续工作的状态。这里面有摘要、有文件附录、有上下文衔接。换句话说实际工程里目前的做法其实远没有一句话总结那么简单客户端还得额外做很多事情来保证上下文准确性。✦ ✦ ✦五、总结一下“/compact 是个大补丁”我的结论是/compact并不能算是一种优雅的上下文压缩机制反而更像是一种工程上的补丁。◆局限性只靠一个摘要Summary模型无法恢复可继续执行的工作状态。摘要会丢失细节、缺可执行的计划和可参考的约束。◆客户端的补偿除了 Summary 以外还要额外附加◆最近文件的 Read 结果确保内容是新的◆planAttachment也就是当前任务的规划/计划的附件◆skillAttachment技能/指令相关的附件模板◆以及各种其他上下文信息换句话说摘要只是压缩后的第一步模型能不能恢复到能干活还得靠摘要之外的一系列围绕文件重读、重新附计划、重新附技能文档等等来做弥补。这也说明在复杂项目/长任务场景下目前的工程实现其实远没有一句话总结那么简单上下文漂移、状态丢失、连续性断裂这些坑还是需要大量补丁来维持一致性的。✦ ✦ ✦六、附上流程图99条消息 / ~10万token↓拼接伪装的 CRITICAL user 消息强制重写指令↓模型生成 9章结构化模板↓客户端丢弃 只保留↓客户端组装最终上下文模板Summary 紧接着一条assistant回复5个文件自动附录hook contextplanAttachment / skillAttachment …↓最终模型4条消息 / 1万token✦ ✦ ✦小结/compact并不是总结对话那么简单一句话能概括的它是1.一次结构化的强制重写用固定模板加容错模式设计保证压缩过程的稳定性。2.一次客户端的补偿机制不只是靠模型摘要还要靠文件重读、重新附计划、重新附技能文档等等来维持一致性。3.一次对客户端资源的重建摘要加文件附录加各种 attachment共同拼出一个压缩后的上下文让模型能继续干活。这种设计的核心矛盾在于要压缩得足够小以省 token但压缩过程中位置信息必然丢失。所以客户端必须用多层机制来弥补摘要加文件重读加重新附计划和技能文档等等来拼凑出一个够用的上下文。这也是为什么在复杂对话/长任务场景下上下文漂移、状态丢失、连续性断裂这些问题会变得很明显的原因。学AI大模型的正确顺序千万不要搞错了2026年AI风口已来各行各业的AI渗透肉眼可见超多公司要么转型做AI相关产品要么高薪挖AI技术人才机遇直接摆在眼前有往AI方向发展或者本身有后端编程基础的朋友直接冲AI大模型应用开发转岗超合适就算暂时不打算转岗了解大模型、RAG、Prompt、Agent这些热门概念能上手做简单项目也绝对是求职加分王给大家整理了超全最新的AI大模型应用开发学习清单和资料手把手帮你快速入门学习路线:✅大模型基础认知—大模型核心原理、发展历程、主流模型GPT、文心一言等特点解析✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑✅开发基础能力—Python进阶、API接口调用、大模型开发框架LangChain等实操✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经以上6大模块看似清晰好上手实则每个部分都有扎实的核心内容需要吃透我把大模型的学习全流程已经整理好了抓住AI时代风口轻松解锁职业新可能希望大家都能把握机遇实现薪资/职业跃迁这份完整版的大模型 AI 学习资料已经上传CSDN朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】