☰
Claude Code System Prompts 解析:Plan File Reference 系统提醒与计划文件续作机制
2026/10/8 1:35:53 网站建设 项目流程
  • 文档
  • 提示工程
  • 人工智能

【免费下载链接】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.

项目地址:https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts
点击查看免费下载

Plan File Reference 是 Claude Code 系统提示(system prompt)体系中的一条系统提醒(System Reminder),用于在存在来自 Plan 模式(plan mode)的计划文件时,把计划文件的路径与完整内容注入到模型上下文中,并指示模型“若该计划与当前工作相关且尚未完成,则继续执行它”。本文以仓库中的模板文件 system-reminder-plan-file-reference.md 为主体,结合 Plan 模式工作流、批准通知、重入提醒等关联模板,完整剖析这条提醒的模板结构、变量语义、触发场景与决策逻辑,帮助开发者理解 Claude Code 如何在会话之间传递和续作计划。

一、系统提醒在 Claude Code 中的定位

Claude Code 的系统提示不是单一文本,而是由多种构件组合而成:系统提示(System Prompt)、工具描述(Tool Description)、Agent 提示(Agent Prompt)、技能(Skill)以及系统提醒(System Reminder)。系统提醒是随会话事件动态注入的短指令块,用于在特定时刻向模型补充上下文与行为约束。

Plan File Reference 属于system-reminder-*前缀模板族,其 frontmatter 元信息如下:

name: "System Reminder: Plan file reference" description: "Reference to an existing plan file" ccVersion: "2.1.18" variables: - "ATTACHMENT_OBJECT"

ccVersion: "2.1.18"表明该模板随 Claude Code 2.1.18 版本引入,且根据仓库说明,所有系统提示均随每个 Claude Code 版本持续更新。它只声明了一个变量ATTACHMENT_OBJECT——即这条提醒的内容完全由调用方传入的“附件对象”驱动。

二、模板正文逐段解析

模板正文非常精炼,仅有四行有效内容:

A plan file exists from plan mode at: ${ATTACHMENT_OBJECT.planFilePath} Plan contents: ${ATTACHMENT_OBJECT.planContent} If this plan is relevant to the current work and not already complete, continue working on it.

1. 路径声明行

第一行注入计划文件的存放路径(ATTACHMENT_OBJECT.planFilePath)。这行信息的作用是给模型一个明确的文件锚点,使其在需要时可以定向读取、引用或更新该文件。

2. 计划内容块

ATTACHMENT_OBJECT.planContent直接嵌入计划的完整文本。与 compact-file-reference.md 中“文件内容过大不包含、仅提示用 Read 工具按需读取”的处理方式不同,Plan File Reference 走的是全文内联策略——计划文本被直接拼入上下文,模型无需额外工具调用即可立即看到计划的全部细节。这符合“计划是当前工作的执行蓝本”这一角色定位:计划应尽可能短小精炼(见下文 Phase 4 规范),因此全文注入的上下文成本可控。

3. 行为指令行

最后一行是这条提醒的核心行为约束:

If this plan is relevant to the current work and not already complete, continue working on it.

这是一条条件性续作指令,包含两个前置判定与一个动作:

  • 相关性判定:该计划是否与当前工作相关(relevant to the current work);
  • 完成度判定:该计划是否尚未完成(not already complete);
  • 动作:两者均满足时,继续按计划推进。

两条判定都不满足时,提醒不强制模型执行计划,模型可依据用户当前意图重新决策。

三、ATTACHMENT_OBJECT 变量的语义与来源

模板通过${ATTACHMENT_OBJECT.planFilePath}与${ATTACHMENT_OBJECT.planContent}两处引用同一对象的不同字段,说明调用方在注入时需提供如下结构:

