0. 一句话总览:提示词工程Prompt Engineering到底在做什么
提示词工程的本质是:把一个“模糊意图”转译成“可执行的任务规范”,让模型在约束、上下文、示例与校验机制下稳定地产生符合预期的输出。
你可以把一个高质量 Prompt 看作四件套: - 任务定义What:要做什么,做到什么程度。 - 上下文与素材Context:模型需要的事实与参考。 - 约束与格式Constraints:不允许做什么,必须怎么输出。 - 评估与迭代Eval:如何验证对不对,如何自我修正。
0.1 从底层机制理解“为什么 Prompt提示词会影响输出质量”
这一节给你一套“可解释的心智模型”,用来把提示词技巧和模型底层向量、注意力、上下文窗口、采样对齐。
0.1.1 Token词元与向量Embedding,嵌入:模型真正看到的不是字,而是向量
关键事实:模型输入会先被切成 token词片段,每个 token 会映射成一个高维向量embedding。模型计算的对象始终是向量。 维度通常在几百到几千不等。主流大语言模型的 embedding 维度大概是: - GPT-3/GPT-4:约 12,288 维具体看层数与隐藏层大小 - BERT-base:768 维 - BERT-large:1024 维 - 更小的模型可能 256-512 维,更大的可能上万维 怎么理解"输入变成向量": 1. 分词Tokenization:先把文本切成 token可能是字、词片段、子词单元,比如"高维向量"可能被切成 ["高", "维", "向量"] 或 ["高维", "向量"] 1. 查表映射Embedding Lookup:每个 token 对应一个固定的向量从一个大表里查出来,这个向量是训练出来的,用来编码"语义位置" 1. 位置编码:再叠加一个"位置向量",让模型知道这个 token 在句子里的顺序 1. 进入计算:这些向量通过多层注意力机制与前馈网络计算,最后输出"下一个 token 的概率分布" 多层注意力机制与前馈网络计算是 Transformer 架构的核心组件,每一层都在对输入向量进行两类操作:
1. 注意力机制Attention Mechanism - 作用:计算每个 token 应该"关注"上下文中哪些其他 token,并将相关信息聚合起来。 - 具体过程:- 每个 token 向量会生成三个向量:Query查询、Key键、Value值- 通过 Query 和 Key 的点积计算注意力权重哪些 token 更重要- 用这些权重对 Value 向量做加权求和,得到聚合后的新向量 - 多头注意力Multi-Head Attention:同时进行多组注意力计算例如 12 个头,每个头关注不同的语义关系如语法、共指、因果等,最后拼接起来。
2. 前馈网络Feed-Forward Network, FFN - 作用:对每个 token 的向量独立做非线性变换,提取更高层次的特征。 - 具体过程:- 先通过一个线性层把向量维度扩大例如从 768 维扩到 3072 维- 经过非线性激活函数如 ReLU 或 GELU- 再通过一个线性层压缩回原始维度
3. 多层堆叠 一个 Transformer 模型通常有 12-96 层甚至更多,每层都重复"注意力 → 前馈"的组合: - 浅层:学习基础语法、词性、局部关系 - 中层:学习语义、共指、逻辑结构 - 深层:学习复杂推理、长距离依赖、任务特定模式 最终,经过多层计算后的向量会被用来预测下一个 token 的概率分布。 为什么要用向量:因为向量可以做数学运算点积、距离、线性变换,模型的"理解"本质是在高维空间里计算相似度、找模式、做聚合。同义词会在向量空间里靠得更近,不同语义会分布在不同区域。
这如何影响 Prompt 质量 - 用词选择会改变向量位置:同义词不完全等价。比如“总结”“提炼”“压缩”“概括”在向量空间的邻域不同,会把模型引向不同的写作习惯与信息密度。 - 领域术语是“强锚点”:术语往往更靠近特定知识簇,能显著减少歧义。例如“行动项Who/When/What”比“写清楚待办”更像一个可执行的结构。 - 格式 token 也有向量:###、- [ ]、代码块围栏等都对应稳定模式,能触发模型的“模板化生成”。这就是为什么结构化提示词会显著提升格式合规率。
实践落点 - 关键要求尽量用稳定、可复用的术语表达例如“输出一个表格/清单/JSON”。 - 重要约束避免委婉表达,用明确禁止句式例如“不允许编造”“缺失就写未知”。
0.1.2 注意力机制Attention Mechanism:模型如何“分配关注”,决定哪些信息更可能被用上
你可以把注意力理解为:在生成每一个 token 时,模型会对上下文中所有 token 分配一组权重,并把“更重要的部分”聚合成当前计算的输入。
这如何影响 Prompt 质量 - 位置效应Position Effect:Recency / Primacy:靠近末尾的信息在很多场景更容易被关注更“新”,靠近开头的信息则更像“全局设定”。所以: - 干扰与竞争Interference & Competition:无关信息也会占用注意力预算,让关键指令被稀释。 - 长上下文衰减Long-Context Degradation:上下文越长,模型越可能“漏看”中间段并非一定,但概率上更难稳定关注。
实践落点 - 重要约束建议出现 两次:开头全局规则+ 结尾最终检查。 - 输入材料很长时:先给“你要找什么”,再给材料让注意力有搜索目标。
0.1.3 上下文窗口Context Window:不是“无限记忆”,而是“有限工作台” 模型只能在一个有限窗口内同时处理信息。超出窗口会被截断,或在注意力竞争中变得很难利用。
这如何影响 Prompt 质量 - 信息越多 ≠ 越好:塞进太多背景会降低关键点的相对权重。 - Few-shot 与材料的抢占关系:示例越多,留给真实资料的空间越少。
实践落点 - 长文任务优先用: - 把长期背景放进 Markdown“外部记忆”,每次只注入“与本次有关的片段”。
0.1.4 生成是“概率采样Probabilistic Sampling”:Prompt提示词在改变概率分布,而不是下确定性命令 模型每一步都在预测“下一个 token 的概率分布”,你看到的输出是从这个分布里采样出来的序列。
这如何影响 Prompt 质量 - 更明确的约束 = 更窄的分布:格式、长度、风格越明确,概率分布越集中,输出越稳定。 - 温度/随机性Temperature / Randomness,如果可控:温度越高越发散,更容易新颖也更容易跑偏。 温度/随机性是大语言模型生成文本时的一个可调参数,用于控制输出的随机程度。温度值越高,模型会从概率分布中采样更多低概率的词汇,使输出更具创造性和多样性,但也更容易产生不可预测或偏离主题的内容;温度值越低,模型倾向于选择最高概率的词汇,输出更稳定和保守。 - “先计划后写作”有效:因为它把生成分成两次采样:先采样结构更稳定,再在结构里采样内容更可控。这就是“分解与委派 / 先大纲后正文”的底层原因。