Vibe Coding一人即团队系列11: 提示词三大核心角色 (System, User, Assistant) 详解与应用实战

纲要

  • 提示词 (Prompt) 的三大核心角色
    • System (系统角色): 全局控制与行为模式设定
    • User (用户角色): 驱动对话的核心诉求与指令
    • Assistant (助手角色): 模型生成的内容与反馈
  • 各角色的核心目标与使用场景
  • 角色在实际交互中的应用实践
  • 角色间的协同与对话记忆机制

提示词的三大核心角色

在与大语言模型 (Large Language Model, LLM) 进行交互时,无论是通过 Claude CodeChatGPT 还是 通义千问 等平台,其底层交互逻辑均围绕三个核心角色展开:System (系统)、User (用户) 和 Assistant (助手)。这三个角色共同构成了完整的对话上下文 (Context),并决定了模型输出的质量和行为边界。

System (系统角色)

System 角色是预定义的、由模型服务端设定的全局指令。它对于普通用户通常是透明的,但在进行大模型应用开发或使用 API 时,它是控制模型行为的核心入口。

核心目标
  • 设定全局上下文:定义对话的背景、目标和核心规则。
  • 调整输出风格:指定模型回复的语气(如专业、幽默、严肃)、格式(如 JSON、Markdown)等。
  • 实现长期控制:在整个对话会话中持续影响模型的输出,确保行为一致性。
  • 设定安全与伦理边界:例如禁止讨论违法、暴力或敏感政治话题。
典型示例

在开发一个医疗咨询应用时,可通过 System 角色限定模型仅以医生的专业角度进行回答:

python3 复制代码
# 示例:通过 OpenAI SDK 设置 System Prompt (适用于 GPT 系列)
import openai

response = openai.ChatCompletion.create(
    model="gpt-4",
    messages=[
        {"role": "system", "content": "你是一位专业的内科医生,请仅从医学角度回答用户的健康咨询。"},
        {"role": "user", "content": "我最近总是头疼,可能是什么原因?"}
    ]
)

User (用户角色)

User 角色是用户输入的文本内容,是驱动整个对话的核心动力。用户通过此角色提出问题、下达指令、补充背景信息或纠正模型行为。

核心目标
  • 提出问题与诉求:明确告知模型需要完成的任务。
  • 提供补充信息:为模型提供必要的上下文或数据,以支持其生成更精准的回复。
  • 动态纠正行为:当模型输出不符合预期时,用户可通过后续对话要求其调整。例如:"请用更通俗的语言解释。"
应用场景

Claude Code通义千问 等产品的交互界面中,用户输入的所有文字均属于 User 角色。无论是编写代码、撰写文章还是进行日常问答,这部分内容构成了交互的主体。

python3 复制代码
# 示例:User 角色用于提出具体编码需求
messages = [
    {"role": "system", "content": "你是一位资深 Python 开发专家。"},
    {"role": "user", "content": "请编写一个 Python 函数,用于计算斐波那契数列的第 n 项。"}
]

Assistant (助手角色)

Assistant 角色代表大模型针对 User 输入所生成的回复内容。这包括生成的文本、代码片段、结构化数据,甚至是图片或音频的链接或描述。

核心目标
  • 生成内容 :根据 User 的提示和 System 的约束,产生符合要求的输出。
  • 自我修正:在后续对话中,模型可根据用户的反馈对之前的错误回答进行修正。
  • 保持对话连贯:通过多轮对话累积历史信息,形成"记忆",使交互更加流畅和智能。
应用场景

Assistant 角色是模型能力的直接体现。在使用 Claude Code 时,其生成的游戏代码、项目结构建议或调试信息,均属于 Assistant 角色输出。

python3 复制代码
# 示例:模拟 Assistant 角色的回复
{
    "role": "assistant",
    "content": "以下是计算斐波那契数列的 Python 函数实现:\n\n```python\ndef fibonacci(n):\n    if n <= 1:\n        return n\n    else:\n        return fibonacci(n-1) + fibonacci(n-2)\n```"
}

