主题
概念卡片:Prompt 工程
一句话机制:Prompt 的本质不是「跟 AI 说话」,是把脑子里模糊的需求,转化成能精确影响 AI 概率输出的约束条件——LLM 在「接龙」,你的 prompt 做的就是把它的概率分布从「平均答案」收窄到「你要的那个答案」。
基础五要素
| 要素 | 解决什么问题 | 反例 → 正例 |
|---|---|---|
| Role 角色 | AI 不知道调用哪部分知识 | 「你是专家」→「你是 15 年经验的儿科医生,专长新生儿护理」 |
| Task 任务 | AI 不知道任务边界 | 「写点东西」→「动词 + 可验证结果 + 边界条件(1500 字、3 方法+案例+行动表)」 |
| Context 上下文 | AI 不知道在什么情境下问 | 「这数据怎么分析」→「母婴电商 Q1-Q3 销售数据,老板关心投哪个区域」 |
| Examples 示例 | AI 不知道要什么风格/格式 | 描述「活泼」→ 直接贴一段参考文案(Few-shot) |
| Format 约束 | AI 自由发挥 | 正向(要什么)+ 负向(不要什么,往往更有效) |
进阶策略
| 策略 | 原理 | 适用/不适用 |
|---|---|---|
| CoT 思维链 | 强制 AI 显式展开推理,每步结果成为下步输入,避免「直接跳结论」 | 适用:多步推理/数学/调试;不适用:简单查询、小模型、创意生成 |
| Self-Consistency | 生成 5 条 CoT,取出现最多的答案 | 唯一正确答案的关键决策;代价 5 倍 token |
| 任务分解 | 大任务拆成小任务链,前一个输出作后一个输入 | 复杂任务;好处是中间可人工介入、易定位问题 |
| 上下文管理 | 关键信息定期重复、记忆文档、RAG、<CRITICAL> 标记 | 长对话/长文档,防止「遗忘」 |
| 元提示 | 让 AI 帮你写 prompt,再拿去执行 | 需求清楚但不会转化;注意 AI 生成的 prompt 未必最优 |
Few-shot 的两个经典陷阱
- 示例无差异:3 个示例读起来差不多,AI 学不到「差异」,以为你要的是「这类」而非「这三种」。
- 多数标签偏见(majority label bias):示例里某类结果占比过高,AI 会倾向输出那一类。示例要平衡(如高/中/低紧急各覆盖)。
不变量(必须成立的约束)
- Prompt 是「设计约束」不是「调教 AI」:你和模型的关系是「工程师和系统」,不是「主人和宠物」。
- 示例比描述更精确:描述是翻译,示例是实物。
- Prompt 工程是迭代过程:写→测→分析→改→再测,至少 3-5 次,不是一次下命令。
- 负向约束比正向约束更有效:直接告诉 AI「这条路不要走」——把你发现的 AI 坏习惯(AI 腔、机械结构)写进黑名单。
常见误解
- 以为「Prompt 工程就是背 COSTAR/LangGPT 模板」→ 模板是工具不是目的,理解 LLM 怎么工作比背 100 个模板重要。
- 以为「说清楚就行」→ 人类语言的「清晰」和 AI 能理解的「清晰」是两套标准。
- 以为「一个 prompt 走天下」→ 不同模型敏感度不同(GPT 重结构化步骤、Claude 重上下文和风格示例、国产模型要直白+正向约束)。
关联
- 总览:AI大模型技术栈总览
- 原理层(Prompt 影响的是概率分布):概念卡片:大模型与Transformer原理
- 源:
B40-资源/语雀-Code-Summary/AITech/Prompt工程.md