System Prompt 与 User Prompt:GenAI 功能下面的那一层
一篇面向初学者的 system_prompt 与 user_prompt 解释,用 ChatGPT、Claude Projects、Claude Cowork 和 Claude Code 作为例子。
AI 驱动 · 每小时限 20 次请求

一句话总结
2026 年了,GenAI 产品的各种功能越出越多,但只要搞清一件事就能看懂大半:模型回答之前,这段文字到底被塞到了哪里?是 system prompt、user prompt,还是可复用的上下文?
| Prompt 层级 | 控制什么 | 一秒判断法 |
|---|---|---|
| System prompt | 助手的角色、规则和边界 | "这是运行规则吗?" |
| User prompt | 当前任务、文件和对话上下文 | "这是本次请求的一部分吗?" |
| 可复用上下文 | 保存的项目指令、技能、记忆笔记和上传文件 | "以后的任务也会加载它吗?" |
用这个思路去 debug AI 行为会简单很多:确认指令有没有被带上、放对了位置、写得够不够具体。这个框架也能衔接到 超越 RAG 的 AI 记忆——持久化的"记忆"只有被产品正确检索并放到正确位置时,才能真正发挥作用。
大多数 AI 教程一上来就甩产品名:ChatGPT 项目、Claude Projects、Claude Cowork、CLAUDE.md、技能(skills)、子智能体(subagents)、记忆(memory)、上传文件……
对新手来说,概念密度太高了。
换个角度理解就轻松了:
这些功能本质上就是把指令或上下文放到模型面前的不同方式。
关键问题不是"这个功能叫什么名字",
而是:
AI 回答之前,这段文字去了哪里?
这就是为什么理解 system_prompt 和 user_prompt 很重要。
最简单的理解方式
把 AI 聊天想象成去餐厅吃饭。
System prompt 就是餐厅的运营手册——告诉助手"你是什么角色、该遵守什么规矩、用什么语气、什么事绝对不能干"。
User prompt 就是今天点的菜——包括你说的话、附件、之前的对话,以及应用为这次请求补充的上下文。
比如你说:
帮我把这份会议记录整理一下,发给老板。这就是 user prompt。
而应用悄悄告诉 AI 的那段话:
你是一个乐于助人的助手。回答要简洁。不要编造事实。这就属于 system prompt 的范畴。
真实产品里的层级更多,但先用两个"桶"来分类就够了:
| 桶 | 大白话 | 举例 |
|---|---|---|
| System prompt | 助手的工作职责和规矩 | "你是一个写作助手。" |
| User prompt | 当前请求和上下文 | "把这封邮件改得友好一点。" |
一旦你脑子里有了这两个桶,各种 AI 功能就不再显得乱七八糟了。
Projects 就是可复用上下文

拿桌面端的 Claude Project 举例。
假设你建了一个叫"公司博客"的项目,往里面丢了:
- 品牌规范
- 过往博客文章
- 产品笔记
- 项目指令,比如"写给非技术读者"
之后在这个项目里开的每一次对话,都自动带上了这些背景信息。你不用再反复粘贴同样的文件和规则了。
但要注意:不是说项目里的每个文件都会变成隐藏的 system prompt。更准确的心智模型是:
项目知识和项目指令,是 AI 回答你当前请求时可以调用的额外上下文。
举个例子:
项目上下文:
我们的读者是创业者。
避免过于技术化的表达。
多用营销和运营方面的例子。
用户请求:
写一篇关于 AI 提示词的博客开头。最终的回答取决于这两部分信息的配合——这就是 prompt routing。
Cowork 本质上还是 prompt 驱动
Claude Cowork 用起来感觉跟普通聊天很不一样,因为你可以交给它一个更大的任务。
不再是一问一答,而是直接说:
读一下这个文件夹里的文件,按供应商把发票分类,然后生成一份汇总表格。Cowork 能操作本地文件和桌面任务,所以体感上更像是在"派活",而不是跟聊天机器人对话。
但拆开来看,核心还是那套东西:
- 你布置的任务 → user prompt
- 文件和工作区 → 上下文
- 产品自身的行为规则 → 接近 system prompt
- 每个子任务也需要各自的指令
对新手来说,记住一句话就够了:
交互界面变了,但模型需要指令和上下文这件事没变。
拿 Claude Code 来具体说明
Claude Code 特别适合拿来举例,因为它的源代码是公开的,能看到一些功能到底是怎么路由的。这里只聊 CLAUDE.md、skills 和 subagents。
简单说:
CLAUDE.md 看起来像 system prompt,因为大家确实在里面写规则:
用 pnpm。
提交前必须先跑测试。
不要动生成的文件。但在 Claude Code 的源码里,CLAUDE.md 实际上是作为 user context 加载的,被拼到对话开头当提醒用。它是很重要的上下文,但并不是在改写 Claude Code 的核心 system prompt。
Skill 是一个可复用的 prompt 包。Claude 首先会看到一个简短的列表,知道有这个 skill、什么时候该用。真正触发时,完整的 SKILL.md 内容才会被加载进对话。
所以 skill 特别适合那些需要反复执行的流程:review PR、写 release note、生成图片、跑公司 checklist。
Subagent 就不一样了。每个 subagent 有自己的指令。Claude Code 启动一个 subagent 时,subagent 的指令体就变成了它的 system prompt,传给它的任务就变成了它的 user prompt。
这就是为什么 subagent 能表现得像一个领域专家。
记住这张图就行

