什么是 Prompt 工程?为什么同一个大模型,换一种问法输出效果可能天差地别?

Prompt工程

答案要点 Prompt 工程是通过设计输入文本(提示词),在不改动模型参数的前提下引导模型给出更好输出的方法 大模型本质是"根据上文预测下文",prompt 就是那个"上文";上文变了,模型认为合理的下文自然跟着变 效果差异大的原因:任务描述是否明确、有没有示例、有没有指定角色/格式/推理步骤 常用技巧:明确任务与约束、给示例(few-shot)、让模型分步思考(思维链)、指定输出格式 它是成本最低的优化手段:先调 prompt,不行再考虑 RAG 或微调 核心概念 Prompt 工程(Prompt Engineering)是指通过精心设计给大模型的输入文本——包括任务描述、上下文、示例和输出要求——来引导模型产生期望输出的一门实践,全程不修改模型的任何参数。理解它的关键是理解大模型的工作方式:模型做的事是"给定前文,预测下一个词",prompt 就是这个前文;前文提供的信息和暗示不同,模型认为"最合理的下文"就完全不同,所以问法不同、结果天差地别。 为什么 prompt 不同,效果天差地别 任务是否说清楚:"帮我写点东西"和"写一封 200 字以内、语气正式的请假邮件",后者把目标、长度、语气都约束住了,模型不用猜 有没有示例:给 2~3 个输入输出示例(few-shot,少样本提示),模型会模仿示例的格式和风格,往往比纯文字描述规则更有效 有没有引导推理:让模型"一步一步分析"(思维链,CoT),复杂问题的正确率通常显著提升 角色和语境:"你是一位资深律师"会把模型的用词和严谨程度带向对应语料的风格 实践中的基本套路 一个结构良好的 prompt 通常包含:角色设定 + 任务描述 + 背景材料 + 示例 + 输出格式要求。写完先用小批量样本测试,按 bad case 迭代改写——像调试代码一样调试 prompt。 入门之后,可以往思维链(CoT)、结构化输出、prompt 效果的自动化评估,以及 prompt 与 RAG/微调的选型边界深入。

口语版讲法(约2分钟)

  • 一句话定义:不动模型,靠把问题问得更好来提升输出
  • 原理:模型是"接话"机器,prompt 就是它接话的前文
  • 实习生比喻:差别在交代任务的清晰度,不在能力
  • 四个套路:说清任务、给例子、引导分步想、设角色
  • 埋钉子:prompt 调好后怎么评估、何时转向 RAG/微调

一句话说,Prompt 工程就是不动模型本身,只靠把"问题问得更好",来把模型的能力充分发挥出来。 为什么问法不同,效果能差那么多?这要从大模型的工作原理说起。大模型本质上是个"接话"机器:你给它一段前文,它预测最合理的下文,prompt 就是这段前文。打个比方,模型像一个读过全世界的书、但完全不了解你的实习生:你说"帮我写点东西",它只能瞎猜你要什么;你说"写一封给导师的请假邮件,200 字以内,语气正式,理由是发烧",它立刻就能给出像样的结果。差别不在实习生的能力,而在你交代任务的清晰度。 所以 Prompt 工程的核心套路就是把任务交代清楚。第一,明确任务和约束,要什么、不要什么、多长、什么格式;第二,给例子,放两三个输入输出示例,模型会照着模仿,这叫 few-shot;第三,引导它一步一步想,复杂问题让它先分析再下结论,正确率会明显提升,这就是思维链;第四,设定角色,比如"你是一位资深面试官",会把回答的风格和专业度带起来。 从工程角度看,prompt 是性价比最高的优化手段:不用训练、不用 GPU、改完立刻生效。所以合理的顺序是先把 prompt 调到位;如果发现模型是缺知识,再上 RAG 外挂知识库;如果是行为风格怎么都掰不过来,才考虑微调。 最后多提一句,prompt 调好之后还有一个工程问题:怎么证明它"真的更好"?这就涉及 prompt 的评估,比如固定一批测试问题跑回归对比。我觉得这是从"会写 prompt"到"能上生产"的关键一步,可以展开聊。

关键一句:Prompt 是模型预测下文的"前文",效果差异来自任务交代的清晰度,而不是模型能力变了。

面试官可能的追问

  1. 【概念辨析】有人说 Prompt 工程就是"会提问的玄学",你怎么看?它和微调都能改变模型输出,两者的本质区别在哪里?
  2. 【场景切入】让模型从合同里抽取甲方、乙方和金额,输出老是格式混乱、时有遗漏,你会从哪几个方向去改 prompt?

同模块相关题目