角色协同与对话记忆

在实际交互中,这三种角色是协同工作的。一个完整的对话周期通常包含 User -> Assistant 的交替,而 System 角色则作为背景规则贯穿始终。
Assistant (模型) System (系统规则) User (用户) Assistant (模型) System (系统规则) User (用户) #mermaid-svg-aCpfJLEDZ9wiKI8P{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fill:#333;}@keyframes edge-animation-frame{from{stroke-dashoffset:0;}}@keyframes dash{to{stroke-dashoffset:0;}}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-animation-slow{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 50s linear infinite;stroke-linecap:round;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-animation-fast{stroke-dasharray:9,5!important;stroke-dashoffset:900;animation:dash 20s linear infinite;stroke-linecap:round;}#mermaid-svg-aCpfJLEDZ9wiKI8P .error-icon{fill:#552222;}#mermaid-svg-aCpfJLEDZ9wiKI8P .error-text{fill:#552222;stroke:#552222;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-thickness-normal{stroke-width:1px;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-thickness-thick{stroke-width:3.5px;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-pattern-solid{stroke-dasharray:0;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-thickness-invisible{stroke-width:0;fill:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-pattern-dashed{stroke-dasharray:3;}#mermaid-svg-aCpfJLEDZ9wiKI8P .edge-pattern-dotted{stroke-dasharray:2;}#mermaid-svg-aCpfJLEDZ9wiKI8P .marker{fill:#333333;stroke:#333333;}#mermaid-svg-aCpfJLEDZ9wiKI8P .marker.cross{stroke:#333333;}#mermaid-svg-aCpfJLEDZ9wiKI8P svg{font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;}#mermaid-svg-aCpfJLEDZ9wiKI8P p{margin:0;}#mermaid-svg-aCpfJLEDZ9wiKI8P .actor{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-aCpfJLEDZ9wiKI8P text.actor>tspan{fill:black;stroke:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .actor-line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-aCpfJLEDZ9wiKI8P .innerArc{stroke-width:1.5;stroke-dasharray:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .messageLine0{stroke-width:1.5;stroke-dasharray:none;stroke:#333;}#mermaid-svg-aCpfJLEDZ9wiKI8P .messageLine1{stroke-width:1.5;stroke-dasharray:2,2;stroke:#333;}#mermaid-svg-aCpfJLEDZ9wiKI8P #arrowhead path{fill:#333;stroke:#333;}#mermaid-svg-aCpfJLEDZ9wiKI8P .sequenceNumber{fill:white;}#mermaid-svg-aCpfJLEDZ9wiKI8P #sequencenumber{fill:#333;}#mermaid-svg-aCpfJLEDZ9wiKI8P #crosshead path{fill:#333;stroke:#333;}#mermaid-svg-aCpfJLEDZ9wiKI8P .messageText{fill:#333;stroke:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .labelBox{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-aCpfJLEDZ9wiKI8P .labelText,#mermaid-svg-aCpfJLEDZ9wiKI8P .labelText>tspan{fill:black;stroke:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .loopText,#mermaid-svg-aCpfJLEDZ9wiKI8P .loopText>tspan{fill:black;stroke:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .loopLine{stroke-width:2px;stroke-dasharray:2,2;stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);}#mermaid-svg-aCpfJLEDZ9wiKI8P .note{stroke:#aaaa33;fill:#fff5ad;}#mermaid-svg-aCpfJLEDZ9wiKI8P .noteText,#mermaid-svg-aCpfJLEDZ9wiKI8P .noteText>tspan{fill:black;stroke:none;}#mermaid-svg-aCpfJLEDZ9wiKI8P .activation0{fill:#f4f4f4;stroke:#666;}#mermaid-svg-aCpfJLEDZ9wiKI8P .activation1{fill:#f4f4f4;stroke:#666;}#mermaid-svg-aCpfJLEDZ9wiKI8P .activation2{fill:#f4f4f4;stroke:#666;}#mermaid-svg-aCpfJLEDZ9wiKI8P .actorPopupMenu{position:absolute;}#mermaid-svg-aCpfJLEDZ9wiKI8P .actorPopupMenuPanel{position:absolute;fill:#ECECFF;box-shadow:0px 8px 16px 0px rgba(0,0,0,0.2);filter:drop-shadow(3px 5px 2px rgb(0 0 0 / 0.4));}#mermaid-svg-aCpfJLEDZ9wiKI8P .actor-man line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;}#mermaid-svg-aCpfJLEDZ9wiKI8P .actor-man circle,#mermaid-svg-aCpfJLEDZ9wiKI8P line{stroke:hsl(259.6261682243, 59.7765363128%, 87.9019607843%);fill:#ECECFF;stroke-width:2px;}#mermaid-svg-aCpfJLEDZ9wiKI8P :root{--mermaid-font-family:"trebuchet ms",verdana,arial,sans-serif;} 设定全局行为与安全边界 结合 System 规则处理 User 输入 结合历史对话记忆生成修正后的回复 1. 用户提问 (User)2. 模型回复 (Assistant)3. 用户追问或纠正 (User)4. 生成最终回答 (Assistant)

