《2025提示工程从入门到进阶指南》正式发布 | 中科算网算泥社区

添加书签

12 月 11 日,《2025 提示工程从入门到进阶指南》正式发布!该指南由中科算网算泥AI开发者社区主编,旨在为大家打造一份全面、深入且极具前瞻性的 “2025 提示工程知识地图”。

我们深知,面对 AI 浪潮,你想要的从来不是零散的技巧堆砌,而是一套能落地、可复用的系统性方法论,一种能读懂 AI 逻辑、精准引导其行为,进而实现高效人机协同的 “第二语言”。因此,本指南将从基础概念起步,层层深入前沿实践与核心思想,帮你搭建完整的知识体系,最终站在时代前沿,从容把握人机协作的未来图景。

以下为指南部分内容节选。

一、什么是提示工程(Prompt Engineering)

提示工程(Prompt Engineering)是一门新兴的交叉学科,它融合了自然语言处理(NLP)、人机交互(HCI)与认知科学的精髓,其核心在于通过精心设计、优化和迭代输入文本(即“提示”,Prompt),以引导大型语言模型(Large Language Models, LLMs)生成期望的、高质量的输出。这一定义在2025年的语境下,已经超越了早期简单的“提问的艺术”,演变为一门旨在提升模型准确性、可控性、创造力与安全性的系统性工程学科,并且这一切都是在不直接修改模型底层参数的前提下实现的。

在与通用人工智能(AGI)渐行渐近的时代,LLMs如同拥有无尽潜能的“数字大脑”,而提示工程则是驾驭这强大心智的“缰绳”与“地图”。IBM将其描述为“编写、优化和迭代输入,以鼓励生成式AI系统创造特定、高质量输出的过程”。这一定义强调了其迭代和优化的本质。更进一步理解,提示工程是“构建输入(即提示)以从大语言模型中获得最佳可能结果的实践”,并将其视为区分“模糊请求”与“目标明确的指令”的关键。

进入2025年,随着模型能力的指数级增长(例如,上下文窗口从几千扩展到百万级别),提示工程的内涵也随之深化。它不再仅仅是寻找“魔法咒语”式的特定词汇组合,而是发展成为一套包含结构化设计、逻辑推理、情景构建、甚至对抗性测试在内的综合方法论。它要求从业者(即提示工程师)不仅要理解自然语言的精妙之处,更要洞察模型“思考”的内在机制——尽管这种“思考”是基于概率的、非人类的。提示工程师如同与一个“外星智能”对话的翻译官和心理学家,他们需要学习这套独特的沟通语言,以便让模型的能力得以最大化、精准化地释放。

一个生动的比喻是,如果将LLM视作一位才华横溢但缺乏具体领域知识和明确指令的实习生,那么提示工程师就是那位经验丰富的项目经理。这位经理不直接修改实习生的“大脑结构”(模型权重),而是通过提供清晰的任务描述、详尽的背景资料、具体的成功范例、明确的交付格式以及严格的质量标准,来确保实习生能够高效、准确地完成远超其独立能力范围的复杂工作。

因此,2025年的提示工程,其定义可以精炼为:

提示工程是一门通过系统性地设计、构建和优化与大型语言模型交互的指令(提示),以实现对其行为(如准确性、风格、安全性)的精确控制,并充分挖掘其在新任务上零样本或少样本学习能力的工程学科。它是在模型能力边界内,实现人机智能高效对齐与协同的关键接口技术。

这一定义涵盖了三个核心层面:

• 系统性的设计与优化:强调其工程属性,而非单纯的技巧。它涉及原则、模式、工具和流程。

• 精确控制与能力挖掘:明确了其目标,即提升输出质量、可控性,并激发模型的泛化能力。

• 人机智能对齐的接口:定位了其在人与AI关系中的核心地位,是实现价值对齐和有效沟通的桥梁。

总而言之,提示工程是解锁和塑造未来AI能力的关键钥匙。随着AI的普及,这门学科的重要性日益凸显,它不仅是技术人员的必备技能,也正成为各行各业专业人士与AI协作的基础素养。

二、提示的七大要素

如果说提示是与AI沟通的语言,那么一个结构完整、意图清晰的提示,就如同一篇逻辑严谨、论证充分的微型论文。经过业界多年的实践与总结,尤其是在2025年这个节点,一个高效的、工程化的提示通常由七个核心要素构成。它们共同组成了一个强大的框架,能够将人类的复杂意图精确地传达给模型,从而获得高质量的响应。这七大要素分别是:角色(Role)、背景(Context)、任务(Task)、示例(Examples)、格式(Format)、质量(Quality)与约束(Constraints),以及思考时间(Thinking Time)

