什么是 Prompt 工程- [intro-what-is-prompt-engineering]
什么是 Prompt 工程?
不改参数只改问法,理解大模型"接话"的本质
原题:什么是 Prompt 工程?为什么同一个大模型,换一种问法输出效果可能天差地别?
Prompt工程
30 秒回答
- Prompt 工程是通过设计输入文本(提示词),在不改动模型参数的前提下引导模型给出更好输出的方法
- 大模型本质是"根据上文预测下文",prompt 就是那个"上文";上文变了,模型认为合理的下文自然跟着变
- 效果差异大的原因:任务描述是否明确、有没有示例、有没有指定角色/格式/推理步骤
- 常用技巧:明确任务与约束、给示例(few-shot)、让模型分步思考(思维链)、指定输出格式
回答与解析
答案要点
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工程说白了就是设计输入文本,在不改模型参数的前提下,引导模型输出更好的结果。
为什么换种问法效果天差地别?你可以把大模型理解成一个猜词游戏,它根据前面的词猜下一个。Prompt就是它看到的“上文”,上文变了,它认为合理的下文自然跟着变。具体来说,有几个关键因素。先说任务描述清不清楚。你让它“帮我写点东西”,它很迷茫;你说“写一封200字以内、语气正式的请假邮件”,目标、长度、语气都定好了,模型就不用猜。再一个是有没有示例。给两三个输入输出例子,也就是Few-shot,模型会模仿那个格式和风格,比纯文字规则管用得多。还有就是有没有引导推理。你让它“一步一步分析”,也就是Chain-of-Thought,复杂问题的正确率能明显提升。最后是角色设定,你告诉它“你是一位资深律师”,它用词和严谨程度就会往那个方向走。
举个例子,客服退款场景。用户问“退款什么时候到账”。如果你只写“回答用户问题”,模型可能给个通用答案。但如果你在prompt里设定角色“你是一个客服专家”,再给一条示例“用户问发货时间,你查订单状态后回复”,然后要求它“先查订单状态和退款政策,再生成回答”,输出就靠谱得多。
这里有个坑,就是prompt工程不是万能的。它的前提是模型本身有这个能力,如果模型不知道某个事实,你prompt写得再好也没用。所以实际落地时,我会先调prompt,这是成本最低的优化手段。如果效果还不行,再考虑上RAG或者微调。RAG解决知识更新和私有知识的问题,微调改变模型行为风格。真正上线时,常常是prompt加RAG一起上,prompt控制表达,RAG提供事实。
我会特别关注prompt的稳定性。同一个prompt,模型版本升级后输出可能变差,所以上线后要持续监控bad case,迭代prompt。
总结一下,Prompt工程的核心是:不碰模型参数,只靠输入设计来引导输出。它适合快速验证和低成本优化,但别指望它解决模型本身的能力短板。
关键一句:Prompt的稳定性会受模型版本升级影响,需要持续监控和迭代。
面试官还可能这样问
- 问法 1 · 概念辨析有人说 Prompt 工程就是"会提问的玄学",你怎么看?它和微调都能改变模型输出,两者的本质区别在哪里?
- 问法 2 · 场景切入让模型从合同里抽取甲方、乙方和金额,输出老是格式混乱、时有遗漏,你会从哪几个方向去改 prompt?