Prompt原理
-
大语言模型(LLM,如 GPT 系列)在处理 Prompt 时,首先会将输入文本转换为一系列词向量。接着,模型通过自回归生成的方式逐词预测输出。在生成每个词时,模型都会参考输入的 Prompt以及此前已生成的词。这一过程不断迭代,直到生成完整的回答或达到最大长度限制。
-
一个有效的Prompt可以提升AI模型给出的答案的质量 ,缩短与AI模型的交互时间,提高效率,减少误解,提高沟通的顺畅度。
对于不同模型的Prompt差异
通用模型
-
通常需要更明确的引导。
-
可以使用思维链提示 (Chain of Thought, CoT),帮助模型逐步推理复杂任务。
-
有效方法包括:
-
要求分步骤回答
-
提供 few-shot 示例(即示例演示)
-
明确设定任务边界
-
推理增强模型(如 DeepSeek R1 系列)
-
推理模型已经在训练中内化了推理能力。Prompt 只需简洁明确地定义任务目标,无需强行要求分步骤推理。
-
如果过度使用 CoT 提示,可能会导致模型输出冗长或"过度推理"。
-
在简单任务场景下,这类模型可能会给出比你预期更复杂的回答。
Prompt编写组成
-
任务(Task)以动词开头(如"生成...","写一篇...")。明确说明目标,可包含多个任务。
-
上下文(Context)提供背景信息或约束条件,帮助模型理解任务场景。
-
示例(Exemplars)提供样例输入输出,提升模型对任务的把握。如果缺乏示例,可以请模型先生成示例,再基于示例继续优化。
-
角色(Persona)设定模型的身份或风格(如"你是一位医生","请模拟一个历史学家")。
-
格式(Format)指定输出格式(如表格、JSON、列表、段落)。
-
语气(Tone)指定回答风格(如正式、简洁、幽默、学术化)。
Prompt编写原则
-
明确目标:定义清晰、避免模糊表述。
-
具体指导:告诉模型"该做什么"和"不该做什么"。
-
简洁明了:避免过长或过于复杂的描述。
-
适当引导:通过示例或边界条件来约束输出。
-
迭代优化:多次尝试并根据结果不断调整 Prompt。
Prompt编写技巧
-
限制输出格式:指定表格、JSON、Markdown 等。
-
可以适当的重复命令或操作以强调。
-
使用分隔符:用
"""
、---
等明确区分任务部分和上下文。 -
提供样例:通过 few-shot 示例来增强模型对任务的理解。(零样本,单样本,少样本)
-
CoT 思维链提示:适用于复杂逻辑推理任务。
-
角色扮演:让模型模拟特定身份,有助于获得更贴合场景的回答。
-
给模型一个出路,如果模型可能无法完成,告诉它说"不知道",防止幻觉。
常见的Prompt衡量指标
- 准确性 (Accuracy / Relevance)
-
模型回答是否切题,没有答非所问。
-
输出的事实性是否高(没有胡说八道)。
- 完整性
- 输出是否覆盖了任务需要的所有要点。
- 一致性
- 在相同输入下,输出是否大体稳定,不会完全乱变。
- 可控性
-
模型是否按照 Prompt 的要求去做,比如:
-
要求"用中文回答",结果用英文 → ❌
-
要求"输出 JSON 格式",结果写成散文 → ❌
- 鲁棒性
- Prompt 是否能在输入稍微变化时仍然输出合理结果。
- 效率,简洁性
-
Prompt 是否尽量简洁,不包含无用的废话。
-
太长的 Prompt 会浪费 token,增加推理成本。
常见Prompt衡量方法
-
人工评估 (Human Evaluation)
-
最常见,直接看输出效果是否符合预期。
-
优点:质量高,能理解复杂语境。缺点:耗时,主观性强。
-
-
自动评估 (Automatic Metrics)
- 写测试集(不同输入),用脚本比对输出是否符合标准格式/内容。
-
用户反馈:如果是产品场景,收集用户满意度和使用率。