{ "planFilePath": "/path/to/plan/file.md", // 计划文件路径 "planContent": "## Context\n...(计划全文)" }

从仓库其他模板可以印证ATTACHMENT_OBJECT是系统提醒族的通用注入载体——compact-file-reference.md 同样声明了ATTACHMENT_OBJECT变量(字段为ATTACHMENT_OBJECT.filename),lines-selected-in-ide.md、file-opened-in-ide.md 等提醒也复用同一机制。可见这是 Claude Code 向提醒模板传入“上下文附件”的统一数据接口,不同提醒消费该对象的不同字段。

四、触发时机:计划文件存在的会话恢复场景

结合关联模板可以还原这条提醒的触发场景。在 Claude Code 的 Plan 模式工作流(见 system-reminder-plan-mode-workflow.md)中,模型被要求把计划增量地写入唯一的可编辑文件(Plan File Info 区块),除此之外只能执行只读动作。当计划获批后,system-reminder-plan-approved.md 会通知“User has approved your plan”,并给出计划保存路径与获批内容,允许开始编码。

Plan File Reference 则服务于计划文件已存在的另一类时刻:当模型在后续轮次(例如新会话、上下文压缩后、或用户以任意方式重新唤起工作时)面对一个已存在于磁盘上的计划文件,系统便注入该提醒,把“计划从哪来、内容是什么、该不该继续做”一次性交代清楚。

这一触发逻辑与 system-reminder-plan-mode-re-entry.md 高度互补——后者处理“用户退出 Plan 模式后再次进入”的场景,并给出了更细化的决策规则:

  • 不同任务:即使是相似或相关的请求,也应覆盖(overwrite)旧计划重新开始;
  • 同一任务的延续:明确是同一任务的延续或精化时,在清理过时段落的基础上修改现有计划。

两相对照可以看到 Claude Code 的完整意图:计划文件是跨轮次、跨模式传递工作上下文的第一等公民,而 Plan File Reference 负责在“无需进入 Plan 模式、直接续作”时把计划呈现给模型。

五、与 Plan 模式完整生命周期的联动

把 Plan File Reference 放回整个 Plan 模式生命周期中,可以清晰地看到它在链条中的位置:

  1. 进入 Plan 模式:system-reminder-plan-mode-is-active.md 声明只读约束,要求模型充分探索代码库、权衡多种方案、必要时用 AskUserQuestion 澄清,并在就绪时调用 ExitPlanMode 提交计划;
  2. 撰写计划:system-prompt-phase-four-of-plan-mode.md 规定最终计划的写法——以Context 章节开头说明变更动机,只保留推荐方案,文件既要能快速扫描又要足以执行,点名关键待改文件并给出代表性路径(而非逐文件枚举),复用已发现的既有函数与工具(附路径),最后必须包含端到端验证章节;
  3. 提交审批:tool-description-exitplanmode.md 说明 ExitPlanMode 不接收计划正文参数,而是直接读取已写入的计划文件——这正解释了为何计划文件的路径与内容对模型而言至关重要;
  4. 批准:system-reminder-plan-approved.md 通知计划获批、给出保存路径与获批内容(若用户编辑过则以 “Approved Plan (edited by user)” 标注);
  5. 后续会话续作:Plan File Reference 在此登场——会话中再次面对该计划文件时,提醒模型“相关且未完成则继续”。

若处于子代理场景,system-reminder-plan-mode-is-active-subagent.md 提供了简化版约束:通过PLAN_MODE_CONTEXT.planExists区分“已有计划文件(可读并用 Edit 工具增量修改)”与“尚无计划文件(需用 Write 工具在指定路径创建)”两种情形,并强调只读限制凌驾于其他任何指令之上。

六、两条判定的工程意义

“相关且未完成则继续”这一指令,本质上是把计划续作的决策权交给模型对当前意图的理解。从工程实现角度可以推断其设计意图:

  • 避免盲目执行:计划文件可能来自较早的会话或不同的任务分支,若模型无条件执行,可能做出与用户当前诉求无关的改动;
  • 避免重复规划:若计划相关且未完成,模型无需重新探索和起草,直接沿用既有计划推进即可,节省上下文与轮次;
  • 保持渐进式计划:Plan 模式要求“增量构建计划”,因此计划文件在获批前可能已被多次编辑,Plan File Reference 提供的planContent快照是模型看到的最新权威版本。

需要强调的是,本条提醒并未给出“不相关或已完成”时的替代指令——此时模型应回到对用户消息的常规处理,这也符合系统提醒“补充约束、不喧宾夺主”的设计哲学。

七、对 Agent 与 LLM 消费端的启示

对于正在构建基于 Claude Code 的自动化流程、或希望理解该系统提示集合的开发者,Plan File Reference 模板提供了几个可复用的模式:

  1. 模板与数据分离:提醒模板只声明${ATTACHMENT_OBJECT.*}占位符,实际数据由宿主运行时注入,模板可随版本演进而无需改动注入方协议;
  2. 条件指令内联:把决策条件(相关性、完成度)写进提醒正文而非外部逻辑,让模型基于完整上下文自主判断,减少宿主侧的硬编码分支;
  3. 路径 + 内容双冗余:同时给出文件路径与内联内容,既保证模型零成本读取,又保留按需回读文件、增量编辑的锚点;
  4. 家族式管理:仓库中以system-reminder-*前缀组织的大量模板(plan-mode-workflow、plan-approved、plan-mode-re-entry、compact-file-reference 等)构成了一个可组合的提醒体系,各自聚焦单一事件,再由宿主按状态机组合注入——这套模式同样适用于自定义 Agent 的系统提示工程。

八、结语

Plan File Reference 虽只有寥寥数行,却是 Claude Code 计划持久化机制的关键一环:它以ATTACHMENT_OBJECT为载体,把计划文件的路径与全文注入上下文,并用一条条件指令让模型在“相关且未完成”时无缝续作。理解它,也就理解了 Claude Code 如何在 Plan 模式的规划、审批、重入与后续执行之间,通过一个计划文件维持工作上下文的连续性。若要深入完整工作流,可继续阅读 system-reminder-plan-mode-workflow.md、system-reminder-plan-approved.md 与 system-reminder-plan-mode-re-entry.md。

  • 文档
  • 提示工程
  • 人工智能

【免费下载链接】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.

项目地址:https://gitcode.com/gh_mirrors/cl/claude-code-system-prompts
点击查看免费下载

相关推荐

上一篇:5个mini-css-extract-plugin在大型项目中的高效应用策略
下一篇:批处理转EXE新体验:如何用这款工具提升脚本安全性与分发效率

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询