# Claude 的系统提示公开了，为何仍无法解释 Claude Code 的行为？

**Summary:** Anthropic 公开了 Claude.ai 和移动端的核心提示，但不包括 Claude Code 或 API。我会将其作为调试的一个输入，而非行为变化的完整解释。

- Canonical: https://markhuang.ai/zh/news/claude-public-system-prompt-product-boundary
- Language: zh-CN
- Author: [Mark Huang](https://markhuang.ai/about)
- Published: 2026-08-16
- Section: News
- Tags: Claude, 系统提示, Claude Code, AI 调试, 开发者工具
- Source: [Claude Platform Docs](https://platform.claude.com/docs/en/release-notes/system-prompts)
- License: https://creativecommons.org/licenses/by-nc/4.0/

---

![一个发光的 AI 核心被包裹在独立的陶土色、蓝色和石墨色产品层中](https://cdn.markhuang.ai/news/claude-public-system-prompt-product-boundary/hero.webp)

*模型或许位于中心，但每个产品都在它外面套上了不同的一套指令和控制。*

Anthropic 的[系统提示发布说明](https://platform.claude.com/docs/en/release-notes/system-prompts)从 2024 年 7 月 12 日的 Claude 3 一直记到 2026 年 7 月 24 日的 Opus 5。同一页还提到，从 Claude 4.6 这一代开始，每个模型 ID 都是固定快照，只对应一个条目。

听起来像是一条清清楚楚的审计链，其实没那么简单。Anthropic 说，这个页面只覆盖 Claude.ai 和 Claude 手机 app 用的核心提示，而且明确写了这些更新不适用于 Claude API。Claude Code 有自己独立的执行环境。所以在我拿这份存档去解释某个行为变化之前，得先回答一个没那么光鲜的问题：我用的到底是哪个 Claude？

在我看来，Anthropic 发布了一份有用的记录，但“系统提示”这个标签让人产生的信任超出了页面实际能支撑的范围。它只记录了两款消费级产品中的一个重要层级，解释不了整个产品。

## 模型名称不等于产品配置

发布说明页面本身对这些提示的作用描述得比较克制。它们提供日期之类的最新信息，鼓励把代码放进 Markdown 之类的格式。这些指令能在不改变模型权重的情况下影响回答长什么样。

Anthropic 另一份[模型版本文档](https://platform.claude.com/docs/en/about-claude/models/model-ids-and-versions)把这一点说得更清楚。模型 ID 标识的是一个固定的模型版本。对于 Claude 4.6 及之后的版本，像 `claude-opus-5` 这样不带日期的 ID 仍然是固定快照，不是会悄悄往前走的别名。不过 Anthropic 也提到，固定模型周围的部署基础设施还是可能变，包括路由、安全分类器和采样逻辑。

模型 ID 稳定了，调查范围能缩小一些，但事情还没完。消费端的提示、工具、记忆、检索、安全系统和界面都会影响用户最终看到的东西。Anthropic 自己的[上下文工程指南](https://www.anthropic.com/engineering/effective-context-engineering-for-ai-agents)从开发者角度也说了同样的事：模型收到的上下文，是系统指令、工具、外部数据和消息历史拼到一起的。

## 三种关于 Claude 的抱怨，三种不同的排查方向

如果 Claude.ai 突然语气变了、格式变了，这份提示存档是值得先翻的地方。旧模型可以按日期逐条对比，新模型能直接看它公布的提示。但在怪某一行提示之前，我还会先看功能设置、记忆、接入了哪些工具，以及对话本身。

如果是 API 应用出了问题，这个页面就找错了。应用自己的系统提示和请求参数才该记进测试记录里。固定的模型 ID 能帮你排除模型被悄悄换掉的可能，但 Anthropic 自己也说了基础设施会变，所以它证明不了整条服务路径完全没动。

Claude Code 是第三种情况。2025 年 7 月有人提了一个[公开文档 issue](https://github.com/anthropics/claude-code/issues/4141)，后来关闭了，要求 Anthropic 写清楚：Claude Code 的提示并没有发布在这个页面上。那个 issue 说的是用户把 Claude.ai 公开的提示当成了 Claude Code 内部的指令。这只是一个案例，不能说明混淆有多普遍，但这种张冠李戴确实很容易发生。

> **Info:**
>
> 记录产品层面、模型 ID、系统指令、启用的工具、记忆状态和可复现的测试提示。“Claude 变差了”是观察，不是诊断。

## 透明，但也得把边界标清楚

2024 年 Anthropic 在 [Reddit 帖子](https://www.reddit.com/r/ClaudeAI/comments/1f1shun/new_section_on_our_docs_for_system_prompt_changes/)里宣布做这份提示存档时，说是有用户想要更透明的变更记录。结果帖子刚发就有人追问：artifacts、LaTeX 这些功能相关的提示变体能不能也一起放出来？这一问正好戳到了没解决的问题——核心提示可以公开，但功能层面的上下文可能还在公开范围之外。

我不觉得 Anthropic 需要把每个内部分类器、工具描述、安全机制都摊在文档上。那样只会让文档变得没法读，还可能把本该保密的控制细节暴露出去。我更希望看到的是更务实的约定：写清楚覆盖了哪些产品表面、排除了哪些，给每份文档标上日期，把每个产品链接到对应的变更记录。

就第一点来说，当前页面做得比它的标题给人的预期要好。开头就写了覆盖网页端和移动端，也提醒 API 开发者别把这些更新套到自己的请求上。问题出在导航上——一个在排查 Claude Code 问题的人，点进一个叫“系统提示”的页面，看到自己的模型名，很自然会以为这就是他要找的规则手册。

## 提示只是其中一个测试输入

我之前写过[Opus 5 不断改变任务要求](https://markhuang.ai/news/opus-5-keeps-changing-the-brief)，当时的观点是：模型能力强不代表它在产品里做出的决策就好。这份存档又多了一层提醒——脱离周围的产品配置去谈行为变化，根本分不清你评价的到底是模型、提示还是外层框架。

所以我会把公布的提示和一小套回归测试放在一起保存，产品的其余配置单独记下来。行为一旦变了，拿同样的用例跑一遍、比输出。复现不了就老实说复现不了，别从一次让人窝火的对话里硬编出一个头头是道的解释。

Anthropic 愿意把消费端的提示公开，这件事本身值得肯定。但找到提示不等于调试结束。真正该问的不是“Claude 的系统提示是什么”，而是“哪些指令和产品机制拼出了这个回答”。发布说明页面能回答其中一部分——前提是你清楚它的边界在哪。