掌握并灵活运用这七大要素,是提示工程师从入门走向精通的必经之路。下面,我们将对每一要素进行深度解析,并提供具体的工程落地建议。

2.1 角色(Role)

解析:

角色设定,即为大语言模型指定一个特定的身份或“人设”。这不仅仅是一个有趣的技巧,更是一种强大的认知引导机制。通过赋予模型一个专家身份,例如“你是一位资深的金融分析师”、“你是一位富有同情心的心理咨询师”或“你是一位专攻Python编程的软件架构师”,我们实际上是在激活模型内部与该角色相关的庞大知识网络和语言风格。模型会模仿该角色的口吻、思维模式、专业术语和知识深度来进行回应,从而使输出更加专业、地道和可信。

工程落地建议:

• 明确具体:角色的设定应尽可能具体。避免使用“专家”这样的模糊词汇,而应指明“一位在量子计算领域有15年研究经验的MIT物理学教授”。

• 利用系统提示(System Prompt):在支持系统提示的API中,将角色设定置于系统提示中。这能确保角色在整个对话会话中保持稳定,不易被后续的用户输入所“污染”或“遗忘”。

• 结合目标受众:设定角色时,可以同时考虑输出内容的目标受众。例如:“你是一位能将复杂科学概念用六年级学生能听懂的语言解释清楚的科普作家。”

• 角色一致性测试:在正式部署前,通过多轮对话测试角色的一致性。观察模型是否会在对话中途“出戏”,并根据测试结果调整角色描述的强度和细节。

示例:

(弱) “总结一下黑洞是什么。”

(强)System Prompt: “你是一位天体物理学家,也是一位出色的科普教育家,你的任务是向对科学充满好奇但没有专业背景的青少年解释复杂的宇宙概念。请使用生动、形象的比喻,避免使用过于专业的术语。”

User Prompt: “请解释一下什么是黑洞。”

2.2 背景/上下文(Context)

解析:

背景信息为模型执行任务提供了必要的环境和前提。它如同拼图的边框,帮助模型理解任务的边界和相关信息。缺乏背景,即便是最强大的模型也可能因为信息不足而产生误解或“幻觉”。上下文可以包括外部文档、对话历史、用户数据、实时信息等任何与任务相关的内容。

工程落地建议:

• 信息前置:将最重要的背景信息放在提示的开头部分,确保模型能优先注意到。

• 使用分隔符:当提供大量文本作为背景时,使用清晰的分隔符(如三重引号”””、XML标签 <context>…</context>)将背景信息与任务指令明确分开,帮助模型区分哪些是待处理的信息,哪些是需要执行的动作。

• 检索增强生成(RAG):对于需要实时或领域外知识的任务,不要期望模型“无所不知”。通过RAG架构,在生成提示前先从知识库(如向量数据库)中检索最相关的文档片段作为上下文,这是2025年处理事实性问题的标准实践。

• 上下文压缩与筛选:在长上下文窗口(如1M Token)时代,虽然可以输入海量信息,但这会带来成本和延迟的增加,甚至可能引入噪声。因此,设计有效的上下文筛选和摘要机制,只向模型提供最核心的信息,是提升效率的关键。

示例:

(弱) “根据邮件内容,回复客户。”

(强) “你是一位专业的客户支持代表。以下是客户的原始邮件和我们的退款政策。 客户邮件:

• 主题:订单#12345退货申请

• 正文:我上周收到的产品有瑕疵,希望能申请退货退款。

公司退款政策:

• 收到货物7天内可无理由退货。

• 商品需保持包装完好。

• 因质量问题导致的退货,公司承担运费。

任务: 请根据以上信息,草拟一封专业且富有同理心的回复邮件给客户,告知他可以退货,并说明具体流程。”

2.3 任务说明(Task)

解析:

任务说明是提示的核心,它直接告诉模型“做什么”。一个好的任务说明必须是明确、具体、无歧义的。它应该使用清晰的指令性动词(如“总结”、“分类”、“翻译”、“生成”、“重写”等),并详细描述任务的每一个步骤和要求。

工程落地建议:

 指令动词开头:用一个强有力的指令动词开始你的任务描述,例如“分析以下文本…”、“提取关键信息…”、“比较两种方案的优劣…”。

 任务拆解(Chain of Thought, CoT):对于复杂任务,不要期望模型一步到位。将任务分解为一系列更小、更简单的逻辑步骤,并引导模型按步骤思考。这不仅能提升结果的准确性,还能让模型的“思考过程”变得可见,便于调试。例如,明确要求模型“第一步,…;第二步,…;第三步,…”。

