[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-claude-code-compaction-context-management-en":3,"tags-claude-code-compaction-context-management-en":30,"related-lang-claude-code-compaction-context-management-en":41,"related-posts-claude-code-compaction-context-management-en":45,"series-tools-7b35c61d-4183-4923-a6ec-97ae00153530":82},{"id":4,"title":5,"content":6,"summary":7,"source":8,"source_url":9,"author":10,"image_url":11,"keywords":12,"language":18,"translated_content":10,"views":19,"is_premium":20,"created_at":21,"updated_at":21,"cover_image":11,"published_at":22,"rewrite_status":23,"rewrite_error":10,"rewritten_from_id":24,"slug":25,"category":26,"related_article_id":27,"status":28,"google_indexed_at":29,"x_posted_at":10,"tweet_text":10,"title_rewritten_at":10,"title_original":10,"key_takeaways":10,"topic_cluster_id":10,"embedding":10,"is_canonical_seed":20},"7b35c61d-4183-4923-a6ec-97ae00153530","Claude Code压缩机制：长对话如何省上下文","\u003Cp>\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 的长会话压缩问题，听起来像个小细节，实际却决定了它能不能在真实项目里干活。一次代码读取、一段 Shell 输出、几轮编辑建议叠在一起，很容易把上下文窗口吃到只剩边角料，尤其是在 \u003Ca href=\"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fbuild-with-claude\u002Fcontext-windows\" target=\"_blank\" rel=\"noopener\">200K 甚至 1M token\u003C\u002Fa> 这种大窗口里，管理方式本身就变成了产品能力。\u003C\u002Fp>\u003Cp>这篇文章要讲的，不是“\u003Ca href=\"\u002Fnews\u002Fclaude-code-source-leak-analysis-en\">Claude Code\u003C\u002Fa> 很强”这种空话，而是它怎么把长对话里的信息压成更短、更可用的形式。对开发者来说，这件事非常现实：你想要的是模型记得项目目标、当前改动和关键约束，而不是把昨天终端里刷过的 800 行日志一字不差地背下来。\u003C\u002Fp>\u003Ch2>为什么上下文会先爆掉\u003C\u002Fh2>\u003Cp>在 \u003Ca href=\"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Anthropic 的 Claude Code 文档\u003C\u002Fa> 里，工具调用、文件读取和终端输出都会进入对话历史。只要任务持续时间够长，模型就会不断累积“看过什么、做过什么、下一步要什么”这些记录。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775629324724-x24c.png\" alt=\"Claude Code压缩机制：长对话如何省上下文\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>问题在于，代码助手的上下文增长速度比聊天机器人快得多。一个中型仓库里，单次检索几十个文件、跑几次测试、贴几段错误栈，就能把 token 消耗推到很高的位置。到了这个阶段，如果没有压缩机制，模型会开始忘掉早期目标，或者把注意力浪费在无关细节上。\u003C\u002Fp>\u003Cp>Claude Code 的压缩设计，本质上是在回答一个工程问题：哪些内容必须原样保留，哪些内容可以改写成摘要，哪些内容应该直接丢掉。这个判断如果做得不好，助手就会在长任务里变得迟钝，甚至开始重复劳动。\u003C\u002Fp>\u003Cul>\u003Cli>文件读取会带来大段原始代码\u003C\u002Fli>\u003Cli>Shell 输出会带来测试日志和报错堆栈\u003C\u002Fli>\u003Cli>编辑历史会带来多轮补丁和回滚记录\u003C\u002Fli>\u003Cli>任务目标会被大量中间细节稀释\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Claude Code 的多层压缩思路\u003C\u002Fh2>\u003Cp>Claude Code 的核心做法不是单次“总结一下”这么简单，而是分层处理上下文。短期内有用的内容保留原貌，已经完成但还可能相关的内容被压成更短的记忆，完全过时的信息则从活跃上下文里退出。\u003C\u002Fp>\u003Cp>这种设计很像给模型做记账：当前任务、关键文件、未解决错误要放在最前面；已经确认无关的探索路径，就不值得继续占着位置。这样做的好处很直接，模型更容易围绕当前目标继续推理，而不是被一长串历史对话拖慢。\u003C\u002Fp>\u003Cp>从工程角度看，这类压缩通常要处理两个矛盾：一边要尽量保留事实，一边要尽量少占 token。Claude Code 之所以值得讨论，是因为它面对的不是普通问答，而是“读代码、改代码、跑代码、再改代码”的闭环任务，压缩质量直接影响后续决策。\u003C\u002Fp>\u003Cul>\u003Cli>高优先级信息：当前任务目标、最近修改、未解决错误\u003C\u002Fli>\u003Cli>中优先级信息：已确认的项目结构、关键 API、测试结果\u003C\u002Fli>\u003Cli>低优先级信息：重复日志、已否定的假设、旧版本尝试\u003C\u002Fli>\u003Cli>退出活跃区的信息：与当前工作无关的探索记录\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>这和上下文窗口数字到底什么关系\u003C\u002Fh2>\u003Cp>Anthropic 公开提到过 Claude 系列模型支持很大的上下文窗口，而 \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-3-5-sonnet\" target=\"_blank\" rel=\"noopener\">Claude 3.5 Sonnet\u003C\u002Fa> 也把长上下文能力推到了更实用的位置。窗口变大之后，问题没有消失，只是从“放不下”变成“放得下但放得乱”。\u003C\u002Fp>\n\u003Cfigure class=\"my-6\">\u003Cimg src=\"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775629331639-gbx7.png\" alt=\"Claude Code压缩机制：长对话如何省上下文\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>这也是为什么压缩机制比单纯堆 token 更重要。一个 200K token 的会话，如果前 150K 都是无效重复，剩下的 50K 再大也救不了你。反过来，如果压缩能把关键信息留住，模型在长任务末尾依然能记得最初的目标和最近的改动。\u003C\u002Fp>\u003Cp>对比一些常见做法，Claude Code 的思路更偏向“持续整理”而不是“等快满了再一口气删”。这种差别很重要，因为代码任务往往不是线性的，开发者会在不同文件之间来回切换，模型也要跟着不断重排注意力。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Findex\u002Fgpt-4-1\u002F\" target=\"_blank\" rel=\"noopener\">OpenAI GPT-4.1\u003C\u002Fa> 也强调长上下文能力，但实现策略并不公开到压缩细节层面\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels\u002Fgemini\" target=\"_blank\" rel=\"noopener\">Google Gemini\u003C\u002Fa> 系列同样支持大窗口，更考验上下文整理能力\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fnews\u002Fclaude-3-5-sonnet\" target=\"_blank\" rel=\"noopener\">Claude 3.5 Sonnet\u003C\u002Fa> 的大上下文让压缩策略更有实际价值\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fdocs.anthropic.com\u002Fen\u002Fdocs\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 把压缩嵌进了开发流程，而不是当成离线总结工具\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>真实开发场景里，压缩比你想得更重要\u003C\u002Fh2>\u003Cp>如果你用过任何 AI 编程工具，就知道真正消耗上下文的不是“问一句答一句”，而是连续执行：读一个模块、跑一次测试、修一个边界条件、再跑一次测试。这个循环一长，模型就会积累大量临时信息，其中很多对下一步没有价值。\u003C\u002Fp>\u003Cp>Claude Code 的压缩机制，解决的就是这种高频切换场景。它让模型保留“项目正在做什么”这条主线，同时把那些已经验证过、已经失败过、已经不重要的片段压缩掉。对开发体验来说，这比单纯提升模型参数更贴近实际。\u003C\u002Fp>\u003Cblockquote>“We’ve trained our systems to be helpful, harmless, and honest.” — Dario Amodei, Anthropic\u003C\u002Fblockquote>\u003Cp>这句话来自 Anthropic 联合创始人兼 CEO \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fpeople\u002Fdario-amodei\" target=\"_blank\" rel=\"noopener\">Dario Amodei\u003C\u002Fa>，它很适合放在这里，因为压缩机制本质上也在追求“诚实”的上下文：让模型记住真正重要的东西，而不是被噪音带偏。\u003C\u002Fp>\u003Cp>从产品体验看，压缩做得好，用户会感觉模型“更稳”；压缩做得差，用户只会觉得它“突然失忆”。这也是为什么很多人讨论长上下文时只盯着窗口大小，却忽略了信息筛选本身。\u003C\u002Fp>\u003Ch2>开发者该怎么理解这套设计\u003C\u002Fh2>\u003Cp>如果把 Claude Code 当成一个会写代码的代理，它的压缩系统其实就是记忆管理。你可以把它理解为：工具调用负责行动，压缩负责记忆整理，模型推理负责决策。三者一起工作，助手才有机会在长项目里保持一致性。\u003C\u002Fp>\u003Cp>这套思路对未来的 AI 编程工具很有参考价值。接下来真正拉开差距的，可能不是谁先把上下文窗口做大，而是谁能更聪明地决定“哪些内容该留下，哪些内容该缩短，哪些内容可以彻底清掉”。\u003C\u002Fp>\u003Cp>对开发者来说，最实用的判断标准也很简单：当任务持续半小时以上，模型还能不能准确说出当前目标、最近改动和未解决问题。如果答案是能，那压缩就做对了；如果答案是否，那更大的窗口也只是更大的垃圾桶。\u003C\u002Fp>\u003Cp>接下来值得观察的，是 \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 会不会把这种压缩策略进一步开放给用户，或者让团队级工作流也能用上更细的记忆管理。对 AI 编程工具来说，这可能比再多几个 token 更能决定实际好不好用。\u003C\u002Fp>","Claude Code用多层压缩处理长对话上下文，避免200K到1M token被文件、Shell输出和编辑记录吃光。","zhuanlan.zhihu.com","https:\u002F\u002Fzhuanlan.zhihu.com\u002Fp\u002F2024233458180833574",null,"https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1775629324724-x24c.png",[13,14,15,16,17],"Claude Code","context compression","long-context AI","Anthropic","AI coding assistant","en",2,false,"2026-04-08T06:21:47.598436+00:00","2026-04-08T06:21:47.425+00:00","done","84c3a676-d362-4160-ac66-af0a3c1e99a3","claude-code-compaction-context-management-en","tools","99c0866d-50f9-4a93-a282-b092f9d298df","published","2026-04-08T09:00:47.351+00:00",[31,33,35,37,39],{"name":14,"slug":32},"context-compression",{"name":17,"slug":34},"ai-coding-assistant",{"name":13,"slug":36},"claude-code",{"name":16,"slug":38},"anthropic",{"name":15,"slug":40},"long-context-ai",{"id":27,"slug":42,"title":43,"language":44},"claude-code-compaction-context-management-zh","Claude Code壓縮機制怎麼省上下文","zh",[46,52,58,64,70,76],{"id":47,"slug":48,"title":49,"cover_image":50,"image_url":50,"created_at":51,"category":26},"a6c1d84d-0d9c-4a5a-9ca0-960fbfc1412e","why-gemini-api-pricing-is-cheaper-than-it-looks-en","Why Gemini API pricing is cheaper than it looks","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778869846824-s2r1.png","2026-05-15T18:30:26.595941+00:00",{"id":53,"slug":54,"title":55,"cover_image":56,"image_url":56,"created_at":57,"category":26},"8b02abfa-eb16-4853-8b15-63d302c7b587","why-vidhub-huiyuan-hutong-bushi-quan-shebei-tongyong-en","Why VidHub 会员互通不是“买一次全设备通用”","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778789439875-uceq.png","2026-05-14T20:10:26.046635+00:00",{"id":59,"slug":60,"title":61,"cover_image":62,"image_url":62,"created_at":63,"category":26},"abe54a57-7461-4659-b2a0-99918dfd2a33","why-buns-zig-to-rust-experiment-is-right-en","Why Bun’s Zig-to-Rust experiment is the right move","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778767895201-5745.png","2026-05-14T14:10:29.298057+00:00",{"id":65,"slug":66,"title":67,"cover_image":68,"image_url":68,"created_at":69,"category":26},"f0015918-251b-43d7-95af-032d2139f3f6","why-openai-api-pricing-is-product-strategy-en","Why OpenAI API pricing is a product strategy, not a footnote","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778749841805-uyhg.png","2026-05-14T09:10:27.921211+00:00",{"id":71,"slug":72,"title":73,"cover_image":74,"image_url":74,"created_at":75,"category":26},"7096dab0-6d27-42d9-b951-7545a5dddf33","why-claude-code-prompt-design-beats-ide-copilots-en","Why Claude Code’s prompt design beats IDE copilots","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778742651754-3kxk.png","2026-05-14T07:10:30.953808+00:00",{"id":77,"slug":78,"title":79,"cover_image":80,"image_url":80,"created_at":81,"category":26},"1f1bff1e-0ebc-4fa7-a078-64dc4b552548","why-databricks-model-serving-is-right-default-en","Why Databricks Model Serving is the right default for production infe…","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1778692290314-gopj.png","2026-05-13T17:10:32.167576+00:00",[83,88,93,98,103,108,113,118,123,128],{"id":84,"slug":85,"title":86,"created_at":87},"8008f1a9-7a00-4bad-88c9-3eedc9c6b4b1","surepath-ai-mcp-policy-controls-en","SurePath AI's New MCP Policy Controls Enhance AI Security","2026-03-26T01:26:52.222015+00:00",{"id":89,"slug":90,"title":91,"created_at":92},"27e39a8f-b65d-4f7b-a875-859e2b210156","mcp-standard-ai-tools-2026-en","MCP Standard in 2026: Integrating AI Tools","2026-03-26T01:27:43.127519+00:00",{"id":94,"slug":95,"title":96,"created_at":97},"165f9a19-c92d-46ba-b3f0-7125f662921d","rag-2026-transforming-enterprise-ai-en","How RAG in 2026 is Transforming Enterprise AI","2026-03-26T01:28:11.485236+00:00",{"id":99,"slug":100,"title":101,"created_at":102},"6a2a8e6e-b956-49d8-be12-cc47bdc132b2","mastering-ai-prompts-2026-guide-en","Mastering AI Prompts: A 2026 Guide for Developers","2026-03-26T01:29:07.835148+00:00",{"id":104,"slug":105,"title":106,"created_at":107},"d6653030-ee6d-4043-898d-d2de0388545b","evolving-world-prompt-engineering-en","The Evolving World of Prompt Engineering","2026-03-26T01:29:42.061205+00:00",{"id":109,"slug":110,"title":111,"created_at":112},"3ab2c67e-4664-4c67-a013-687a2f605814","garry-tan-open-sources-claude-code-toolkit-en","Garry Tan Open-Sources a Claude Code Toolkit","2026-03-26T08:26:20.245934+00:00",{"id":114,"slug":115,"title":116,"created_at":117},"66a7cbf8-7e76-41d4-9bbf-eaca9761bf69","github-ai-projects-to-watch-in-2026-en","20 GitHub AI Projects to Watch in 2026","2026-03-26T08:28:09.752027+00:00",{"id":119,"slug":120,"title":121,"created_at":122},"231306b3-1594-45b2-af81-bb80e41182f2","claude-code-vs-cursor-2026-en","Claude Code vs Cursor in 2026","2026-03-26T13:27:14.177468+00:00",{"id":124,"slug":125,"title":126,"created_at":127},"9f332fda-eace-448a-a292-2283951eee71","practical-github-guide-learning-ml-2026-en","A Practical GitHub Guide to Learning ML in 2026","2026-03-27T01:16:50.125678+00:00",{"id":129,"slug":130,"title":131,"created_at":132},"1b1f637d-0f4d-42bd-974b-07b53829144d","aiml-2026-student-ai-ml-lab-repo-review-en","AIML-2026 Is a Bare-Bones Student Lab Repo","2026-03-27T01:21:51.661231+00:00"]