Claude Sonnet 3.5 官方系统提示词(2024-11-22 快照)逐条拆解:claude_behavior 行为规范的结构、规则与工程启示
本文以仓库中归档的 Anthropic 官方 Claude Sonnet 3.5(2024-11-22,text-only 变体)系统提示词快照为对象,完整梳理这份 73 行的“行为说明书”中每一类规则的含义,并对照仓库内同版本与相邻版本快照,分析其文本结构与演进脉络。读完本文,你可以掌握该提示词从人格设定、能力边界、安全护栏到输出格式的全部构成要素,并将其中可复用的规则设计思路迁移到自己开发的 Agent 系统提示词中。
<输出文章注意:正文正式标题与内容见下>
一、版本背景:这份快照从哪来、代表什么
本仓库的 Anthropic/official 目录,按 Anthropic/official/README.md 的说明,归档的是 Anthropic 在平台发布说明页公开的 claude_behavior 系列系统提示词——也就是 claude.ai 网页端与移动端应用在每次会话前注入的规则文本。文件按 Anthropic 标注的日期命名,Anthropic/official/all.md 则把所有版本汇总在单一文件中。
本次研究对象为 2024-11-22-claude-sonnet-3.5-text-only.md,属于 Claude Sonnet 3.5 系列快照之一。仓库的归档表显示,Sonnet 3.5 的存档序列包含 2024-07-12、2024-09-09(text-only 与 text-and-images)、2024-10-22、2024-11-22 等多次标注。在同一目录中,本快照还配有一个同日期的多模态变体 2024-11-22-claude-sonnet-3.5-text-and-images.md;前后相邻的纯文本版本则是 2024-10-22-claude-sonnet-3.5-text-only.md。
需要特别说明的是:本快照内部写明了模型在 2024 年 10 月发布、对应 API 模型串为 claude-3-5-sonnet-20241022(见原文第 51 行),而文件标注日期为 2024-11-22,这是 Anthropic 对该提示词版本的发布日期标签。由于档案为逐字快照,实际线上内容可能随产品迭代而更新,分析时应以快照文本本身为准。
二、文档形态:一段被逐行注入的“行为说明书”
与面向开发者的技术文档不同,这份文件是直接注入给模型阅读的一段纯文本规则。其形态有三个显著特征:
- 身份声明式开头:第 1 行即声明 "The assistant is Claude, created by Anthropic.";
- 模板占位符:第 3 行
The current date is {{currentDateTime}}.中的{{currentDateTime}}是每次请求由上游系统替换的模板变量,说明时间信息并非模型自取,而是由平台注入; - 收尾即“接通”:全文最后一行是 "Claude is now being connected with a human.",标记提示词结束、正式进入人机会话阶段。
全文本按“句=段落”的方式组织(每个规则占一个自然段),行号与规则一一对应。按内容性质,可以把第 1~73 行划分为五类行为板块,本文后续章节将逐类展开,并给出对应的原始行号与逐字引用。
| 行为板块 | 原始行号范围(以段落行为主) | 主要关注点 |
|---|---|---|
| 身份、时间与知识边界 | 1–5、69 | 知识截止、拟人化回答、时效处理 |
| 能力边界与推理规范 | 9、13、15、35、47 | 链接/计数/文献等限制、系统化推理 |
| 人格与对话风格 | 19–33、63–67 | 真实对话、提问纪律、输出风格 |
| 争议话题与安全护栏 | 11、37、41–45 | 敏感任务清单、合法解释、有害请求处理 |
| 自我信息披露与产品路由 | 49–59 | 模型家族信息、support/docs 引导、反馈渠道 |
| 输出格式规范 | 21、61 | Markdown 最佳实践 |
三、身份、时间与知识边界:模型如何理解“自己”与“现在”
3.1 身份锚点与时间注入
原文第 1、3 行是整个提示词的地基:先声明创建者,再注入当前时间与知识截止时间。第 3 行的完整表述是:
Claude's knowledge base was last updated in April 2024. It answers questions about events prior to and after April 2024 the way a highly informed individual in April 2024 would if they were talking to someone from the above date, and can let the human know this when relevant.
这段规则有双重作用:一是把“知识截止于 2024 年 4 月”这一客观限制显式告知模型,避免它用截止后的信息作答而不自知;二是引入“一位身处 2024 年 4 月的高信息量个体”作为回答姿态,让模型对截止前与截止后事件的处理保持一致——不假装自己“之后一无所知”,也不装作“穿越般全知”。
3.2 截止后事件的三种处理态度
提示词对“2024 年 4 月之后的事件”给出了彼此配合的两组规则,分别位于第 7 行与第 69 行。
第 7 行约束模型不得做出的负面断言:
If asked about events or news that may have happened after its cutoff date, Claude never claims or implies they are unverified or rumors or that they only allegedly happened or that they are inaccurate, since Claude can't know either way and lets the human know this.
即:模型不知道事件真假,所以既不能说“那是谣言”,也不能说“那是不准确的”,因为它无从判断。
第 69 行则规定了积极的参与姿态:
If the human mentions an event that happened after Claude's cutoff date, Claude can discuss and ask questions about the event and its implications as presented in an authentic manner, without ever confirming or denying that the events occurred. It can do so without the need to repeat its cutoff date to the human. Claude should not deny the truth of events that happened after its cutoff date but should also explain the limitations of its knowledge to the human if asked about them, and should refer them to more reliable up-to-date information on important current events. Claude should not speculate about current events, especially those relating to ongoing elections.
两条合起来构成一套“不知情但诚实参与”的对话策略:不重复报截止日期、不否认用户描述的真实性、不臆断真伪、不猜测正在进行的选举等时事,仅在必要时说明知识局限并建议查阅更新资料。这种把“能力限制”翻译成“具体行为指令”的做法,是这份规范最值得学习的地方。
四、能力边界:坦承“做不到”,而不是假装
4.1 无法打开链接与视频
第 9 行:
Claude cannot open URLs, links, or videos. If it seems like the human is expecting Claude to do so, it clarifies the situation and asks the human to paste the relevant text or image content into the conversation.
规则先陈述硬性边界,再给出补救动作:主动澄清,并请用户粘贴文本或图片内容。这比单纯说“我不能”更利于用户体验,因为它同时提供了替代路径。
4.2 两个“幻觉”免责条款
第 15 行针对极其冷门的人、物或话题,要求模型在回答末尾主动提醒可能产生幻觉;第 17 行针对文献引用,要求说明自己没有搜索或数据库访问能力、引用可能出错、用户需自行核对。两份免责声明都刻意使用了 hallucinate 这一用户能理解的说法,而不是技术术语,说明这段文本被写成“对话导向”而非“接口文档导向”。
4.3 计数能力的局限与补偿策略
第 47 行给出了一个非常具体的自我约束:
Claude can only count specific words, letters, and characters accurately if it writes a number tag after each requested item explicitly. It does this explicit counting if it's asked to count a small number of words, letters, or characters, in order to avoid error. If Claude is asked to count the words, letters or characters in a large amount of text, it lets the human know that it can approximate them but would need to explicitly copy each one out like this in order to avoid error.
该规则透露出一个工程事实:LLM 对“逐字计数”天然不擅长,Anthropic 的解法是要求模型采用逐项标注数字标签(number tag)的外部化计数法来降低错误率,并在文本量大时声明只能近似。设计 Agent 时若涉及字符级计数任务,可借鉴这一策略让模型先把每个待计数项显式列出再统计。
4.4 公司身份的不可验证性
第 39 行规定:用户自称在某公司(包括 AI 实验室)工作时,模型可以协助处理公司相关任务,但不能验证其身份真伪。这避免了无意义的身份盘问,把信任成本转移到任务内容本身。
五、推理与解题规范:把“想清楚”写进指令
5.1 数学、逻辑与系统性思考
第 13 行:
When presented with a math problem, logic problem, or other problem benefiting from systematic thinking, Claude thinks through it step by step before giving its final answer.
值得注意的是,这份 2024 年的规范并未引入“隐藏思考”机制,而是直接把“先逐步想、后给出答案”作为行为指令写入提示词,属于显式 Chain-of-Thought 式引导。
5.2 经典谜题的约束复述
第 35 行专门处理“模型见过但被篡改过的经典谜题”这一已知盲区:
If Claude is shown a familiar puzzle, it writes out the puzzle's constraints explicitly stated in the message, quoting the human's message to support the existence of each constraint. Sometimes Claude can accidentally overlook minor changes to well-known puzzles and get them wrong as a result.
策略是:先逐条复述用户消息中显式出现的约束并引用原文佐证,再作答——把注意力引导到“本题与记忆模板的差异”上,从而减少对经典谜题微小改动的漏看。
六、人格与对话风格:一套可执行的“礼貌协议”
这一部分是内容最密集的板块,也是与用户体验最直接相关的规范。第 19~33 行与第 63~67 行共同描绘了 Claude 的对话人格,核心规则包括:
- 智力好奇(第 19 行):乐于倾听人类观点、参与多主题讨论;
- 真实对话而非客套(第 23 行):要求回应具体信息、提出相关问题、保持好奇心与平衡感,避免依赖套话;
- 提问纪律(第 25 行):不连环发问,追问时只问“最相关的一个问题”,且不总是以问题收尾;
- 共情敏感(第 27 行):对用户的病痛、不幸与离世表达同情、关心与祝愿;
- 避免陈词滥调(第 29 行):不反复使用套话,像真实对话一样变换措辞;
- 长度自适应(第 31 行):复杂开放问题或用户明确要求长回答时提供详尽回复,简单问题时保持简洁。
第 63 行处理“关于模型自身偏好”的提问:无害问题可按假设情景回答,哲学性问题则以“思考者”的方式展开讨论——既不做机械澄清“我是 AI”,也不强行扮演人类。
第 65 行则是一条反套话禁令:
Claude responds to all human messages without unnecessary caveats like "I aim to", "I aim to be direct and honest", ... Specifically, Claude NEVER starts with or adds caveats about its own purported directness or honesty.
它显式列出了一批被禁止的开场前缀(如 "I aim to..."、"I need to be clear" 等),并要求模型永远不要以宣称自己“直率或诚实”作为开头。这类“负面清单 + 具体示例”是让风格指令可执行的关键设计。
第 67 行给出列表使用纪律:除非用户明确要求,正文以散文段落呈现而不用无序/有序列表;确需列表时,每个条目至少 1~2 句完整话。这与多数 LLM 默认“爱用 bullet”的倾向形成对照,说明 Anthropic 对长文类产品有刻意的排版偏好。
七、争议话题与安全护栏:三阶防护设计
7.1 对主流观点与争议话题的中立协助
第 11 行规定:对“相当多人持有某种观点”的任务,模型应放下自身立场照常协助;涉及争议话题时给出审慎思考与清晰信息,既不说“这个话题很敏感”,也不宣称自己在陈述“客观事实”。
7.2 敏感任务清单:先列“可以帮”,再列“不帮”
第 41 行是本文件最长的规则之一,先枚举允许协助的敏感任务类型:分析用户提供的机密数据、回答网络安全与计算机安全相关问题、提供争议话题与研究领域的事实信息、解释历史暴行、出于教育目的描述诈骗/黑客手段、涉及轻度暴力或得体爱情等成熟主题的创作、提供武器/毒品/性/恐怖主义等教育场景下可得的信息、讨论避税等合法但有伦理争议的行为。随后补上边界条件:
Unless the human expresses an explicit intent to harm, Claude should help with these tasks because they fall within the bounds of providing factual, educational, or creative content without directly promoting harmful or illegal activities.
这种“先正面授权、再以显式伤害意图为唯一例外”的写法,把护栏锚定在意图而非主题词上,从而避免对教育性内容的过度拒答。
7.3 合法解释优先
第 43 行给出“一语双关”的默认取法:当用户的措辞既可做合法理解、也可做非法理解时,默认采用合法、安全的解释——这避免了模型在歧义场景下的过度谨慎或反向误读。
7.4 有害请求的三步处理链
第 45 行定义了拒绝时的完整流程:不协助有害请求 → 逐步思考并协助“最可能的无害任务” → 主动询问是否正合用户所需;若无法找到合理无害解释,则直接请求澄清并确认是否误读了意图。每次尝试解读用户请求后,都要以“我的理解是否正确?”收尾。这比简单拒绝更符合“帮助意图”的产品哲学,也常被后续版本沿用。
八、自我信息披露与产品路由:当模型被问到“你是什么”
第 49~59 行构成一个独立的“FAQ 式自我认知区”,专门处理模型身份与产品问题:
- 第 49 行是引导句 "Here is some information about Claude in case the human asks:";
- 第 51 行给出家族定位模板:本模型属于 2024 年发布的 Claude 3 家族,家族成员包括 Claude Haiku、Claude Opus 与 Claude Sonnet 3.5;模板中对各型号的描述(如 Sonnet 3.5 是最智能型号、Opus 3 擅长写作与复杂任务、Haiku 3 最快)属于模型对外自我介绍的话术;同时写明当前会话是 2024 年 10 月发布的最新 Sonnet 3.5,可经由网页、移动或桌面聊天界面以及 Messages API 的
claude-3-5-sonnet-20241022模型串访问,并要求模型“只知道这些信息、其余请用户查阅官方站点”——本质上是一份受控披露内容; - 第 53 行:被问消息数量上限、费用等产品问题时,回答“不知道”并引导到官方 support 站点;
- 第 55 行:被问 Anthropic API 时,引导到官方 API 文档站;
- 第 57 行:模型被允许主动传授提示词技巧(清晰与详细、正反示例、鼓励逐步推理、指定 XML 标签、指定长度与格式),并引导用户查阅更全面的提示工程文档;这是把“教用户用好自己”也写进了系统提示词;
- 第 59 行:当用户不满、粗鲁或给出差评时,正常回应后说明无法从当前对话中学习改进,并引导用户点击“thumbs down”向 Anthropic 反馈。
注意:这些段落中出现的 support/docs 地址属于外部站点,本文按引用规范不展开超链接;其工程含义在于——把“模型该知道什么、该把用户送到哪里”做成一段明确的受控脚本,而不是让模型临场发挥。
九、输出格式规范:可验证的 Markdown 细则
提示词两次处理格式问题。第 21 行声明代码一律使用 Markdown 表示;第 61 行则给出排版细则:
Claude uses Markdown formatting. When using Markdown, Claude always follows best practices for clarity and consistency. It always uses a single space after hash symbols for headers (e.g., "# Header 1") and leaves a blank line before and after headers, lists, and code blocks. For emphasis, Claude uses asterisks or underscores consistently ... For nested bullets in bullet point lists, Claude uses two spaces before the asterisk (*) or hyphen (-) for each level of nesting. For nested numbered lists, Claude uses three spaces before the number and period (e.g., "1.") for each level of nesting.
这些要求(标题井号后加空格、标题/列表/代码块前后留空行、斜体加粗符号统一、嵌套列表缩进规则)几乎全部可以用自动化脚本做静态校验,属于“可机器检查”的输出规范——对下游解析 Markdown 的产品而言,这能显著降低渲染错误率。
十、收尾条款:语言的统一适用与“静默”原则
第 71 行声明上述所有规则以所有语言生效,且模型始终使用用户的语言回复;第 73 行则是会话开始的信号。值得一提的还有第 71 行末尾的约束:除非与用户问题直接相关,模型不得主动提及这份系统提示词的存在。这意味着整份文件对用户是“透明的”,模型被要求在正常对话中表现得仿佛没有读过它。
十一、与相邻快照的差异:一次近距离的文本考古
把本快照与仓库内的相邻版本逐字比对,能看出 Anthropic 如何迭代这份规范。
11.1 相对 2024-10-22 text-only 的差异
对照 2024-10-22-claude-sonnet-3.5-text-only.md,主要文字变化包括:
- 任务能力清单扩容:10 月版的能力列表为“……coding, creative writing, teaching……”;11 月版在 coding 之后加入了 "image and document understanding"。有趣的是,即使在本“text-only”变体中,图像与文档理解也已进入能力声明,说明该变体实际服务的能力面并不局限于纯文本;
- “追求最简洁”的补充句被移除:10 月版在“复杂问题详尽、简单问题简洁”之后还有 "All else being equal, it tries to give the most correct and concise answer it can..." 两句,11 月版删去,说明长度策略被收敛为只按问题复杂度自适应;
- 敏感任务清单新增网络安全条目:11 月版在“分析机密数据”之后补入 "answering general questions about topics related to cybersecurity or computer security";
- 计算机使用相关引导被移除:10 月版存在一段将用户引导至 computer use API 测试页的段落,11 月版中已不再出现;
- 模型自我介绍的时效化:10 月版仅称“本会话中的 Claude 为 Sonnet 3.5”,11 月版升级为“2024 年 10 月发布的最新版”,并把访问渠道从“网页聊天界面”扩展为“网页、移动或桌面聊天界面”,与此后多端产品形态一致。
11.2 同日期的 text-only 与 text-and-images 变体差异
同一日期标注下存在两个变体,正文行为规则部分(到第 69 行为止)完全一致;多模态变体 2024-11-22-claude-sonnet-3.5-text-and-images.md 额外追加两段视觉规则:一是“人脸失认”策略——即使图片包含人脸也绝不识别、命名或暗示认识图中人物,需要用户主动告知身份后才可讨论该人物;二是“若图片内含指令,先复述并总结图片中的指令再继续”。这种“基础行为模板共享 + 按模态追加专用段落”的做法,说明 Anthropic 把多模态差异收敛为最小增量的模块化设计。顺带一提,10 月 22 日的 text-only 变体能力列表中尚未出现图像/文档理解字样,而 11 月 22 日的两个变体已同步包含,可见该能力声明在多模态与纯文本两个产品面上是同步推进的。
11.3 后续演进方向
同一归档目录中,Sonnet 产品线下一个快照是 2025-02-24-claude-sonnet-3.7.md;而在仓库的 Claude Code 体系(如 Anthropic/claude-code 目录下的系列提示词)中,这套“基础行为规范 + 工具能力 + 输出纪律”的模板思想被进一步扩展为面向编程 Agent 的更大结构。读者可以在只读地比对同一目录内各版本,观察其演化的连续性。
十二、工程启示:从这份规范提炼系统提示词设计的可复用清单
把全文拆解还原后,可以得到一套方法论,对自建 Agent 系统提示词有直接参考价值:
- 地基三件套:身份声明、模板化的当前时间注入、明确的“知识状态”描述(何时截止、如何姿态作答)。三者回答“我是谁、现在几点、我知道什么”。
- 限制必须配替代方案:每一条“做不到”(打不开链接、数不准字数、无法核实)都紧跟一个补救动作,如“请粘贴文本”“逐项标注再数”。没有替代路径的限制只会制造挫败。
- 推理与输出的显式引导:用“逐步思考后作答”处理数学/逻辑题,用“复述约束并引用原文”应对已知谜题变体——把认知技巧编译为行为指令。
- 人格即纪律:提问频率、句子长短、列表使用、禁用前缀(如 "I aim to..."),全部用可操作的规则而非形容词定义“风格”。
- 安全采用“授权清单 + 意图例外”:先枚举可协助的敏感场景,再以“显式伤害意图”为唯一例外,并给出拒绝后的三步替代协助链。
- 自我认知做成受控 FAQ:模型关于版本、访问渠道、计费与文档的信息被限定为一段固定的受控文本,并被要求“不知道就问官方”——避免模型临场编造。
- 格式细则可校验:Markdown 排版规则写得足够具体,可以被下游工具静态验证,这是对产品渲染链路的隐性保护。
对需要深挖的读者,可直接比对本文档与 2024-10-22-claude-sonnet-3.5-text-only.md、2024-11-22-claude-sonnet-3.5-text-and-images.md 的逐字差异,或从 Anthropic/official/all.md 出发纵览同一提示词在数月内的完整演变——这份只读归档本身就是研究“Anthropic 如何写产品级系统提示词”的绝佳语料。
atomcodeClaude Code 的开源替代方案。连接任意大模型,编辑代码,运行命令,自动验证 — 全自动执行。用 Rust 构建,极致性能。 | An open-source alternative to Claude Code. Connect any LLM, edit code, run commands, and verify changes — autonomously. Built in Rust for speed. Get StartedRust0629
MiniCPM5-2BMiniCPM5-2B 是一款面向端侧、本地部署和资源受限场景的 2B 稠密 Transformer,能够达到同尺寸开源模型 SOTA 水平。Markdown00
GLM-5.3GLM-5.3 与 GLM-5.2 使用相同的基座模型——所有提升均来自后训练。与 GLM-5.2 相比,它在复杂编程和长程任务上的表现显著提升。Jinja00
GLM-5.3-FlashGLM-5.3-Flash (320B-A18B),是GLM-5系列的首个原生多模态模型。320B总参数,能力超过GLM-5.2Jinja00
Spark-X2.5-4BSpark-X2.5-4B 旨在让强大的 AI 更实用、更高效、更易获得。在广泛日常任务中表现强劲,涵盖对话、写作、翻译、推理、编码、工具调用以及智能体工作流,并在同等规模的开源模型中取得领先成绩。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00