• 避免否定和模糊指令:尽量使用正面指令。与其说“不要写得太随意”,不如说“请使用正式、专业的商业书面语”。

示例:

(弱) “谈谈这篇报告。”

(强) “请执行以下三个任务:

• 总结所附的2025年第二季度全球AI市场分析报告,篇幅限制在300字以内。

• 提取报告中提到的三大主要增长动力和两大潜在风险。

• 基于报告内容,为一家计划进入该市场的初创公司提出三条战略建议。”

2.4 示例(Examples)

解析:

示例,即“少样本提示”(Few-Shot Prompting),是教导模型如何完成任务的最有效方法之一。通过提供一或多个“输入-输出”的范例,模型能够迅速理解任务的模式、格式和质量标准,并进行模仿。示例的作用类似于“照葫芦画瓢”,能极大降低模型对任务的理解门槛。

工程落地建议:

 质量高于数量:一两个高质量、有代表性的示例远胜于十个低质量的示例。确保示例的格式、风格和内容都符合最终要求。

• 格式一致性:所有示例的格式,以及你希望模型生成的最终输出格式,都应保持严格一致。这有助于模型学习到结构化的规律。

• 动态示例选择:对于复杂的应用,可以构建一个示例库。根据用户的具体输入,动态选择与输入最相似的几个示例来构建提示。这种自适应的方法能显著提升在多变场景下的表现。

• 零样本优先:在设计提示时,首先尝试零样本(Zero-Shot)提示,即不提供任何示例。如果效果不佳,再逐步增加示例。这有助于在满足质量要求的前提下,最大限度地节约Token成本。

示例:

任务: 将非正式的句子改写为正式的商务邮件用语。

示例1:

输入: “哎,老板,那个报告我搞定了哈。”

输出: “尊敬的[老板姓名],附件为本次项目的详细报告,请您审阅。”

示例2:

输入: “下周的会我不去了,没空。”

输出: “非常抱歉,由于日程冲突,我将无法参加下周的会议。相关的讨论要点我将提前同步给您。”

现在,请改写以下句子:

输入: “这个功能啥时候能上线啊?客户都催死了。”

输出:

2.5 输出格式(Format)

解析:

明确指定输出的格式,对于需要将LLM集成到自动化流程中的应用至关重要。如果输出格式不稳定,下游的程序将难以解析和处理。常见的输出格式包括JSON、XML、Markdown、YAML、表格等。

工程落地建议:

• 使用结构化语言:直接要求模型以特定格式输出,如“请以JSON格式返回结果,包含name、email和summary三个字段。”

• 提供格式模板:在提示中给出一个空的或带有注释的格式模板,让模型进行“填空”。这比纯文本描述更有效。

 结合示例:在Few-Shot示例中,严格遵守你想要的输出格式,这是最自然的教学方式。

• 后处理与验证:即使明确指定了格式,模型偶尔也可能出错。因此,在接收到模型输出后,始终应该有一个验证步骤,检查其是否符合预期的Schema。如果验证失败,可以设计一个“修复提示”,将错误的输出连同错误信息一起发回给模型,让它自行修正。

示例:

请从以下非结构化文本中提取联系人信息,并以JSON对象数组的格式输出。每个对象应包含name (string), email (string), 和 phone (string) 三个键。如果某个信息缺失,请将对应的值设为null。

文本:

张三的电话是13812345678,邮箱是zhangsan@example.com。李四只留了邮箱 lisi@example.com

输出:

[{“name”: “张三”,”email”: “zhangsan@example.com”,”phone”: “13812345678”},

{“name”: “李四”,”email”: “lisi@example.com”,”phone”: null}]

2.6 质量与约束(Quality & Constraints)

解析:

这一要素用于定义输出的“好”的标准以及必须遵守的“红线”。质量标准可以涉及文风、语调、复杂度、创造性等;约束则通常涉及内容限制、字数、合规性要求等。

工程落地建议:

• 量化指标:尽可能将质量要求量化。例如,不说“写得简洁点”,而说“将摘要限制在200字以内”。

• 明确的“不要”:使用负向约束来明确禁止某些行为。例如,“不要包含任何个人身份信息”、“不要使用俚语或网络流行语”、“回答中不得包含任何形式的法律建议”。

• 风格引导:使用描述性词汇来引导风格,如“请以客观、中立的口吻撰写”、“确保语言充满激情和感染力”。

