跳转到内容

Prompt 工程八股:AI PM 面试必会的 14 个术语

📍 AI 求职速查 1/6 · 上一板块:← Agent 通用知识

键盘上的手在打字,屏幕上方漂浮着 prompt 工程的元素 标签、JSON 括号、思维链箭头、问号

简历投出去,面试官打开 Zoom,第一个问题十有八九是:

说说你对 prompt engineering 的理解。

或者升级版:

zero-shot 和 few-shot 啥时候用哪个?"
"思维链你实际用过没?"
"输出格式怎么稳定地控制成 JSON?

如果你答得稀里糊涂,面试官心里默默把你归到「听说过没做过」那栏 —— 后面 45 分钟你再回血也难。

这一篇把 14 个最常被问的 prompt 工程术语用大白话讲清楚,每个配「是啥 / 啥时候用 / 啥时候别用 / 面试怎么答」四段。看完不需要再背八股,能用自己的话讲出来


Prompt 工程 = 让大模型听懂你说啥 + 输出你想要啥 + 不跑偏的工程化方法

业界看 prompt 工程的 5 个维度:

  1. 准确性 —— 模型答得对不对
  2. 一致性 —— 同一个 prompt 跑 10 次结果是否稳定
  3. 结构化输出 —— 能不能产出可程序消费的格式(JSON / Markdown)
  4. token 效率 —— 同样效果能不能花更少 token
  5. 可控性 —— 模型会不会乱发挥(出 markdown / 加废话 / 拒答)

下面 14 个术语,每一个对应优化上面某一两个维度


一、微调相关:LoRA(Low-Rank Adaptation)

Section titled “一、微调相关:LoRA(Low-Rank Adaptation)”

是啥:一种参数高效微调方法。不动 base 模型的大量参数,只在它身上插一层薄薄的「low-rank 矩阵」,只训这一层。

打个比方:base 模型像一栋已建好的大楼,LoRA 不重建大楼,只在某些房间装个可拆卸的小装饰(low-rank 矩阵)。装饰可以训练得很专精,但大楼本身不变。

直观数字:base 70B 参数,LoRA 只训 0.1%(约 7000 万)。显存从普通全量微调要 8 张 A100,降到 LoRA 只要 2-4 张,QLoRA 更夸张能压到 1-2 张。训练时间从 100 小时降到 10 小时。

啥时候用:你公司想让通用模型(Llama / Qwen / DeepSeek)说自家行业话(法律 / 医疗 / 客服),数据量不大(几万到几十万条)。

啥时候别用:

  • 单纯调 prompt 就能搞定的任务 → 不上微调
  • 多任务 + 长期演化 → 上 full fine-tune 或多个 LoRA 切换

面试怎么答:重点不是背概念,是显示你知道啥时候要微调 / 啥时候 prompt 就够」。可以这么答:

“现在大模型能力上来,80% 场景靠 prompt + RAG 已经够,LoRA 主要解决两类:一是模型说话风格要模仿行业特定语气(法律严谨 / 医疗谨慎),二是结构化输出稳健性要更高。如果只是知识问答用 RAG 就行,没必要 LoRA。“


是啥:用结构化语言告诉模型”任务是啥 / 输出长啥样 / 别干啥”。优化目标是上面那 5 个维度(准确性 / 一致性 / 结构化 / token 效率 / 可控性)。

最直观的类比:带个聪明但没经验的实习生

  • 你说**“做点东西”** → 他乱来,啥都可能交
  • 你说**“做个 PPT,5 页,给 CEO 看,不要太花”** → 他知道方向,但还是可能加 emoji
  • 你说**“做个 PPT,5 页,黑白配色,衬线体,每页一句结论 + 一张图”** → 他给你的东西基本能用

第 1 句是模糊指令,第 3 句是 prompt 工程。两者效果差 10 倍

下面的 13 个术语都是 prompt engineering 的子技术,各自解决某一两个维度。

面试常问:“prompt 工程跟传统软件工程有什么不一样?”

我的答法:

