第四章:大模型(LLM)】07.Prompt工程-(1)Prompt 原理与基本结构
第四章:大模型(LLM)
第七部分:Prompt 工程
第一节:Prompt 原理与基本结构
1. 什么是 Prompt
在大模型(LLM)中,Prompt(提示词)是用户输入给模型的文本指令或上下文信息,用于引导模型生成所需的输出。它相当于“大模型的编程语言”,通过不同的写法,可以显著影响模型的回答质量、风格和准确度。
在自然语言交互中,Prompt 的作用类似于“问题 + 背景”的组合。
在应用开发中,Prompt 更像是“任务说明书”,告诉模型要完成什么、遵守哪些规则。
例如:
简单 Prompt:
“写一首关于春天的诗。”
复杂 Prompt:
“你是一位古典诗人,请用《唐诗》的风格写一首五言绝句,主题是春天,表达出草木复苏和希望的意境。”
可以看出,Prompt 的详细程度和结构会直接影响模型生成内容的精细度和符合度。
2. Prompt 的工作原理
LLM 的工作原理基于 条件概率建模:
模型通过输入的 Prompt(即一段文本序列),预测下一个最可能出现的词(token)。
当 Prompt 越清晰、越具体时,模型能在海量知识中缩小“搜索空间”,更接近用户预期的答案。
工作机制简化为:
Prompt(输入) → 模型内部语义理解 → 输出结果
其核心原理是:Prompt 为模型提供语境(Context)和目标(Instruction),而模型则基于这些信息预测和生成文本。
3. Prompt 的基本结构
一个完整的 Prompt 通常包含以下几个部分:
角色设定(Role Assignment)
定义模型扮演的身份或角色,使其回答更具一致性。
示例:
“你是一位精通历史的学者,请解释三国时期的外交策略。”
任务指令(Instruction)
明确告诉模型要做什么。
示例:
“请列出三点影响深远的外交策略。”
输入数据(Input Data)
提供模型要处理的文本、资料或问题。
示例:
“输入:三国时期曹操、孙权、刘备之间的外交关系。”
输出约束(Output Constraints)
指定格式、长度、风格等要求。
示例:
“请用条目式输出,每条不超过50字。”
示例(Few-shot Examples,可选)
提供范例帮助模型模仿格式和风格。
示例:
“示例:
策略1:联合抗敌,形成合纵之势。
策略2:借地为利,掌握主动权。”
总结:一个高效的 Prompt 结构 = 角色 + 指令 + 输入 + 约束 + 示例。
4. Prompt 的层次划分
从复杂度上,Prompt 可以分为:
零样本 Prompt(Zero-shot Prompting)
直接给出指令,无需示例。
示例:
“将以下句子翻译成英语:我喜欢学习人工智能。”
单样本 Prompt(One-shot Prompting)
给出一个示例,让模型模仿。
示例:
“示例:中文:你好 → 英文:Hello
翻译:我喜欢学习人工智能。”
少样本 Prompt(Few-shot Prompting)
给出多个示例,帮助模型理解任务模式。
示例:
“中文:早上好 → 英文:Good morning
中文:谢谢 → 英文:Thank you
中文:我喜欢学习人工智能 → 英文:I like studying AI”
思维链 Prompt(Chain-of-Thought, CoT)
鼓励模型逐步推理,特别适用于复杂逻辑题。
示例:
“请逐步分析并回答:小明有3个苹果,送给小红2个,还剩几个?”
5. Prompt 的最佳实践(Best Practices)
明确性:避免模糊或开放式的指令。
不佳示例:写一篇文章。
优化示例:写一篇 500 字的文章,主题是人工智能对教育的影响,风格需正式且数据充分。
分步骤:将复杂任务拆解成小任务。
示例:
“第一步:总结文章的要点;第二步:列出优缺点;第三步:给出结论。”
限制输出:明确格式要求。
示例:
“请以 JSON 格式返回,包含字段:title, summary, keywords。”
提供示例:少样本能显著提高一致性。
迭代优化:通过多次实验,不断调整 Prompt,直到达到最佳结果。
6. 小结
Prompt 是人与大模型交互的“语言”,决定了输出质量。
一个完整的 Prompt 由 角色、任务、输入、约束、示例组成。
不同复杂度的 Prompt(零样本、单样本、少样本、思维链)适合不同任务。
高质量 Prompt 的核心原则是:清晰、具体、分步骤、有约束、可迭代。