Appearance
第二份“复杂对话提示/身份设定”
1. 什么是零样本提示(Zero-shot Prompting)、少样本提示(Few-shot Prompting)和链式思考提示(Chain-of-Thought Prompting)?
一、零样本提示(Zero-shot Prompting)
定义:不提供任何示例,直接给出任务指令,模型仅凭预训练知识完成任务。
格式:
问题/指令:请将这句话翻译成汉语: "Explorers, pioneers, not caretakers."优点:
操作最简单,不需要示例。
适合熟悉或标准化任务(如翻译、摘要等)。
局限:
模型可能误解任务意图,尤其在复杂任务中。
输出格式不一定符合预期。
💡 记忆类比:
就像你让一个人“立刻完成任务”**,但没告诉他任何参考资料——只能靠他之前的经验来判断怎么做。
二、少样本提示(Few-shot Prompting)
定义:在问题前提供1-3个示例,引导模型学会任务模式。
格式:
输入: 我感到非常高兴。 情感: 积极 输入: 今天真是糟糕的一天。 情感: 消极 输入: 这部电影太无聊了。 情感:优点:
帮助模型理解任务语境和输出格式。
显著提升非标准任务的表现。
局限:
需要高质量示例。
上下文窗口限制,示例数量不能太多。
💡 记忆类比:
就像给模型做“几道样题后再考正题”,让它先“学着做”。
三、链式思考提示(Chain-of-Thought Prompting,CoT)
定义:引导模型生成推理步骤,模拟思考过程。
示例(少样本CoT):
问题: 小明有5个苹果,他给了小红2个,又从小华那里得到3个。小明现在有多少个苹果? 思考: 5-2=3,再加上3,结果是6个苹果。 答案: 6个苹果优点:
在数学/逻辑类任务中表现显著更好。
输出过程透明,便于查错。
局限:
消耗更多Token。
推理链中若有错,最终答案也错。
💡 记忆类比:
就像你在解数学题时“写过程”,而不是直接写答案。
四、三种提示方式对比表:
| 对比维度 | 零样本提示 | 少样本提示 | 链式思考提示 |
|---|---|---|---|
| 示例数量 | 无 | 少量(1-3个) | 通常含思考步骤的示例 |
| 难度适配 | 简单任务 | 结构化任务 | 多步骤、复杂任务 |
| Token消耗 | 最少 | 适中 | 最多 |
| 优势 | 快速、便捷 | 引导明确 | 推理清晰 |
2. 在提示工程中,如何有效地控制大模型输出的格式?
1. 明确的格式指令
详细说明:在提示中明确指定所需的输出格式。
示例:
请以JSON格式回答以下问题,包含字段"name"、"age"和"occupation": 谁是阿尔伯特·爱因斯坦?- 效果:模型更可能生成符合要求的JSON格式响应。
2. 示例驱动(Few-shot)方法
提供示例:在提示中包含一个或多个输入-输出示例,展示期望的格式。
示例:
问题: 巴黎是哪个国家的首都?
答案: {
"country": "法国",
"capital": "巴黎",
"continent": "欧洲"
}
问题: 东京是哪个国家的首都?
答案:- 效果:模型会模仿示例的格式,应用到新问题上。
3. 分步指导
逐步引导:将复杂的格式要求分解为清晰的步骤。
示例:
请按照以下步骤回答问题"什么是光合作用":
首先给出一句简短的定义
然后列出3个关键组成部分,每个使用一个项目符号
最后总结其重要性,不超过2句话- 效果:通过明确的步骤指导,提高格式遵循的一致性。
4. 模板填充
提供模板:给出一个包含占位符的完整输出模板,要求模型填充。
示例:
请填充以下模板来描述太阳系中的行星:
行星名称: [NAME]
直径: [DIAMETER] 千米
距离太阳: [DISTANCE] 天文单位
一年的长度: [YEAR_LENGTH] 地球日
简短描述:
[DESCRIPTION]
请为木星填写此模板。- 效果:提供明确的结构,减少模型偏离格式的可能性。
5. 输出解析器与函数调用
使用API功能:利用OpenAI等提供的函数调用(Function Calling)功能。
示例:
{
"name": "get_person_info",
"description": "获取关于一个人的基本信息",
"parameters": {
"type": "object",
"properties": {
"name": {"type": "string", "description": "人名"},
"birth_year": {"type": "integer", "description": "出生年份"},
"achievements": {"type": "array", "items": {"type": "string"}, "description": "主要成就列表"}
},
"required": ["name", "birth_year"]
}
}- 效果:模型会直接生成符合指定JSON Schema的结构化输出。
6. 角色扮演
设定角色:让模型扮演特定角色,该角色习惯于使用特定格式。
示例:
你是一位数据科学家,习惯用Markdown表格呈现数据分析结果。请分析以下数据并以Markdown表格格式展示结果。- 效果:通过角色设定间接引导格式。
7. 格式标记与分隔符
使用标记:使用明显的标记或分隔符来划分不同部分。
示例:
请分析以下产品评论的情感,使用以下格式:
评论: <评论文本>
情感: <积极/消极/中性>
置信度: <高/中/低>
理由: <简短解释>- 效果:清晰的标记有助于模型理解和维持结构。
8. 反例说明
展示错误示例:除了正确格式,还可以展示不希望看到的格式。
示例:
请提供三种治疗失眠的方法。使用编号列表(1, 2, 3),每种方法一段简短描述。
不要使用项目符号,不要包含介绍或结论段落。- 效果:明确指出不需要的元素,减少格式偏差。
9. 输出长度控制
明确限制:指定字数、句子数或段落数的限制。
示例:
请用不超过100字概括第二次世界大战的主要原因。- 效果:帮助控制输出的简洁性和焦点。
10. 迭代优化
测试与调整:根据模型的实际输出,不断调整提示。
过程:如果模型输出不符合预期格式,分析原因并修改提示,可能需要多次迭代。
效果:通过实验找到最有效的格式控制方法。
最佳实践
组合使用多种方法,如同时使用明确指令、示例和模板。
对于复杂格式,考虑使用专门的输出解析器或后处理步骤。
记住模型有时会“创造性地解释”指令,需要准备处理意外输出的策略。
对于关键应用,实施输出验证机制,确保格式符合要求。
举例类比记忆(像填写表单)
控制输出格式就像让人填写表单——如果你提供了清晰的表格模板、字段说明和示例,填写的人(模型)更容易遵守要求。
易错提醒
只给格式要求却不提供示例,模型可能仍然偏离。
指令过长或嵌套复杂,容易导致格式错乱。
忽略后处理(如正则验证或解析器检查)可能导致错误输出未被发现。
可能的延伸面试提问角度
Few-shot 提示与模板填充在格式控制上有什么区别?
如何通过函数调用(Function Calling)机制提升输出一致性?
对于开放式生成任务(如写文章),如何在不限制创意的情况下控制输出结构?
应答建议
如果问机制 → 强调“明确格式 + 示例演示 + 模板约束”三层控制逻辑。
如果问技术实现 → 举例说明函数调用、JSON Schema、正则解析等实现方式。
如果问应用场景 → 结合企业对话机器人、API自动化、数据结构化输出等落地案例。
3. 如何评估和优化提示的效果?有哪些常用的评估指标?
评估和优化提示效果是提示工程中的关键环节,它涉及系统性地测试、衡量和改进提示,以获得最佳的模型输出。
一、评估提示效果的方法
1. 人工评估
专家评审:由领域专家或提示工程师对输出质量进行主观评价。
用户测试:收集真实用户对模型输出的反馈与满意度。
A/B 测试:在实际应用中比较不同提示版本的表现。
2. 自动评估
基于参考的评估:将模型输出与预定义的“黄金标准”答案比较。
基于模型的评估:使用另一个大型语言模型评估输出质量。
基于规则的评估:检查输出是否符合特定规则或格式要求。
3. 混合方法
结合自动指标与人工判断。
使用自动评估进行初筛,再由人工进行精细评估。
二、常用评估指标
1. 任务完成度指标
准确率 (Accuracy):模型正确完成任务的比例。
精确率 (Precision) 与 召回率 (Recall):特别适用于信息提取类任务。
F1 分数:精确率与召回率的调和平均值。
完成率:模型成功生成符合要求输出的比例。
2. 内容质量指标
相关性 (Relevance):输出与用户查询的相关程度。
连贯性 (Coherence):输出逻辑流畅度与内部一致性。
信息量 (Informativeness):输出包含的有用信息量。
创造性 (Creativity):适用于创意性任务,如内容生成。
3. 特定任务指标
BLEU / ROUGE / METEOR:评估文本生成任务,如翻译、摘要。
幻觉率 (Hallucination Rate):生成虚假或不准确信息的频率。
有害内容率:生成不当、有害内容的比例。
代码执行成功率:生成代码能否正确运行。
4. 效率指标
Token 使用量:完成任务所需输入与输出 token 数量。
延迟 (Latency):从发送提示到接收完整响应的时间。
成本 (Cost):按 token 计费的 API 调用成本。
5. 用户体验指标
用户满意度:用户对输出质量的主观评价。
交互次数:用户为获得满意结果所需的交互次数。
任务完成时间:用户完成任务的总耗时。
三、优化提示的策略
1. 迭代改进
基线建立:创建初始提示并评估表现。
针对性修改:根据评估结果改进提示。
再评估与循环优化:重复测试与调整,直至达到目标性能。
2. 提示结构优化
指令明确化:使任务要求更清晰。
示例增强:添加或改进 few-shot 示例。
角色定义:通过设定模型身份引导风格。
格式调整:优化提示结构与可读性。
3. 系统性实验
控制变量法:每次仅改变一个提示元素。
提示模板化:建立标准模板便于批量测试。
参数扫描:调整温度 (temperature)、top_p 等参数。
4. 高级优化技术
提示蒸馏 (Prompt Distillation):用复杂提示生成简化版本。
自动提示优化 (Automatic Prompt Optimization):利用遗传算法或强化学习自动搜索最优提示。
提示集成 (Prompt Ensembling):组合多个提示优势以提升鲁棒性。
5. 特定问题优化
减少幻觉:添加事实核查或“不确定请标注”指令。
提高一致性:增加结构化约束。
控制输出长度:通过字数或详细程度限制明确要求。
四、实际优化案例
原始提示:
总结这篇文章:[文章内容]
问题识别:
输出摘要过于笼统,缺乏重点。
结构化改进:
请为以下学术文章创建一个简洁摘要,包含主要研究问题、方法、结果和结论,不超过 150 字:
[文章内容]
角色定义强化:
你是一位经验丰富的学术编辑,擅长提炼复杂研究的核心内容。请为以下学术文章创建一个简洁摘要,包含主要研究问题、方法、结果和结论,不超过 150 字,并保持学术严谨性:
[文章内容]
评估与再优化:
根据输出质量与用户反馈进一步调整。
五、举例类比记忆(像实验调参)
提示优化过程就像机器学习模型调参:
你不断试不同的超参数(提示结构、语气、上下文),用指标衡量性能(准确率、相关性),最终找到最佳组合。
六、易错提醒
忽略 定量与定性评估结合,只凭感觉判断提示优劣。
混淆「人工评估」与「自动指标」,未说明适用场景。
没有展示提示优化的迭代过程,回答显得静态。
七、可能的延伸面试提问角度
如何在没有标准答案的开放式任务中评估提示质量?
自动化提示优化(APO)是如何工作的?
如何平衡提示优化中的准确性与创造性?
八、应答建议
如果问评估机制 → 强调人工与自动评估结合;说明具体指标如准确率、连贯性、幻觉率。
如果问优化策略 → 解释迭代改进、few-shot 增强、控制变量法的应用。
如果问实际场景 → 举例内容生成或问答任务如何用 A/B 测试与用户满意度优化提示。
4. 在提示工程中,如何有效地利用角色提示(Role Prompting)?
角色提示(Role Prompting) 是通过指定模型扮演特定身份/角色来引导其知识背景、表达风格和思考方式的技术。有效使用角色提示能显著提高输出的可控性、专业度和一致性。下面按结构化面试题格式给出详尽回答。
一、选择合适的角色
基于专业知识:选择与任务领域高度相关的角色(如“资深机器学习工程师”“临床心理学家”)。
基于沟通风格:根据读者/用户调整角色(如“面向大众的科普作者”“简洁的技术文档作者”)。
基于思维模式:为需要特定推理方式的任务选择合适角色(如“系统性思考的产品经理”“批判性思维的哲学家”)。
二、详细描述角色特征
背景与经验:定义教育、年限、代表性项目或成就(例如:拥有 15 年分布式系统设计经验)。
知识领域:明确擅长的子领域与技能(例如:熟悉 Transformer、RAG、微调技巧)。
价值观与方法论:说明决策偏好或工作方式(例如:以证据为先、数据驱动、注重可解释性)。
三、设定目标与约束
明确目标:告诉“角色”要达成的具体目标(例如:撰写一份面向非专业读者的 800 字产品简介)。
设定约束:规定风格、合规或安全限制(例如:不得提供医疗诊断、引用需注明来源、字数上限)。
四、创建情境与上下文
场景设定:描述任务发生的具体环境(如:课堂、客户会议、技术审查)。
互动对象:明确回答对象及其背景(如:技术小白、高级工程师、非营利组织决策者)。
五、引导角色的回应方式
输出格式:要求结构(如:要点列表、步骤指南、问题-答案矩阵)。
语言风格:指定语域(如:通俗、正式、学术、简洁)。
思考过程:明确是否要求模型显示推理链或决策依据(如:列出假设、风险与权衡)。
六、多角色协作与对话
角色对话:让模型在同一会话内模拟多方讨论(如:产品经理 vs 风险工程师)。
角色轮换:在同一提示内按步骤切换角色视角(如:先从需求方,再从实现方评估可行性)。
七、角色进化与适应
反馈调整:基于用户反馈迭代角色设定和回答风格。
角色深化:随着对话推进,逐步提升专业性或个性化(例如:要求更多专业细节或实例)。
八、实践示例(简洁版)
医疗咨询:
你是一位具有 20 年临床经验的家庭医生,擅长以平易近人的方式解释疾病。请解释偏头痛的常见触发因素、自我管理方法,并指出何时应就医。技术文档:
你是一名技术文档专家。为智能家居 App 编写用户设置指南(面向非专业用户),包含:初始设置、设备配对、常见故障排除。每个步骤不超过 2 行。多角色评估:
模拟一位产品经理和一位安全工程师对新功能的利弊展开讨论。先由产品经理陈述商业价值,再由安全工程师列出安全风险与缓解方案。
九、优势
提升回答的专业深度与风格一致性。
更容易控制输出格式与预期(比如术语、论证层次)。
适配不同受众和场景(教学、审稿、客服、创作等)。
十、注意事项与风险
避免冲突或过于复杂的角色设定:互相矛盾的指令会导致输出不稳定。
知识截止限制:角色不能弥补模型事实性知识的时效性问题(若需最新信息应结合检索/工具)。
滥用风险:避免让模型扮演违法或可能导致有害行为的角色(如犯罪指导、无资质医疗诊断)。
过度拟人化问题:不要暗示模型具有真实资质或执业许可;必要时在输出中加上免责声明或建议咨询专业人士。
十一、易错提醒
只写角色头衔不描述能力/约束,导致输出泛化或不符合预期。
忽视输出格式与受众,结果冗长或术语过多。
给出过多互相矛盾的指令(例如同时要求“非常简洁”和“详尽解释每个细节”)。
忽略安全与合规限制(尤其在医疗、法律、金融等敏感领域)。
十二、可能的延伸面试提问角度
如何在生产环境中自动化生成并管理不同的角色提示?
角色提示与链式思考(Chain-of-Thought)如何组合以提高推理质量?
在多语言/跨文化场景中,角色提示应如何调整以避免文化偏差?
如何评估角色提示对模型偏见或不当内容的影响?
在需要最新事实的任务中,如何将角色提示与检索增强生成(RAG)结合?
十三、应答建议
如果问设计要点 → 强调“明确角色背景 + 明确目标与约束 + 指定输出格式”。
如果问实际场景应用 → 给出一至两个短示例(任务、角色、期待输出格式),并说明如何迭代改进。
如果问风险与合规 → 说明模型知识时效性限制、合规边界,并建议加入免责声明与人工复核流程。
角色提示是能显著提升提示工程效果的实用工具,但要通过清晰、可测量的设计与迭代来避免歧义与风险。
5. 提示工程中的“思维链”(Chain-of-Thought)和“思维树”(Tree-of-Thought)有什么区别?
“思维链”(Chain-of-Thought,CoT)与“思维树”(Tree-of-Thought,ToT)都是增强大型语言模型推理能力的提示技术,但在结构、探索方式、计算开销和适用场景上存在显著差别。下面按面试题格式系统化整理。
一、定义与核心思想
思维链(CoT):引导模型生成一系列线性的中间推理步骤,从问题逐步走向答案。强调“一步步思考”的线性链式推理。
思维树(ToT):在推理过程中同时生成并维护多条候选思路(分支),评估各分支的价值,必要时回溯并探索其他分支,形成树状的多路径搜索。
二、工作方式对比
CoT 工作方式:
可用零样本(prompt 加入“让我们一步步思考”)或少样本(提供带完整推理过程的示例)。
模型按顺序输出中间步骤,最终给出答案。
ToT 工作方式:
在每个决策点生成多个候选“想法/步骤”。
对每个候选分支进行评估(可用启发式规则、打分模型或另一个 LLM)。
选择评分较高的分支继续扩展;若遇到死路则回溯尝试其他分支。
需要控制搜索策略(宽度/深度)、评估函数与回溯机制。
三、结构与复杂性
结构:CoT 是线性的单路径;ToT 是树状多路径。
复杂性:CoT 实现与调试较简单;ToT 设计、搜索控制与评估机制更复杂。
计算开销:CoT 只需一次顺序生成,开销低;ToT 需要多次模型调用和分支评估,开销高且需管理搜索空间。
四、探索广度与决策行为
CoT:只沿一条路径深入,不尝试并行备选方案。
ToT:并行/分支探索多种可能,具备回溯与试错能力,更适合不确定性高或多解的问题。
五、适用场景比较
CoT 适用:数学推理、逻辑证明、逐步求解类问题(问题路径明确、误差可控)。
ToT 适用:创意生成、策略规划、多步骤决策且有多种可行解的场景(例如:游戏决策、复杂设计方案、需要试错的规划问题)。
混合使用:可先用 ToT 做高层候选方案探索,再对选定分支用 CoT 做深度线性推理与细化。
六、实现考量与工程细节
CoT 实现要点:提示里加入示例推理、鼓励模型输出中间步骤、限制长度以避免跑偏。
ToT 实现要点:需要定义分支生成策略、分支评估函数(启发式/打分模型/二次 LLM)、搜索策略(宽度优先/深度优先/启发式剪枝)与回溯机制,并控制计算预算与截断策略。
评估与监控:对 ToT 需额外监控分支数、调用次数、评估准确性与最终答案质量以权衡成本与收益。
七、优缺点汇总
CoT 优点:
实现简单、成本低;便于示例化训练或提示工程应用。
在明确推理路径的问题上效果显著。
CoT 缺点:
- 仅沿单一路径,若该路径出错难以自纠。
ToT 优点:
支持多路径探索、回溯与试错,能找到更优或更稳健的解。
更擅长处理不确定、多解和策略性问题。
ToT 缺点:
- 计算与实现复杂度高,需有效的分支评估策略以避免爆炸性搜索空间。
八、示例(简化示意)
CoT 示例(算术):
问题:如果一件物品 15 元,另一件是它的两倍价,买 2 件和 3 件分别多少钱? 思路: 1. 第一个价格 15 元。 2. 第二个价格 15 × 2 = 30 元。 3. 2 件第一个:15 × 2 = 30。 4. 3 件第二个:30 × 3 = 90。 总价 = 30 + 90 = 120。 答案:120。ToT 示例(设计决策):
问题:为老年人设计智能家居方案。 分支 A:健康监测(子选项:远程手环 / 药物分发) 分支 B:安全与辅助(子选项:智能照明 / 语音控制) 评估:对各分支基于可接受性、成本、易用性评估打分,选择得分最高分支并进一步细化;若细化失败回溯尝试次优分支。
九、易错提醒
低估 ToT 的搜索爆炸风险与计算成本,未设计有效的剪枝或评估函数就直接放大搜索宽度。
把 CoT 与 ToT 混用时不给出明确策略(何时探索、何时深化、何时回溯),导致模型输出混乱。
忽视评估函数的质量——若分支评分不可靠,ToT 的多路径探索可能导向次优结果。
在对事实敏感的任务中,单纯依赖 CoT/ToT 而不结合外部检索或事实核验,容易产生高置信度的“幻觉”。
十、可能的延伸面试提问角度
如何设计一个高效的分支评估函数用于 ToT?
在有限计算预算下,如何在 ToT 中平衡 “探索(explore)” 与 “利用(exploit)”?
CoT 与 ToT 在训练时是否可以通过微调(fine-tuning)增强效果?如何做?
如何把检索增强(RAG)与 ToT/CoT 结合以降低幻觉率?
在多语言或跨文化推理中,CoT/ToT 的表现有何差异,如何适配?
十一、应答建议
如果问原理 → 对比“线性单路径(CoT)”与“多路径树状探索(ToT)”,并说明回溯与评估的必要性。
如果问工程实现 → 说明 ToT 需要分支生成、评估函数与搜索控制,并强调计算预算与剪枝策略。
如果问选用场景 → 给出具体例子:数学/逻辑用 CoT;多解/策略/创意问题用 ToT;并推荐“先 ToT 探索方向,再用 CoT 深入”的混合策略。
CoT 与 ToT 各有侧重:CoT 强在顺序化、清晰的线性推理;ToT 强在多路径探索与试错搜索。实际工程中常把两者结合起来以兼顾广度与深度,同时需要严谨的评估机制和资源控制。