“传统软件工程的输入输出是确定的,你写 add(1,2) 永远返回 3。prompt 工程的输入输出是概率性的,同样的 prompt 跑 10 次可能 8 次对 2 次错。所以工程化的核心是降低这个方差 —— 用 schema、示例、思维链、自我一致性这些手段把”它大概率对”变成”它几乎一定对”。“


三、Zero-shot Prompting(零样本提示)

Section titled “三、Zero-shot Prompting(零样本提示)”

是啥:不给任何示例,只用一句指令让模型干活。

把这段英文翻译成中文:"Hello, world."

啥时候用:

  • 简单的、模型见过无数次的任务(翻译 / 摘要 / 常见分类)
  • 想省 token

啥时候别用:

  • 任务格式特殊
  • 边缘 case 多
  • 输出需要模仿你公司特定风格

面试怎么答:面试官想看你能不能根据复杂度选档

“我一般按复杂度选:简单任务用 zero-shot 省 token,复杂任务一定升级到 few-shot 加 1-3 个示例。比如同样让模型分类用户意图,简单二分类(投诉 / 非投诉)zero-shot 够,但 10+ 类细分(咨询/投诉/建议/取消/退款…)必须 few-shot。”

左边白板空+一个问号(zero-shot),右边白板贴了 3 个示例小卡片(few-shot),一个机器人对比看


是啥:prompt 里给 2-5 个示例,让模型从例子里抓 pattern,然后照着模仿。

情感分类:
"今天天气好" → 正面
"我饿了" → 中性
"讨厌这部电影" → 负面
分类: "我拿到 offer 了"

模型看完三个例子,自动按这个 pattern 输出 → 正面。

啥时候用:

  • 任务格式特殊(输出有特定 schema)
  • 边缘 case 你想明确教
  • 输出需要模仿特定语气(产品文案 / 客服话术)

啥时候别用:

  • 简单任务,zero-shot 够
  • token 极度敏感的高频调用场景(每次都塞 5 个例子 = token 烧得快)

面试怎么答:

“few-shot 的本质是用 token 换稳定性。我做过对比测试:同一个分类任务 zero-shot 准确率 78%,加 3 个 few-shot 上到 92%,但每次调用多花 600 token。判断口径就是业务对错误的容忍度 —— 错一次代价大(财务 / 医疗),few-shot 必须上;高频低风险场景(聊天 / 摘要),zero-shot 优先。“


是啥:

  • System Prompt(系统提示词):模型「身份 + 行为规则 + 输出风格」。一次设定,整个会话不变
  • User Prompt(用户提示词):用户每次发的内容,每轮变
[System] 你是一位资深的儿童阅读专家。
回答时用 8 岁小孩能懂的话。
每个建议都给一个生活化例子。
[User] 我家孩子不爱看书怎么办?

模型读 system 设定 → 用儿童阅读专家口吻 + 8 岁小孩能懂的话 + 给例子来回答 user。

啥时候关心:

  • 多轮对话 —— system prompt 让模型角色不漂移
  • 多 agent 系统 —— 每个 agent 的 system prompt 定义 ta 是谁(参考 Subagents 那篇)
  • CLAUDE.md / project memory —— 本质都是 system prompt 的持久化

面试怎么答:

“我做过的项目里,system prompt 是人格锚点,user prompt 是当前请求。比如多 agent 系统里,每个 agent 在 system 里写清楚自己的身份和边界,跨 session 不漂移。如果把所有规则塞到 user prompt,每次发都要重复 = 浪费 token + 容易出现指令冲突。“


是啥:让模型扮演特定身份,用那个身份的语气 / 知识 / 专业度回答。

你是一位资深 Python 工程师,有 10 年生产环境经验。
回答优先用业界最佳实践,不解释基础语法,默认对方是同行。

为啥有效:

  1. 借用训练数据特征 —— “资深 Python 工程师”在训练数据里跟某些代码风格 / 术语高度相关,激活这些特征
  2. 限定边界 —— “你是医生”让模型自动避免给法律建议
  3. 统一语气 —— 整段对话不会一会严肃一会俏皮