• 安全与伦理护栏:这是约束中至关重要的一环。通过提示明确模型的行为边界,例如,“你是一个乐于助人且无害的AI助手,绝不生成暴力、歧视或非法内容。”

示例:

你是一位为高端汽车品牌撰写广告文案的创意总监。请为新款电动跑车保时捷taycan创作一段150字左右的广告语。

质量要求:

• 突出未来感、速度与环保的结合。

• 语言富有诗意和画面感。

• 唤起读者的自由和探索精神。

约束:

• 不得提及具体价格或竞争对手。

• 不得使用最好、第一等绝对化词汇。

• 最终输出必须是一段完整的文本,不含任何标题或标签。

2.7 思考时间(Thinking Time)

解析:

“思考时间”是一个在2024-2025年愈发受到重视的概念,其核心是给予模型在生成最终答案前进行中间推理的空间和指令。直接要求模型输出复杂问题的答案,往往会导致其“急于求成”而犯错。通过引导模型“先思考,再回答”,可以显著提升其在逻辑推理、数学计算、代码生成等任务上的表现。这本质上是CoT思想的工程化延伸。

工程落地建议:

• 明确指令:在提示中明确加入“请先逐步思考,将你的推理过程写出来,然后再给出最终答案”或“Let’s think step by step”等指令。

• 使用标签分隔思考与答案:要求模型将思考过程放在特定的标签内(如<thinking>…</thinking>),将最终答案放在另一标签内(如<answer>…</answer>)。这使得在应用中可以只提取最终答案,同时保留思考过程用于调试和分析。

•自我批判与修正:可以进一步要求模型在思考过程中进行自我批判。例如,“在给出最终方案前,请先列出至少两种可能的方案,并分析各自的优缺点,然后选择最优方案并解释原因。”

示例:

问题: “一个农夫有17只羊,除了9只以外都死了。他还剩几只羊?”

提示: “请回答以下问题。在给出最终答案前,请将你的推理过程放在<thinking>标签内。

问题: 一个农夫有17只羊,除了9只以外都死了。他还剩几只羊?

回答:

<thinking>

这是一个经典的脑筋急转弯问题。问题的关键在于理解除了9只以外都死了这句话的含义。这句话的直接意思是,有9只羊没有死,其他的都死了。所以,农夫剩下的羊的数量就是这9只。问题的迷惑性在于数字17,它诱导人们去做减法(17-9=8),但这是错误的。正确的逻辑是直接从句子中提取幸存的数量。

</thinking>

<answer>

9只

</answer>

通过系统性地应用这七大要素,提示工程师可以构建出结构化、高信噪比的提示,将与LLM的沟通从一门“玄学”转变为一门可预测、可衡量、可优化的工程科学,从而在各种应用场景中稳定地获得理想的输出。

三、提示的功能

在理解了提示的构成要素之后,我们进一步探讨提示在与大语言模型交互时所扮演的四大核心功能:可控性、可解释性、可操作性和经济性。这四大功能共同构成了提示工程的价值支柱,使其成为连接人类意图与AI能力的坚实桥梁。

3.1 可控性(Controllability)

可控性是指通过提示精确引导和约束模型行为的能力。它是提示工程最基本也是最重要的功能。一个不受控制的LLM,即使能力再强,也如同一匹脱缰的野马,其输出可能是随机的、不相关的,甚至是危险的。提示工程通过一系列结构化的指令,为这匹野马套上了缰绳,使其能按照预定的轨道前行。

可控性体现在多个维度:

• 内容控制:精确决定模型生成什么。例如,通过任务指令和约束,要求模型只撰写关于特定主题的内容,或者禁止其触及某些敏感话题。

• 风格控制:塑造模型输出的语言风格、语调和情感色彩。无论是要求模型模仿莎士比亚的文风,还是使用活泼的网络用语,都可以通过角色设定和质量要求来实现。

• 格式控制:规定模型输出的结构,如前文所述的JSON、Markdown等,确保输出的机器可读性,为自动化流程奠定基础。

• 行为控制:引导模型的交互模式,例如,要求模型在回答前必须先进行一步步的思考(CoT),或者在无法确信时主动声明“我不知道”,而非凭空捏造(幻觉)。

在2025年的实践中,可控性已经从简单的指令遵循,发展到更复杂的价值对齐层面。通过在系统提示中植入企业的价值观或安全红线,提示工程师可以构建起一道“软护栏”,引导模型在遵循指令的同时,不逾越伦理和法规的边界。

