Prompting Techniques提示词工程核心知识梳理

请看这条消息数组。第一条消息角色为 system(系统角色),这是开发者设定的指令。 指令内容:"你是一名负责管理日程与任务的私人助手。" 这条指令会决定模型输出的每一条回答。

第二条消息角色为 user(用户角色),是使用者提出的问题:"我今天有哪些日程安排?"

系统提示对终端用户是不可见的,但它会一直存在,持续参与上下文。 在 ChatGPT 网页端,系统提示由 OpenAI 后台预先写好;如果你自己开发应用,就需要手动编写系统提示。 这也是调用 API 比直接网页聊天能力更强的核心原因之一。我们举实例直观说明:

同一个问题,搭配三种不同提示词,会得到三种完全不一样的回复。

  1. 只简单说:"帮我整理日程。" 模型只会给出笼统、通用的时间管理建议,实用性很差。
  2. 细化要求:"用带时间的项目符号列出我今天所有会议。" 此时模型明确了你想要的格式和需要展示的信息,输出简短、结构化、可用。
  3. 增加身份与复杂约束:"你是私人助手,用户今日行程繁忙。总结他的全部日程,标出时间冲突;若存在撞期会议,给出调整建议。" 这时的回复精准、落地、可直接执行。 结论:上下文信息越丰富、约束条件越多,输出内容越有价值。

举个通用例子: 不要只说 "总结一下这段内容", 而要写:"用三条项目符号为技术受众总结本文。"

提示词里每多一句话、一个限定,都是一条约束;约束越清晰,模型输出质量越高。 还有一种高效技巧:在提示词中附上标准示例,直观告诉模型你想要的效果,这种方法叫做少样本提示(few-shot prompting)

一、核心基础:System Prompt(系统提示)

这里有一个例子。如果没有系统消息,你 询问模型如何修复一个bug, 你会得到一个有用的、通用的、相当冗长的答案。添加 一条系统消息,例如:"你是一位高级工程师, 正在进行代码审查。请直接且批判性地提出问题。" 同样的问题会得到完全不同的答案。系统消息 改变了模型所依赖的模式。你可以在系统消息中放入什么? 角色。"你是一位友好的客户支持 代理。" 限制条件。"永远不要讨论竞争对手。" 格式说明。"AI始终以要点形式回复。" 背景知识。"用户是付费用户。" 你使用过的每个AI工具背后都有一条系统消息在运行。 例如聊天GPT、旅行预订助手、 银行聊天机器人。它们本质上并不是不同的 模型。它们采用的是相同的技术,只是由不同的系统信息控制。

1. 定义与作用

API 对话消息数组分为两类永久角色:

  • system底层全局指令,对用户不可见,全程作用于整条对话上下文,锁定 AI 身份、行为规则、输出标准;网页端由厂商内置,自研应用可自定义,是 API 能力强于普通网页聊天的关键。
  • user:终端用户提问,单次可变需求。

示例消息数组结构:

复制代码
[
  {"role":"system","content":"你是一名负责管理日程与任务的私人助手。"},
  {"role":"user","content":"我今天有哪些日程安排?"}
]

系统提示优先级高于用户提问,所有回答必须遵循 system 设定的身份与规则。

2. 三层指令对比(模糊→细化→强约束,输出质量逐级提升)

表格

指令等级 提示词写法 输出效果 核心问题
零约束(模糊) 帮我整理日程 宽泛通用时间管理空话,无结构化信息,无法直接使用 缺少身份、格式、输出边界,AI 自由发挥
单层约束(细化) 用带时间的项目符号列出我今天所有会议 结构清晰、内容简短,但缺少复杂场景处理逻辑(如时间冲突) 仅限定输出格式,无业务处理规则
多层约束(完整系统提示) 你是私人助手,用户今日行程繁忙。总结他的全部日程,标出时间冲突;若存在撞期会议,给出调整建议 精准落地、可直接执行,覆盖异常场景 同时锁定身份 + 任务目标 + 处理规则 + 异常方案,多重约束缩小 AI 生成随机空间

核心结论

提示词里每一条限定、每一条规则都是约束;约束越具体、维度越丰富(角色 / 格式 / 逻辑 / 异常),AI 输出偏离预期的概率越低,内容落地价值越高。

二、进阶强力技巧:少样本提示 Few-Shot Prompting

1. 基础概念

