首页/新闻资讯/正文详情

揭秘 Claude Code 上下文压缩终极机制:/compact 如何精简对话历史而不丢失关键信息

发布时间:2026/9/26 11:17:36 来源:云帆数科 栏目:资讯中心
揭秘 Claude Code 上下文压缩终极机制:/compact 如何精简对话历史而不丢失关键信息
揭秘 Claude Code 上下文压缩终极机制/compact 如何精简对话历史而不丢失关键信息【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/gh_mirrors/claudecode5/claude-codeClaude Code 是运行在终端中的 AI 编程助手随着对话越来越长它内置的上下文压缩机制/compact命令与自动压缩就成了保住工作记忆的关键。本文带你读懂/compact背后的完整流程如何把冗长对话压缩成一份结构化摘要、如何在压缩后自动找回最近读过的文件与计划、以及自动压缩的触发阈值帮助你在长会话中不丢关键信息、不浪费上下文窗口。一、为什么需要上下文压缩大语言模型有**上下文窗口Context Window**上限——可以理解为模型一次能记住的总容量以 Token 计。一次编程会话里文件读取、命令输出、报错信息会不断累积很快就把窗口塞满。Claude Code 的解法不是简单删掉旧消息而是一套分层的对话历史压缩策略机制触发方式做什么手动/compact用户输入命令把全部对话总结成摘要替换原历史自动压缩 Auto-Compact上下文接近阈值时静默执行同样的压缩流程微压缩 Microcompact每轮请求前清理过期工具输出不动对话本身会话记忆压缩压缩时优先尝试复用已提取的会话记忆成本更低 简单理解微压缩是随手扔垃圾/compact是搬家前写一份交接文档。二、/compact 命令全景从输入到压缩完成/compact命令定义在 src/commands/compact/index.ts它的描述是Clear conversation history but keep a summary in context清空对话历史但保留一份摘要。输入/compact 重点保留测试输出还可以附上自定义摘要指令指挥模型在总结时偏重什么内容。整个流程在 src/commands/compact/compact.ts 中串联起来/compact [自定义指令] │ ├─ 1. 优先尝试会话记忆压缩更省 Token ├─ 2. 执行微压缩先清理可回收内容 └─ 3. 调用核心压缩 compactConversation()2.1 第一步先做减法再请模型总结在把对话丢给模型总结之前系统会先做几轮减负避免摘要请求本身超出窗口剥离图片与文档stripImagesFromMessages()会把用户消息里的图片、文档替换成[image]、[document]占位符——反正摘要也不需要真正的像素见 compact.ts微压缩Microcompact只针对 Read、Bash、Grep、Glob、WebSearch、WebFetch、Edit、Write 这些吃 Token 大户的工具输出做清理对话内容原封不动见 microCompact.ts。如果摘要请求自己还是太长了还有一张保底牌按 API 轮次丢弃最旧的对话组并重试最多 3 次宁可少总结一点也不让你卡死无法继续truncateHeadForPTLRetry()。2.2 第二步9 段式结构化摘要核心机制这是不丢关键信息的关键。Claude Code 不是让模型随便总结一下而是在 prompt.ts 里给了一份严格的 9 段式模板主要请求与意图用户明确提出的所有需求关键技术概念涉及的框架、技术点文件与代码片段改过/读过的文件及原因错误与修复踩过的坑、怎么解决的、用户反馈问题排查已解决与进行中的问题所有用户消息逐条保留防止误解用户意图待办任务明确被要求但还没做完的事当前工作压缩前一刻正在做什么可选的下一步带原文引用防止任务理解漂移更巧妙的一个设计是模型会先输出一段analysis草稿区梳理思路再输出summary正式摘要——草稿在写完后会被直接丢弃只把精华摘要放回上下文formatCompactSummary()。2.3 第三步压缩后的信息找回清单摘要替代历史后Claude Code 会立刻做一轮状态恢复让模型无缝接上恢复最近读过的 5 个文件每个最多 5000 Token总预算 5 万 Token模型不用重新 Read 一遍保留计划文件如果你在 Plan 模式/plan里计划内容和模式说明会被重新注入压缩后不会失忆出模式恢复已调用的技能Skills、正在后台运行的 Agent 任务状态附上完整对话存档路径摘要末尾会告诉模型如需精确的代码片段或报错原文可读完整 transcript等于留了一条回溯通道。这些逻辑集中在 src/services/compact/compact.ts 与createPostCompactFileAttachments()中。三、不只是手动自动压缩的阈值机制/compact之外Claude Code 每轮对话都会检查是否需要自动压缩。阈值计算写在 autoCompact.ts 中规则很直观自动压缩阈值 上下文窗口 − 输出预留(约2万Token) − 1.3万Token缓冲也就是上下文用到大约 85%~90% 时就会在后台静默触发压缩你甚至不用动手。另外两个细节值得知道熔断保护连续 3 次压缩失败后自动停止尝试避免在怎么压都超限的死局里反复烧 API 调用可配置设置中的autoCompactEnabled可关掉自动压缩环境变量DISABLE_COMPACT可把手动/compact一并禁用。压缩前后的 Token 数会记录在会话事件里配合/context命令随时查看当前上下文占用。四、进阶技巧用好 /compact 的 3 个场景✅压缩时机切换大型任务、或看到上下文剩余不足警告时主动/compact比等到自动触发更可控✅带上指令/compact 重点保留 API 设计决策和未完成的 TODO自定义指令会拼进摘要提示词让总结更有针对性✅局部压缩通过消息选择器可对指定消息做部分压缩partialCompactConversation()只总结一段对话、保留其余原文适合只忘了开头那部分的场景见 compact.ts。五、小结Claude Code 的上下文压缩不是删除历史而是总结 恢复 兜底三件套用 9 段式模板保住意图与进度用附件机制找回文件、计划与技能用完整 transcript 留下回溯入口。理解这套机制后你可以在长会话中放心让 Claude Code 继续干活——关键信息自会留在它看得见的地方。 延伸阅读命令总表见 docs/commands.md子系统中Compact — 对话上下文压缩的介绍见 docs/subsystems.md。【免费下载链接】claude-codeClaude Code is an agentic coding tool that lives in your terminal, understands your codebase, and helps you code faster by executing routine tasks, explaining complex code, and handling git workflows - all through natural language commands.项目地址: https://gitcode.com/gh_mirrors/claudecode5/claude-code创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

