- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
上下文压缩(Context Compaction)是 Claude Code 在对话历史超出上下文窗口前,用一段结构化摘要替代完整历史、让会话得以无缝续写的关键机制。本文以开源仓库 claude-code-system-prompts 中收录的 System Prompt: Context compaction summary(Claude Code v2.1.38,约 409 tokens)为绝对主体,逐段拆解其五段式续写摘要结构与<summary>包裹规范,并结合仓库内配套的 summarization 系列提示词(无工具守卫、分析指令、增量/部分压缩变体)与 README 中的提取背景,给出可复用的续写摘要模板与实操要点。读完本文,你将掌握 Claude Code 如何保证"换了上下文窗口依然能高效接续任务",并可直接照搬这套结构为自己的 Agent 应用设计续写摘要。
为什么需要"续写摘要":上下文压缩的触发场景
Claude Code 并不只有一份单一的 system prompt,而是由大量按环境与配置条件注入的片段组成。当一次编码会话的对话历史(用户消息、工具调用、文件内容)逼近模型上下文窗口上限时,继续原样追加新消息将无法进行。Claude Code 的解法是上下文压缩:用一个精炼的"续写摘要(continuation summary)"替换掉此前的完整历史,让同一个任务可以在未来的上下文窗口中被高效恢复执行。
根据仓库 README.md 的说明,这类提示词属于"大量 AI 驱动的实用函数"之一,与 CLAUDE.md 生成、会话标题生成等并列,是直接从 Claude Code 编译产物中提取的真实运行文本——仓库中每一个提示词文件都保证与 Claude Code 实际使用的字符串完全一致。因此,system-prompt-context-compaction-summary.md 中写明的每一句指令,都是该功能真实行为的第一手证据。
该提示词的前置说明(frontmatter)标注其用途为"Prompt used for context compaction summary (for the SDK)",说明这段文本不仅服务于终端版 Claude Code,也面向基于 Claude Agent SDK 构建的宿主应用——凡是在 SDK 会话中需要做上下文压缩的集成方,都可能复用同一套续写摘要协议。
续写摘要提示词的完整结构与原文逐段解析
下面逐段给出原提示词的核心指令并解析其设计意图。该提示词全文围绕一个核心场景展开:你正在处理上述任务但尚未完成,请写一份续写摘要,让未来的上下文窗口(可能由另一个实例接管)仅凭这份摘要即可高效恢复工作。
原文开篇的约束如下:
你一直在处理上述任务但尚未完成。请写一份续写摘要,使你自己(或另一个实例)能够在未来的上下文窗口中高效地恢复工作——届时对话历史将被替换为这份摘要。摘要应结构化、简洁、可执行。
这一定位决定了整份提示词的三个总要求:结构化(structured)、简洁(concise)、可执行(actionable)。所谓"可执行",是指摘要的读者(未来的模型实例)读完就能直接继续动手,而不需要重新猜测任务目标。
随后提示词规定了五段式正文结构,这是整份文档的核心骨架,必须完整继承:
1. Task Overview(任务概览)
- 用户的核心请求与成功标准(The user's core request and success criteria)
- 用户提出的澄清或约束(Any clarifications or constraints they specified)
这一段的目的是让未来实例无需从零重建任务。记录"成功标准"尤为关键——它决定了后续工作何时可以判定为完成,避免续写后偏离原目标。
2. Current State(当前状态)
- 到目前为止已完成的内容(What has been completed so far)
- 已创建、修改或分析的文件(含路径)(Files created, modified, or analyzed, with paths if relevant)
- 产生的关键输出或产物(Key outputs or artifacts produced)
"当前状态"是续写效率的核心:它让未来实例不重复已完成的工作。提示词特别强调"含路径",因为编码任务中文件路径是最容易丢失、也最有价值的信息。
3. Important Discoveries(重要发现)
- 揭示出的技术约束或需求(Technical constraints or requirements uncovered)
- 已做的决策及其理由(Decisions made and their rationale)
- 遇到的错误及解决方式(Errors encountered and how they were resolved)
- 尝试过但不奏效的方案(及原因)(What approaches were tried that didn't work and why)
这一段本质上是经验与教训的迁移。编码过程中踩过的坑(例如某个 API 在特定版本下的行为、某个构建步骤的隐藏依赖)如果不在摘要中保留,未来实例可能会原样重蹈覆辙。
4. Next Steps(下一步)
- 完成任务所需的具体行动(Specific actions needed to complete the task)
- 需要解决的阻塞项或待澄清问题(Any blockers or open questions to resolve)
- 若剩余多步,给出优先级顺序(Priority order if multiple steps remain)
"下一步"直接给出续写的执行入口。提示词要求具体(specific),并建议在存在多个剩余步骤时标注优先级,使未来实例可以按序推进而不是随机挑选。
5. Context to Preserve(需保留的上下文)
- 用户的偏好或风格要求(User preferences or style requirements)
- 不明显、但领域相关的细节(Domain-specific details that aren't obvious)
- 对用户做出的任何承诺(Any promises made to the user)
这一段专门兜住最容易在压缩中丢失的隐性信息:用户偏好、领域细节、承诺。例如用户要求"回复保持简洁"、项目要求"不得改动某目录"等,都属于必须跨窗口保留的内容。
最后,提示词给出两条收尾指令:
保持简洁但完整——宁可多包含能防止重复劳动或重蹈覆辙的信息。要写得能让任务立即恢复执行。将你的摘要包裹在
<summary></summary>标签中。
"宁多勿缺"(err on the side of including information)与"防重复劳动/防重蹈覆辙"(prevent duplicate work or repeated mistakes)是整份摘要的核心价值导向;而<summary></summary>标签则是机器可解析的结构契约——宿主可以据此从模型输出中稳定提取摘要正文。
配套机制一:无工具守卫(No-Tools Guard)
续写摘要必须在"没有工具、没有额外检索"的前提下完成——因为它要概括的完整上下文已经在当前对话中,任何工具调用都只会浪费唯一的一次机会。仓库中的 Agent Prompt: Summarization no-tools guard(v2.1.173)正是这段共享前缀:
CRITICAL: Respond with TEXT ONLY. Do NOT call any tools.
- Do NOT use Read, Bash, Grep, Glob, Edit, Write, or ANY other tool.
- You already have all the context you need in the conversation above.
- Tool calls will be REJECTED and will waste your only turn — you will fail the task.
- Your entire response must be plain text: an
<analysis>block followed by a<summary>block.
这段守卫有三个要点值得在自建方案中照搬:
- 明确"只能用纯文本回应",并显式列出常用工具名(Read、Bash、Grep、Glob、Edit、Write),不给模型留歧义;
- 解释原因:上下文已在对话中、工具调用会被拒绝并浪费唯一一次机会;
- 规定输出契约:一个
<analysis>块加一个<summary>块——分析与摘要分离,先组织思路再产出结果。
配套机制二:分析指令(Analysis Instructions)
压缩摘要并非直接"凭感觉概括",而是要求先进行一次系统的逐段分析。仓库中 Agent Prompt: Conversation summarization(v2.1.271)给出了标准分析过程:
在给出最终摘要前,将你的分析包裹在
<analysis>标签中……按时间顺序分析对话的每一段消息。对每一段,彻底识别:用户显式请求与意图、你处理请求的方式、关键决策/技术概念/代码模式、具体细节(文件名、完整代码片段、函数签名、文件编辑)、你遇到的错误及修复方式;特别注意用户给出的具体反馈(尤其是让你换一种做法的反馈);以及用户陈述的任何安全相关指令或约束(如应避免的敏感文件或数据、禁止执行的操作、凭证或密钥处理规则)——这些必须逐字保留在摘要中,以便压缩后继续生效。
这段分析指令与压缩摘要提示词的"Task Overview / Important Discoveries / Context to Preserve"三段直接呼应:分析阶段"逐字保留安全指令"的要求,正是落到摘要中"Context to Preserve"一节的依据。而 system-prompt-analysis-instructions-for-full-compact-prompt-recent-messages.md 提供了面向"仅压缩最近消息"场景的分析变体,分析维度完全一致(用户请求、处理方式、关键决策、具体细节、错误修复、用户反馈、安全约束),说明分析-摘要两段式是 Claude Code 压缩体系的一以贯之的通用方法。
配套机制三:面向场景的变体
同一套续写摘要协议在仓库中存在多个面向不同压缩场景的变体,可与压缩摘要提示词对照学习:
| 提示词文件 | 适用场景 | 结构特点 |
|---|---|---|
| system-prompt-context-compaction-summary.md | 完整上下文压缩(SDK 场景) | 五段式 +<summary>包裹 |
| agent-prompt-conversation-summarization.md | 通用对话摘要 | 强调<analysis>分析过程与安全指令逐字保留 |
| agent-prompt-conversation-summarization-with-additional-instructions.md | 支持自定义附加指令的扩展摘要 | 九段式(含 Pending Tasks / Current Work / Optional Next Step),可注入${ADDITIONAL_INSTRUCTIONS} |
| agent-prompt-recent-message-summarization.md | 仅摘要最近一段消息 | 明确"早前消息保留不动、无需摘要",九段式结构 |
| system-prompt-partial-compaction-instructions.md | 用户只决定压缩部分对话 | 九段式,含"列出所有用户消息"并要求逐字保留安全约束 |
从这些变体可以看出 Claude Code 压缩体系的两个关键设计取向:
- "全量压缩"与"增量压缩"分治:当早前上下文仍然有效时(Recent Message Summarization、Partial Compaction),只对增量部分做摘要,避免重复压缩已保留的内容;而当整个历史被替换时(Context compaction summary),摘要必须自洽完整。
- 用户消息与安全约束的保全:多个变体都要求列出全部非工具结果的用户消息,并将安全相关指令逐字保留——这正是"Context to Preserve"一节的工程化落实。
此外,仓库中还有面向更低粒度的 agent-prompt-session-transcript-chunk-summary.md(要求 3-5 句概括一段 transcript 的用户请求、工具使用、摩擦点与结果),以及面向用户回归场景的 agent-prompt-away-summary-generation.md(40 词以内、无 markdown、以目标-当前任务-下一步开头)。它们与压缩摘要共同构成从"会话续写"到"用户回归播报"的完整摘要体系。
实操:把五段式续写摘要用在自己的 Agent 上
基于以上分析,你可以将 Claude Code 的续写摘要协议直接迁移到自建的 Agent / SDK 应用。一份可复用的模板如下:
You have been working on the task described above but have not yet completed it. Write a continuation summary that will allow you (or another instance of yourself) to resume work efficiently in a future context window where the conversation history will be replaced with this summary. Your summary should be structured, concise, and actionable. Include: 1. Task Overview The user's core request and success criteria Any clarifications or constraints they specified 2. Current State What has been completed so far Files created, modified, or analyzed (with paths if relevant) Key outputs or artifacts produced 3. Important Discoveries Technical constraints or requirements uncovered Decisions made and their rationale Errors encountered and how they were resolved What approaches were tried that didn't work (and why) 4. Next Steps Specific actions needed to complete the task Any blockers or open questions to resolve Priority order if multiple steps remain 5. Context to Preserve User preferences or style requirements Domain-specific details that aren't obvious Any promises made to the user Be concise but complete—err on the side of including information that would prevent duplicate work or repeated mistakes. Write in a way that enables immediate resumption of the task. Wrap your summary in <summary></summary> tags.接入时建议配套落实三条规则:
- 前置无工具守卫:在摘要提示词前拼接"Respond with TEXT ONLY / Do NOT call any tools / 输出
<analysis>+<summary>两个纯文本块"前缀(参照 agent-prompt-summarization-no-tools-guard.md),防止模型在压缩环节发起工具调用。 - 保留安全约束原文:在分析指令中显式要求"安全相关指令与约束必须逐字保留在摘要中",这是跨窗口保持权限边界与数据纪律的关键(参照 agent-prompt-conversation-summarization.md)。
- 机器可解析输出:强制
<summary>...</summary>包裹,宿主可据此稳定切分摘要正文;如需面向"仅压缩增量"的场景,可在模板中加入"早前上下文保留不动、只摘要最近部分"的说明(参照 agent-prompt-recent-message-summarization.md)。
在仓库中如何查看与验证
该提示词随每个 Claude Code 版本更新,仓库声明其内容在每次 Claude Code 发布后的几分钟内同步,并配有跨 304 个版本的 CHANGELOG.md。当前关联文档标注的版本为 ccVersion2.1.38(frontmatter 中的ccVersion字段),README 中的 token 计数为 409(README 同时说明:提示词内含插值变量时,真实会话中的实际计数会略有浮动,通常不超过 ±20 tokens)。
如需继续深入研究,建议在仓库中顺藤摸瓜阅读以下文件:
- 压缩摘要本体:system-prompts/system-prompt-context-compaction-summary.md
- 无工具守卫:system-prompts/agent-prompt-summarization-no-tools-guard.md
- 分析指令(全量):system-prompts/agent-prompt-conversation-summarization.md
- 分析指令(增量):system-prompts/system-prompt-analysis-instructions-for-full-compact-prompt-recent-messages.md
- 扩展/增量/部分压缩变体:agent-prompt-conversation-summarization-with-additional-instructions.md、agent-prompt-recent-message-summarization.md、system-prompt-partial-compaction-instructions.md
仓库为只读镜像,所有提示词文件均直接从 Claude Code 编译源码中提取,可放心作为系统提示词设计的权威参照。
结语
Claude Code 的上下文压缩续写摘要并非简单的"总结对话",而是一套经过工程打磨的任务状态迁移协议:五段式结构(任务概览 / 当前状态 / 重要发现 / 下一步 / 需保留上下文)保证信息的完整与可执行,<summary>标签提供机器可解析的输出契约,无工具守卫与分析指令则约束生成过程的质量。以 system-prompt-context-compaction-summary.md 为骨架,配合仓库中整套 summarization 变体,任何 Agent 应用都能获得"换窗口不丢任务"的续写能力。
- 文档
- 提示工程
- 人工智能
【免费下载链接】claude-code-system-prompts
All parts of Claude Code's system prompt, 27 builtin tool descriptions, sub agent prompts (Plan/Explore/Task), utility prompts (CLAUDE.md, compact, statusline, magic docs, WebFetch, Bash cmd, security review, agent creation). Updated for each Claude Code version.
相关推荐
Claude Code 上下文压缩(Compaction)机制解密:recent-messages 分析指令与 `<analysis>`/`<summary>` 摘要流程
Claude Code 上下文压缩(Compaction)机制解密:recent messages 分析指令与 <analysis / <summary 摘要流
文档提示工程人工智能fast-jev-compaction:用 Jev 决策替代摘要式压缩的 Claude Code 上下文压缩插件
fast jev compaction:用 Jev 决策替代摘要式压缩的 Claude Code 上下文压缩插件 导读 fast jev compaction
人工智能AI AgentAI 插件Agent 记忆claude-code-system-prompts 解析:Away Summary Generation 离场摘要提示词的设计与实现
claude code system prompts 解析:Away Summary Generation 离场摘要提示词的设计与实现 导读 agent pro
文档提示工程人工智能
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考