前言:如果要了解学习掌握Prompt基础提示词和进阶技巧,可看我的这篇提示词工程文章:

https://blog.csdn.net/TheChosenOnev/article/details/156449382?fromshare=blogdetail&sharetype=blogdetail&sharerId=156449382&sharerefer=PC&sharesource=TheChosenOnev&sharefrom=from_link

Claude Code 系统提示词深度解析


核心文件:setup.ts、constants/systemPromptSections.ts、constants/prompts.ts、memdir.ts 等

注:为了方便大家阅读学习参考理解,我将技巧1~技巧16每个技巧的示例提示词都放到一起(总结表下面),也可选择性直接使用!


一、提示词技巧总结表

#

技巧名称

源码位置

核心效果

1

身份锚定(Identity Anchoring)

systemPromptSections.ts

确立角色,消除歧义

2

任务边界定义(Task Boundary)

setup.ts

明确职责范围,限制越界

3

差异化指令(Conditional Output)

setup.ts

同一提示词服务不同受众

4

动作风险分级(Action Risk Tiering)

setup.ts

平衡自主性与安全性

5

工具替代强制(Tool Preference)

setup.ts

引导使用专用工具而非 Shell

6

结构化记忆系统(Typed Memory)

memdir.ts

长期记忆的结构化存储

7

会话级条件注入(Conditional Guidance)

setup.ts

根据环境动态调整指令

8

沙箱约束动态注入(Sandbox Delta)

BashTool/prompt.ts

精确的权限边界控制

9

渐进式 Git 指令(Progressive Git)

BashTool/prompt.ts

分层指令,按需展开

10

委托语义(Delegation Semantics)

AgentTool/prompt.ts

清晰的 Agent 任务边界

11

模块化工具描述(Modular Tool Desc)

FileReadTool/prompt.ts

动态组装,按能力裁剪

12

Cache-Breaking 机制

systemPromptSections.ts

精细的提示词缓存控制

13

数值锚定(Numeric Anchoring)

setup.ts

精确 token 控制

14

安全负面约束(Negative Constraint)

cyberRiskInstruction.ts

明确禁止危险行为

15

Hook 信号等效

setup.ts

扩展用户干预能力

16

Undercover 泄露防护

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='描述内容', size='1024x1024']

【进阶功能】(启用风格模式时)
额外选项:style(风格)、aspect_ratio(宽高比)、
negative_prompt(反向提示词)

【视频功能】(启用视频模式时)
生成短视频(最长 5 秒)。
格式:VideoGen[prompt='...', duration=5]

核心原理:工具描述由多个参数化组件动态组装,用户只看到自己实际能用的功能。

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_TYPE=ant 且 undercover=true 时)】
禁止提及:模型名称、版本号、内部功能。
禁止说"作为 AI..."或提及任何 AI 提供商。
以资深同事或领域专家的口吻来回应。

核心原理:Undercover 激活时,抑制所有内部模型信息,防止在 commit message 等用户可见输出中泄露内部信息。

六、附属技巧与设计模式

技巧 12:Cache-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。

技巧 14:Cyber 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 除外)。

技巧 15:Hook 反馈视为用户输入

\Treat feedback from hooks, including , as coming from the user.\

让用户可以通过 Hook 自定义干预行为,而无需修改核心提示词。

技巧 16:Undercover 泄露防护

当 \undercover\ 模式激活时,所有涉及内部模型名称、版本、特性标志的内容都被抑制。防止内部模型在 commit message 等用户可见输出中泄露内部信息。


七、最值得借鉴的设计原则

1. 静态前缀 + 动态后缀分离

按缓存友好度严格分组,静态前缀可被 API 全局缓存。这是最重要的架构决策,直接决定 token 成本。

2. 反模式 > 正模式

大量使用「DO NOT」和「NEVER」禁止行为,用「Examples of」枚举边界,比「你应该做什么」更有效。

3. 条件分支而非枚举

根据 feature flag、环境变量、工具集等条件输出不同版本,避免为未使用的功能浪费 token。

4. 理由与规则并存

禁止性指令同时附带「原因」,让模型知道「不能做」还理解「为什么不能」。

5. 渐进式展开

高级功能既有完整步骤化指南,也有简化调用指令。按用户实际使用深度动态选择呈现版本。

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