三个机器人穿不同戏服 / 程序员 hoodie / 教师讲台,各站小台子

啥时候用:

  • 产品需要稳定的人格(虚拟助手 / 客服 / 教练)
  • 想让回答带特定专业立场(法律 / 医学 / 财务)

面试怎么答:

“Role-play 是让语气稳定的最低成本方案。比如做个虚拟教练 app,在 system 加 ‘You are an experienced fitness coach…’ 比写一万字风格指南有效。但不要过度依赖 —— 涉及法律/医疗这种高风险场景,role-play 只能用来约束语气,不能用来代替专业事实支撑。“


七、Role-Play 在 MoE 时代是不是更猛?(进阶讨论)

Section titled “七、Role-Play 在 MoE 时代是不是更猛?(进阶讨论)”

2026 年的开放题:MoE(混合专家)模型有多个”专家子网络”,每个 token 路由器决定激活哪个专家。那 role-play 是不是能引导路由器优先激活相关专家?

类比就懂:MoE 像医院分诊台,Python token 自动去”代码专家”,数学 token 去”数学专家”。role-play 是不是相当于挂号时说”我看儿科”,让分诊更准?

短答:听起来对,但不是这么干的

3 个关键认知:

  1. 路由是按 token 走,不是按 prompt 走 —— 你写”你是 Python 工程师”,这句话每个字单独进路由,不是整句话给路由器一个指令
  2. 业界普遍观察:Dense 模型(没用 MoE 的 Llama 3 70B 等)用 role-play 同样有效。说明 role-play 起作用的主要是注意力机制,不是专家路由。
  3. 结论:role-play 跟 MoE 专家激活之间有弱相关,但不是强因果

面试怎么答:

“我看过相关研究,MoE 模型确实有语义路由现象,但路由是按 token 决定不是按 prompt 决定。role-play 真正起作用还是在注意力层。这是有意思的研究方向 —— 如果未来出现专门为 prompt 级语义设计的路由器,role-play 价值会大幅提升。”

⚠️ 小贴士:如果面试官追问”哪篇论文”,诚实答”具体作者和年份我记不准了,但研究方向是 MoE 可解释性 / 语义路由”。别瞎编论文名 —— 面试官是技术深的话一查就穿,反而扣分。

这种答法显示你有独立思考,但不会过度声称 role-play 直接控制 MoE 路由(那是夸大)。

⚠️ 小贴士:如果面试官追问”哪篇论文”,诚实答”具体作者和年份我记不准了,但研究方向是 MoE 的可解释性 / 语义路由”。别瞎编论文名 / 作者名 —— 面试官是技术深的话一查就穿,反而扣分。


是啥:让模型一步步推理后再给最终答案,不要直接跳结论。

激活方式简单到离谱 —— prompt 末尾加一句:

让我们一步步推理。

或者英文版:Let's think step by step.

直观效果(Google 2022 GSM8K 数学题,PaLM 540B 模型实测):

  • 直接答:准确率 17.9%
  • 加思维链:准确率 56.5%(3 倍提升)

⚠️ 面试提醒:这组数字是 PaLM 540B 在 GSM8K 上的实测。面试官追问”哪个模型”时一定要说清楚,不同模型 size 跟不同任务上数字差异很大。

机器人头顶浮出一串思考泡泡 → 箭头 → 推理步 → 打勾答案

啥时候用:

  • 复杂推理(数学 / 逻辑 / 多步规划)
  • 决策类任务(给出推荐前需要推理)
  • 你需要看见模型的”思考过程”做调试

啥时候别用:

  • 简单任务(翻译 / 摘要 / 分类),加 CoT 多花 token 没意义
  • 严苛的 latency 场景(实时聊天)—— CoT 会显著拖慢
  • 输出长度有上限(API 限 max_tokens),CoT 容易吃光

面试怎么答:

“CoT 本质是用 token 换准确率。我会按场景选 —— 简单分类不用,复杂决策必加。还有个进阶玩法:推理模型(Claude 4 / DeepSeek R1 / o1)默认内置 CoT,API 调用时不需要显式加 ‘step by step’,它自己会想。“


