Prompt Engineering(提示词工程)基础了解

发布于:2025-07-22 ⋅ 阅读:(17) ⋅ 点赞:(0)

参考: https://blog.csdn.net/qq_56438555/article/details/144886517
1. 基础概念:
提示词工程(prompt Engineering)是指通过设计、优化输入给大语言模型的文本指令(即 “提示词”),引导LLM输出我们期望的结果。让大模型在无需微调(Fine-tuning)的情况下,通过 “更好的提问方式” 完成复杂任务(开发潜力,不会的还是不会)。但是同一套prompt engineering方法在不同的模型中可能会有很大差异。

2. Prompt基本原理
它的基本原理是通过向语言模型提供一个包含任务相关信息的输入文本片段(即 Prompt),利用语言模型在预训练阶段学到的语言知识和模式,引导模型生成符合预期的输出。
具体点就是
①基于语言模型的概率生成机制
语言模型是通过对大量文本进行训练,学习到单词(或 token)之间的概率分布关系。当给定一个 Prompt 时,模型会根据 Prompt 的内容,在其生成的概率空间中寻找最有可能的单词序列来继续文本。以 Transformer 架构的语言模型为例,在生成过程中,模型会根据输入的 Prompt 计算下一个单词的概率分布,这个概率分布是基于模型对词汇表中所有单词在给定当前 Prompt 上下文下出现的可能性估计。然后通过采样(如贪心采样、Top - K 采样、Top - P 采样等)或其他策略从这个概率分布中选择一个单词作为生成的下一个单词,不断重复这个过程,直到生成满足终止条件(如生成了特定长度的文本、遇到结束标记等)的文本。

②利用预训练知识和上下文信息
语言模型在预训练过程中学习了丰富的语言知识,包括语法规则、语义理解、常见的文本模式等。Prompt 作为一种上下文信息,激活了模型中与之相关的知识。例如,如果 Prompt 是 “写一篇关于科技发展的文章”,模型会利用其预训练阶段学到的关于科技词汇、科技领域的常见观点和事件等知识来生成文章。而且,随着生成过程的推进,新生成的单词也会作为新的上下文信息反馈给模型,进一步影响后续单词的概率分布,从而使生成的文本能够在整体上与 Prompt 保持主题和风格的一致性。

3. Prompt基本要素
Prompt 的基本要素有很多,一般有 角色(Role),任务(Task),背景(Context),输出格式(Format),约束条件(Constraints)

角色(Role): (可选项)定义模型的 “身份” 或 “能力范围”,让模型以特定角色输出内容,如老师,医生等
任务(Task): 确要求模型完成的具体动作或目标
背景(Context):提供与任务相关的前提信息、场景、限制条件等,为模型提供决策依据,确保输出符合具体场景逻辑。
例子(Examples):(可选项)通过给出具体示例来展示期望的输出格式或风格。

输出格式(Format):(可选项) 规定模型输出的结构、形式(如列表、表格、段落、思维导图、代码块等)。
约束条件(Constraints):(可选项)  对输出的限制(如字数、风格、语言、专业深度等)。避免模型输出冗余或不符合要求的内容。

4. 常见的 Prompt 公式
①基础通用公式

适用场景: 简单任务
公式: 角色(可选)+ 背景 + 任务 + 输出格式(可选)+ 约束条件(可选)
示例:  我是一名小学生(角色),写一篇关于春天的作文,要求400以内,

②分析 / 解决问题公式

适用场景:方案设计、问题诊断、决策建议
公式:
背景(问题描述)+ 目标 + 任务(分析/建议)+ 输出格式 + 约束条件
示例:
“某公司近 3 个月客户投诉率上升 20%(背景),需找到核心原因并提出改进措施(目标)。请分析可能的 3 个主要原因,并针对每个原因给出 2 条具体解决方案(任务),用表格呈现,表格列名为‘原因 - 解决方案’(输出格式),方案需可落地(约束条件)。”

③教学 / 指导类公式

适用场景:知识讲解、技能教学、步骤指导
公式:
角色(教师/专家)+ 学习者背景 + 知识点 + 讲解方式 + 输出格式
示例:
“你是高中数学老师(角色),给高一学生(学习者背景)讲解‘三角函数的诱导公式’(知识点),用生活化的例子类比(讲解方式),分步骤说明推导过程,最后附 1 道练习题(输出格式)。”

④角色扮演互动公式

适用场景:模拟对话、场景演练(如面试、谈判、客服)
公式:
角色A(模型)+ 角色B(用户/场景中的对象)+ 场景 + 互动目标 + 对话风格
示例:
“你扮演电商客服(角色 A),我是一位对收到的商品尺寸不满意的顾客(角色 B),场景是售后沟通(场景),你的目标是安抚我的情绪并提供退换货方案(互动目标),语言要热情诚恳,避免推诿(对话风格)。”

5. Prompt 设计
①核心原则