依托大模型上下文学习(In-Context Learning) 能力:不微调模型权重,直接在提示词中放入2--5 组「输入 - 标准输出」示范样例,让 AI 直观看懂你想要的风格、格式、推理逻辑,替代冗长抽象文字描述CSDN博...。

  • Zero-shot(零样本):只文字描述需求,无示例;
  • Few-shot(少样本):附带标准样例,控制力大幅提升。

2. 适用场景(文字说不清楚,示范一眼看懂)

  1. 强制固定输出格式(JSON、特定列表、表格、固定句式);
  2. 统一文风、专业话术(商务文案、技术总结、特定写作风格);
  3. 多步复杂推理任务(日程冲突判断、数据分类、内容提取);
  4. 降低 AI 幻觉,减少多余前言、无关解释。

3. 标准化提示词结构(三段式)

  1. 任务总说明:明确要完成什么;
  2. 示范样例:2--5 组规范输入 + 标准答案;
  3. 当前待处理输入。

实战示例(日程助手少样本提示)

复制代码
# 任务:整理用户日程,标记冲突并给出调整方案
## 示例1
用户日程:9:00-10:00部门例会,9:30-11:00客户面谈
输出:
1. 9:00-10:00 部门例会
2. 9:30-11:00 客户面谈
【时间冲突】两项会议9:30--10:00重叠
调整建议:将客户面谈延后至11:10开始

## 示例2
用户日程:14:00-15:00方案评审,16:00-17:00周报撰写
输出:
1. 14:00-15:00 方案评审
2. 16:00-17:00 周报撰写
【无时间冲突】

## 当前用户日程:8:30-10:00产品会,9:00-10:30线下拜访

AI 会完全复刻示例的排版、冲突标记逻辑、建议话术,输出高度统一。

三、通用优化公式(可复用到所有场景)

反面(低效模糊写法)

总结一下这段内容 问题:无受众、无篇幅、无结构、无重点要求,输出不可控。

正面(标准强约束写法)

用三条项目符号为技术受众总结本文,每条只保留核心技术逻辑,不添加科普铺垫 拆解约束维度:

  1. 输出结构:3 条项目符号;
  2. 目标受众:技术人群;
  3. 内容限制:仅核心逻辑;
  4. 禁止项:剔除科普废话。

四、落地设计模板(高质量 System Prompt 通用四段式)

复制代码
# 1. 角色定位(锁定AI身份、专业能力)
你是XX领域专业助手,核心职责:xxx

# 2. 核心任务(明确要处理的输入、最终目标)
接收用户日程文本,完成全量梳理、冲突识别、优化建议输出

# 3. 输出强制格式(缩小生成空间)
固定使用带时间点的有序列表,冲突单独标注,建议简洁可执行

# 4. 行为约束&禁止项(兜底防跑偏)
1. 不得遗漏任意一条日程;
2. 不添加无关寒暄,仅输出日程相关内容;
3. 冲突必须给出至少1条可行调整方案

# 5. 可选:少样本示范(进一步统一输出标准)
【附上2--3组输入输出样例】

五、关键底层逻辑总结

  1. 系统提示是 AI 行为的底层基准,长对话全程生效,自研 API 应用的核心可控手段;
  2. 模糊指令 = 放任模型随机生成;多层清晰约束 = 可控、稳定、可落地的输出;
  3. 文字描述有极限,少样本提示用范例直观传递标准,是提升输出一致性最高效的技巧;
  4. 优化提示词的核心思路:从「只说要做什么」升级为「明确身份 + 规定格式 + 定义处理逻辑 + 给出示范 + 划定禁止行为」。

底层原理拆解

1. 负面指令的缺陷

模型理解 "不要做什么" 存在天然模糊性:

  • Don't be verbose 只划定了禁止边界,但没定义标准:多短算简洁?没有明确目标;
  • Avoid jargon 无法界定哪些词属于术语,模型容易过度删减或保留冷门专业词; 负面指令是约束型规则,只排除错误行为,不给清晰行动目标,模型容易跑偏。

2. 正向指令的优势

正向句式直接给出明确执行标准

  • Be concise, one sentence per point 给出量化规则,模型有清晰参照;
  • Use simple words a high school student would understand 划定受众门槛,输出尺度固定; 模型会主动朝着给定目标生成,输出稳定性、可控性大幅提升。

3. 提示词工程实操结论

写系统提示词、任务约束时通用准则:

  1. 尽量删除所有 Don't / Avoid / Never / Do not 类负面禁令;
  2. 转化为「应该做什么 + 清晰标准」的正向描述;
  3. 能加量化、受众、格式限制就补充,进一步降低模型理解偏差。

拓展示例对照

表格