是啥:同一个问题让模型独立跑 N 次(比如 5 次),每次都用 CoT,然后取多数票作为最终答案。

原理:单次推理可能错路,5 次错的路径各不相同,但对的路径会收敛 → 多数票答案更可靠。

效果(PaLM 540B 在 GSM8K 上,同 Google 2022 paper):

  • 单次 CoT:56.5%
  • 5 次 self-consistency:约 74%

代价:5 倍 token + 5 倍 latency。

啥时候用:

  • 高风险决策(医疗诊断辅助 / 法律 / 金融)
  • 跨模型验证(同一个 prompt 让 Claude / GPT / DeepSeek 各跑一次比较)

啥时候别用:

  • 普通对话场景(贵 + 慢)
  • token cost 敏感的 SaaS 产品

面试怎么答:

“Self-consistency 在我看来更适合做测试阶段的稳定性验证,而不是上线运行时的默认策略。比如开发 prompt 时跑 5 次看是否收敛,上线后跑 1 次。如果业务真的需要 5 倍可靠性,通常上限是模型本身能力,加多次投票收益递减,不如换更强的模型。“


是啥:让模型严格输出指定结构(JSON / Markdown / XML)。

5 种主流方法:

方法怎么用可靠度
1. 直接指定”用 JSON 输出,字段:title, summary, tags”★★
2. 给 schema把完整 JSON schema 贴 prompt 里★★★
3. Few-shot 示例给 2-3 个完整 JSON 例子让模型模仿★★★
4. Structured Output APIAnthropic / OpenAI 的 response_format 或 function calling★★★★★
5. 包代码块让输出包在 ```json ... ```★★

最稳的方式:方法 4 + 方法 3 双层。系统层强制 + 示例示范。

左边一堆乱飞的纸(散文式输出),右边整齐的 JSON 卡片(结构化输出)

