[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"article-claude-code-compaction-context-management-zh":3,"article-related-claude-code-compaction-context-management-zh":27,"series-tools-99c0866d-50f9-4a93-a282-b092f9d298df":81},{"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":24,"created_at":25,"published_at":26,"topic_cluster_id":11},"99c0866d-50f9-4a93-a282-b092f9d298df","claude-code-compaction-context-management-zh","Claude Code壓縮機制怎麼省上下文","\u003Cp>說真的，\u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fclaude-code\" target=\"_blank\" rel=\"noopener\">Claude Code\u003C\u002Fa> 的重點不只是會寫程式。它更像一個會整理記憶的代理。當上下文一路堆到 \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>你可能會想問，壓縮上下文有這麼重要嗎？有。一次讀檔、幾次 Shell 輸出、幾輪 patch，token 就像水龍頭漏水。漏到後面，模型還記得昨天的錯誤訊息，卻忘了你現在要修哪個 bug。\u003C\u002Fp>\u003Cp>講白了，這篇不是在吹 Claude Code 多神。是要拆給你看，它怎麼把長對話裡的雜訊壓短，讓模型在真實專案裡還能幹活。\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-1775629324817-9lcw.png\" alt=\"Claude Code壓縮機制怎麼省上下文\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>問題在於，AI 編程助手的上下文成長速度，比一般聊天快很多。你讀一個中型 repo，可能就有數十個檔案。再跑幾次測試，貼幾段 stack tr\u003Ca href=\"\u002Fnews\u002Fin-place-ttt-llms-adapt-at-inference-zh\">ace\u003C\u002Fa>，token 很快就衝上去。這時候，如果沒有整理機制，模型會開始抓錯重點。\u003C\u002Fp>\u003Cp>更麻煩的是，程式開發不是單輪問答。它是連續決策。你今天改 A 檔，明天又回頭修 B 檔。模型如果只會照單全收，就很容易把舊嘗試、重複日誌、已否定假設一起帶著跑。\u003C\u002Fp>\u003Cul>\u003Cli>讀檔會帶來大量原始程式碼\u003C\u002Fli>\u003Cli>Shell 輸出會塞進測試日誌與錯誤堆疊\u003C\u002Fli>\u003Cli>編輯歷史會留下多輪 patch 與回滾紀錄\u003C\u002Fli>\u003Cli>任務目標會被中間細節稀釋\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>Claude Code 的多層壓縮思路\u003C\u002Fh2>\u003Cp>Claude Code 的做法，不是單純叫模型「幫我總結一下」。它比較像分層整理。還有用的內容先保留，已經過時但可能相關的內容會縮短，完全無關的東西就退出活躍上下文。\u003C\u002Fp>\u003Cp>這種設計很像在幫專案做記帳。現在的任務、最近改動、未解錯誤，這些要放前面。已經驗證過的路徑，就不用一直占位。這樣模型比較不會被一長串歷史訊息拖著走。\u003C\u002Fp>\u003Cp>我覺得這裡最有意思的地方，是它處理的是「持續工作」而不是「一次問答」。壓縮不是附加功能，而是整個代理流程的一部分。沒有這層整理，長任務很容易越跑越鈍。\u003C\u002Fp>\u003Cul>\u003Cli>高優先級：目前目標、最近修改、未解錯誤\u003C\u002Fli>\u003Cli>中優先級：專案結構、關鍵 API、測試結果\u003C\u002Fli>\u003Cli>低優先級：重複日誌、已否定假設、舊嘗試\u003C\u002Fli>\u003Cli>退出活躍區：和當前工作無關的探索紀錄\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>這和上下文窗口數字到底什麼關係\u003C\u002Fh2>\u003Cp>\u003Ca href=\"\u002Fnews\u002Fanthropic-google-broadcom-next-gen-compute-zh\">Anth\u003C\u002Fa>ropic 早就把大上下文做上去了。\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-1775629337275-iqhj.png\" alt=\"Claude Code壓縮機制怎麼省上下文\" class=\"rounded-xl w-full\" loading=\"lazy\" \u002F>\u003C\u002Ffigure>\n\u003Cp>這裡有個很現實的差別。200K token 不是魔法。前面如果塞滿垃圾，後面再多空間也救不了你。反過來，如果壓縮能把關鍵資訊留住，模型在長任務尾端還是能記得最初目標。\u003C\u002Fp>\u003Cp>這也是為什麼我覺得，長上下文的競爭，已經不是單看數字。更重要的是，誰能讓上下文保持乾淨。你可以把它想成桌面整理。桌子越大，不代表越好用。重點是東西要找得到。\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>\u003Cp>這裡可以直接看一個真實人物的說法。\u003Cblockquote>“We’ve trained our systems to be helpful, harm\u003Ca href=\"\u002Fnews\u002Fpaper-circle-multi-agent-research-discovery-zh\">le\u003C\u002Fa>ss, and honest.” — \u003Ca href=\"https:\u002F\u002Fwww.anthropic.com\u002Fpeople\u002Fdario-amodei\" target=\"_blank\" rel=\"noopener\">Dario Amodei\u003C\u002Fa>\u003C\u002Fblockquote>這句話很適合放在這裡。因為壓縮機制追求的，也是上下文的「誠實」。不要讓模型被噪音騙走。\u003C\u002Fp>\u003Cp>如果壓縮做得好，使用者會覺得模型很穩。壓縮做不好，使用者只會覺得它突然失憶。這差很多。很多人只盯著窗口大小，卻忽略了資訊篩選本身。\u003C\u002Fp>\u003Ch2>跟其他工具比，差在哪裡\u003C\u002Fh2>\u003Cp>市面上不少 AI 編程工具，都會做某種摘要或記憶整理。但做法差很多。有些是快滿了才砍一刀。有些是把整段對話濃縮成一小段備忘錄。Claude Code 比較像持續整理，而不是等到爆掉再急救。\u003C\u002Fp>\u003Cp>這種差異在長任務裡很明顯。因為開發流程不是直線。你會在不同檔案間跳來跳去。模型也得跟著重排注意力。只靠一次性摘要，常常會把重要脈絡一起壓扁。\u003C\u002Fp>\u003Cp>如果拿常見產品來比，差別大概是這樣：有的工具像記事本，有的像檔案櫃。Claude Code 想做的，是讓你在長專案裡還能找到對的那一頁。\u003C\u002Fp>\u003Cul>\u003Cli>\u003Ca href=\"https:\u002F\u002Fopenai.com\u002Findex\u002Fgpt-4-1\u002F\" target=\"_blank\" rel=\"noopener\">GPT-4.1\u003C\u002Fa> 有長上下文，但壓縮細節沒公開\u003C\u002Fli>\u003Cli>\u003Ca href=\"https:\u002F\u002Fai.google.dev\u002Fgemini-api\u002Fdocs\u002Fmodels\u002Fgemini\" target=\"_blank\" rel=\"noopener\">Gemini\u003C\u002Fa> 也能塞大窗口，但整理能力更重要\u003C\u002Fli>\u003Cli>Claude Code 偏向持續壓縮，不是一次性摘要\u003C\u002Fli>\u003Cli>長任務裡，整理品質常常比窗口大小更關鍵\u003C\u002Fli>\u003C\u002Ful>\u003Ch2>開發者該怎麼理解這套設計\u003C\u002Fh2>\u003Cp>如果把 Claude Code 當成一個代理，它的壓縮系統就是記憶管理。工具呼叫負責行動，壓縮負責整理，推理負責判斷。三者一起跑，助手才有機會在長專案裡維持一致性。\u003C\u002Fp>\u003Cp>這件事對台灣開發者很實際。你不一定天天碰 1M token，但你一定碰過長對話。比如修 bug 修到一半，模型開始忘記前面講過什麼。這時候，問題通常不是模型太笨，而是上下文太亂。\u003C\u002Fp>\u003Cp>所以我會用很土炮的標準來看：任務跑超過半小時後，模型還能不能講出目前目標、最近改動、未解問題。如果可以，壓縮就有用。如果不行，再大的窗口也只是更大的垃圾桶。\u003C\u002Fp>\u003Cp>產業脈絡也很清楚。現在大家都在比模型分數，但真正落地時，開發體驗常常輸在上下文管理。誰能把長對話整理好，誰就更接近實用。這點比單看 benchmark 更真實。\u003C\u002Fp>\u003Ch2>接下來要看什麼\u003C\u002Fh2>\u003Cp>我接下來會盯兩件事。第一，Claude Code 會不會把壓縮策略做得更透明。第二，團隊協作場景能不能共享更好的記憶結構。這兩件事都比再多幾個 token 更接地氣。\u003C\u002Fp>\u003Cp>如果你現在就在用 AI 編程工具，建議你下次跑長任務時，刻意觀察它有沒有記住主線。不是看它會不會講漂亮話。是看它能不能在第 20 輪對話後，還知道你到底要修哪個地方。\u003C\u002Fp>\u003Cp>說白了，長上下文不是比誰家倉庫比較大。是比誰比較會收納。這才是 Claude Code 壓縮機制真正值得看的地方。\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-1775629324817-9lcw.png","tools","zh","7b35c61d-4183-4923-a6ec-97ae00153530",[17,18,19,20,21,22,23],"Claude Code","上下文壓縮","長上下文","token管理","AI編程","Anthropic","LLM記憶管理",4,"2026-04-08T06:21:46.65172+00:00","2026-04-08T06:21:46.423+00:00",{"tags":28,"relatedLang":40,"relatedPosts":44},[29,31,33,34,36,37,39],{"name":17,"slug":30},"claude-code",{"name":22,"slug":32},"anthropic",{"name":19,"slug":19},{"name":21,"slug":35},"ai編程",{"name":18,"slug":18},{"name":23,"slug":38},"llm記憶管理",{"name":20,"slug":20},{"id":15,"slug":41,"title":42,"language":43},"claude-code-compaction-context-management-en","Claude Code压缩机制：长对话如何省上下文","en",[45,51,57,63,69,75],{"id":46,"slug":47,"title":48,"cover_image":49,"image_url":49,"created_at":50,"category":13},"bef47dbc-b0b4-439e-bae9-abe9473a321c","wei-shen-me-tether-ba-ben-di-ai-ji-yi-tui-jin-ri-chang-zhuan-zh","為什麼 Tether 把本地 AI 記憶推進日常裝置是對的","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780542170805-opi6.png","2026-06-04T03:02:19.599329+00:00",{"id":52,"slug":53,"title":54,"cover_image":55,"image_url":55,"created_at":56,"category":13},"d3ec03a8-a805-4a21-9826-72a74a72b625","databricks-model-serving-llm-deploy-guide-zh","Databricks Model Serving 讓 LLM 部署變簡單","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525998117-7ur8.png","2026-06-03T22:32:51.005996+00:00",{"id":58,"slug":59,"title":60,"cover_image":61,"image_url":61,"created_at":62,"category":13},"4dd225a8-bf6c-4768-a486-a27956c7033d","opencode-digitalocean-model-freedom-zh","OpenCode+DigitalOcean 讓你切換模型","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780525116428-1q7g.png","2026-06-03T22:18:06.969758+00:00",{"id":64,"slug":65,"title":66,"cover_image":67,"image_url":67,"created_at":68,"category":13},"4bdcf208-fb80-484e-b4b6-06af035a6df1","modulate-aws-voice-chats-into-signals-zh","Modulate 用 AWS 把語音聊天做成訊號","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780519733892-rxue.png","2026-06-03T20:48:22.697917+00:00",{"id":70,"slug":71,"title":72,"cover_image":73,"image_url":73,"created_at":74,"category":13},"f44a28d3-2305-43de-b5fa-21217d561054","amazon-rekognition-content-moderation-filter-zh","Amazon Rekognition把審核變成過濾器","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780517005409-bxfc.png","2026-06-03T20:02:57.634353+00:00",{"id":76,"slug":77,"title":78,"cover_image":79,"image_url":79,"created_at":80,"category":13},"80f6f40b-3217-45e4-acff-7b2f6d261779","codex-workspace-limits-tell-you-why-zh","Codex 讓工作區限額錯誤說人話","https:\u002F\u002Fxxdpdyhzhpamafnrdkyq.supabase.co\u002Fstorage\u002Fv1\u002Fobject\u002Fpublic\u002Fcovers\u002Finline-1780514293711-ltqa.png","2026-06-03T19:17:41.340056+00:00",[82,87,92,97,102,107,112,117,122,127],{"id":83,"slug":84,"title":85,"created_at":86},"855cd52f-6fab-46cc-a7c1-42195e8a0de4","surepath-real-time-mcp-policy-controls-zh","SurePath 推出即時 MCP 政策控管","2026-03-26T07:57:40.77233+00:00",{"id":88,"slug":89,"title":90,"created_at":91},"9b19ab54-edef-4dbd-9ce4-a51e4bae4ebb","mcp-in-2026-the-ai-tool-layer-teams-use-zh","2026 年 MCP：團隊真的在用的 AI 工具層","2026-03-26T08:01:46.589694+00:00",{"id":93,"slug":94,"title":95,"created_at":96},"af9c46c3-7a28-410b-9f04-32b3de30a68c","prompting-in-2026-what-actually-works-zh","2026 提示工程，真正有用的是什麼","2026-03-26T08:08:12.453028+00:00",{"id":98,"slug":99,"title":100,"created_at":101},"05553086-6ed0-4758-81fd-6cab24b575e0","garry-tan-open-sources-claude-code-toolkit-zh","Garry Tan 開源 Claude Code 工具包","2026-03-26T08:26:20.068737+00:00",{"id":103,"slug":104,"title":105,"created_at":106},"042a73a2-18a2-433d-9e8f-9802b9559aac","github-ai-projects-to-watch-in-2026-zh","2026 必看 20 個 GitHub AI 專案","2026-03-26T08:28:09.619964+00:00",{"id":108,"slug":109,"title":110,"created_at":111},"a5f94120-ac0d-4483-9a8b-63590071ac6a","claude-code-vs-cursor-2026-zh","Claude Code 與 Cursor 深度對比：202…","2026-03-26T13:27:14.279193+00:00",{"id":113,"slug":114,"title":115,"created_at":116},"0975afa1-e0c7-4130-a20d-d890eaed995e","practical-github-guide-learning-ml-2026-zh","2026 機器學習入門 GitHub 實用指南","2026-03-27T01:16:49.712576+00:00",{"id":118,"slug":119,"title":120,"created_at":121},"bfdb467a-290f-4a80-b3a9-6f081afb6dff","aiml-2026-student-ai-ml-lab-repo-review-zh","AIML-2026：像課綱的學生實驗 Repo","2026-03-27T01:21:51.467798+00:00",{"id":123,"slug":124,"title":125,"created_at":126},"80cabc3e-09fc-4ff5-8f07-b8d68f5ae545","ai-trending-github-repos-and-research-feeds-zh","AI Trending：把 AI 資源收成一張表","2026-03-27T01:31:35.262183+00:00",{"id":128,"slug":129,"title":130,"created_at":131},"3ce6e6e2-bac5-463e-9f8d-45caabcc61f7","awesome-ai-for-science-research-tools-map-zh","AI 科研工具清單，開始像地圖了","2026-03-27T01:46:50.521945+00:00"]