3.2 可解释性(Interpretability)

可解释性是指通过提示的设计,使得模型的“决策过程”在一定程度上变得透明和可以理解。LLM本质上是一个“黑箱”,其数十万亿级别的参数如何组合并最终生成一个词,是难以直接解释的。然而,提示工程为我们提供了一个间接窥探其内部逻辑的窗口。

提示的可解释性功能主要通过以下方式实现:

• 链式思考(CoT)与显式推理:要求模型在输出最终答案前,先展示其一步步的推理过程。这个过程就像是模型的“草稿纸”,它暴露了模型是如何理解问题、调用知识、并最终得出结论的。当模型犯错时,我们可以通过检查这个“思考链”来定位问题所在,是前提理解错了,还是逻辑推导出错了?这为提示的迭代优化提供了宝贵的线索。

• 结构化提示与归因:在RAG等应用中,通过在上下文中为不同的知识片段打上标签(如 [来源A]、[来源B]),并要求模型在生成答案时引用其信息来源。这使得我们可以追溯模型输出的每一句话是基于哪部分背景知识,极大地增强了事实性任务的可信度和可验证性。

• 自我评估与反思:在提示中引导模型对其自身的输出进行评估和反思。例如,可以要求模型“在生成摘要后,请评估该摘要是否全面、中立,并指出可能存在的偏见”。这种“元认知”提示能够促使模型审视其内在的逻辑和倾向,从而提供更平衡、更可靠的输出。

在AI安全和可信赖AI(Trustworthy AI)日益重要的今天,提示的可解释性功能变得至关重要。它不仅帮助开发者调试和优化模型,也为最终用户和监管机构提供了审查和信任AI系统的依据。

3.3 可操作性(Actionability)

可操作性是指提示能够驱动模型生成可以直接被用于下游任务或决策的、具体的、可执行的输出。一个仅提供模糊、泛泛而谈的答案的AI,其价值是有限的。提示工程的目标是让AI成为一个能解决实际问题的“行动者”。

可操作性体现在:

• 生成代码:提示可以直接驱动模型生成可运行的Python、JavaScript等代码片段,用于完成特定的编程任务。

• 调用API:在Agent等框架下,模型可以根据提示生成调用外部工具或API的指令(通常是JSON格式),从而实现与外部世界的交互,如查询天气、预订机票等。

• 生成配置文件:提示可以引导模型生成用于部署应用所需的配置文件,如Docker Compose文件、Kubernetes YAML配置等。

• 提供决策建议:在商业分析等场景中,一个好的提示不仅要求模型总结数据,更要求其基于数据“提出三条可行的市场扩张策略,并列出每条策略的潜在风险”。

为了实现可操作性,提示设计必须极度注重具体性格式化。任务指令需要清晰地定义期望的“动作”是什么,而输出格式则要确保这个“动作”能够被机器无歧义地解析和执行。

3.4 经济性(Efficiency)

经济性是指在满足任务质量要求的前提下,尽可能地降低与模型交互的成本。这里的成本是多维度的,包括计算成本(Token消耗)、时间成本(延迟)和人力成本(调试与维护)

提示的经济性功能通过以下策略实现:

 Token优化:

 提示压缩:使用更简洁、更精确的语言来表达相同的意图,删除冗余词汇。

 上下文管理:在长对话中,对历史上下文进行摘要或筛选,避免在每次交互时都重复发送大量信息。

○ 零样本与少样本的权衡:优先尝试零样本提示,仅在必要时增加最少的、最高效的示例。

• 延迟优化:

 减少输出长度:通过约束明确限制输出的字数或Token数。

○ 流式传输(Streaming):对于需要即时反馈的应用,使用流式API可以让用户在模型生成完整答案前就看到部分结果,改善用户体验。

• 人力成本优化:

 模板化与复用:将高效的提示结构沉淀为可复用的模板,建立提示库,降低新任务的开发成本。

○ 版本控制与评估(PromptOps):建立一套系统化的流程来管理、测试、部署和监控提示,使得提示的维护工作更加工程化,减少人工调试的“炼丹”感。

在2025年,随着LLM应用从实验走向规模化生产,经济性已成为衡量提示工程成功与否的关键指标。一个优秀的提示工程师,不仅要追求效果的极致,更要懂得如何在效果与成本之间做出精妙的平衡,实现商业价值的最大化。

四、为什么提示工程重要

