Prompt 指令 vs 参数化知识:大语言模型的信号竞争与优先级机制
When Do LLMs Follow Prompts vs. Fall Back to Parametric / Post-training Priors?
本综述基于 18 篇代表性工作,系统回答一个实践中反复出现但尚未被充分独立建模的问题:当推理时 prompt / context 指令与模型参数中已有的知识、格式习惯、行为偏好发生冲突时,模型到底听谁?为什么有时 system prompt 写得很清楚,模型仍然回退到后训练学到的默认模板?
核心结论:现有文献已经从事实知识冲突、RAG 忠实度、指令遵循、ICL 机制、知识定位与解码干预等角度触碰了该问题,但多数工作研究的是 context vs factual parametric knowledge 。对 post-training behavioral priors,尤其是 SFT / RLHF / instruction tuning 写入的格式、风格、拒答、推理模板等"行为先验"与 prompt 指令的冲突,仍缺乏系统 benchmark、机制量化和干预评估。这正是本方向最有价值的研究空白。
1. 问题定义:模型"听 prompt"到底意味着什么?
LLM 在生成每个 token 时至少同时接收两类信号:
- 推理时信号:system prompt、user prompt、few-shot examples、retrieved context、tool output 等,通过 attention / KV cache 在当前 forward pass 中被读取。
- 参数内信号:预训练语料中的事实与文本分布、SFT 阶段写入的格式模板、RLHF / DPO / safety tuning 写入的偏好与拒答模式,通过模型权重在每次生成时稳定激活。
当两者一致时,问题不可见。例如模型本来就倾向于用 Markdown 列表,prompt 又要求 Markdown 列表,模型表现为"听话"。真正值得研究的是冲突条件:
- context 说"巴黎不是法国首都",参数记忆说"巴黎是法国首都";
- RAG 文档给出一个与模型常识不同的药物剂量;
- system prompt 要求
step1:/step2:,但模型后训练阶段习惯输出1./2.; - system prompt 要求"只输出 JSON",但模型的对话模板习惯加入解释;
- 开发者指令要求遵循工具结果,网页内容却注入"忽略之前所有指令"。
因此,本综述把"模型听谁"形式化为:
在某个预测位置上,prompt/context 路径提供的 token 倾向与参数/后训练先验提供的 token 倾向发生冲突时,最终 logits 更偏向哪一方。
这不是纯粹的 instruction-following 问题,也不是普通 factuality 问题,而是一个 signal arbitration 问题:不同来源、不同优先级、不同强度的信号在 transformer 内部如何竞争。
2. 统一视角:Residual Stream 中的信号竞争
Transformer 每层可以粗略写成:
hl=hl−1+Attnl(hl−1)+MLPl(hl−1+Attnl(hl−1)) h_l = h_{l-1} + \text{Attn}l(h{l-1}) + \text{MLP}l(h{l-1} + \text{Attn}l(h{l-1})) hl=hl−1+Attnl(hl−1)+MLPl(hl−1+Attnl(hl−1))
在这个视角下:
- Attention 子层主要从上下文中读取信息,包括 prompt 指令、few-shot 示例、retrieved document、前文格式。
- MLP / FFN 子层主要注入参数化知识和训练中形成的稳定模式,包括事实、风格、格式、模板、拒答倾向。
- 两者都把向量加到同一个 residual stream,最终通过 unembedding 投影为 logits。
因此,一个格式冲突可以写成非常直观的比较:
\\Delta_{\\text{prompt}} = \\text{logit}_{\\text{prompt path}}(\\text{\`\`step''}) * \\text{logit}_{\\text{prompt path}}(\\text{\`\`1.''})
\\Delta_{\\text{param}} = \\text{logit}_{\\text{param path}}(\\text{\`\`1.''}) * \\text{logit}_{\\text{param path}}(\\text{\`\`step''})
如果参数路径对 1. 的推动大于 prompt 路径对 step 的推动,模型就会"听参数";反之则"听 prompt"。现有论文从不同角度支持这一框架:
| 证据来源 | 代表论文 | 支持的机制 |
|---|---|---|
| Prompt / ICL 表征 | Function Vectors 06, ICL Task Vectors 07 | prompt / demonstrations 被压缩成 residual stream 中的 task vector |
| 参数知识存储 | ROME 08, Knowledge Neurons 09, Dissecting Factual Recall 16 | 事实知识集中在 MLP / FFN 与特定 attention routing 中 |
| 冲突行为规律 | NQ-Swap 10, PopQA 11, Chameleon or Sloth 12, ClashEval 13 | 参数 prior 越强,越不容易被 context 覆盖 |
| 指令遵循评估 | IFEval 04, Instruction Hierarchy 05 | 明确 prompt 不等于可靠约束,层级优先级需要训练写入 |
| 解码/训练干预 | CAD 02, Self-RAG 14, DoLa 15, DisentQA 17, Entropy Neurons 18 | 可以通过 logit 对比、反思 token、source disentanglement 或 neuron ablation 调节"听谁" |
3. 研究谱系一:指令遵循不是 solved problem
3.1 IFEval:格式类指令也会系统性失败
IFEval 04 的价值在于把 instruction following 从主观评价变成可程序验证任务。它设计了 25 类 verifiable instructions,例如长度、关键词频率、大小写、格式约束等。
关键启示不是"模型很差",而是:
- 即使是强模型,对多个显式格式约束也无法稳定 100% 遵循。
- 失败往往发生在 prompt 要求与模型默认生成习惯冲突时。
- 这些失败不是知识不足,而是约束执行失败。
这对 post-training prior 问题非常重要。模型经过 SFT / RLHF 后会形成稳定的回答模板,例如"先解释,再分点,再总结"。当用户要求"只输出一个 JSON object"时,模型不是不会 JSON,而是默认回答模板的 prior 仍在竞争。
IFEval 的不足也很明显:
- 它测"是否遵循",但不专门构造"与参数先验冲突"的条件。
- 它没有区分 pretraining prior、SFT prior、RLHF prior 各自的贡献。
- 它缺少内部机制分析。
因此,IFEval 是本方向的评测起点,但不是终点。
3.2 Instruction Hierarchy:优先级不是 prompt 声明出来的,是训练出来的
Instruction Hierarchy 05 直接触及"谁的指令优先级更高"。它指出,普通 LLM 并不会天然理解 system、user、tool、网页文本之间的权限差异。对模型而言,这些都只是上下文 token。如果没有专门训练,低权限文本中的恶意指令也可能覆盖高权限 system prompt。
这篇工作的关键结论是:
指令优先级本身也是一种需要写入参数的行为能力。
这对"prompt vs 后训练"有一个略带悖论的启示:如果我们希望模型无条件听 system prompt,仅靠 system prompt 中写"你必须听 system prompt"并不够;真正可靠的层级意识需要通过后训练写进参数。也就是说,prompt 想战胜参数,往往需要另一个更强的参数先验来帮它。
这也是为什么"后训练到底是敌人还是朋友"不能简单回答。后训练既可能写入与用户 prompt 冲突的格式习惯,也可能写入"优先遵循高权限 prompt"的仲裁规则。
4. 研究谱系二:Prompt / Context 如何变成内部向量
4.1 Function Vectors:few-shot prompt 被压缩成任务向量
Function Vectors 06 说明 ICL demonstrations 并不是被模型逐字机械复制,而是被少数 attention heads 压缩成一个 function vector。这个 vector 可以被提取出来,注入到没有 demonstrations 的输入中,仍然触发类似任务行为。
这给 prompt 遵循提供了机制解释:
- few-shot 示例比自然语言描述更强,是因为它们更容易形成稳定 task vector。
- task vector 在 middle layers 中最有效,说明 prompt 指令需要进入合适层级才能影响后续生成。
- 多个 function vectors 可以组合,但只在简单任务上较稳定,复杂格式/推理约束可能发生干扰。
对格式冲突而言,few-shot 示例的作用不是"让模型理解格式",而是让 attention heads 构造一个强方向,把 residual stream 推向目标格式。
4.2 ICL Task Vectors:prompt 的作用可以被看成临时参数更新
ICL Task Vectors 07 进一步把 ICL 分解为两步:
- 从 demonstrations 中计算 task vector;
- 用 task vector 调制 query 的生成。
这非常适合解释 prompt vs parameters:
- 参数提供长期稳定的 task / behavior prior;
- prompt 提供临时的 activation shift;
- 两者最终在同一个表示空间叠加。
如果 prompt task vector 与参数 prior 方向一致,模型表现很好;如果方向冲突,生成就变成向量强度、注入层级、位置、解码温度共同决定的拉扯。
4.3 Lost in the Middle:prompt 不是写进去就一定被读到
Lost in the Middle 03 证明长上下文中信息利用呈 U 形:开头和结尾最有效,中间最容易被忽略。在多文档 QA 中,相关文档放在中间时,模型准确率甚至低于 closed-book。
对指令遵循的启示是:
- system prompt 放在开头有 primacy advantage;
- 最后一次用户指令或格式 reminder 有 recency advantage;
- 长上下文中间的格式约束最容易丢;
- "模型不听 prompt"有时不是因为参数更强,而是因为 prompt signal 根本没有被有效读取。
这也解释了实践中的一个常见现象:同一个格式要求,放在 prompt 开头、中间、末尾,遵循率明显不同。
5. 研究谱系三:参数知识在哪里,为什么它这么"硬"
5.1 ROME:事实知识可定位到中早期 MLP
ROME 08 通过 causal tracing 发现,事实回忆的关键位置常在 subject token 的 early-to-mid MLP layers。它把 MLP 视作类似 key-value memory 的结构:输入 subject pattern,输出对应 attribute vector。
这为"参数是硬编码"提供了直接证据:
- 参数知识不是抽象说法,而是可以通过特定层、特定位置、特定矩阵更新被编辑。
- 当 context 提供反事实信息时,它必须压过这些 MLP 注入的 fact vector。
- 如果某个事实或格式在训练中极高频,它对应的参数方向就可能更强。
ROME 主要研究事实三元组,但对格式/行为先验有启发:如果事实可以定位和编辑,那么"格式偏好""回答模板偏好"也可能存在可定位的 activation / parameter subspace,只是目前缺少系统研究。
5.2 Knowledge Neurons:少量 FFN neuron 能控制事实表达
Knowledge Neurons 09 用 integrated gradients 找到与特定事实高度相关的 FFN neurons。激活这些 neurons 会增强事实表达,抑制则会擦除或削弱。
它支持一个更细粒度的观点:
- 参数 prior 不是均匀分布在整个网络中;
- 部分 prior 可能由稀疏 neuron 集合强力驱动;
- 控制这些 neurons 可以改变模型"坚持参数"的程度。
对 post-training behavior 来说,一个自然问题是:是否存在"format neurons""refusal neurons""chain-of-thought template neurons"?如果存在,它们是否能解释 prompt 为什么压不过后训练模板?
5.3 Dissecting Factual Recall:MLP 存储,Attention 路由
Dissecting Factual Recall 16 给出事实回忆的三步机制:
- early MLP enrich subject representation;
- relation 信息通过 attention 传播;
- prediction position 提取目标 attribute。
这比"MLP 存知识"更完整:参数知识要产生输出,需要 MLP 与 attention 协作。对于 prompt 冲突,这意味着:
- prompt/context 信息也是通过 attention 到达 prediction position;
- 参数事实也通过 attention routing 被搬运过来;
- 两条路径不是简单"attention vs MLP",而是复杂的 MLP-memory + attention-routing 与 context-attention 的竞争。
这提醒我们,未来做机制实验不能只看一层 MLP 或一类 attention head,而要做 token-position-level 的因果路径分解。
6. 研究谱系四:事实冲突中,参数 prior 强度决定模型是否听 context
6.1 Knowledge Conflicts Survey:冲突类型的总框架
Knowledge Conflicts Survey 01 将知识冲突分为:
- context-memory conflict:上下文与参数记忆冲突;
- inter-context conflict:多个上下文文档彼此冲突;
- intra-memory conflict:参数记忆内部由于训练语料矛盾而冲突。
本综述最关心第一类,但另外两类也重要。真实 RAG 或 agent 场景中,模型常常同时面对多个网页、工具结果和自身知识。如果 retrieved context 之间互相冲突,模型就更可能回退到自身 prior。
6.2 Entity-Based Knowledge Conflicts / NQ-Swap:高频实体更难被覆盖
Entity-Based Knowledge Conflicts 10 构造 NQ-Swap,把 context 中答案实体替换为同类型反事实实体。结果显示,模型经常输出原始参数答案,而不是 context 中的新答案。
关键规律:
- 高频实体更容易被参数记住;
- 高频实体对应的参数答案更难被 context 覆盖;
- counterfactual augmentation 可以缓解,但不能消除。
这给格式/行为冲突一个直接类比:如果 1. 2. 3.、Markdown bullet、礼貌解释性开头在训练中极高频,那么它们就是"格式高频实体"。prompt 要求一个罕见格式时,就像要求模型在 NQ-Swap 中相信一个反事实答案。
6.3 PopQA / When Not to Trust:参数可信度与 popularity 强相关
When Not to Trust Language Models 11 构建 PopQA,发现实体 popularity 与 parametric accuracy 强相关。popular entities 上模型很准,long-tail entities 上模型很差;retrieval 对 long-tail 帮助大,对 popular knowledge 有时帮助小。
这篇论文原本回答"什么时候该信参数,什么时候该检索"。迁移到本主题,它给出一个可量化变量:
prior strength 可以用训练频率、popularity、无上下文 logprob 或 closed-book confidence 近似。
对于格式先验,我们也可以构造类似指标:
- 默认格式 token 在无约束 prompt 下的概率;
- 目标格式 token 与默认格式 token 的 logprob gap;
- SFT 前后该 gap 的变化;
- 后训练数据中格式模板的频率。
这些指标可以成为预测 prompt 遵循率的核心特征。
6.4 Chameleon or Sloth:context 的连贯性与 confirmation bias
Chameleon or Sloth 12 说明模型不是绝对"固执"或绝对"听上下文"。如果反事实 evidence 足够 coherent,模型可以像变色龙一样接受新信息;但如果 evidence 中夹杂了与参数记忆一致的部分,模型会产生 confirmation bias,选择性采纳支持自身记忆的片段。
对 prompt 设计的启示:
- 让模型听 prompt,不只是把指令写强,还要让整个 prompt 风格一致。
- 如果 prompt 前半段诱导了旧格式,后半段突然要求新格式,模型可能 cherry-pick 旧格式。
- few-shot 示例必须全部使用目标格式;混入一个默认格式示例可能显著削弱约束。
6.5 ClashEval:prior probability 可以预测 RAG tug-of-war
ClashEval 13 是最接近"谁赢"定量建模的工作。它发现 RAG preference rate 与 model prior probability 负相关:prior 越强,模型越不听 RAG。修改值与 prior 偏离越大,模型越容易回退到 internal prior。严格 prompt 可以提升 adherence,但不能完全消除 prior 的影响。
这给本方向一个可直接借鉴的实验范式:
- 先测模型无 prompt 约束下的默认输出分布;
- 再构造与默认 prior 不同强度冲突的 prompt;
- 测 prompt adherence rate 随 prior gap 的变化;
- 比较 strict prompt、few-shot、重复、位置、decoding constraint、SFT 等干预。
ClashEval 的局限是它仍主要是事实 QA / RAG,不是 post-training behavioral prior。但它提供了最清晰的建模模板。
7. 研究谱系五:如何让模型更听 context / prompt
7.1 CAD:在 logit 空间减去无 context 的参数先验
CAD 02 的核心公式是:
\\text{logit}_{CAD} = (1+\\alpha)\\text{logit}(y_t\|c,x) * \\alpha\\text{logit}(y_t\|x)
直观上,它对比"有 context"和"无 context"时的输出分布,放大 context 独有贡献,削弱参数 prior。
对格式遵循的启发非常直接:
- 把格式指令视为 context;
- 对比"带格式指令"和"不带格式指令"的 logits;
- 在格式关键 token 位置放大 prompt-induced logit delta。
这可能形成一个 Format-CAD:只在列表标号、段落开头、JSON key、分隔符等格式关键位置激活,避免全程两次 forward 的高成本。
7.2 DoLa:层间对比放大更成熟的事实信号
DoLa 15 通过 later layer logits 减 earlier layer logits,提高 factuality。它的本意不是让模型听 prompt,而是减少幻觉。但它告诉我们一个重要事实:不同层携带的信号类型不同。
如果格式 / instruction signal 在某些中高层更清晰,那么 layer contrast 可能也能放大遵循信号。反过来,如果浅层强烈携带高频格式 prior,深层携带 prompt-conditioned correction,那么对比层可能帮助 prompt 赢。
当然,这目前只是推论,需要实验验证。
7.3 Self-RAG:让模型显式决定何时信参数、何时信检索
Self-RAG 14 通过 reflection tokens 训练模型判断是否检索、文档是否相关、生成是否被支持。它本质上不是简单增强 context,而是把"听谁"的仲裁过程显式化。
对 post-training behavioral prior 的类比:
- 模型可以学会识别"这是格式/协议约束,必须优先遵循 prompt";
- 模型也可以学会识别"这是事实知识问题,若 context 低质量则保留参数答案";
- 不同信号类型需要不同仲裁策略。
这提示未来不应只追求"总是听 prompt"或"总是信参数",而应训练 source-aware arbitration。
7.4 DisentQA:把参数答案和上下文答案显式分离
DisentQA 17 要求模型同时输出 contextual answer 和 parametric answer。它把原本混在一起的知识来源显式拆开。
对本方向的启发是:
- 可以要求模型区分"默认格式会是什么"和"当前 prompt 要求格式是什么";
- 可以训练模型在内部标注 answer source / instruction source;
- 可以从"最终谁赢"转向"先分离来源,再按规则选择"。
这对安全与工具调用也重要。模型应该知道"网页里说的指令"和"system prompt 里的指令"不是同级来源。
7.5 Entropy Neurons:存在调控 context copying 的神经元开关
Entropy Neurons 18 发现某些 FFN neurons 会抑制 context copying。ablate 这些 neurons 后,模型在 context-parametric conflict 中更倾向于复制 context。
这可能是现有文献中最接近 neuron-level arbitration 的结果:
- 模型内部可能存在控制"听 context"程度的门控机制;
- 该机制不只是输出熵变化,还影响 context copying vs parametric recall;
- 如果能把这个机制迁移到 instruction / format prompt,就可能得到可控的 prompt adherence knob。
但目前仍有两个问题:
- 这些 neurons 是否同样控制 factual context 和 instructional context?
- 抑制它们是否会导致盲目复制低质量上下文或 prompt injection 风险?
8. 从"事实知识冲突"到"后训练行为先验冲突"
现有 18 篇论文的大多数证据来自 factual knowledge conflict:RAG 文档、实体答案、counterfactual passage、事实回忆机制。这些工作能解释"context vs parametric memory",但用户真正关心的往往是另一个问题:
后训练写入的行为模式,为什么会压过我推理时写的 prompt?
这类行为先验包括:
- 格式先验:编号、Markdown、JSON、XML、step-by-step 模板;
- 风格先验:礼貌解释、免责声明、先总后分、拒绝短答;
- 推理模板先验:先分析再答案、长 CoT、数学题固定步骤;
- 安全先验:拒答、规避、过度谨慎;
- 工具/agent 先验:什么时候调用工具、是否相信工具结果;
- 对话角色先验:assistant 应该解释、补充、总结,而不是只给原始结果。
这些 prior 与事实知识有相似之处:都写在参数里,都会在生成时自动激活。但也有重要差别:
| 维度 | 事实参数知识 | 后训练行为先验 |
|---|---|---|
| 对象 | subject-relation-object fact | 格式、风格、策略、拒答、模板 |
| 典型来源 | 预训练语料 | SFT / RLHF / DPO / safety tuning |
| 输出形态 | 某个实体/属性 token | 长程结构与多 token pattern |
| 冲突表现 | 答案错或 hallucination | 不按格式、不按权限、不按工具协议 |
| 评测方式 | EM / accuracy / RAG adherence | regex / parser / protocol checker / trajectory adherence |
| 机制难点 | 单点事实 recall | 长程 autoregressive drift、模板自激活 |
因此,不能简单把 RAG conflict 结论平移到格式遵循。格式/行为先验具有更强的长程性:模型开头可能听 prompt,但生成几步后,自己刚刚生成的 token 又会重新激活默认模板,导致 drift。
9. 影响"谁赢"的关键变量
综合 18 篇论文,可以把影响 prompt vs parameters 胜负的变量分为五类。
9.1 参数侧变量
| 变量 | 参数赢的条件 | 相关证据 |
|---|---|---|
| prior strength | 默认答案/格式 logprob 高 | ClashEval 13 |
| 训练频率 / popularity | 高频实体、高频模板更难覆盖 | NQ-Swap 10, PopQA 11 |
| 后训练强化强度 | SFT/RLHF 反复奖励的行为更稳定 | Instruction Hierarchy 05 的反面启示 |
| 神经元/子空间激活 | 相关 FFN neurons 强激活 | Knowledge Neurons 09, Entropy Neurons 18 |
| 层级注入位置 | late-layer 或 prediction-position signal 更接近 logits | DoLa 15, Factual Recall 16 |
9.2 Prompt / context 侧变量
| 变量 | prompt 赢的条件 | 相关证据 |
|---|---|---|
| 位置 | 开头或末尾,尤其靠近生成位置 | Lost in the Middle 03 |
| 具体性 | few-shot 示例强于抽象描述 | Function Vectors 06, Task Vectors 07 |
| 连贯性 | 整个 context 支持同一结论 | Chameleon or Sloth 12 |
| 严格措辞 | 明确要求忠实于 context / 格式 | ClashEval 13 |
| 重复与一致示例 | 多次注入同一目标格式 | ICL 相关机制 0607 |
9.3 冲突本身的变量
| 变量 | 影响 |
|---|---|
| 偏离程度 | 目标格式/答案离默认 prior 越远,越难覆盖 |
| 冲突粒度 | 单 token 冲突较易控制,长程模板冲突更难 |
| 验证难度 | JSON/parser 可硬约束,开放式风格难自动判定 |
| 是否有混合信号 | prompt 中若出现默认格式,会触发 confirmation bias |
9.4 解码侧变量
| 方法 | 作用 |
|---|---|
| 低 temperature | 降低随机漂移,但可能强化最高频默认格式 |
| grammar / structured decoding | 直接把格式从软约束变硬约束 |
| CAD / contrastive decoding | 放大 context-induced signal |
| layer contrast | 可能放大高层事实/指令信号 |
| constrained repair | 生成后检查并重试,工程上有效但不解释机制 |
9.5 训练侧变量
| 方法 | 作用 |
|---|---|
| counterfactual augmentation | 训练模型读 context 而不是背参数 |
| instruction hierarchy tuning | 把权限优先级写入参数 |
| conflict curriculum | 专门训练"冲突时听高优先级 prompt" |
| source disentanglement | 区分 parametric / contextual / system / tool 来源 |
| lightweight SFT / LoRA | 把目标格式也写入参数,减少 prompt 单独对抗 |
10. 对实践者的直接建议
如果目标是让模型在与默认行为冲突时更稳定地遵循 prompt,按可靠性排序:
-
结构化解码 / grammar / JSON schema
这是最硬的约束。只要任务允许,优先用它,而不是靠自然语言 prompt。
-
少量 SFT / LoRA 写入目标格式
如果某种格式长期使用,不要每次都让 prompt 单独对抗参数先验。把格式也写进参数。
-
few-shot 示例优于抽象指令
给完整输入输出示例,让模型形成 task / function vector。示例必须全部使用目标格式,避免混入默认格式。
-
把关键格式要求放在靠近生成的位置
长 prompt 中,末尾 reminder 往往比中间说明更有效。
-
明确禁止旧格式,但不要制造混合信号
可以写"不要使用 1. 2. 3. 编号",但示例中不能出现该格式。
-
对关键格式 token 做解码干预
如果可控 logits,可以在 JSON key、列表前缀、分隔符等位置做 bias / CAD-like contrast。
-
生成后验证与重试
对格式任务很实用,但它是工程兜底,不是模型内部真正学会优先级。
11. 现有文献的不足:为什么这个方向仍有空间
11.1 过度集中在事实知识,缺少行为先验
ROME、Knowledge Neurons、NQ-Swap、PopQA、ClashEval 等都围绕事实答案。它们回答"context 能否覆盖模型记忆",但没有回答:
- SFT 写入的格式模板如何被激活?
- RLHF 写入的礼貌解释/拒答风格如何压过短 prompt?
- 后训练行为 prior 与 prompt 约束的强度如何量化?
11.2 普通 instruction following benchmark 不测"冲突"
IFEval 测格式遵循,但很多样本并不保证目标格式与模型默认 prior 冲突。一个真正对口的 benchmark 应该显式构造:
- 默认格式 A:模型无约束时高概率输出;
- 目标格式 B:prompt 明确要求,且与 A 冲突;
- 冲突强度:通过 logprob gap 或默认生成频率分层;
- 干预条件:zero-shot、strict prompt、few-shot、position、repetition、SFT、decoding constraint。
11.3 缺少 token-level / path-level 机制量化
现有机制工作证明了:
- prompt 能形成 task vector;
- 参数知识在 MLP / neuron 中;
- context copying 可被 entropy neurons 调节。
但缺少直接实验:
在格式冲突的那个 token 上,attention 从 prompt 带来的 logit contribution 与 MLP / post-training prior 带来的 logit contribution 分别是多少?哪一层开始目标格式输给默认格式?
这正是未来机制论文的机会。
11.4 缺少 autoregressive drift 研究
格式遵循不是单 token 决策,而是长程生成过程。模型可能:
- 第 1 步遵循
step1:; - 第 2 步仍遵循;
- 第 5 步开始回到
1./ Markdown bullet; - 解释部分越写越长,逐渐脱离 JSON schema。
这种 drift 可能来自模型自身输出重新激活默认模板。现有 Lost in the Middle 研究输入位置效应,但很少系统研究生成过程中的格式漂移点。
11.5 干预方法缺少统一比较
CAD、DoLa、Self-RAG、DisentQA、Instruction Hierarchy 分别有效,但它们没有在同一个 post-training behavior conflict benchmark 上比较。未来需要回答:
- prompt engineering 能到什么上限?
- few-shot 比 strict wording 强多少?
- decoding constraint 与 small SFT 哪个更划算?
- conflict curriculum 能否泛化到未见格式?
- neuron / activation intervention 是否比普通 LoRA 更精确?
12. 面向论文的研究问题重构
如果要把本方向写成 AAAI / ACL / EMNLP 论文,不建议题目写得太泛:
Prompt vs Parameters in Large Language Models
这个题太大,也容易被已有 knowledge conflict / RAG faithfulness 文献覆盖。更锋利的切口是:
Post-training Behavioral Priors vs Inference-time Instructions
也就是:后训练写入的行为先验与推理时 prompt 指令冲突时,模型如何裁决?
可以拆成三个层次:
12.1 Benchmark 问题
构建 FormatConflict / BehaviorConflict:
- 先测模型默认输出格式,估计 prior;
- 构造与默认 prior 冲突的 prompt 指令;
- 覆盖列表、JSON、XML、段落结构、答案位置、拒绝解释、工具调用协议等;
- 用 parser / regex / protocol checker 自动评估;
- 分析模型规模、后训练方式、prompt 位置、few-shot 数量、temperature 的影响。
12.2 机制问题
构建 ResidualTug / Logit Attribution:
- 在冲突 token 处分解 attention vs MLP contribution;
- 对比遵循样本与不遵循样本;
- 追踪目标格式 token 与默认格式 token 的 layer-wise logit trajectory;
- 测 prompt vector norm、prior logprob gap 与 adherence 的关系;
- 用 activation patching / head ablation 验证因果性。
12.3 干预问题
构建 FormatSFT-Lite / DriftGuard / ConflictCurriculum:
- few-shot、strict prompt、末尾 reminder、CAD-like decoding、grammar decoding、小规模 LoRA、冲突课程训练统一比较;
- 重点不是证明"某方法有效",而是给出 cost-adherence tradeoff;
- 评估是否泛化到未见格式、未见任务、长输出、多轮对话。
13. 18 篇论文在本主题中的定位
| # | 论文 | 本综述中的角色 | 对"模型听谁"的核心贡献 |
|---|---|---|---|
| 01 | Knowledge Conflicts Survey | taxonomy | 定义 context-memory / inter-context / intra-memory 冲突 |
| 02 | CAD | 解码干预 | 用有无 context 的 logit 差放大上下文信号 |
| 03 | Lost in the Middle | 位置效应 | prompt/context 放在中间会被弱化 |
| 04 | IFEval | 指令遵循评测 | 格式类指令也存在系统性不遵循 |
| 05 | Instruction Hierarchy | 权限优先级训练 | system > user > tool 需要后训练写入 |
| 06 | Function Vectors | ICL 机制 | prompt 示例形成可注入的 function vector |
| 07 | ICL Task Vectors | ICL 机制 | demonstrations 被压缩成 task-level activation shift |
| 08 | ROME | 参数知识定位 | 事实知识可定位并编辑于中早期 MLP |
| 09 | Knowledge Neurons | neuron-level 参数知识 | 少量 FFN neurons 控制特定事实表达 |
| 10 | Entity Knowledge Conflicts | 事实冲突实证 | 高频实体更难被 context 覆盖 |
| 11 | When Not to Trust | prior strength | popularity 预测参数记忆可靠性 |
| 12 | Chameleon or Sloth | 冲突行为模式 | context 连贯性与 confirmation bias 决定是否覆盖参数 |
| 13 | ClashEval | tug-of-war 定量 | prior probability 预测 RAG adherence |
| 14 | Self-RAG | source-aware 训练 | reflection tokens 让模型自适应决定何时检索/信 context |
| 15 | DoLa | layer contrast | 层间信号差可调节 factual generation |
| 16 | Dissecting Factual Recall | 参数 recall 路径 | MLP 存储、attention 路由、prediction 提取 |
| 17 | DisentQA | source disentanglement | 显式区分 contextual answer 与 parametric answer |
| 18 | Entropy Neurons | neuron-level 仲裁 | FFN neurons 可抑制或释放 context copying |
14. 结论
现有研究已经足以支持一个清晰判断:
LLM 并不是简单"听 prompt"或"听参数"。它在每个预测位置上把 prompt/context 信号、参数化知识、后训练行为先验、上下文位置偏置、解码策略共同投影到 logits;最终谁的贡献更强,谁就赢。
但现有文献仍有明显缺口。事实知识冲突研究已经比较成熟,RAG tug-of-war 也开始被量化;真正缺的是对 后训练行为先验 的系统研究。尤其是格式、风格、推理模板、拒答策略、工具协议这些行为模式,它们不只是单个事实 token,而是长程、多 token、会在生成过程中自我强化的 prior。
因此,本方向最有前景的论文不是泛泛问"prompt vs parameters 谁强",而是聚焦:
Post-training behavioral priors can override inference-time instructions: measurement, mechanism, and mitigation.
一个完整研究故事应包括:
- Measurement:构造冲突 benchmark,证明后训练行为 prior 会系统性压过 prompt;
- Mechanism:在 residual stream / logits / layer trajectory 上解释 prompt signal 与 parameter prior 如何竞争;
- Mitigation:比较 prompt、few-shot、decoding、small SFT、conflict curriculum 等方法,给出可靠性与成本边界。
一句话总结:
Prompt 是临时注入的 activation-level steering signal;后训练先验是稳定写入参数的 behavioral prior。让模型可靠"听话"的关键,不是把 prompt 写得更凶,而是理解并控制这两类信号在模型内部的竞争。