1) 明确性: 避免模糊、抽象的表述,用具体信息替代泛化描述。模糊指令会导致其 “猜需求”,输出偏离方向。
反例:“写一篇关于健康的文章。”(未明确主题、受众、篇幅)
正例:“给 30-40 岁职场女性写一篇 500 字短文,主题是‘办公室 10 分钟放松技巧’,包含 3 个具体动作,语言亲切实用。”


2)相关性: 只提供与任务直接相关的信息,剔除冗余内容。无关信息会分散模型对核心任务的注意力。
反例:“我最近去了趟上海,天气很热,对了,你帮我写一份北京旅游攻略。”(“上海天气” 与任务无关)
正例:“目标用户是带 2 岁宝宝的家庭,计划北京 3 日游,需包含适合婴幼儿的景点和餐饮推荐,请按‘每日行程 + 注意事项’结构输出。”


3)结构化: 用逻辑清晰的框架组织信息(如分点、分层、明确要素顺序)。模型对结构化文本的解析效率更高,能快速定位 “角色、任务、约束” 等核心信息。
正例:“角色:你是互联网公司营销专员。
背景:某平价潮玩品牌(单价 50-100 元)计划针对 18-25 岁大学生推广新品,预算 5000 元。
任务:设计 3 套推广方案,包含线上(如校园社群)和线下(如摆摊)渠道。
输出格式:每套方案按‘渠道 + 执行步骤 + 预算分配’列出,风格活泼年轻化。”


4)适配性: 根据模型特性调整 Prompt,不同模型的训练数据、参数规模不同(如 GPT-4 擅长复杂推理,Claude 擅长长文本处理),需针对性设计。

6. Prompt 设计的 5 步流程
步骤 1:明确任务目标

先问自己:“我希望模型最终输出什么?”

步骤 2:拆解核心要素

结合 “基本要素”,列出完成任务所需的关键信息: 角色,背景,约束,输出格式等

步骤 3:组织信息优先级

模型先理解 “场景”,再明确 “做什么”,最后知道 “怎么做”,
按 “模型理解顺序” 排列要素,建议结构:
角色(可选)→ 背景(场景/前提)→ 任务(核心动作)→ 约束条件 → 输出格式

步骤 4:补充细节,消除歧义

对模糊的表述进行具象化
例如: 
用 “18-22 岁大学生” 替代 “年轻人”;
用 “每段不超过 3 行,总字数 200 字” 替代 “简短一点”;
用 “避免使用‘赋能’‘抓手’等职场黑话” 替代 “语言通俗”。

步骤 5:测试与迭代

首次输出后,根据结果优化 Prompt:
若输出太简略:补充 “请详细说明 XX 细节”;
若偏离主题:强化背景或约束(如 “请聚焦在 XX 方面,忽略 XX 内容”);
若风格不符:明确风格示例(如 “模仿‘今天天气真好,出门晒晒太阳吧’的口语化风格”)。

7. 核心提示技术
所有提示技术的底层逻辑都是 “缩小模型的‘猜测空间’”:
模型本质是 “统计概率模型”,输出基于 “训练数据中最可能的模式”;
提示技术通过 “明确任务(做什么)、约束边界(不能做什么)、提供线索(怎么做)”,让模型的 “概率预测” 更贴近用户真实需求。

(1). 零样本提示(Zero-Shot Prompting)

原理:不提供示例,直接用自然语言描述任务,依赖模型对 “指令本身” 的理解能力。
适用场景:简单任务(如问答、基础分类、短文本生成),模型训练数据中已有大量类似 “输入 - 输出” 模式。

(2)少样本提示(Few-Shot Prompting)

原理:提供 1-5 个 “输入 - 输出” 示例,让模型通过模仿示例的逻辑完成新任务(利用模型的 “上下文学习能力”)。
适用场景:复杂任务(如格式转换、风格仿写、逻辑推理),或模型对任务 “不熟悉” 时(如小众领域规则)。

示例:
任务:将 “产品功能” 转化为 “年轻人话术”。
提示:“请把产品功能改成年轻人爱说的话,示例:
原句:这款耳机续航长达 24 小时。→ 改写:这耳机能从早嗨到晚,没电?不存在的!
原句:这款笔记本重量仅 1.2kg。→ 改写:______”

关键:示例需 “典型且简洁”,与目标任务的逻辑一致(如上例均用 “夸张 + 口语化” 风格)。

(3)指令提示(Instruction Prompting)

原理:用明确的 “指令性语言”(如 “请做 XX”“步骤是 XX”)框定任务边界,强化模型对 “任务优先级” 的认知。
适用场景:需要模型 “按流程执行” 的任务(如多步骤分析、结构化输出)。
示例:
任务:分析一款零食的 “年轻用户痛点”。
提示:“请按以下步骤分析:
列出 18-25 岁年轻人吃零食时的 3 个常见困扰(如‘怕胖’‘包装难打开’);
针对每个困扰,说明这款‘低卡、易撕包装’的零食如何解决;
用‘年轻人能 get 到的梗’总结(如‘怕胖星人的救赎来了’)。”
关键:指令分步骤、无歧义,让模型 “知道先做什么,再做什么”。

以下是进阶提示技术
(4)思维链提示(Chain-of-Thought Prompting,CoT)