相关推荐

手把手教你给WSL装个AI助手:Hermes Agent踩坑全记录与TaoToken配置指南
手把手教你给WSL装个AI助手:Hermes Agent踩坑全记录与TaoToken配置指南

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:17:29

深度解析 TaoToken + Higress + Nacos 在 MCP Server 部署中的高可用、热更新与鉴权方案
深度解析 TaoToken + Higress + Nacos 在 MCP Server 部署中的高可用、热更新与鉴权方案

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:17:29

企业内部工具开发场景:麦芽AI 全链路如何碾压 Codex 的单点编程
企业内部工具开发场景:麦芽AI 全链路如何碾压 Codex 的单点编程

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 11:17:29

Python新手选IDLE还是VS Code?从跑通第一个程序到断点调试全指南
Python新手选IDLE还是VS Code?从跑通第一个程序到断点调试全指南

很多人问过我一个问题:"我到底该用IDLE还是VS Code来写Python?"每次我都觉得这个问题问早了。真正该先问的是"我能不能先把一个Python程序跑起来",然后才是"我用什么工具写起来更顺手"。IDLE和VS Code不是竞争… · 2026/9/26 13:40:09

ROS2话题通信底层原理与调试实战:DDS、QoS与常见坑
ROS2话题通信底层原理与调试实战:DDS、QoS与常见坑

你有没有过这种经历:在ROS1里写好的话题通信代码,原封不动搬到ROS2,编译通过、节点也启动成功,但两边就是互相"看不见"数据。我第一次干这种事时,盯着终端窗口怀疑了半天人生。后来才明白,ROS2的… · 2026/9/26 13:40:09

代运营排行榜的水有多深?一套筛选靠谱服务商的可落地方法
代运营排行榜的水有多深?一套筛选靠谱服务商的可落地方法

1. 代运营这个行业,为什么榜单越来越不靠谱做电商的朋友,尤其是品牌刚起步、店铺还没跑通的中小卖家,几乎都动过找代运营的念头。你打开任意一个搜索平台,输入"代运营"三个字,跳出来的全是各种"十大品牌… · 2026/9/26 13:40:09

用 FastAPI 构建生产级 LLM API 网关:从流式响应到部署排障全解析
用 FastAPI 构建生产级 LLM API 网关:从流式响应到部署排障全解析

上半年我接了好几个LLM相关的项目,几乎每个都绕不开同一个问题:模型推理本身只是一部分,真正让团队头疼的是把模型能力稳定地暴露成API给上层业务调用。试过Flask、想过用Django,最后兜兜转转都回到FastAPI。这篇就来系统讲讲&… · 2026/9/26 13:40:09

Qwen-4 72B原生多模态大模型实战:情感分析、目标检测与视频理解全解析
Qwen-4 72B原生多模态大模型实战:情感分析、目标检测与视频理解全解析

1. 多模态旗舰模型的核心能力拆解1.1 从标题看这次发布到底意味着什么Qwen-4 72B 这个型号一出来,我第一反应是去看它的参数规模和模态覆盖范围。72B 这个量级在开源社区里属于“旗舰级”,不是那种跑在单卡消费级显卡上的玩具模型,而是需要多… · 2026/9/26 13:40:09

传奇 3 光通版正版官方客户端下载指引,忆往游戏正规安全渠道指南
传奇 3 光通版正版官方客户端下载指引,忆往游戏正规安全渠道指南

《传奇 3 光通版》由安徽游昕网络科技有限公司联合忆往游戏平台负责运营,是经过正版授权打造的经典传奇 3 怀旧手游。现阶段游戏依托专属官方主站面向全网正式开放,高度复刻光通 1.45 端游原版内容,坚持复古公平长久的运营模式,还… · 2026/9/26 13:40:03

数据库课后习题答案别硬背:当测试用例集刷,效率翻倍
数据库课后习题答案别硬背:当测试用例集刷,效率翻倍

简介:万常选版《数据库原理与设计》课后习题答案资源,覆盖第2至6章及第9章,适合正在学习关系模型、数据库建模、关系数据理论与模式求精的本科生、自学者作为复习与自测材料。压缩包共7个文件,含3个doc参考答案、2个sql示例脚本、… · 2026/9/26 0:00:21

OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置
OpenClaw 替代品?Hermes Agent 踩坑实录:macOS 飞书接入 TaoToken 配置

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/26 0:00:40

向下兼容与向上兼容:接口设计中的兼容性策略与工程实践
向下兼容与向上兼容:接口设计中的兼容性策略与工程实践

一次版本升级事故,是很多团队绕不过去的坎。线上环境里,服务端明明已经上线了新版接口,老的移动端还在照着旧文档传参数。请求一到网关,校验直接拒绝,用户操作失败,客服群炸了锅,开发群里开始互… · 2026/9/26 0:00:46

了解更多?预约专属演示

我们的顾问将为您一对一讲解产品与方案

企业微信二维码