在大语言模型已经成为数字世界基础设施的2025年,提示工程的重要性已经无需赘言。它不仅是一项技术,更是人与AI协作模式的基石。其重要性主要体现在其无与伦比的成本、速度和治理优势,以及它与模型微调(Fine-tuning)、基于人类反馈的强化学习(RLHF)和参数高效微调(PEFT) 等其他模型优化技术之间形成的强大互补关系。

4.1成本、速度与治理优势

提示工程之所以能成为LLM应用开发的首选方法,根本原因在于它提供了一种“轻量级”的模型定制方案,带来了显著的工程和商业优势。

• 成本优势(Cost-Effectiveness)

与需要大量GPU资源和专业技术团队进行的全量微调(Full Fine-tuning)相比,提示工程的成本几乎可以忽略不计。全量微调动辄需要数万甚至数百万美元的计算费用,而提示工程的主要成本仅在于API调用的Token消耗。通过精巧的提示设计,开发者可以在不触及模型底层参数的情况下,实现对模型行为的深度定制。这极大地降低了AI应用的创新门槛,使得中小型企业甚至个人开发者都能负担得起构建复杂AI应用的成本。正如Lakera AI所指出的,提示工程是“在不进行再训练或增加数据的情况下,显著改善输出质量的最快、最具成本效益的方式”。

• 速度优势(Speed and Agility)

在瞬息万变的市场中,开发速度就是生命线。提示工程的迭代周期以分钟或小时计算,而微调的周期则以天或周计算。一个提示工程师可以在一天内构思、测试并部署数十个版本的提示,快速响应业务需求的变化。这种敏捷性是传统模型开发流程无法比拟的。无论是修复一个错误的输出格式,还是调整AI的沟通风格,通过修改提示就能立即生效,无需经历“准备数据集 -> 启动训练任务 -> 评估模型 -> 重新部署”的漫长循环。

• 治理优势(Governance and Auditability)

随着AI在金融、医疗、法律等高风险领域的应用日益广泛,对AI行为的治理和审计变得至关重要。提示本身就是一种可读、可版本化、可审计的资产。企业可以将提示作为代码进行管理,纳入CI/CD流程,每一次变更都有记录可查。当出现问题时,可以迅速回溯到具体的提示版本,定位问题根源。相比之下,一个经过微调的模型,其行为变化的归因则要困难得多。你很难说清是数据集中的哪一条数据导致了模型在某个特定场景下的不当行为。因此,将核心业务逻辑、安全约束和合规要求显式地编码在提示中,为企业提供了一条清晰、可控的AI治理路径。

4.2 与其他模型优化技术的互补关系

提示工程并非要取代所有其他模型优化技术,而是与它们形成了一个功能互补、层次分明的技术栈。理解它们之间的关系,是构建高效、健壮AI系统的关键。

与全量微调(Full Fine-tuning)的关系

• 定位不同:全量微调的核心作用是向模型注入深度的、隐式的领域知识或特定的风格。例如,将一家公司的全部内部文档和代码库用于微调,可以让模型“学会”该公司的“行话”和技术栈。而提示工程则是在此基础上,进行显式的、动态的任务指令和行为控制。

• 协同工作:二者可以完美结合。一个经过领域知识微调的模型,再配上一个精心设计的提示,其表现往往远超单独使用任何一种方法。微调负责“授之以渔”(教会通用能力),提示则负责“指明要捕的鱼”(定义具体任务)。

与基于人类反馈的强化学习(RLHF)的关系

• 层次不同:RLHF通常由模型提供商在模型预训练之后、公开发布之前进行,其目标是进行基础的、普适的价值对齐,让模型学会“乐于助人、无害、诚实”等基本原则。它塑造的是模型的“通用人格”。

• 用户与开发者的工具:提示工程则是应用开发者和最终用户在已经经过RLHF对齐的“成品”模型之上,进行具体的、任务级的对齐。用户通过提示告诉模型在当前这个特定任务中,“帮助”具体意味着什么。RLHF设定了模型的“出厂设置”,而提示工程则是用户手中的“遥控器”。

与参数高效微调(PEFT)的关系

• 中间地带:PEFT(如LoRA, Adapter Tuning等)是一种介于提示工程和全量微调之间的技术。它通过只训练模型的一小部分(例如,新增的几层或低秩矩阵)来实现对模型的定制,成本远低于全量微调,但高于提示工程。PEFT同样需要准备数据集和训练过程。

• 功能重叠与互补:PEFT可以实现比提示工程更“深入”的风格或知识注入,但其迭代速度仍然慢于提示工程。在实践中,一种常见的模式是:使用PEFT让模型适应某个特定的、相对稳定的领域(如“法律合同审查风格”),然后再使用提示工程来处理该领域内千变万化的具体任务(如“审查这份租赁合同中的责任条款”)。

