标准回答
三种角色的职责
- system:放全局性的设定——角色/人设、任务目标、行为规则、输出格式与边界。它优先级最高、贯穿整段对话,适合写一次就长期生效的指令,是约束模型行为的主要手段。
- user:每一轮真实的用户输入,包括问题、待处理数据、具体任务。模型每次生成都是针对最新 user 消息(结合历史与 system)。
- assistant:模型之前生成的回复。在多轮里把它一并回传,模型才能「记住」上下文、保持连贯。也可手动写 assistant 消息来做 few-shot 示范或引导风格。
多轮对话的正确做法
Chat API 本身是无状态的:要维持上下文,必须把历史 user / assistant 消息按时间顺序随每次请求一起发送。随着轮次增多,要关注上下文窗口上限与 Token 成本,必要时对早期历史做截断或摘要。
更多应用层用法见 LangChain:LLM 应用开发框架。
常见误区
⚠️ 常见踩坑
别把需要长期生效的规则塞进 user 消息——它容易被后续输入冲淡;这类指令应放 system。也别忘了 Chat API 无状态,不回传历史就会「失忆」。
延伸学习
与本题相关的知识库文章、术语、工具与行业资讯。
🛠️ AI 工具
- LangChain
最流行的 LLM 应用开发框架,137K+ stars。提供链式编排、RAG 检索增强生成、Agent 构建等核心能力,覆盖 Python 和 JavaScript 双语言生态,是构建 LLM 应用的基础设施