跳转到主要内容

System Prompt 与 User Prompt:GenAI 功能下面的那一层

一篇面向初学者的 system_prompt 与 user_prompt 解释,用 ChatGPT、Claude Projects、Claude Cowork 和 Claude Code 作为例子。

5 分钟阅读
分享:
AI 驱动

AI 驱动 · 每小时限 20 次请求

系统提示词和用户提示词两条通道进入通用 AI 助手的卡通图
系统提示词和用户提示词两条通道进入通用 AI 助手。

答案快照

到了 2026 年,只要你先问一个问题,大多数生成式 AI 产品功能就会更容易理解:模型回答之前,这段文字被放到了哪里?系统提示词、用户提示词,还是可复用上下文?

提示词层控制什么初学者检查
系统提示词助手的角色、规则和边界“这是运行规则吗?”
用户提示词当前任务、文件和对话上下文“这是今天请求的一部分吗?”
可复用上下文保存的项目说明、技能、记忆笔记和上传文件“它会在未来任务里再次加载吗?”

调试 AI 行为会因此简单很多:确认指令是否被包含,是否放在正确层级,是否具体到足以影响回答。这个框架也连接到 AI 记忆必须超越 RAG:持久“记忆”只有在产品正确检索并放置它时才有用。

多数 AI 教程会从产品名开始讲:ChatGPT 项目、Claude Projects、Claude Cowork、CLAUDE.md、技能、子智能体、记忆、上传文件。

对初学者来说,这些术语出现得太早、太多。

更简单的理解方式是:

它们大多只是把指令或上下文放到模型面前的不同方式。

重要问题不是“这个功能叫什么”。

更好的问题是:

AI 回答前,这段文字去了哪里?

这就是 system_promptuser_prompt 重要的原因。

最简单版本

把 AI 聊天想象成一家餐厅。

系统提示词 是餐厅的运营手册。它告诉助手自己是什么助手,要遵循什么规则,用什么语气,哪些事不能做。

用户提示词 是今天的订单。它包括你的请求、附加文件、之前对话,以及应用为当前任务加进去的上下文。

所以如果你问:

帮我给经理总结这份会议记录。

这是用户提示词。

如果应用悄悄告诉 AI:

你是一个有帮助的助手。回答要简洁。不要编造事实。

这更接近系统提示词。

真实产品有更多层,但先用两个桶来理解:

直白含义示例
系统提示词助手的工作和规则“你是一个有帮助的写作助手。”
用户提示词当前请求和上下文“把这封邮件改得友好一点。”

理解了这两个桶,很多 AI 功能就不再显得随机。

Projects 是可复用上下文

项目说明通过用户消息通道进入模型的卡通图
项目说明通常是可复用上下文。

拿桌面应用里的 Claude Project 来说。

你可能创建一个叫“公司博客”的项目,然后加入:

  • 品牌规范
  • 旧博客文章
  • 产品笔记
  • 项目指令,比如“写给非技术读者看”

现在项目里的每个聊天都有额外背景。你不必每次重复粘贴同样文件和规则。

这不代表每个项目文件都变成隐藏系统提示词。更安全的心智模型是:

项目知识和项目指令,是 AI 在回答当前请求时可以使用的额外上下文。

例子:

项目上下文:
  我们的读者是创业者。
  避免太重的技术语言。
  使用营销和运营里的例子。

用户请求:
  给一篇关于 AI 提示词的博客写开头。

答案取决于两部分。这已经是提示词路由。

Cowork 仍然是提示词驱动的工作

Claude Cowork 感觉不同,因为你可以交给它更大的任务。

你不再只问一个问题,而可能说:

读取这个文件夹里的文件,按供应商整理发票,并创建一份汇总表。

Cowork 可以跨本地文件和桌面任务工作,所以它更像委托,不像问聊天机器人一个问题。

但核心还是熟悉的:

  • 你分配的任务是用户提示词
  • 文件和工作区是上下文
  • 产品的运行行为更接近系统提示词
  • 更小的工作项也需要自己的指令

对初学者来说,重点是:

界面变了。模型仍然需要指令和上下文。

Claude Code 是具体例子

Claude Code 是一个很好的例子,因为它的源代码显示了一些功能如何被路由。这里我只讲 CLAUDE.md、技能和子智能体。

短版本如下。

CLAUDE.md 看起来像系统提示词,因为人们会在里面写规则:

使用 pnpm。
说在工作完成前先运行测试。
不要编辑生成文件。

但在 Claude Code 源代码里,CLAUDE.md 被作为用户上下文加载,并加到对话前面作为提醒。它是重要上下文,但不是重写 Claude Code 的核心系统提示词。

技能 是可复用提示词包。Claude 先看到一个短列表,知道这个技能存在以及何时有用。使用技能时,完整 SKILL.md 内容会被加载进对话。

所以技能适合可重复流程:审查 PR、写发布笔记、生成图片、遵循公司检查清单。

子智能体 不一样。子智能体有自己的指令。Claude Code 启动子智能体时,子智能体正文会成为那个子智能体的系统提示词,传给它的任务会成为那个子智能体的用户提示词。

这就是为什么子智能体能像专家一样工作。

记住这一张图

可复用提示词包与专家提示词隔离的卡通图
技能与子智能体只是不同的提示词放置方式。

不同 AI 功能,大多是不同放置文字的方式。

功能初学者理解提示词心智模型
Claude Project保存知识和说明的工作区这个项目里聊天使用的可复用上下文
Claude Cowork 任务委托给 Claude 的大任务用户请求加文件、规划和执行上下文
CLAUDE.mdClaude Code 的项目说明用户上下文提醒
技能可复用工作流需要时加载的提示词包
子智能体专家工作者独立系统提示词加任务提示词

文件格式不是关键。Markdown 文件只是 Markdown 文件。真正关键的是,产品在模型回答前把那份 Markdown 放在了哪里。

为什么初学者应该关心

如果你不理解提示词的放置位置,AI 行为会显得随机。

你写了很长的项目指令,却不明白为什么 Claude 还是漏了某件事。你创建了技能,却不明白为什么它不是每次都会用。你创建了子智能体,却不明白为什么它给出泛泛回答。

问题常常是这些:

  • 指令没有被包含
  • 包含得太晚
  • 它被放成上下文,而不是更强的运行规则
  • 当前用户请求没有清楚指向它
  • 指令太模糊

所以更好的调试问题是:

AI 是否在正确地点、正确时间,收到了正确指令?

这比记住产品名有用。

底线

AI 产品会不断发明新功能。但很多功能背后仍然是同一个基础模式:

system_prompt = 助手是谁,以及它应该如何行动
user_prompt   = 用户现在想要什么,以及回答所需的上下文

Claude Projects、Claude Cowork、ChatGPT 项目、上传文件、CLAUDE.md、技能、子智能体,一旦放到这两条通道里,就好理解多了。

你越理解提示词被放在了哪里,就越能理解 AI 实际基于什么在工作。

说明

Claude Projects 和 Cowork 例子是面向用户的示例,不是关于 Anthropic 私有内部提示词的断言。见 Anthropic 的 Projects 帮助页面Cowork 帮助页面

Claude Code 例子基于 Claude Code 源代码,具体是加载 CLAUDE.md、技能和子智能体定义的代码路径。

许可

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.

订阅更新

Go、AI/LLM 和分布式系统的技术文章,绝不滥发。

评论

正在加载评论...