为了更清晰的展示这些技术的区别与联系,下表从多个维度进行了对比:

综上所述,提示工程之所以重要,是因为它在AI应用开发的“最后一公里”上,提供了一种兼具低成本、高速度、强治理的解决方案。它并非孤立存在,而是作为模型能力栈中最灵活、最贴近应用的一层,与其他模型优化技术协同作用,共同将大型语言模型的巨大潜能,转化为可控、可靠、可信的现实生产力。

五、历史回顾:三次范式转移与多模态的兴起

提示工程的发展史,是一部人与AI沟通效率和深度不断跃迁的编年史。从最初简单的指令,到如今复杂的、结构化的、自适应的交互框架,其演进过程并非线性,而是由几次关键的范式转移所驱动。回顾这段历史,特别是从2020年至今的飞速发展,我们能更深刻地理解提示工程的本质,并洞察其未来的走向。这段历程可以大致概括为三次主要的范式转移,并伴随着文本之外的影音图文等多模态领域的蓬勃兴起。

第一次范式转移:从指令到上下文学习(In-Context Learning)的黎明 (2020-2022)

在GPT-3(2020年)横空出世之前,与语言模型交互的方式更接近于传统的“指令式编程”。开发者通过微调(Fine-tuning)整个模型来使其适应特定任务。这种方式成本高昂、周期漫长,且需要大量的标注数据。

关键里程碑:GPT-3 与 Few-Shot Prompting

OpenAI的论文《Language Models are Few-Shot Learners》带来了第一次革命。GPT-3以其惊人的1750亿参数规模,展现出了一种前所未有的能力——上下文学习(In-Context Learning, ICL)。开发者发现,无需修改模型任何权重,只需在提示中提供几个任务示例(即“Few-Shot Prompting”),模型就能“领悟”任务的模式并举一反三。这标志着提示工程作为一门独立学科的正式诞生。

• Zero-Shot:不提供任何示例,直接下达任务指令。

• One-Shot:提供一个示例。

• Few-Shot:提供多个示例。

这一范式转移的意义是革命性的:它将模型定制的成本从数百万美元的训练费用,降低到了几次API调用的费用;将开发周期从数周缩短到了几分钟。任何人,只要会用自然语言描述任务和提供示例,就能成为“AI驯兽师”。“Prompt”不再仅仅是输入,而是一种“软编程”的手段。

并行发展:影音图文领域的提示革命

几乎在文本提示工程兴起的同时,一场视觉和听觉领域的提示革命也在悄然上演。基于扩散模型(Diffusion Models)的文生图(Text-to-Image)和文生音(Text-to-Audio)技术,将提示工程的战场从纯文本扩展到了多姿多彩的感官世界。

• Disco Diffusion (2021):作为早期探索者,它让社区第一次体验到用复杂的文本描述来“绘制”光怪陆离的艺术作品的魔力。当时的提示更像是“魔法咒语”,充满了对艺术家、风格、渲染引擎、甚至情绪的关键词堆砌。

• Midjourney (2022):以其极高的艺术性和对自然语言的深刻理解,迅速成为设计师和艺术家的宠儿。Midjourney的提示工程发展出独特的“参数语法”(如 –ar 16:9 用于控制宽高比),将指令与艺术风格描述融为一体。

• Stable Diffusion (2022):作为开源模型的代表,Stable Diffusion 极大地推动了提示工程的民主化。社区围绕它发展出了一整套精密的提示语法,包括正面提示(Positive Prompts)、负面提示(Negative Prompts)(用于指明不希望出现的内容)、权重控制(如(word:1.5))等,使得像素级的控制成为可能。

• Suno / Udio (2024-2025):在音频领域,文生音乐工具的成熟,催生了“音乐提示工程”。用户通过描述流派、情绪、乐器、节奏甚至歌词,就能生成完整的、广播级的音乐作品。例如 [Verse], [Chorus] 等标签被用来控制歌曲结构,成为音频提示的一部分。

影音图文领域的实践,极大地丰富了提示工程的内涵。它证明了提示不仅能控制逻辑和语义,还能驾驭美学、情感和风格,并将“负面提示”、“权重控制”等概念反向输入回文本提示工程领域,促进了二者的融合发展。

第二次范式转移:从模仿到推理(Reasoning)的深化 (2022-2024)

