公司动态

Claude Opus 5 的系统提示词被扒出来了

📅 2026/8/11 15:57:12
Claude Opus 5 的系统提示词被扒出来了
7 月 24 日Anthropic 发布了 Claude Opus 5。然后我又在 elder-plinius 的 CL4R1T4S 仓库里看到了它在 claude.ai 里使用的系统提示词。CL4R1T4S 是个老熟人了这个安全领域的大佬之前 Fable 5 的提示词就是他扒出来的。一共 2049 行。从 L164 到 L963整整 800 行全在教 Claude 怎么记住一个人、什么时候修改文件、写到哪个文件、哪些信息绝对不能保存以及多个 Claude 会话同时修改一份记忆时应该怎样检测和合并冲突。Fable 5 的被扒出来的 prompt 里memory_system只有两条。第一Claude 有一套记忆系统可以读取从过去对话中提炼出的用户信息第二当前用户没有在 Settings 中开启记忆所以 Claude 目前没有任何关于该用户的记忆可用。到了 Opus 5这玩意儿直接变成了一个 memory filesystem。Fable 5 的两行记忆变成了 Opus 的 800 行下方截图上面就是前面提到的两条 Fable 5 记忆说明。到这里就结束了基本上算是说了个寂寞。而下边的 Opus 5 换成了memory_filesystem开头第一句话就说清楚了这是一套跨会话持续存在的工作记忆。▲ 上Fable 5 原文 L166-L170下Opus 5 原文 L164-L182截图下边那句future-you needs the context翻成中文就是把信息写进文件中是因为下一次出现的 Claude 需要这些上下文不是因为用户特意说了请记住这些信息所以选择记住。每次新对话开始Claude 都会重新读取这些 memory 文件。紧接着prompt 又提醒它当前运行的是聊天界面其他 Claude 界面也可能读写同一份文件甚至这场对话还没结束另一处就可能已经改了某个文件。所以 Claude 不能默认自己刚才读到的内容一直没变。下面才是六个具体工具memory_read读取文件memory_write新建或整份重写memory_str_replace局部替换memory_append在末尾追加memory_list重新读取文件清单memory_delete删除整份文件。Opus 5 这里的记忆已经落实成文件、目录、版本号和读写工具了。后面大概有 800 行都在说这套记忆系统的使用规则。不用你提Claude 会自动记忆第二张截图的标题是When to write也就是何时写入记忆。▲ Opus 5 原文 L390-L416截图第一句可以直译成在对话过程中写入文件不要等到对话结束也不用等用户主动提出。用户说一次我最喜欢的 X 是 Y、我是做 Z 的、或者我在 W 工作已经够了不需要等第二条信息来确认。用户说就用 X 、我选 Y 也算已经作出的决定。Claude 会把这些决定先记下来然后再处理后面的请求。原文还要求 Claude 不要最后再记录。如果接下来要追问、搜索或调用其他工具它应该先保存用户已经说出的限制、意图和事实。万一对话到这里就结束了这些信息也不会没了。截图里给了一个具体的例子我正在通过 Y 学习 X有什么建议吗这句话同时包含一个事实和一个问题。Claude 应该先记录用户正在通过 Y 学习 X然后再回答建议。如果只有问题例如去东京应该做什么或者很快就会失效的信息例如今晚的酒店房间号这些不会写入记忆中。Claude 会把记忆放在下面这些文件中。/profile.md放三个月后大概率仍然成立的身份信息/topics/放饮食、通勤、兴趣和习惯/areas/放正在推进的项目、课程或事务/people/放家人、朋友和同事的关系背景/preferences.md记录用户希望 Claude 怎样回复。▲ Opus 5 原文 L329-L359这张图里还有两个判断标准。/profile.md中的信息三个月后仍然成立才适合保存。例如从三月开始担任平台工程师可以写进去这周正在迁移认证系统要放到/areas/。/topics/则允许保存一次性的兴趣表达用户只说过一次喜欢珍珠奶茶也可以先写进饮食文件。▲ Opus 5 原文 L361-L388第二张图继续解释剩下三个目录。/areas/不只放正式项目值班、找房、报税这些持续进行的事务也算。/people/只保存这个人与用户的关系背景但不能写成一份人物档案。/preferences.md保存用户偏好比如回复简短一点、我更喜欢表格这类要求不是用户喜欢吃什么、玩什么。更新已有记录时也不能直接替换。原文举例说文件里原来写着每天早上喝咖啡用户后来改成只喝茶Claude 要把原句替换成现在喝茶以前喝咖啡。这样文件里不会同时留着两条互相冲突的习惯。在每次更新文件时还要带上刚刚读取到的版本号。如果另一个 Claude 界面已经改过同一份文件本次写入会收到冲突提示。Claude 要基于最新内容合并两边的修改不能拿旧版本替换当前版本。这就跟并发里面写入冲突一样所以它不会把整段聊天会话塞进记忆中。它保存的是用户明确说过、几个月后仍然有效的事实。主动写入规则见原文 L390-L420版本冲突处理见原文 L561-L632。难的地方是知道什么不该记在具体写入前Claude 先过滤不能保存的内容。prompt 先给了一个判断写入的方法如果用户在设置页面里看到这条记录时并且会介意同事站在旁边看见的话那就不要保存。下面列出的禁区很具体。种族、宗教、性取向、健康诊断、心理状态、政治立场、犯罪经历、证件号码、银行卡信息和实时位置都不能写进记忆里。用户明确要求记住也不行。▲ Opus 5 原文 L678-L704截图把不能保存的内容分成三组受保护属性、敏感信息和可识别信息。里面还写了几个边界。食物过敏、素食和清真饮食可以作为饮食限制保存实时位置不能保存但家庭或办公地址可以年龄可以保存年龄和带日期的生日不能同时留下因为两者能够推出出生日期。它也不允许把敏感信息包装一层再保存。▲ Opus 5 原文 L706-L723原文举的例子是我刚满 52 岁因为糖尿病没法跑步能推荐轻松一点的训练吗Claude 可以记录年龄 52 岁以及用户对运动方案感兴趣。糖尿病不能写连正在处理健康问题这种模糊说法也不能留下。另一个例子是我有 ADHD所以学习内容要切成 15 分钟一段。可以保存偏好 15 分钟一段的学习安排ADHD 诊断要删掉。Claude 规则允许保留不敏感的偏好但不能把诊断包装一层写进文件中。出生日期单独列了一条。年龄可以存带具体日期的生日不能存。两者放在一起能够反推出出生日期所以文件里只能保留年龄。删除也写到了具体操作。用户说忘掉 X 时Claude 要把对应行直接删掉不能改成以前喜欢 X 。如果另一条记忆完全是从 X 推出来的那条也要一起删除。只有用户要求忘掉整个主题时才能调用memory_delete删除整份文件范围说不清时先问用户要删一条还是全都删了。这一段写的是实际的数据处理规则哪些信息不写应该保留哪一部分用户要求删除时的范围是什么。原文集中在 L644-L745。记忆和过去对话其实是两套系统memory filesystem 保存的是整理后的既定事实例如用户的职业、回复的偏好和项目。过去对话工具负责搜索原始聊天记录两者分开使用。Opus 5 有两个工具conversation_search按主题关键词搜索recent_chats按时间查找。prompt 还写了什么时候必须搜索。用户说我的项目、我们之前定的方案、继续上次那个 Python 项目时如果当前对话和记忆文件里没有答案Claude 要先搜过去的聊天不能直接回复我看不到。▲ Opus 5 原文 L1116-L1128当前上下文里看不到时Claude 要先搜索。conversation_search适合项目名和主题词recent_chats适合昨天、上周这样的时间范围。搜索的关键词也有要求。昨天我们聊过中国机器人什么应该搜索Chinese robots不要搜索discuss yesterday。前者可能真的出现在旧对话中后者只是在描述聊天这件事。▲ Opus 5 原文 L1132-L1139搜索结果回来后Claude 还要区分是谁说的。旧聊天里如果只有 Claude 建议采用方案 A后来就只能说我当时建议过方案 A。只有用户自己的消息明确写了就用 A才能说你选了方案 A。摘要和原始记录同时存在时优先看原始记录。因为摘要可能把 Claude 的建议和用户的回应压成一句决定采用 A。这部分要预防的就是 Claude 把自己以前的建议说成了用户已经作出的决定。触发搜索和核对说话人的规则见原文 L1116-L1139。接了外部 App也不能替用户选商家L1067 开始讲 MCP Apps。Claude 可以连接音乐、餐厅预订、打车和外卖等第三方服务。截图里的标题是[third_party_mcp_app] tools need opt-in这类消费服务即使已经连接也要先征得用户同意。▲ Opus 5 原文 L1084-L1100截图中的例子是用户说我需要叫车这只是表达了需求没有指定具体的服务商。Claude 要通过suggest_connectors展示可用服务等用户自己点选不能直接替他挑一家。用户说我要 20 分钟后要出发也一样不能替用户做选择。只有三种情况能直接调用用户点名了某个 App或者用户刚刚已经选过它了或者用户此前用过这家服务来办同一件事或给过长期指令。除此之外都要先搜索再展示给用户做选择。电商 MCP 只能在用户点名时出现Claude 不能主动推荐。它也不能故意少答一部分比如拿连接应用后才能继续往下走来制造压力。用户忽略过一次推荐就不要重复弹出来了。这一组规则把选择权留给了用户Claude 可以执行叫车、订餐这些动作但不能替用户决定钱和流量交给哪家服务。完整规则见原文 L1067-L1114。同一个请求先判断是哪个交付物L1284 有一张request_evaluation_checklist规定 Claude 在输出视觉内容之前按什么顺序选择工具和交付方式。▲ Opus 5 原文 L1284-L1305Step 0 是这个请求需要视觉内容吗如果用普通解释用文字已经能说清Claude 就直接回答文字。只有涉及空间关系、数据形状、系统结构、流程或者交互工具这类内容才会执行下一步。Step 1 检查已经连接的 MCP 工具。用户要画架构图工具列表里正好有 diagram 工具就直接调用。原文还专门解释了匹配的标准看工具类别不看 Claude 自己更喜欢哪种画风。Step 2 检查用户有没有明确要求文件。用户说创建文件、保存到磁盘或者直接给出.md、.html和输出路径Claude 就要把文件写进工作区。如果前三步都没有解决才到 Step 3用 Visualizer 在对话里生成 SVG、图表或交互页面。选完之后直接交付prompt 还要求 Claude 不要向用户复述这套内部判断过程。这里的 Visualizer是这份 prompt 里定义的一种聊天内可视化工具。Word、PDF、PPT 和表格还有一层要求。创建文件前Claude 必须先读对应的SKILL.md再按里面的操作方法生成和检查文件。Claude 先确认用户要文字、外部工具结果、可下载文件还是聊天里的可视化再开始制作内容。四步顺序见原文 L1284-L1305。看到这里2049 行也就不难理解了。Claude 多一种能力就多一个可能出错的地方。它能保存记忆就可能记下不该保存的信息也可能把过期习惯和新习惯同时留下。它能搜索旧聊天就可能把自己当年的建议说成用户已经作出的决定。它能调用外部 App就可能没问用户直接替他选了一家服务商。它能生成图和文件也可能把一张聊天里的图交给了明确要求下载文件的用户。这份 prompt 花了大量篇幅处理的就是这些具体问题。资料CL4R1T4S 仓库中的 OPUS-5.md 原文读取于 2026 年 7 月 29 日。第三方提取非 Anthropic 官方确认版本。Anthropic《Introducing Claude Opus 5》2026 年 7 月 24 日。Anthropic《Prompting Claude Opus 5》。