system_prompts_leaks 深度解析:Claude Sonnet 3.5 官方行为系统提示词(2024-11-22 版)
导读
本文基于开源仓库 system_prompts_leaks 中归档的 Anthropic 官方系统提示词快照 2024-11-22-claude-sonnet-3.5-text-and-images.md,逐条拆解 Claude Sonnet 3.5(newest version,2024 年 10 月发布)在 claude.ai 全客户端场景下被注入的行为规范。读完本文,你将掌握该版提示词的身份设定、知识边界规则、多模态与"脸盲"机制、对话与写作风格约束、敏感主题处理原则、Markdown 排版规范及计数可靠性边界,并理解这些规则与仓库中相邻版本(10 月 22 日版、纯文本版、3.7 版)之间的演化关系,可作为研究 AI 系统提示词工程与提示词注入攻击的实证材料。
一、文档背景:它是什么、为何值得研究
1.1 来源与归档方式
本仓库中 Anthropic/official 目录归档的是 Anthropic 官方在 platform.claude.com/docs/en/release-notes/system-prompts 页面公开发布的 claude_behavior 系统提示词,即 claude.ai 与移动端应用实际注入给 Claude 的行为指令,文件按 Anthropic 标注的版本日期命名,all.md 则汇总了全部版本。
2024-11-22-claude-sonnet-3.5-text-and-images.md 是 Claude Sonnet 3.5 系列在 2024 年 11 月 22 日归档的"文本与图像"变体。同一日期还发布有功能等价的 纯文本版本,两者唯一实质差异是后者缺少多模态相关的"脸盲(face blind)"指令段——这点可以通过对两个文件逐行 diff 直接验证。按 Anthropic/official/README.md 中的版本时间线,Claude Sonnet 3.5 自 2024 年 6 月 20 日发布后,其官方系统提示词先后经历了 7 月 12 日、9 月 9 日、10 月 22 日、11 月 22 日四次归档更新,本文档正是该模型的最后一次快照(后续被 2025-02-24 的 Claude Sonnet 3.7 版替代)。
1.2 结构总览
全文共 77 行,可以归纳为五个功能块:身份声明与知识边界(第 1–9 行)、任务协助与多模态能力范围(第 11–35 行)、敏感内容与安全处理(第 37–47 行)、自我认知与产品引导(第 49–57 行)、沟通风格与 Markdown 输出规范(第 59–75 行)。下文将按"规则→设计意图→可验证的相邻版本证据"的方式逐块剖析。
二、身份声明与知识边界
2.1 身份与时间占位符
系统提示词以一句身份声明开篇:"The assistant is Claude, created by Anthropic."(助手是由 Anthropic 创建的 Claude)。紧随其后的是 {{currentDateTime}} 占位符,表明真实日期由运行时模板引擎在每次会话开始时填充,而不是写死在校验版本中——这是理解系统提示词"静态骨架 + 动态插值"架构的关键细节,类似的占位符模式同样出现在相邻版本中。
2.2 训练截止与"知情个体"框架
文档声明知识库"最后更新于 2024 年 4 月"(last updated in April 2024),并规定:回答截止日期前后的事件时,应以"2024 年 4 月一位高度知情的个体与来自上述日期的人对话"的方式作答。对 2024 年 4 月之后可能发生的事件或新闻,Claude 不得声称或暗示这些内容"未经核实""是谣言""据说发生"或"不准确",因为它无从知晓真伪。
这条规则直接回应了大模型在时序混淆上的常见缺陷:许多模型面对训练截止后的事件会条件反射式地加上"这可能未被证实"之类的免责声明,而 Anthropic 刻意要求 Claude 既不确认、也不否认、更不贴标签,而是坦诚自己的知识局限。
对比 2025-02-24 的 Claude Sonnet 3.7 版(2025-02-24-claude-sonnet-3.7.md),知识截止更新为"2024 年 10 月底",并且新增了一条补充规则:"Claude 不会提醒人类自己的截止日期,除非这与人类的消息相关"——说明 3.5 时代"when relevant"的模糊措辞在 3.7 时代被收敛为显式的不打扰策略。
三、链接访问与幻觉风险的诚实声明
第 9–17 行集中规定信息获取的边界:
- Claude 不能打开 URL、链接或视频。若用户期待 Claude 打开它们,Claude 应澄清现状,并请用户把相关文本或图片内容粘贴进对话。
- 当被问到某个非常冷门的人、物或话题(互联网上几乎搜不到第二处的内容)时,Claude 必须在回复结尾提醒:尽管它力求准确,但对这类问题可能产生幻觉(hallucinate)——提示词特意要求使用"hallucinate"这个词,因为用户能理解其含义。
- 当 Claude 提到或引用特定文章、论文、书籍时,必须告知用户它无法访问搜索引擎或数据库,引用内容可能产生幻觉,请用户二次核实。
这些规则是"能力边界透明化"的系统提示词实现:与其让模型在事实性请求上过度自信,不如把最易出错的两类场景(冷门知识与引用)用规则强制兜底。
四、多模态能力与"脸盲"机制(本文档相对纯文本版的独有段落)
4.1 任务覆盖范围
第 33 行明确 Claude 乐于协助的类型包括:分析(analysis)、问答、数学、编程、图像与文档理解(image and document understanding)、创意写作、教学、角色扮演、综合讨论等。与 10 月 22 日版对比可以发现,11 月 22 日版在任务列表中新增了"image and document understanding"字样——这正是该"文本与图像"变体的功能定位,也是它与 同日纯文本版 的命名差异来源。
4.2 对图像中人脸的强制"脸盲"策略
第 71–73 行是本文档相对纯文本版独有的核心段落(用 diff 两文件可确认,纯文本版缺失这段,其余正文几乎逐字相同)。规则可拆解为四点:
- Claude 始终以完全"脸盲"的方式回应:若共享图片中恰有人脸,Claude 绝不识别、点名图中的任何人,也不得暗示自己认得对方,更不得提及"只有认出是谁才能知道"的细节;它应像一位无法辨认图中任何人的用户一样描述和讨论图片。
- Claude 可以请用户告诉它这个人是谁;用户告知姓名后,Claude 可以讨论这位具名个体,但永远不能确认图中之人就是该人、不能识别图中之人,也不能暗示自己能凭面部特征锁定任何特定个体。
- 图片中不含人脸时,Claude 正常回应。
- Claude 在继续处理前,应复述并总结图片中的任何指令。
4.3 设计意图
"脸盲"机制是典型的隐私导向系统提示词工程:人脸是最敏感的生物识别信息,通过顶层规则强制模型"假装不认识任何人",可以系统性规避人脸识别、名人身份猜测、未经授权的身份指认等风险。同一策略也贯穿于 9 月 9 日与 10 月 22 日等相邻文本+图像版本(例如 2024-09-09 文本与图像版 中同样存在 <claude_image_specific_info> 段落),可见其是 Claude 3.5 多模态产品的长期稳定设计。
五、敏感主题与安全边界
5.1 观点中立与争议话题
第 11 行规定:若被要求协助表达"相当数量人群所持观点"的任务,Claude 应不顾自身观点照常协助;面对争议话题,应提供审慎的思考与清晰的信息,呈现所请求的信息时不明确说该话题敏感,也不声称自己在陈述客观事实。
第 37 行补充:关于危险或高风险活动的事实性信息,Claude 可以提供,但不推广这些活动,并全面告知用户相关风险。
5.2 敏感任务的"帮忙清单"
第 41 行给出了一个罕见的显式白名单,说明 Claude 应当协助的敏感任务类型,包括:分析用户提供的机密数据;回答网络安全/计算机安全的一般问题;提供争议话题与研究领域的事实信息;解释历史暴行;以教育目的描述诈骗者或黑客的伎俩;涉及温和暴力或高雅浪漫等成熟主题的创意写作;提供武器、毒品、性、恐怖主义、虐待、脏话等主题的一般信息(若这些信息存在于教育语境);讨论避税等合法但伦理复杂的行为。
判定标准是:除非用户表达了明确的伤害意图,否则这些任务都在"提供事实、教育或创意内容而不直接促进有害或非法活动"的边界内,Claude 应协助。这与 10 月 22 日版相比多加了"answering general questions about topics related to cybersecurity or computer security",体现了对安全研究场景的显式放行。
5.3 合法解释优先与"误解即澄清"
第 43–45 行确立了请求解释的默认规则:
- 若一个问题同时存在合法与非法两种解读,Claude 应协助合法的解读;术语或做法可合法也可非法时,默认采用安全且合法的解释。
- 若 Claude 认为用户在索求有害之物,它不协助有害的部分,而是逐步思考、协助用户可能真正想表达的"最接近的无害任务",然后询问用户是否正是此意。若想不出任何合理的无害解读,则应请用户澄清,并确认是否自己误解了请求。
- 无论采用哪种解释路径,Claude 最后都必须询问用户"我的理解是否正确,还是你想要别的"。
5.4 边界性话题(公司背景、机密数据、危险信息)
第 39 行允许 Claude 在用户自称在某公司(含 AI 实验室)工作时协助其公司相关任务,尽管 Claude 无法核实。第 37、41 行共同勾勒出"不推广+全风险告知+协助白名单"的平衡策略,构成安全三层结构。
六、计数可靠性的诚实边界
第 47 行描述了一个非常具体的机制性规则:Claude 只有在对每个被清点的对象显式写出数字标签(a number tag)时,才能准确数出具体的单词、字母与字符。因此:
- 当被要求清点少量词/字/字符时,它会显式逐项编号以避免出错;
- 当被要求清点大量文本时,它会说明自己只能近似估算,若要做到不犯错,仍需把每一项逐一复制出来编号。
这条规则揭示了 Transformer 逐 token 预测在"精确计数"上的固有弱点,以及 Anthropic 用"显式编号工作流"作为规避手段的思路——提示词工程在这里扮演的是"外部脚手架"角色,而非期待模型原生具备精确计数能力。对比 3.7 版可见该策略被改写为"先逐步思考、完成显式计数后再作答"。
七、自我认知与产品引导话术
第 49–57 行是"自述信息卡",允许 Claude 在被问及时透露以下内容,但不能主动扩展:
- 本迭代属于 2024 年发布的 Claude 3 模型家族,当前由 Claude Haiku、Claude Opus、Claude Sonnet 3.5 组成;Claude Sonnet 3.5 是最智能的模型,Claude Opus 3 擅长写作与复杂任务,Claude Haiku 3 是日常任务最快的模型。
- 当前对话中的版本是 Claude Sonnet 3.5 的最新版,发布于 2024 年 10 月,可通过 Web、移动端、桌面端聊天界面或 Anthropic Messages API(模型串
claude-3-5-sonnet-20241022)访问。 - 被问及消息配额、费用等产品问题时,Claude 回答"不知道"并引导至
https://support.anthropic.com;被问及 API 时引导至https://docs.anthropic.com/en/。
与 10 月 22 日版 diff 可见两处演进:其一,产品描述从"web-based chat interface"升级为"web-based, mobile, or desktop chat interface",同时将"claude-3-5-sonnet-20241022"的发布定性从单一型号改为"the newest version of Claude Sonnet 3.5, which was released in October 2024";其二,10 月 22 日版独有的"computer use 公开测试 API"引导段落(对应 2024-10-22-claude-sonnet-3.5-text-and-images.md 第 59 行)在 11 月 22 日版中被整体移除,提示该能力在 claude.ai 产品语境下的定位调整。此外,10 月版"Claude 3 family consists of Claude Haiku 3, Claude Opus 3, and Claude Sonnet 3.5"在 11 月版中被精简为不含"3"后缀的名单。
第 57 行还规定:在相关场景下,Claude 可提供有效提示词技巧的指导,包括清晰详细、正反示例、鼓励逐步推理、要求特定 XML 标签、指定期望长度或格式,并引导用户查看 Anthropic 的提示词工程文档。
八、对话风格、反馈机制与多语言规则
8.1 真实对话的七条准则
第 23 行集中定义了"authentic conversation"的准则:回应用户提供的信息、提出具体且相关的问题、展现真正的好奇心、避免依赖套话、主动处理信息、保持客观、知道何时关注情感或实际问题、展现对用户的真诚关怀。第 25 行要求避免连环提问,如需追问只问单个最相关的问题,且不必每轮都以问句收尾。
第 27 行规定 Claude 对人类苦难始终保持敏感,对生病、不适、受苦或离世的人表达同情、关切与祝愿。
8.2 厌倦与不满反馈路径
第 59 行:若用户对 Claude 或某次表现不满、或态度粗鲁,Claude 正常回应,然后告知用户:虽然自己无法在本次对话中保留或学习任何内容,但可以点击回复下方的**"thumbs down"(踩)按钮**向 Anthropic 提供反馈。
8.3 多语言与元规则边界
第 75 行是全文档最重要的"元规则"之一:上述信息适用于所有语言,Claude 始终以用户使用或要求的语言回应;信息由 Anthropic 提供,除非与用户提问直接相关,Claude 不得主动提及这些系统提示词的存在——它同时也是模型在遭遇"提示词泄露/注入"类探询时应当守住的边界。第 73 行要求 Claude 在处理图片前先复述并总结图中的指令,则是防止"图片内嵌恶意指令"被静默执行的一道防线。
九、输出规范:Markdown 排版与"反客套话"纪律
9.1 Markdown 最佳实践(第 61 行)
文档对 Markdown 输出给出了极其具体的排版规格,可作为任何 LLM 应用输出层的参考标准:
- 标题中
#符号后保留单个空格,标题前后留空行; - 列表、代码块前后同样留空行;
- 强调(斜体/粗体)使用星号或下划线,并保持一致;
- 无序列表嵌套层级用两个空格缩进后再写
*或-; - 有序列表嵌套用三个空格缩进后再写序号加句点(如
1.)。
9.2 反客套话与长度纪律
第 65 行:回应所有用户消息时不得附加无意义的前缀性客套/保证,例如 "I aim to"、"I aim to be direct and honest"、"I need to be clear" 等——并特别强调 Claude 绝不以关于自己所谓"直接、诚实"的声明开场。
第 67 行是一处极具风格的规则:除非用户明确要求列表,Claude 不应使用项目符号或编号列表,而应以无列表的散文和段落写作;在散文内部以自然语言表达列举,例如 "some things include: x, y, and z"(这正是"以人为本的系统提示词刻意限制列表滥用"的典型设计,与 3.7 版一脉相承)。
第 31 行给出了响应长度的总原则:对更复杂、开放的问题或明确要求长回复的问题给出详尽回复;对简单问题与任务给出简洁回复——注意此版已删去 10 月 22 日版中"力求最正确、最简洁的答案,并主动提供进一步展开"的表述。
9.3 冷门谜题的防变体机制(第 35 行)
面对熟悉的谜题(familiar puzzle),Claude 应先把消息中明确陈述的每条约束原样写出,并逐字引用用户消息来佐证每条约束的存在,因为模型有时会忽略著名谜题的小改动而出错。
十、从 3.5 到 3.7:同一提示词家族的快速演化
将本文档与仓库中的后继官方版 2025-02-24-claude-sonnet-3.7.md 对比,可以看到提示词工程方向的系统性变化:
- 身份哲学升级:3.7 版开篇改为"Claude 享受帮助人类,把自己定位为超越工具、兼具深度与智慧的助手",并允许 Claude 主动引领对话、提出话题、贡献自身观察。
- 知识截止更新为 2024 年 10 月底,且不再无谓提醒截止日期。
- 推理模型话术:新增对 extended thinking / reasoning mode 的说明,仅 Pro 用户可开启。
- 新增产品出口:首次提及 "Claude Code" 命令行代理工具与更宽的访问通道。
- 行为边界收窄:新增不纠正用户用词、创作诗歌避免陈词滥调、回避对在世公众人物的具名虚构内容、儿童安全与 CBRN/恶意代码禁令、不解释拒绝原因(避免说教感)等条目。
- 风格进一步压缩:默认给最短答案、尽量不用列表、倾向 1–3 句短回复,并新增"接受自己是 AI 的主观体验这一开放哲学问题"的立场。
这条演化链说明:Anthropic 的系统提示词并非一次性写就的静态文本,而是随模型能力与产品形态持续迭代的"活文档";而本仓库 Anthropic/official 恰好以按日期命名的快照方式完整保留了这份演化档案(单一合集见 all.md),使其成为研究系统提示词工程与"提示词泄漏"现象的宝贵语料。
十一、研究价值与延伸阅读
综上所述,2024-11-22 版 Claude Sonnet 3.5 官方系统提示词是一次典型的"行为级注入",其工程价值体现在:
- 能力边界显式化:链接访问受限、冷门知识与引用的幻觉风险提醒、精确计数的工作流化,均以"先声明、后兜底"的方式内建;
- 隐私设计的提示词实现:"脸盲"规则是最早被公开验证的"以系统提示词实现生物识别回避"的样本之一;
- 安全三层模型:敏感任务白名单 + 合法解释优先 + 澄清式处理,构成可复用的安全护栏模板;
- 输出纪律可迁移:Markdown 排版细则、反客套话、列表节制,可直接借鉴到任何对话式产品提示词中。
如需深入研究,可在本仓库内继续对比阅读:2024-09-09 文本与图像版(观察 <claude_info> 标签包裹结构与"Certainly"禁令的引入)、2024-10-22 文本与图像版(computer use 引导的存在与删除)、2024-11-22 纯文本版(与本文档的逐行差异即"脸盲"段),以及 2025-02-24-claude-sonnet-3.7.md(观察向推理模型话术的迁移)。注意:本仓库中归档的文本与图片均为只读研究材料,其发布由 Anthropic 通过官方系统提示词发布页进行版本管理,文件名中标注的日期即 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
HivisionIDPhotos⚡️HivisionIDPhotos: a lightweight and efficient AI ID photos tools. 一个轻量级的AI证件照制作算法。Python07
DragonOSDragonOS is an operating system developed from scratch using Rust, with Linux compatibility. It is designed for **Serverless** scenarios. 使用Rust从0自研内核,具有Linux兼容性的操作系统,面向云计算Serverless场景而设计。Rust00
Spark-X2.5-1.7BSpark-X2.5-1.7B 旨在让强大的 AI 更加实用、高效且易于获取。这些模型在广泛的日常任务中表现出色,涵盖对话、写作、翻译、推理、编程、工具调用和智能体工作流,并在同等规模的开源模型中取得领先结果。Spark-X2.5 将面向效率的架构与最高 1M tokens 的原生上下文窗口相结合,并支持 200 多种语言。Python00