注意:即使你做了所有保险,模型偶尔还是会出错(加 markdown 解释 / JSON 尾逗号 / 多个 ```)。生产环境必须:

  • 加 JSON 解析器 + 错误重试
  • 兜底(解析器失败 → 重新 prompt)
  • 监控(记录出错率,定期回看 prompt)

面试怎么答:

“我做过的项目里,JSON 输出靠两层保险:协议层 用 Anthropic 的结构化输出 API 强制 schema,prompt 层 给 2-3 个 few-shot 示例。即使这样,生产环境跑 100 万次会有几千次出错,必须有解析器重试。“


是啥:模型对”不要 X”经常忽略,改成”应该 Y”反而 follow。

❌ 否定✅ 正向
”不要输出 markdown""只输出纯文本,不含 # * - ` 等符号"
"不要解释""直接给答案,无前缀"
"不要提你是 AI""假设你是 [角色],用第一人称回答”

为啥否定指令容易失败:

  1. 训练 corpus 里负向指令样本少,模型权重对它响应弱
  2. “不要 X”模型的注意力反而集中在 X 这个 keyword(说”不要想大象”你就想到大象)
  3. “不要 X”留下”该做啥”的空间,模型自己
  4. 强模型偏好 helpful,可能直接 ignore 否定边界

面试怎么答:

“我做 system prompt 时有条铁律 —— 不写’不要’,只写’应该’。早期写过大量’不要回答和工作无关的问题’,‘不要用 markdown’,结果模型频繁失守。后来全部改成正向指令(‘只回答工作类问题,其他统一礼貌拒绝’),服从度立刻好转。“


是啥:在 prompt 里用特殊字符(三重引号 / XML 标签)把”指令 / 上下文 / 数据”明确分开。

Anthropic 官方推荐 XML 标签风格:

<context>
今天天气好。
</context>
<task>
把上面 context 翻译成英文。
</task>

4 个作用:

  1. 防 prompt 注入 —— 用户输入里如果含”忽略前面指令”,delimiter 让模型知道这是数据不是指令
  2. 结构清晰 —— 模型准确知道”哪里是上下文 / 哪里是任务 / 哪里是示例”
  3. 可程序化 —— 后端 build prompt 时模板和动态内容分离干净
  4. Claude 模型特别响应 XML 标签 —— Anthropic 训练时专门 reinforce 了 <tag> 敏感度

实测效果:用 XML 标签包好的 prompt 比纯文本 prompt 稳定提升输出质量(Anthropic 官方推荐做法,业内实测一致认可)。

面试怎么答:

“XML 标签是 Claude 生态里的 best practice,我做协议设计时所有动态字段都用 <input> <context> <task> 包好。两个好处:一是 Claude 输出稳定提升,二是 prompt injection 防御直接拉满。“


是啥:含糊的 prompt 让模型瞎猜,结果不稳定 + 容易幻觉。明确指定 length / audience / style / format 才稳。

❌ 模糊✅ 明确
”总结一下""用 3 句话总结,给非技术读者,不超 150 字"
"改好这段""修正语法错误,不改语义,不重组段落"
"推荐几个""推荐 5 个,按性价比从高到低,每个一句话说明理由"
"写一封邮件""写一封 200 字英文邮件,给客户经理,礼貌但直接,主题:延期一周”

核心检查清单(写完 prompt 自己问自己):

  • 长度有限定吗?(几句 / 多少字 / 多少条)
  • 受众是谁?(技术 / 非技术 / 客户 / 同事)
  • 风格是啥?(正式 / 口语 / 营销 / 学术)
  • 格式是啥?(JSON / Markdown / Bullet / Paragraph)
  • 边界在哪?(包含什么 / 不包含什么)

面试怎么答:

“Prompt 工程里 80% 问题是’你没说清楚’。我自己回看自己的 prompt 时,会逐条问’我有没有指定长度 / 受众 / 风格 / 格式 / 边界’。任何一个空着,模型就会猜,稳定性就垮。“


是啥:

  • 封闭式问题(是/否 / 选择题 / 数字 / 分类):输出确定,好程序消费。
  • 开放式问题(why / how / 解释 / 创意):输出多样,适合生成内容。
类型例子适合
封闭”这段情感 [正面/中性/负面] 哪个?”分类 / 评分 / 决策
封闭”0-10 打分,这个 idea 多新颖?”评估 / 排序
开放”解释为什么 Claude 在长文档总结上比 GPT-4 强”生成 / 推理 / 创意

实操技巧:

  • agent 内部沟通 → 封闭式(状态码 + 结构化数据包),让下游 agent 好消费
  • agent 对用户回复 → 开放式(自然语言),让用户感觉是在对话

面试怎么答:

“我做多 agent 系统时,agent 之间用封闭式消息(数字状态码 + JSON 数据包),便于路由日志;agent 对用户用开放式,保持对话感。混用让系统既能机器化协作又能对人友好输出。“


不是死背概念,按”解决啥维度”组织记忆:

你想优化的用哪个术语
准确率Few-shot / CoT / Self-consistency
稳定性System prompt / Role-play / Few-shot / 正向指令 / 分隔符
结构化输出JSON schema / Structured Output API / Few-shot 示例
token 效率Zero-shot / 明确表达(缩短废话)/ 封闭式问题
防注入分隔符 / XML 标签

面试时别按字典顺序背,按这张表答 —— 显示你不是”听说过”而是”知道啥时候用哪个”。


  • 能讲权衡(trade-off) > 能讲是啥(每个术语都有代价,讲出来 = 真做过)
  • 能给数字 > 能给概念(“加 CoT 准确率从 57% 到 74%“比”提升明显”强 10 倍)
  • 能讲失败案例 > 能讲成功案例(讲一次”我以为 zero-shot 够,跑下来发现幻觉率太高所以补了 few-shot”远比讲一个完美故事可信)
  • 能跟系统设计挂钩 > 单点术语(讲 system prompt 时连到 agent 持久化人格,讲分隔符时连到 prompt injection 防御)

评论

不记名、不需要注册——不要邮箱,不要手机号,不要任何身份信息,填个昵称就能留言。放心说。

  • 加载中 …