各种 AI 功能,说到底就是不同的文字放置方式。
| 功能 | 大白话理解 | Prompt 心智模型 |
|---|---|---|
| Claude Project | 一个存了知识和指令的工作区 | 项目内对话共享的可复用上下文 |
| Claude Cowork 任务 | 交给 Claude 的一个大活 | 用户请求 + 文件 + 规划 + 执行上下文 |
CLAUDE.md | Claude Code 的项目指令 | user context 级别的提醒 |
| Skill | 可复用的工作流 | 按需加载的 prompt 包 |
| Subagent | 领域专家 | 独立的 system prompt + 任务 prompt |
文件格式本身不重要。Markdown 就是 Markdown。真正关键的是:产品在模型回答之前,把这份 Markdown 放到了哪里。
为什么新手应该搞懂这件事
不理解 prompt 的放置位置,AI 的行为就会显得"玄学"。
你写了一大段项目指令,想不通为什么 Claude 还是漏掉了。你建了一个 skill,想不通为什么它不是每次都生效。你搞了一个 subagent,想不通为什么回答总是泛泛而谈。
问题往往出在这几个地方:
- 指令根本没被带上
- 带上了,但来得太晚
- 放到了 context 里,而不是更强优先级的规则层
- 当前请求没有明确指向它
- 指令写得太模糊
所以下次 debug 的时候,问自己一个更精准的问题:
AI 是否在正确的位置、正确的时间,收到了正确的指令?
这比背产品名有用得多。
总结
AI 产品会不断推新功能。但剥开外壳,很多功能背后都是同一套基本模式:
system_prompt = 助手是谁,该怎么表现
user_prompt = 用户现在要什么,加上回答所需的上下文Claude Projects、Claude Cowork、ChatGPT 项目、上传文件、CLAUDE.md、skills、subagents——一旦你用这两个通道去理解,全都清晰了。
你越清楚 prompt 被放在了哪里,就越能理解 AI 到底在基于什么干活。
补充说明
文中关于 Claude Projects 和 Cowork 的例子是基于用户可见的功能描述,不涉及 Anthropic 内部 prompt 的猜测。详见 Anthropic 的 Projects 帮助页面 和 Cowork 帮助页面。
Claude Code 的例子基于 Claude Code 源代码,具体是加载 CLAUDE.md、skills 和 subagent 定义的代码路径。
许可
Article text © 2026 Mark Huang. Licensed under Creative Commons Attribution-NonCommercial 4.0 International (CC BY-NC 4.0) unless otherwise noted. 文章文本可在非商业场景下分享或翻译,但需标注原文 URL。商业使用需事先取得书面许可,并清楚引用原始来源。
代码片段、截图、第三方素材和网站源码可能适用单独条款。
建议署名: Based on "System Prompt 与 User Prompt:GenAI 功能下面的那一层" by Mark Huang, originally published at https://markhuang.ai/zh/blog/system-prompt-user-prompt-genai-features.
相关文章

Skills + Dense-Mem:让 AI 工作流从经验中学习
一个关于组合 AI skills 与 Dense-Mem 的假设:把工作流、安全规则和验收标准放进 skills,让记忆保存期望、示例、修正、失败和可迁移的 skill-pack 知识。
阅读文章
从软件开发者到 AI 架构师:这一年改变了什么
一段从 Claude Code skills,到 TypeScript 状态机、MCP 工具,再到 SDK 式 AI 工作流的个人路径。技能有帮助,工具有帮助,但提示词不是约束,LLM 也不该拥有控制平面。
阅读文章
三个臭皮匠,顶个诸葛亮:让便宜模型协同工作
一堂来自中文俗语“三个臭皮匠,顶个诸葛亮”的个人 AI 架构课:为什么便宜模型会被巨大提示词压垮,以及聚焦的专家会话、编排、综合和温度控制如何让它们变得有用。
阅读文章