随着模型能力的增强,人们不再满足于让模型模仿和执行简单任务,而是期望它能解决更复杂的、需要逻辑推理的问题。然而,直接要求模型给出复杂问题的答案,其表现往往不尽人意。这催生了第二次范式转移:引导模型进行显式推理。

关键里程碑:思维链(Chain-of-Thought, CoT)

2022年,Google Brain的论文《Chain-of-Thought Prompting Elicits Reasoning in Large Language Models》发现,通过在Few-Shot示例中加入解决问题的“思考过程”,可以显著提升LLM在算术、常识和符号推理任务上的表现。CoT的核心思想是,不直接给出“问题->答案”的示例,而是给出“问题->思考步骤->答案”的示例。这相当于教会了模型“如何思考”。

很快,CoT演化出了更简单的Zero-Shot-CoT形式,即在提示中直接加入一句“Let’s think step by step”(让我们一步步思考),就能在不提供任何示例的情况下,诱导模型生成推理链条。这一发现极大地降低了推理任务的提示门槛。

在CoT的基础上,一系列旨在增强模型推理能力的提示策略相继涌现:

• Self-Consistency (2022):通过生成多条不同的推理路径,然后对最终答案进行“多数投票”,以提高结果的鲁棒性。

• ReAct (2022):将推理(Reason)与行动(Act)相结合,让模型在推理过程中可以调用外部工具(如搜索引擎)来获取额外信息,从而解决知识过时或不足的问题。

第二次范式转移,标志着提示工程从“行为主义”(只关心输入输出)走向了“认知主义”(开始关注和引导中间过程)。提示工程师的角色,也从“任务发布者”转变为“思维教练”。

第三次范式转移:从手动到自动与多模态的融合 (2024-2025)

进入2024-2025年,随着模型能力的进一步飞跃和应用场景的极速扩张,手动编写和优化提示的局限性开始显现。同时,原生多模态大模型(如GPT-4o, Gemini)的成熟,将提示工程带入了全新的维度。这构成了第三次,也是当前正在发生的范式转移:自动化、自适应与多模态融合。

关键趋势一:自动化提示工程(Automated Prompt Engineering, APE)

人们开始探索“用AI来优化AI”。其核心思想是将提示的发现过程本身,也视作一个可以由AI解决的搜索或生成问题。

• Automatic Prompt Engineer (APE, 2022):提出用一个LLM来为另一个LLM生成和选择最佳的任务指令。

• 遗传算法、强化学习等优化方法:研究者开始应用经典的优化算法来自动搜索最优的离散提示(Hard Prompts)组合。

• LLM-in-the-loop:构建一个由LLM驱动的闭环系统,模型可以自我生成候选提示、自我评估输出质量、并根据评估结果进行自我迭代和优化,逐步逼近最优解。

关键趋势二:自适应提示(Adaptive Prompting)

静态的、一成不变的提示无法适应动态变化的用户和环境。自适应提示旨在让提示能够根据上下文动态地调整自身。

• 基于用户画像的个性化:根据用户的历史行为、偏好和知识水平,动态生成最适合该用户的提示模板。

• 基于会话状态的调整:在多轮对话中,提示可以根据当前的对话状态和已确认的事实,动态地增删上下文和约束。

关键趋势三:原生多模态提示(Native Multimodal Prompting)

与早期将不同模态模型进行拼接的方式不同,原生的多模态大模型能够在一个统一的提示中,无缝地理解和处理文本、图像、音频和视频等多种信息。这使得提示工程的表达能力获得了指数级的提升。

• 视觉-文本联合提示:用户可以输入一张图片和一段问题(如“这张图里有什么不寻常的地方?”),模型能够理解图像内容并用文本回答。

• 跨模态推理:提示可以要求模型执行跨越不同模态的复杂推理,例如,“根据这张流程图(图片),为我生成实现该流程的Python代码(文本)。”

• 音视频理解:用户可以上传一段会议录音,并要求模型“总结这段会议的要点,并识别出每一位发言者的情绪变化”。

第三次范式转移预示着提示工程的未来方向:更高层次的抽象、更深度的自动化、更全面的多模态交互。提示工程师的工作重心,将从“炼制”单个提示,转向设计和维护整个提示生成和优化系统,并探索如何创造性地组合不同模态的信息,来解决前所未有的复杂问题。

本指南共计分为“提示工程概述、提示词设计原则与技巧、提示工程工具与平台、高级提示工程技术、特定场景应用实践、评估与优化、前沿趋势与未来展望”七大部分内容。上述文章仅为「提示工程概述」的部分内容摘选。

完整版指南,请扫描下方二维码下载。