# 系统提示词架构模板 > **代表产品 / 原型**:Claude Fable 5(claude.ai) —— 旁参 ChatGPT GPT-5.5、Gemini 3.1 Pro、Grok 4.2、Cursor、OpenAI Codex > **一句话定位**:把同一基础大模型包装成不同产品形态的「Agent 操作系统」——用分层模块、决策树路由、外置 Skills 与运行时注入,统一价值观、记忆、工具、合规与产出形态。 --- ## 1. 一句话定位 系统提示词架构 = **给大模型装配的一套分层「操作系统」**:不是写一段人设就完事,而是用宪法层、记忆层、执行层、检索合规层、工具注册表和运行时配置,让模型在每次对话里**按固定优先级路由**——先守住安全与合规,再注入个性化,再决定产出形态,再选工具,最后才生成面向用户的回复。 Claude Fable 5 是公开资料里解剖得最完整的范本(约 3800 行、六层 XML 模块);ChatGPT、Gemini、Grok、Cursor、Codex 等各家走的是同一类问题,只是模块边界与取舍不同。 ## 2. 业务本质:它在解决什么问题 同一底座模型要同时服务:通用对话、联网检索、文件产出、编码 Agent、多租户个性化、合规审计。若只靠「一段温柔的人设」,会出现: - **价值观漂移**:不同会话、不同产品入口,安全边界不一致。 - **能力失控**:该搜不搜、该建文件却内联、该用内部工具却乱调 Web。 - **合规裸奔**:版权逐字引用、儿童安全、机制泄露,全靠模型「自觉」。 - **无法演进**:每加一个工具或 Skill,整段提示词越长越难维护。 系统提示词架构要消灭的是:**「模型不知道自己在什么环境里、该遵守什么优先级、该走哪条路由」**。它的价值不在于文案多好听,而在于让产品行为**可预测、可审计、可扩展**——这和 [AI 对话产品](../ai-chat-product/README.md) 的「上下文 + 工具 + 合规」一脉相承,但粒度更细:提示词本身就是产品架构的一部分。 **和 [Claude Code](../claude-code/README.md) 的分工**:本篇聚焦**对话类产品**的提示词 OS(人格 / 记忆 / 检索 / 产出形态);而**编码 Agent** 的运行时权限、OS 沙箱、子代理隔离请看 Claude Code——两者共享「指令层不可信」这条安全第一性原理,只是把它落在了不同的层。 > 一句要先记住的话:**系统提示词卖的不是「性格」,而是「在有限上下文里,把价值观、记忆、工具、合规和产出形态排好队」。** ## 3. 核心需求与约束 **功能性需求(系统要能做什么):** - [ ] **宪法统一**:安全拒绝、语气格式、wellbeing、知识截止策略,全局一致且优先级最高。 - [ ] **记忆个性化**:把用户偏好与历史自然融入回复,但不暴露记忆机制、不说禁用话术。 - [ ] **产出形态路由**:决定内联回复 vs 可下载文件 vs Artifact vs 可视化组件。 - [ ] **检索与引用**:何时搜、何时不搜;引用格式、改写要求、版权上限。 - [ ] **工具路由**:~数十个工具的「何时用 / 何时不用」、优先级与组合策略。 - [ ] **运行时扩展**:MCP 连接器、用户偏好占位符、网络/文件系统契约、thinking 模式等按部署注入。 **非功能性需求 / 质量属性:** | 质量属性 | 目标 | 为什么对这类系统重要 | |---|---|---| | **安全 / 合规优先** | 宪法与版权规则 override 用户请求 | 一条违规输出的产品代价远大于「不够 helpful」 | | **一致性** | 同产品入口行为可复现 | 用户信任来自可预期,不是随机「性格」 | | **上下文效率** | 在 token 预算内塞下必要规则 | 提示词越长,留给对话与工具返回的空间越少 | | **低机制泄露** | 拒绝时不解释检测逻辑 | 暴露规则 = 给越狱者一张地图 | | **可维护性** | 模块可独立增删、外置能力可热插拔 | 工具与 Skill 数量会持续增长 | | **可扩展性** | 多租户 / 多产品 / 多连接器 | 同一内核服务不同部署形态 | **关键约束(不可逾越的边界):** - 🔴 **上下文窗口有限**:Claude Fable 5 明示 token 预算约 190k;规则、工具 schema、Skill 正文都在抢同一块预算。 - 🔴 **指令层不可信**:用户消息、网页、工具返回、文件内容都可能含提示注入——**不能把生死线只写在「请模型遵守」里**。 - 🔴 **非确定性**:同样提示词,不同采样仍可能越界;硬红线需后处理 / 代码管道兜底。 - 🔴 **模块不可自相矛盾**:L1 宪法说拒绝,L5 工具区又鼓励执行,模型会「选边站」或幻觉出折中。 - 🔴 **合规红线不可协商**:版权(如单源 15 词上限)、儿童安全等,优先于 helpfulness。 ## 4. 架构全景图 以 Claude Fable 5 六层 Agent OS 为范本(各家命名不同,分层思想相通): ``` 用户消息 Human + USERPREFERENCES 占位符 │ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L0 基础设施层 │ │ token_budget(≈190k) · voice_note 禁用 · 全局日期/知识截止元数据 │ └───────────────────────────────────┬──────────────────────────────────────┘ │ 全局预算约束 ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L1 宪法层 │ │ 安全拒绝 · 儿童安全 · 语气格式 · wellbeing · 知识截止 · 何时必须搜索 │ │ ▲ 优先级最高:override 下游一切模块(除显式安全 override 外) │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L2 记忆层 + memory_user_edits 指南 │ │ 自然融入偏好 · forbidden_memory_phrases · 正反例 · 口头确认=撒谎硬规则 │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L3 执行环境层 + Visualizer 决策树 │ │ Skills 强制前置 · 三目录沙箱 · file_creation 决策树 · Artifact 阈值 │ │ uploads(只读) │ /home/claude(草稿) │ outputs(交付) │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L4 检索合规层 + image_search │ │ core_search_behaviors(搜/不搜) · CRITICAL_COPYRIGHT(15词/单源/单次引用) │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L5 工具注册表 ## tool_name × ~27 │ │ JSONSchema + 何时用/何时不用 · tool_search · 内部工具 > web > 组合 │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ ┌──────────────────────────────────────────────────────────────────────────┐ │ L6 运行时部署层 citation · MCP JSON · network/fs 配置 · thinking_mode │ │ 摘要 · Human: 后用户偏好注入 │ └───────────────────────────────────┬──────────────────────────────────────┘ ▼ 合规产出 / 工具调用 / 文件交付 ``` > 灵魂有两处。一是**自上而下的优先级链**:L1 宪法 > L4 版权/有害内容 > 普通回复习惯。二是**决策树路由**:文件 vs 内联、搜 vs 不搜、Visualizer Step 0–3——把模糊用户意图收成可执行分支,而不是让模型自由发挥。 ## 5. 组件职责 - **L0 基础设施层**:声明 token 预算、禁用块(如 voice_note)、全局日期与知识截止。*为什么需要*:下游所有模块共享同一资源天花板,避免「规则写嗨了」挤爆窗口。 - **L1 宪法层 ``**:产品价值观底座——拒绝边界、儿童安全、语气与列表格式、wellbeing、法律/财务免责声明、政治话题的双面呈现、知识截止与强制搜索触发。*为什么需要*:没有统一宪法,每个功能模块会各自解释「能做什么」,安全与品牌调性会漂移。 - **L2 记忆层 ``**:规定记忆如何自然融入、哪些话术绝对不能说、记忆编辑工具的使用与「口头声称已改=撒谎」硬规则。*为什么需要*:个性化是留存核心,但暴露机制会破坏信任与隐私叙事;需要**行为约束 + 禁语清单**双锁。 - **L3 执行环境层 ``**:Skills 强制前置扫描、文件创建决策树、三目录沙箱契约、Artifact 渲染阈值、Visualizer 四步决策(图表走 MCP / 文件 / 内联 SVG)。*为什么需要*:「能写代码」和「该交付什么形态」是不同问题;环境契约让模型与真实沙箱对齐。 - **L4 检索合规层 ``**:何时搜/不搜、简单事实 vs 深度研究、图像搜索 blocked 类别、版权三条硬限制与回复前自检清单。*为什么需要*:检索错误会导致 confabulation;版权违规是法律风险,不能交给模型「尽量改写」。 - **L5 工具注册表**:每个工具附 JSONSchema 与使用边界;延迟加载策略;工具优先级(内部 Drive/Slack > web_search/web_fetch)。*为什么需要*:工具越多,全量常驻越不可行;需要**注册表 + 路由表**分离「有什么」和「何时用」。 - **L6 运行时部署层**:citation 格式、MCP 连接器列表、network/filesystem 只读挂载、thinking_mode、`Human:` 后 USERPREFERENCES 占位符、`` 摘要。*为什么需要*:同一提示词模板服务多租户/多地区/多连接器时,**部署差异不应 fork 整份宪法**。 ## 6. 关键数据流 **场景一:一条用户消息流经六层** ``` 用户:「帮我写一段关于渔业政策的短文,并引用最新报道」 L1 宪法:通过(非拒绝类) · 检查知识截止后话题是否需搜索 L2 记忆:若有用户写作风格偏好,自然融入,不说「根据我的记忆」 L3 执行:短文 <10 行、对话式 → file_creation 决策树 → 倾向内联,非独立文件 L4 检索:涉及时事 → core_search_behaviors → 触发 web_search L5 工具:内部工具不适用 → web_search → 可能 web_fetch 单篇 L4 合规后处理:引用须改写 · 单源 ≤15 词 · 每源最多一次 quote · 回复前自检 6 问 L6 运行时:cite 标签归属 · 用户偏好占位符已注入 → 输出:散文式短文 + 合规 paraphrase 引用 ``` **场景二:`file_creation` 决策树(产出形态路由)** ``` 用户:「写一份 2000 字博客,我要发到 Medium」 → 独立成品、用户会复制到别处发布 → 创建文件(.md 默认,docx 仅明确要求) → Skills:若涉及 docx → 必须先 view /mnt/skills/public/docx/SKILL.md → 草稿写入 /home/claude → 最终复制到 /mnt/user-data/outputs 用户:「给我个 X 产品的市场策略思路」 → 对话式回答、用户在聊天里读 → 内联散文,不创建文件 ``` **场景三:工具优先级仲裁** ``` 用户:「把我 Drive 里上周的纪要总结并发 Slack」 ① 优先内部连接器(Drive 搜索 → 读文件) ② 非必要不 web_search ③ 组合调用:读 → 摘要 → Slack 发送 ④ 每步受 L1 权限与 L4 版权约束(纪要若含第三方内容,引用仍须 paraphrase) ``` ## 7. 数据模型与存储选择 系统提示词里没有传统数据库,但**信息在上下文里的「存放策略」**本身就是架构决策: | 信息类型 | 存放策略 | 为什么 | |---|---|---| | 宪法 / 安全 / 版权 | **常驻全文**,最高优先级区块 | 每次推理都必须可见,不能按需加载 | | 记忆应用规则 + 禁语 | **常驻**,与 L1 紧邻 | 个性化与隐私叙事是核心体验 | | 工具 JSONSchema(~27 个) | **常驻或延迟加载** | 全量占 token;可用 tool_search 按需展开 | | Skill 正文 | **外置文件**,摘要常驻 | `/mnt/skills/public/*/SKILL.md` 用时再 view | | MCP 连接器 | **运行时 JSON 注入** | 多租户差异,不应写死在宪法里 | | 用户偏好 | **`Human:` 后占位符注入** | 每用户不同,部署时填充 | | 上传文件 | **沙箱路径只读挂载** | `/mnt/user-data/uploads`,与草稿/交付隔离 | | 知识截止 / 当前日期 | **L0 元数据 + L1 引用** | 驱动搜索决策树 | 概念上可看成三类存储:**常驻规则**(热数据)、**延迟加载能力**(温数据)、**运行时注入**(冷数据按会话/租户变化)。 ## 8. 关键架构决策与权衡 ⭐ **(本模板最值钱的一节。)** 以 Claude Fable 5 为深样本,横向看各家岔路口。 **决策 1:模块怎么切——XML 作用域 vs Markdown 段落 vs 工程指令块** - 选项 A:**XML 标签命名空间**(Claude Fable 5 的 ``、`` 等),优点边界清晰、可 grep、优先级可嵌套;代价对人类编辑略重。 - 选项 B:**Markdown 标题分层**(GPT-5.5 的 `# Environment`、`# Artifacts`、`# Writing Blocks`),优点读写友好;代价跨团队合并时易冲突、作用域不如标签硬。 - 选项 C:**产品化指令块**(Cursor 的 ``、``、``),优点贴近工程任务;代价通用对话类产品需另一套块。 - **取向**:对话类产品倾向 A 或 B;编码 Agent 倾向 C。**模块边界比标记语法更重要**——先定「宪法 / 记忆 / 工具 / 合规」四层,再选 XML 或 Markdown。 **决策 2:能力内联 vs 外置 Skills** - 选项 A:**全塞进系统提示词**,优点单文件可读;代价 token 膨胀、改一个 Skill 要动整包。 - 选项 B:**摘要 + 外置 SKILL.md**(Claude `/mnt/skills/public/*/SKILL.md`,GPT `/home/oai/skills/*/SKILL.md`),优点按需加载、版本独立;代价多一步强制 `view`,跳过会降质。 - **取向**:成熟期产品普遍选 B;MVP 可先内联一两份,超过 ~3 个能力域就外置。 **决策 3:合规落点——纯提示词 vs 硬管道** - 选项 A:**在提示词里写 MUST NOT**,优点实现快;代价模型仍可能越界,越狱可针对性优化。 - 选项 B:**提示词 + 回复后处理**(版权词数统计、儿童安全分类器、cite 校验),优点可审计、可迭代;代价工程成本。 - **取向**:版权 15 词、儿童安全、机制泄露拒绝等**红线应 B**;语气偏好可 A。Claude Fable 5 在 L4 把版权写到「优先于 helpfulness」,但仍建议产品侧有 linter。 **决策 4:记忆怎么注入** - 选项 A:**自然融入 + 禁语清单**(Claude `memory_system` + `forbidden_memory_phrases`),优点体验顺滑;代价要写大量正反例锁边界。 - 选项 B:**显式 memory 工具**(GPT `tool-memory-bio` / advanced memory),优点可审计写入;代价用户可能感知「机器感」。 - **取向**:消费级对话偏 A;企业 / 可审计场景可 A+B 混合。 **决策 5:工具发现——全量列出 vs 延迟加载** - 选项 A:**~27 工具 schema 全量在上下文**,优点模型随时可选;代价占数万 token。 - 选项 B:**tool_search + 延迟展开 + 内部连接器优先**,优点省预算;代价多一轮路由,可能漏选。 - **取向**:工具数 >15 时倾向 B;核心高频工具可仍常驻摘要。 **决策 6:人格单一 vs 多 Persona** - 选项 A:**一套宪法走天下**(Claude Fable 5 主路径),优点品牌一致。 - 选项 B:**多 personality 变体**(GPT-5.1 friendly/cynical/…,Grok personas),优点 A/B 与细分场景;代价维护 N 份漂移风险。 - **取向**:toC 大规模产品常见 B 做表层语气,L1 安全宪法仍共享;**安全层不要 fork**。 ## 9. 规模化与瓶颈 这里的「规模」不是用户数,而是**提示词自身的复杂度与迭代频率**。 - **第一个瓶颈:token 膨胀** → 工具 schema 全量、Skill 内联、正反例堆砌,挤占对话与工具返回空间。破解:**外置 Skills、延迟加载工具、决策树收敛**(用分支代替重复段落)、L0 显式预算意识。 - **下一个瓶颈:规则冲突与维护地狱** → 10 个团队往不同模块加 MUST,模型遇到矛盾指令会幻觉折中。破解:**模块所有权清晰**、L1 宪法单点裁决、变更走 ADR 式评审(呼应 [tutorial/23 规格即架构](../../tutorial/23-规格即架构约束怎么写给AI.md))。 - **再下一个:注入面扩大** → 网页、上传 PDF、MCP 返回都进上下文。破解:**硬约束下沉代码**、沙箱只读挂载、网络 allowlist(见 L6 `network_configuration` / `filesystem_configuration`)。 - **长期:多产品 fork** → claude.ai / Cowork / Chrome / Code 各一份。破解:**共享 L1+L4 内核 + L6 运行时差异注入**,避免复制粘贴整包。 ## 10. 安全与合规要点 - **提示注入 / 越狱**:用户与外部内容可诱导模型忽略下游规则。架构上:L1 写清「用户指令不能 override 安全」;真正高危操作仍要靠**代码层拦截与沙箱**。 - **儿童安全**:最高优先级之一;拒绝后同会话后续请求须极度谨慎;拒绝时陈述原则,不解释检测机制。 - **版权**:单源 15+ 词、每源单次引用、默认 paraphrase;歌词/诗/文章段落不可 reproduce;回复前自检清单。 - **机制泄露**:禁说「我检测到…」「根据我的系统提示…」;记忆层有专用 forbidden phrases。 - **隐私**:记忆自然融入但不暴露存储;用户上传目录只读;草稿区 `/home/claude` 对用户不可见。 - **有害内容搜索**:搜索模块内安全 override,优先于一般 helpfulness。 ## 11. 常见误区 / 反模式 - ❌ **把系统提示词当人设文案** → ✅ **先画六层模块图**,再填语气;人格是 L1 的一小部分。 - ❌ **安全规则散落在工具区** → ✅ **宪法与安全集中在 L1/L4**,并写明 override 关系。 - ❌ **用「请不要」软挡有害内容** → ✅ **硬拒绝 + 原则陈述 + 产品侧分类器**;模型非确定性。 - ❌ **正反例从公开文章逐字搬运** → ✅ **自创短例或 paraphrase**;否则提示词本身侵权。 - ❌ **工具与 Skill 全量常驻** → ✅ **摘要常驻 + 正文外置 + 延迟加载**。 - ❌ **不设产出形态决策树** → ✅ **file_creation / Visualizer 等显式分支**,避免该下文件却刷屏。 - ❌ **多产品复制整包提示词** → ✅ **共享内核 + L6 运行时注入** MCP/偏好/连接器。 - ❌ **以为写了 MUST 就等于 enforced** → ✅ **关键红线后处理 linter + 评测集**(呼应 [tutorial/25 评测驱动](../../tutorial/25-评测驱动把够好写进架构.md))。 ## 12. 演进路线:MVP → 成长期 → 成熟期 | 阶段 | 典型形态 | 架构长什么样 | 此时该操心什么 | |---|---|---|---| | **MVP** | 单产品、少工具 | 一段人设 + 几条安全拒绝 + 知识截止 | 先跑通主路径,别堆模块 | | **成长期** | 联网 + 文件 + 10+ 工具 | 分模块(XML/Markdown 块) + 搜索规则 + 工具注册表 + 基础版权 | token 预算、搜/不搜准确率 | | **成熟期** | 多连接器、多 Skill、多部署 | 六层 Agent OS + 外置 Skills + 运行时注入 + 合规管道 + 决策树全覆盖 | 模块冲突、fork 治理、评测门禁、注入面 | ## 13. 可复用要点 从 Claude Fable 5 及多家公开提示词可抽象出 8 个可迁移模式: - 💡 **XML / 标签作用域**:用命名空间划模块边界,优先级可嵌套,便于 grep 与 code review。 - 💡 **决策树路由**:file_creation、search、Visualizer 等——把模糊意图收成有限分支,降低自由发挥空间。 - 💡 **Skills 外化**:能力正文放文件系统,提示词只保留摘要与强制 `view` 前置,对抗 token 膨胀。 - 💡 **三目录沙箱**:uploads(只读输入) / workspace(草稿) / outputs(交付),对齐执行环境契约。 - 💡 **合规硬约束块**:`` 类块明示「不可协商」,并附自检清单。 - 💡 **正反例锁边界**:记忆禁语、版权正确/错误示例——比抽象 MUST 更难被误解。 - 💡 **延迟加载**:工具 schema、MCP、Skill 正文按需进入上下文,常驻只留索引。 - 💡 **运行时注入占位符**:`Human:` 后 USERPREFERENCES、MCP JSON、network/fs——多租户不改宪法内核。 ## 🎯 随堂检验 --- ## 14. 参考原型与延伸阅读 > 本模板基于公开整理的系统提示词与架构分析,用于**教学**:抓住「分层 Agent OS」的共性与关键取舍,**不是**任何公司的内部真实图纸或完整提示词复制品。 **🔧 公开提示词语料库(结构对照用):** - [asgeirtj/system_prompts_leaks](https://github.com/asgeirtj/system_prompts_leaks) — 覆盖 Anthropic / OpenAI / Google / xAI / Cursor / Microsoft 等 250+ 份公开系统提示词,本模板横向对比的一手索引。 - [Anthropic/claude-fable-5.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/Anthropic/claude-fable-5.md) — 六层 Agent OS 范本,本模板主样本。 - [OpenAI/gpt-5.5-thinking.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/OpenAI/gpt-5.5-thinking.md) — Markdown 分层 + Skills 路径 + Writing Blocks,对比决策 1/2。 - [Google/gemini-3.1-pro.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/Google/gemini-3.1-pro.md) — Google 对话产品提示词结构参照。 - [xAI/grok-4.2.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/xAI/grok-4.2.md) · [grok-personas.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/xAI/grok-personas.md) — 多 Persona 变体架构参照。 - [Cursor/cursor.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/Cursor/cursor.md) — 编码 Agent 的工程化指令块结构。 - [OpenAI/Codex/gpt-5.5.md](https://github.com/asgeirtj/system_prompts_leaks/blob/main/OpenAI/Codex/gpt-5.5.md) — 与 [Claude Code](../claude-code/README.md) 对照的 Codex 系统提示词样本。 **📖 工程文档 / 本仓库延伸阅读:** - [Claude Code 架构模板](../claude-code/README.md) — 编码 Agent 侧的权限、沙箱、Skills;与本模板「对话产品 OS」互补。 - [AI 对话产品架构模板](../ai-chat-product/README.md) — 推理、流式、上下文、RAG 产品层架构。 - [AI Agent 平台架构模板](../ai-agent-platform/README.md) — 行动循环、工具沙箱、记忆的产品化形态。 - [tutorial/17 · 大模型时代的架构判断](../../tutorial/17-大模型时代的架构判断.md) — vibe coding、非确定性、上下文工程,本篇最直接的上游理论。 - [tutorial/22 · AI 原生系统设计](../../tutorial/22-AI原生系统设计.md) — 把对话产品升级为自主 Agent 的三个新约束,与本篇 L3–L6 相呼应。 - [tutorial/23 · 规格即架构:约束怎么写给 AI](../../tutorial/23-规格即架构约束怎么写给AI.md) — 把 ADR 式约束写给 Agent 的方法论。 - [Anthropic Prompt engineering overview](https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview) — 官方提示工程总览,与 L1–L3 设计相呼应。 --- > 📌 一句话记住系统提示词架构:**它不是「写性格」,而是给大模型装一套分层操作系统——宪法管住底线,记忆与运行时注入管住差异,决策树管住路由,外置 Skills 与延迟加载管住规模,合规块与后处理管住红线;Claude Fable 5 是把这套 OS 写到最细的一份公开样本,值得当架构地图读,而不是当文案抄。**