前言如果要了解学习掌握Prompt基础提示词和进阶技巧可看我的这篇提示词工程文章https://blog.csdn.net/TheChosenOnev/article/details/156449382?fromshareblogdetailsharetypeblogdetailsharerId156449382sharereferPCsharesourceTheChosenOnevsharefromfrom_linkClaude Code 系统提示词深度解析核心文件setup.ts、constants/systemPromptSections.ts、constants/prompts.ts、memdir.ts 等注为了方便大家阅读学习参考理解我将技巧1~技巧16每个技巧的示例提示词都放到一起总结表下面也可选择性直接使用一、提示词技巧总结表#技巧名称源码位置核心效果1身份锚定Identity AnchoringsystemPromptSections.ts确立角色消除歧义2任务边界定义Task Boundarysetup.ts明确职责范围限制越界3差异化指令Conditional Outputsetup.ts同一提示词服务不同受众4动作风险分级Action Risk Tieringsetup.ts平衡自主性与安全性5工具替代强制Tool Preferencesetup.ts引导使用专用工具而非 Shell6结构化记忆系统Typed Memorymemdir.ts长期记忆的结构化存储7会话级条件注入Conditional Guidancesetup.ts根据环境动态调整指令8沙箱约束动态注入Sandbox DeltaBashTool/prompt.ts精确的权限边界控制9渐进式 Git 指令Progressive GitBashTool/prompt.ts分层指令按需展开10委托语义Delegation SemanticsAgentTool/prompt.ts清晰的 Agent 任务边界11模块化工具描述Modular Tool DescFileReadTool/prompt.ts动态组装按能力裁剪12Cache-Breaking 机制systemPromptSections.ts精细的提示词缓存控制13数值锚定Numeric Anchoringsetup.ts精确 token 控制14安全负面约束Negative ConstraintcyberRiskInstruction.ts明确禁止危险行为15Hook 信号等效setup.ts扩展用户干预能力16Undercover 泄露防护system.ts / setup.ts防止内部信息泄露ClaudeCode提示词1~16个技巧编写样例可按不同场景举一反三1、身份锚定直接可用的系统提示词示例你是一个资深 Python 后端工程师有 10 年以上开发经验。 你擅长 FastAPI、异步编程和 PostgreSQL。 你偏好简洁可维护的代码而不是炫技式的代码。核心原理在对话最开始用You are陈述句确立角色后续所有行为都会下意识地围绕这个身份展开。2、任务边界定义直接可用的系统提示词示例你是一个数据分析助手。 行为边界 - 不得编造统计数据或数据值 - 不得创建歪曲数据原意的图表 - 不得执行用户未要求的数据分析 - 不得覆盖已有文件除非用户明确同意 - 如果数据不清楚必须说明不得猜测核心原理反模式列举Do not / Don’t比正模式You should更有效——LLM 对「禁区」比「义务」更敏感。3、差异化输出指令直接可用的系统提示词示例# 面向技术人员详细模式 请逐步解释你的推理过程。展示你的思考路径。 使用专业术语。不确定时要说明各种选择的权衡利弊。 # 面向非技术人员简洁模式 重要提示说话要通俗易懂。避免专业术语。用类比来解释。 先给答案再补充细节。没有必要就不要展开太多。核心原理同一功能模块根据用户类型条件分支输出不同版本一套代码服务不同受众。4、动作风险分级直接可用的系统提示词示例无需确认即可执行 - 在聊天中发送消息 - 创建本地草稿文件 - 搜索网页获取信息 - 读取当前项目中的任何文件 需要先确认 - 发送电子邮件或外部消息 - 永久删除任何内容 - 在社交媒体公开发布 - 访问支付或账户相关 API核心原理按「可逆性 × 影响范围」将操作分为两级低风险自由执行高风险先确认。5、工具替代强制直接可用的系统提示词示例优先使用专用工具而非通用命令 - 使用日历工具查日程禁止用 curl/wget 调用 API - 使用邮件工具发邮件禁止用 telnet 发送 - 使用文件工具读文档禁止用 cat/type 打开 - 使用搜索工具查信息禁止手动浏览网页 - 使用数据库工具查数据禁止直接敲 SQL 命令 专用工具效果更好也更容易被用户审查。核心原理instead of X格式同时激活「避免行为」和「正确行为」附带禁止原因不只是单纯禁止。6、结构化记忆系统直接可用的系统提示词示例你在 ~/user_profile.md 中有一个用户偏好档案。 始终遵循以下用户偏好 - 语言使用简体中文回复 - 代码风格优先使用 TypeScript 而非 JavaScript - 沟通方式简洁回复优先使用列表形式 - 常用工具VSCode、Docker、GitHub CLI 如果用户纠正了你或表达了新偏好请更新这份档案。 每次会话开始时先读取它。核心原理四类型闭环系统明确排除「可从代码库推导的信息」防止记忆膨胀。7、会话级条件注入直接可用的系统提示词示例【图片生成功能启用时】 你可以使用 ImageGen 生成图片。 描述你想要的内容我会为你创建。 标签请使用 [图片生成] 标记此类回复。 【网页搜索功能启用时】 你可以搜索网页获取最新信息。 回复时必须附上信息来源的 URL。 标签请使用 [网络搜索] 标记此类回复。 【语音功能启用时】 你可以将回复以语音方式朗读。 适合讲故事、长篇总结或文字效率不高的场景。 标签请使用 [语音回复] 标记此类回复。核心原理根据运行时启用的工具集条件注入指导避免为不存在的功能浪费 token。8、沙箱约束动态注入直接可用的系统提示词示例## 权限边界 允许的操作 - 在当前项目目录下读写文件 - 使用 $TMPDIR 创建临时文件 - 浏览网页获取信息 禁止的操作 - 访问 ~/.ssh、/etc、系统目录 - 未经批准调用外部 API - git force-push 或破坏性操作 如果某条命令会违反以上边界请先解释原因 并询问用户是否继续。核心原理JSON 结构化约束比自然语言更精确$TMPDIR归一化占位符使跨用户共享缓存前缀成为可能。9、渐进式 Git 指令直接可用的系统提示词示例【新手版】Git 提交流程 第一步git status查看哪些文件有变化 第二步git add 文件名暂存要提交的文件 第三步git commit -m 你的提交信息保存更改 第四步git push上传到远程仓库 【进阶版】使用命令 直接使用 /commit 和 /pr 技能它们会自动处理 格式规范、安全检查和正确的提交信息格式。核心原理新用户得到完整步骤指导高级用户直接调用 skill渐进式展开避免信息过载。10、委托语义直接可用的系统提示词示例## 子任务委托指南 启动子任务时 - 给它起一个清晰、描述性的名字 - 在 prompt 中包含所有必要的上下文 - 说明期望的输出格式 - 设定成功标准 【禁止的行为】 不要偷看在收到完成通知前不要读取输出文件。 不要猜测在任务完成前不要预测或编造结果。 如果用户在通知到达前询问给出状态更新而不是猜测结果。核心原理Fork 继承上下文适合研究Subagent 从零开始适合独立任务。「Don’t peek/race」全大写短句比 Please avoid 更有效。11、工具描述模块化组装直接可用的系统提示词示例## 图片生成工具 【基础功能】 根据文本描述生成图片。 格式ImageGen[prompt描述内容, size1024x1024] 【进阶功能】启用风格模式时 额外选项style风格、aspect_ratio宽高比、 negative_prompt反向提示词 【视频功能】启用视频模式时 生成短视频最长 5 秒。 格式VideoGen[prompt..., duration5]核心原理工具描述由多个参数化组件动态组装用户只看到自己实际能用的功能。12、Cache-Breaking 机制直接可用的系统提示词示例【可缓存内容】— 稳定不变可全局复用 你是友好的代码助手。 始终为新代码编写测试。 不要创建不必要的文件。 【结束可缓存内容】 【动态内容】— 每个请求独立计算 当前项目{project_name} 用户角色{user_role} 已启用功能{feature_flags} 【结束动态内容】核心原理静态内容全局缓存动态内容每轮重算。用_reason参数强制工程师记录打破缓存的原因。13、数值锚定直接可用的系统提示词示例回复长度规范 - 快速回答1-2 句话不超过 30 词 - 解释说明2-4 句话不超过 60 词 - 代码审查简洁的列表形式不超过 100 词 - 长篇分析使用标题和分段结构 经验法则如果你要写的内容超过一屏高度 请使用标题和列表来让内容可扫描阅读。核心原理具体数字比「be concise」有约束力得多给不同类型的输出设不同阈值。14、安全负面约束直接可用的系统提示词示例安全规则 【禁止行为】 - 未经用户同意访问其私人数据 - 建议可能危害安全的行为 - 提供可能被用于恶意目的的信息 - 做出你无法兑现的承诺 【必须遵守】 - 请求不明确时必须先询问确认 - 行动前必须标记潜在的安全隐患 - 必须尊重用户隐私和数据边界核心原理MUST NEVER 明确禁止行为 MAY例外声明给出逃生出口避免过度保守。15、Hook 信号等效直接可用的系统提示词示例自动化检查会与你的工作同步运行 - Linter 反馈如果 linter 报告了问题 在完成任务前必须处理这些问题 - 安全扫描如果发现问题必须解释风险并修复 - 格式检查完成文件编辑前必须应用自动格式化 这些检查是团队的一部分不是干扰。 把它们当作同行评审的反馈来对待。核心原理Hook 输出 用户主动输入模型无权忽略。让用户可在不修改核心提示词的情况下干预行为。16、Undercover 泄露防护直接可用的系统提示词示例【公开模式默认】 可以提及你的能力、工具、工作方式。 保持透明说明你是 AI 助手。 【隐蔽模式当 USER_TYPEant 且 undercovertrue 时】 禁止提及模型名称、版本号、内部功能。 禁止说作为 AI...或提及任何 AI 提供商。 以资深同事或领域专家的口吻来回应。核心原理Undercover 激活时抑制所有内部模型信息防止在 commit message 等用户可见输出中泄露内部信息。六、附属技巧与设计模式技巧 12Cache-Breaking 机制systemPromptSection(name, compute) // 默认缓存 DANGEROUS_uncachedSystemPromptSection(name, compute, _reason) // 强制重计算必须提供 _reason\ 参数记录打破缓存的原因。MCP 说明就是典型例子——MCP 服务器可能在任意时刻连接/断开。技巧 13数值锚定Numeric Anchoring\Length limits: keep text between tool calls to ≤25 words.Keep final responses to ≤100 words unless the task requires more detail.\具体数字比「be concise」更有约束力官方数据显示可减少约1.2%输出 token。技巧 14Cyber Risk 安全指令\IMPORTANT: You must NEVER generate or guess URLs for the user unless you are confident that the URLs are for helping the user with programming.\负面约束\MUST NEVER\ 明确例外用户主动提供的 URL 除外。技巧 15Hook 反馈视为用户输入\Treat feedback from hooks, including , as coming from the user.\让用户可以通过 Hook 自定义干预行为而无需修改核心提示词。技巧 16Undercover 泄露防护当 \undercover\ 模式激活时所有涉及内部模型名称、版本、特性标志的内容都被抑制。防止内部模型在 commit message 等用户可见输出中泄露内部信息。七、最值得借鉴的设计原则1. 静态前缀 动态后缀分离按缓存友好度严格分组静态前缀可被 API 全局缓存。这是最重要的架构决策直接决定 token 成本。2. 反模式 正模式大量使用「DO NOT」和「NEVER」禁止行为用「Examples of」枚举边界比「你应该做什么」更有效。3. 条件分支而非枚举根据 feature flag、环境变量、工具集等条件输出不同版本避免为未使用的功能浪费 token。4. 理由与规则并存禁止性指令同时附带「原因」让模型知道「不能做」还理解「为什么不能」。5. 渐进式展开高级功能既有完整步骤化指南也有简化调用指令。按用户实际使用深度动态选择呈现版本。