告警机制)
文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes 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点击查看免费下载Claude Code 在执行文件读取类操作时会通过system-reminder向模型注入一系列读取边界告警用于约束模型的读取行为、防止上下文溢出与无效调用。本文聚焦其中负责偏移越界告警的System Reminder: File shorter than offset文件比偏移更短模板结合其配套的截断告警、重试指引与仓库生成管线完整解析该告警的触发条件、模板变量、消息语义及其在 Claude Code 提示词体系中的定位。模板本体一段告警如何被注入该告警的完整内容存放在 system-prompts/system-reminder-file-shorter-than-offset.md全文包含 HTML 注释形式的元数据frontmatter与一段system-reminder消息体!-- name: System Reminder: File shorter than offset description: Warning when file read offset exceeds file length ccVersion: 2.1.18 variables: - RESULT_OBJECT -- system-reminderWarning: the file exists but is shorter than the provided offset (${RESULT_OBJECT.file.startLine}). The file has ${RESULT_OBJECT.file.totalLines} lines./system-reminder从模板结构可以拆出三层信息消息形态告警以system-reminder标签包裹属于 Claude Code 的 System Reminder 家族——这类注入文本不参与用户可见的对话内容而是作为运行期指令直接进入模型上下文触发语义description字段明确指出触发条件是 Warning when file read offset exceeds file length即当读取工具收到一个**大于文件实际长度的起始偏移offset**时触发版本追踪ccVersion: 2.1.18标记了该提醒随 Claude Code v2.1.18 引入可用于在仓库的 CHANGELOG.md 中回溯其变更历史。模板变量的运行时填充该提醒只声明了一个外部变量RESULT_OBJECT其内部结构由文件读取操作的结果对象提供变量路径含义示例值${RESULT_OBJECT.file.startLine}本次读取请求中携带的起始行偏移1500${RESULT_OBJECT.file.totalLines}目标文件的实际总行数42以请求从第 1500 行开始读取一个仅有 42 行的文件为例注入后的消息会渲染为Warning: the file exists but is shorter than the provided offset (1500). The file has 42 lines.这一渲染结果同时给出两个关键事实请求的偏移值与文件真实规模。模型据此可以推断出该偏移已经越界、文件剩余内容不存在从而放弃无效的继续读取转而采用下文所述的调整策略。与配套提醒的联动Claude Code 的读取边界治理体系File shorter than offset并非孤立存在它在仓库中与另外三个读取边界类提醒构成一个完整的治理闭环均位于system-prompts/目录下1. 文件过大截断提醒system-prompts/system-reminder-file-truncated.mdccVersion 2.1.239负责文件太大、只返回了前 N 行的场景Note: The file ${ESCAPE_UNTRUSTED_TEXT_FN(ATTACHMENT_OBJECT.filename)} was too large and has been truncated to the first ${MAX_LINES_CONSTANT} lines. No need to mention the truncation. Use ${READ_TOOL_NAME} to read more of the file if you need.它比偏移告警多声明了三个变量ESCAPE_UNTRUSTED_TEXT_FN对文件名做不可信文本转义的安全函数、ATTACHMENT_OBJECT被读取文件对象与MAX_LINES_CONSTANT单次读取的行数上限。注意其措辞 No need to mention the truncation——截断属于正常机制模型无需在回复中向用户复述。2. 截断重试指引system-prompts/system-reminder-read-truncation-retry-guidance.mdccVersion 2.1.173规定了截断出现后模型必须采取的行动- If you receive truncation warnings when reading the file ([N lines truncated]), reduce the chunk size until you have read 100% of the content without truncation ***DO NOT PROCEED UNTIL YOU HAVE DONE THIS***. Bash output is limited to ${MAX_OUTPUT_CHARS.toLocaleString()} chars.其中***DO NOT PROCEED UNTIL YOU HAVE DONE THIS***是典型的强制指令要求模型缩小分块大小直至 100% 读完不得跳过。变量MAX_OUTPUT_CHARS还会以千位分隔符toLocaleString渲染 Bash 输出字符上限提示模型长文件读取与 Bash 输出存在双重容量约束。3. 大文件全量读取指引system-prompts/system-reminder-large-file-full-content-reading-guidance.mdccVersion 2.1.173则解决确实需要全量阅读大文件的高成本场景- For analysis or summarization that requires reading the full content: ${FULL_CONTENT_READING_INSTRUCTION} - If the ${AGENT_TOOL_NAME} tool is available, do this inside a subagent so the full output stays out of your main context. Give it the instruction above verbatim, and be explicit about what it must return — e.g. ${SUBAGENT_READING_INSTRUCTION_EXAMPLE} A vague summarize this may lose detail.它引入了子代理subagent隔离策略把全量阅读任务委派给子代理让完整输出停留在子代理上下文而非主上下文并要求逐字传递指令 明确返回物避免模糊的 summarize this 造成信息丢失。这四类提醒的分工可以概括为提醒触发场景核心应对策略File shorter than offset请求偏移超过文件长度放弃越界读取获知文件真实行数File truncated文件超过单次读取上限无需复述截断按需继续读取Read truncation retry guidance读取出现 [N lines truncated]缩小分块直至 100% 读完Large file full-content reading guidance需全量分析大文件委派子代理隔离主上下文模板背后的生成管线提醒文本从哪来这些.md模板不是手写维护的静态文档而是由仓库构建工具从 Claude Code 的 prompts JSON 数据生成而来。理解生成管线有助于正确阅读模板文件中的 frontmatter 与变量占位符。核心脚本是 tools/updatePrompts.js其主流程updateFromJSON会读取prompts-version.json数据源对每个 prompt 执行重构reconstructPrompt将拆分的pieces片段与identifiers变量标识按序拼接还原出带${变量}占位符的完整文本见reconstructPrompt实现tools/updatePrompts.js元数据渲染renderPromptFrontmatter调用 tools/promptMarkdownUtils.mjs 中的renderPromptFrontmatter把name、description、ccVersion与variables序列化为 HTML 注释 frontmatter文件名规范化nameToFilename按PROMPT_NAME_PREFIXES中的前缀表System Reminder: →system-reminder-将提示词名称 slug 化为标准文件名这正是本文主题文件名为system-reminder-file-shorter-than-offset.md的来源tools/promptMarkdownUtils.mjs。因此模板 frontmatter 中的variables列表不仅是对读者的说明更是生成器向运行时标记该模板需要注入哪些外部值的声明接口。生成器还会通过assertUniquePromptFilenames检测文件名冲突、通过countTokensBatch调用 Anthropic token 计数 API 统计每个提示词的 token 数并写入 README.md。实操要点如何正确应对这类告警对使用 Claude Code 或阅读其系统提示词的开发者而言从该提醒中可以提炼出三条可直接复用的实践规则偏移不是建议而是硬约束当收到 file exists but is shorter than the provided offset 时说明请求的startLine已超出totalLines继续以该偏移发起读取不会返回任何有效内容应立即放弃并按真实行数重新规划读取把行数信息当作文件规模的第一手证据告警中给出的totalLines是运行时计算的真实值可用于估算后续读取的分块方案——若文件很大应预先参照截断重试指引采用小分块策略遵循缩小分块直至读完的强制要求该提醒与Read truncation retry guidance配套生效时模型必须在继续任何后续步骤前完成 100% 的内容读取即 DO NOT PROCEED UNTIL YOU HAVE DONE THIS这是读取边界治理中最高的优先级约束。小结System Reminder: File shorter than offset是 Claude Code 读取边界治理体系中的越界哨兵它以极简的两行模板向模型同时传递偏移已越界与文件真实规模两个事实并与其配套的截断提醒、重试指引和大文件全量读取指引协同共同约束模型在长文件、大输出场景下的读取行为。透过 tools/updatePrompts.js 与 tools/promptMarkdownUtils.mjs 的生成管线还能看到这些运行时注入文本从 JSON 数据源到标准化 Markdown 模板的完整生命周期这正是本仓库作为 Claude Code 系统提示词镜像的核心价值所在。赞分享文档提示工程人工智能【免费下载链接】claude-code-system-promptsAll parts of Claude Codes 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点击查看免费下载相关推荐Roc 语言管道操作符|解析原理与快照测试深度剖析Roc 语言管道操作符 | 解析原理与快照测试深度剖析 | 管道操作符是 Roc 语言中连接数据流与函数调用的核心语法糖它把左侧表达式的值作为第一个参文档提示工程人工智能Claude Code 系统提示解析File Already in Context 提醒机制与文件读取优化Claude Code 系统提示解析File Already in Context 提醒机制与文件读取优化 导读 在 Claude Code 的长对话与文件操文档提示工程人工智能YouTube.js 解析器节点深度解析CarouselTitleView 轮播标题视图类YouTube.js 解析器节点深度解析CarouselTitleView 轮播标题视图类 本文以 YouTube.js 中 CarouselTitleVie文档提示工程人工智能创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考