[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-claude-code-compaction-context-management-en":3,"article-related-claude-code-compaction-context-management-en":25,"series-tools-7b35c61d-4183-4923-a6ec-97ae00153530":77},{"id":4,"slug":5,"title":6,"content":7,"summary":8,"source":9,"source_url":10,"author":11,"image_url":12,"cover_image":12,"category":13,"language":14,"translated_content":11,"related_article_id":15,"keywords":16,"key_takeaways":11,"views":22,"created_at":23,"published_at":24,"topic_cluster_id":11},"7b35c61d-4183-4923-a6ec-97ae00153530","claude-code-compaction-context-management-en","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","tools","en","99c0866d-50f9-4a93-a282-b092f9d298df",[17,18,19,20,21],"Claude Code","context compression","long-context AI","Anthropic","AI coding assistant",4,"2026-04-08T06:21:47.598436+00:00","2026-04-08T06:21:47.425+00:00",{"tags":26,"relatedLang":37,"relatedPosts":41},[27,29,31,33,35],{"name":18,"slug":28},"context-compression",{"name":21,"slug":30},"ai-coding-assistant",{"name":17,"slug":32},"claude-code",{"name":20,"slug":34},"anthropic",{"name":19,"slug":36},"long-context-ai",{"id":15,"slug":38,"title":39,"language":40},"claude-code-compaction-context-management-zh","Claude Code壓縮機制怎麼省上下文","zh",[42,47,53,59,65,71],{"id":43,"slug":44,"title":45,"cover_image":11,"image_url":11,"created_at":46,"category":13},"d5f55e6c-39d2-4eb6-85cb-326d2255d014","leverage-meaning-no-more-buzzword-mistakes-en","Leverage lets you stop sounding like a buzzword","2026-06-07T04:02:47.777895+00:00",{"id":48,"slug":49,"title":50,"cover_image":51,"image_url":51,"created_at":52,"category":13},"4065ada8-125b-4286-85c5-85cfe7d6369a","llm-leaderboard-2026-300-models-ranked-en","LLM Leaderboard 2026: 300+ Models Ranked","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780776189065-qk79.png","2026-06-06T20:02:37.334702+00:00",{"id":54,"slug":55,"title":56,"cover_image":57,"image_url":57,"created_at":58,"category":13},"92a22a3d-6d0c-4884-9865-c1fe0f2e5e78","llama-benchy-llama-bench-style-api-benchmarks-en","llama-benchy brings llama-bench tests to APIs","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780775297695-nchl.png","2026-06-06T19:47:54.675055+00:00",{"id":60,"slug":61,"title":62,"cover_image":63,"image_url":63,"created_at":64,"category":13},"df69beef-d6a6-40d1-9284-474eebad74b7","how-to-start-vibe-coding-with-ai-en","How to Start Vibe Coding with AI","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780773471455-gav1.png","2026-06-06T19:17:22.823911+00:00",{"id":66,"slug":67,"title":68,"cover_image":69,"image_url":69,"created_at":70,"category":13},"bece181a-96c8-494b-ac0b-fb254413e051","nvidia-ai-models-playbook-en","NVIDIA AI Models turn model hunting into a playbook","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780771718084-8xiy.png","2026-06-06T18:48:07.10885+00:00",{"id":72,"slug":73,"title":74,"cover_image":75,"image_url":75,"created_at":76,"category":13},"40bf1841-77d9-4bf6-9764-3e956510d41a","kimi-k25-claude-code-cline-roocode-setup-en","Kimi K2.5 works in Claude Code and Cline","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780769031200-z2kv.png","2026-06-06T18:03:19.685945+00:00",[78,83,88,93,98,103,108,113,118,123],{"id":79,"slug":80,"title":81,"created_at":82},"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":84,"slug":85,"title":86,"created_at":87},"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":89,"slug":90,"title":91,"created_at":92},"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":94,"slug":95,"title":96,"created_at":97},"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":99,"slug":100,"title":101,"created_at":102},"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":104,"slug":105,"title":106,"created_at":107},"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":109,"slug":110,"title":111,"created_at":112},"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":114,"slug":115,"title":116,"created_at":117},"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",{"id":119,"slug":120,"title":121,"created_at":122},"6d1bf3f6-e191-4d30-b55b-8a0722fa6afe","ai-trending-github-repos-and-research-feeds-en","AI Trending Tracks Repos and Research Feeds","2026-03-27T01:31:35.709532+00:00",{"id":124,"slug":125,"title":126,"created_at":127},"010539a1-4c3a-4bd3-937a-26616422ee0d","awesome-ai-for-science-research-tools-map-en","Awesome AI for Science Is Becoming a Real Research Map","2026-03-27T01:46:50.89513+00:00"]