原理:引导模型 “分步输出推理过程”,再给出最终结论,模拟人类 “拆解问题→分析→总结” 的逻辑,尤其提升复杂推理任务的准确性。
适用场景:逻辑密集型任务(如数学题、因果分析、多条件决策)。
示例:
任务:分析 “年轻人为什么更爱买迷你装零食”。
提示:“请先一步步分析原因,再总结结论。步骤:
年轻人的生活场景(如独居、宿舍囤货);
他们的消费顾虑(如怕吃不完浪费、想多尝口味);
迷你装的对应优势;
最后用 3 句话总结核心原因。”

其他变种:
强制思维链:在提示末尾加 “让我们一步步来思考”“请先分析原因,再总结” 等引导语。

(5) 角色提示(Role Prompting)

原理:给模型赋予 “具体身份”(如 “资深设计师”“脱口秀演员”),通过角色的 “职业特性” 约束输出风格、专业度和视角。

关键:角色设定需 “具体到细节”(如职业、性格、常用表达),而非模糊的 “专家”“老师”。

(6) 约束提示(Constraint Prompting)

原理:通过 “明确限制” 缩小模型输出范围,避免冗余、偏离主题或不符合要求的内容(补充 “不能做什么” 比只说 “要做什么” 更有效)。
适用场景:对输出有严格限制的任务(如字数、风格、专业深度、格式)。
示例:
任务:给大学生写 “潮玩促销短信”。
提示:“写一条给 18-25 岁大学生的潮玩促销短信,要求:
不超过 50 字,带 emoji;
不说‘优惠’‘打折’(太俗),用‘薅羊毛’‘捡漏’等词;
不出现网址 / 二维码(短信易被拦截);
结尾加‘限今天’制造紧迫感。”
技巧:用 “禁止”“避免”“不要” 等词明确排除项,同时用 “建议”“最好” 等词强化期望(如 “建议用短句,每句不超过 7 个字”)。

(7)格式提示(Format Prompting)

原理:强制规定输出的 “结构 / 形式”(如列表、表格、代码块、JSON),让输出更有条理,便于直接使用。
适用场景:需要结构化结果的任务(如数据整理、方案拆解、多维度对比)。
示例:
任务:对比 3 款年轻人喜欢的 “便携小风扇”。
提示:“请从‘价格、风力、颜值、续航’4 个维度对比 3 款小风扇(A 款、B 款、C 款),用表格输出,表格列名:维度、A 款、B 款、C 款,每个单元格不超过 15 字,最后用 1 句话推荐最适合学生党的款。”
技巧:
复杂格式附 “模板”(如 “请按以下模板写:【标题】XXX;【正文】1. XXX 2. XXX”);
用 “用序号列出”“分点说明”“以 XX 为标题” 等明确结构。

(8)对抗性提示(Adversarial Prompting)

原理:针对模型的 “输出缺陷”(如模糊、不具体、逻辑漏洞),在提示中主动 “挑错” 并要求修正,通过 “反向约束” 提升输出质量。
适用场景:首次输出不理想,需要迭代优化时。
示例:
首次输出问题:模型写的 “潮玩推广语” 太普通,没网感。
对抗性提示:“刚才的推广语太像‘正经广告’了,不够‘野’。请重新写 3 条,必须带 1 个网络热梗(如‘尊嘟假嘟’‘泰裤辣’),且结尾加‘冲鸭’‘冲就完事儿’等口语化号召。”

(9)上下文扩展提示(Context Expansion Prompting)

原理:给模型补充 “任务相关的背景细节”(如用户画像、场景限制、历史信息),让输出更贴合具体场景(尤其适合 “场景化任务”)。
适用场景:需要结合具体场景的任务(如精准营销、个性化建议、场景化创作)。
示例:
任务:给 “大学生期末周” 设计潮玩促销活动。
提示:“背景:6 月是大学生期末周,他们天天泡图书馆,压力大,喜欢‘摸鱼放松’。任务:设计 1 个潮玩促销活动,要求:
结合‘期末周’场景(如‘解压’‘奖励自己’);
预算 500 元内,线上线下联动;
活动名带点‘摆烂但努力’的感觉(如‘刷题累了?拆个盲盒充充电’)。”

(10) 工具调用提示(Tool-Using Prompting)

原理:当任务超出模型能力(如实时数据查询、复杂计算、精准翻译),在提示中引导模型 “调用外部工具”(如计算器、搜索引擎、翻译接口),并规定工具调用的格式。
适用场景:需要 “实时 / 精准信息” 或 “模型能力外” 的任务(如 “查 2024 年年轻人消费数据”“计算复利收益”)。
示例:
任务:计算 “大学生每月存 100 元,年利率 3%,3 年后本息和”。
提示:“这个问题需要计算复利,请调用计算器,按以下格式输出:【工具】计算器;【输入】本金 = 100 元 / 月 ×36 月,年利率 3%,复利按年计算;【结果】XXX 元;最后用一句话解释结果对学生的意义。”

网站公告

今日签到

点亮在社区的每一天
去签到