多轮对话(Multi-turn Conversation)是 Assistant 角色的重要特性。模型会将之前的 UserAssistant 消息作为上下文记忆,使得后续的回复能够关联前文,实现深度交互。在 Claude Code 这类工具中,这种记忆机制是实现复杂项目开发(如 Coding Plan 功能)的基础。

使用场景对比

角色类型 定义者 核心功能 典型使用场景 可见性
System 开发者/平台 全局规则、风格设定、安全限制 API 开发、AI 应用工程、行为约束 通常对用户透明
User 最终用户 提出指令、提供信息、纠正行为 日常问答、代码生成、内容创作 用户直接输入
Assistant AI 模型 生成内容、自我修正、上下文记忆 文本生成、代码建议、多轮对话 模型输出内容

总结

SystemUserAssistant 构成了与大语言模型交互的三大核心角色。System 负责定义全局规则与行为边界,是构建可控、安全的 AI 应用的基石;User 是驱动对话的核心,承载着用户的具体需求与指令;Assistant 则是模型能力的体现,负责生成高质量的内容并保持对话的连贯性。对于大模型应用开发者而言,SystemAssistant 角色的精细化控制是工程化的关键;对于日常使用者,理解 User 角色的构建技巧(即提示词工程)是提升效率的核心。在 Claude Code 等 AI 编程工具中,这三种角色的协同直接决定了自动化任务的成功率与代码质量。

相关推荐
曹牧2 小时前
C#与Java后台交互
java·windows·microsoft·c#
HwJack204 小时前
鸿蒙 Accessibility Kit 全景解析:无障碍开发从哪里下手
microsoft·华为·harmonyos
智能运维指南4 小时前
Confluence 停服、数据出境、知识散落:企业知识管理系统如何破局?
大数据·人工智能·microsoft
Data_Journal6 小时前
Playwright vs Selenium:哪个是最佳无头浏览器
开发语言·python·scrapy·microsoft·编辑器
小鹿软件办公1 天前
因用户频繁误触,微软 Windows 11 正式移除拖拽托盘功能
microsoft·windows托盘功能
QYRdata1 天前
年复合增长率达10.4%!2026-2032年VR游戏开发服务赛道驶入高速成长周期
microsoft·vr
github_czy1 天前
tf-idf讲解
大数据·人工智能·microsoft
平常心的技术小牛1 天前
Qt-快速上手-QFileDialog
windows·qt·microsoft
海盗12342 天前
微软技术周报 · 2026-08-24——本周微软在 AI 模型与 Copilot 体验上加速大一统
人工智能·microsoft·copilot