低效负面指令 高效正向改写
Don't write long paragraphs Split content into short paragraphs under 3 lines each
Don't make answers complicated Explain logic step by step with basic examples
Don't skip key details List all critical information one by one

三种角色各司其职: system(系统角色)用于设定模型的行为与身份; user(用户角色)负责提供人类输入与提问; assistant(助手角色)承载模型过往输出、留存对话上下文。 三者配合,能让你完整掌控模型的回复风格,以及模型所能读取、记住的全部对话信息。

三大对话角色完整拆解(System / User / Assistant)

一、System 系统角色

核心作用

全局定义大模型的身份、行为准则、能力边界、回复格式、语气风格、约束规则,是模型的底层指令,优先级最高,对话全程生效。

关键特点

  1. 最先输入,不受用户后续提问覆盖;
  2. 规定禁止行为(敏感内容、编造信息、固定话术等)、输出规范;
  3. 可限定专业身份(翻译、程序员、文案、心理咨询等)、回答逻辑框架;
  4. 不会被计入普通聊天上下文,只作为底层约束存在。

示例片段

复制代码
你是专业代码助手,只输出带注释可运行代码;禁止编造不存在的API;回答简洁,不额外闲聊;计算类问题必须给出演算过程。

二、User 用户角色

核心作用

承载人类真实提问、需求、素材、指令、补充信息,是模型需要响应的输入主体。

关键特点

  1. 每一轮用户提问单独标记为 user;
  2. 内容完全由人提供,可包含问题、文本、图片描述、需求修改、反驳、追问;
  3. 模型读取 user 内容作为本轮需要处理的任务。

示例片段

复制代码
用Python写一个批量读取Excel并统计求和的脚本。

三、Assistant 助手角色

核心作用

存储模型上一轮输出的全部回复内容,构建完整对话上下文记忆链。

关键特点

  1. 每一轮模型回答单独标记为 assistant;
  2. 是上下文记忆核心:模型会读取历史所有 assistant 记录,记住之前聊过的内容、达成的结论、之前输出的内容;
  3. 实现连续对话:多轮问答依靠user-assistant交替记录实现上下文关联;
  4. 可被后续 user 指令修改、推翻、补充。

示例片段

复制代码
import pandas as pd
def excel_sum(file_path):
    df = pd.read_excel(file_path)
    return df.sum().sum()

四、三者协作完整流程(标准对话结构)

复制代码
system: 全局基础设定
user: 第一轮人类提问
assistant: 模型第一轮回答
user: 第二轮追问/新需求
assistant: 模型第二轮回答
...

协作价值

  1. 可控回复风格:system 锁死人设与格式,不会随对话跑偏;
  2. 完整上下文记忆:user+assistant 交替留存全部聊天记录,模型不会遗忘前文;
  3. 分层权限清晰:底层规则 (system)、用户需求 (user)、历史回答 (assistant) 分离,可单独修改任意一段,灵活调试 prompt。

补充区分要点

表格

角色 核心定位 生命周期 能否修改记忆
System 底层行为规则 全局全程生效 一次性设定,修改需重新传入
User 人类任务输入 单轮单次 仅代表当前需求
Assistant 模型历史输出缓存 多轮累加留存 构成上下文记忆主体
相关推荐
LaughingZhu1 小时前
Product Hunt 每日热榜 | 2026-07-17
前端·数据库·人工智能·经验分享·mysql·chatgpt·html
怪兽学LLM1 小时前
AI Agent 记忆系统设计:长短期记忆如何实现?什么时候存?什么时候查?
人工智能·python
DFT计算杂谈1 小时前
DeepSeek 集群服务器无root本地部署指南
数据库·人工智能·python·opencv·算法
薛定猫AI1 小时前
【技术干货】目标驱动型编码智能体实战:用 Claude Opus 4.8 构建可验证的开发任务闭环
人工智能·架构
合众恒跃1 小时前
RK3588 + RK182X 双芯异构边缘计算方案:部署流程与实测性能解析
大数据·人工智能·科技·编辑器·etl工程师
I-NullMoneyException1 小时前
日知淘选 0717|英伟达Token工厂、中国AI双行动、谷歌AI分身、热穹顶46℃
人工智能
百胜软件@百胜软件1 小时前
AI大促之后:618的三大启示与双11的三大预判
大数据·人工智能·零售
TMT星球2 小时前
WAIC 2026:联想以混合式AI构建词元全链路,释放创新生产力
人工智能
东方佑3 小时前
FRSMASH v3.7 @ 60M × 三问过滤器 实验
人工智能