想象你是一家高档餐厅的主厨长,手下有一位才华横溢但酷爱“自由发挥”的大厨——它就是大模型。你吩咐一句“做一桌好菜”,结果他端上来辣炒西瓜、巧克力炖排骨——不是他笨,而是你的指令里少了“因果线索”:什么食材之间是什么关系?谁导致了谁?应该按什么顺序下锅?一份合格的菜谱必须写明:因为主味是辣,所以配菜要清淡解辣;因为肉质易老,所以后放。这份写着“因为”“所以”“谁影响谁”的菜谱,就是我们要讲的“因果Prompt”。 因果Prompt(Causal Prompt)并不修改大模型的任何参数,它只是把因果知识以结构化文字注入提示词,让模型在推理时戴上“因果眼镜”。设计一份好的因果Prompt,通常包含四件套:显式因果图(食材关系图)、分步推理约束(一锅一锅炒)、方向标注规则(先因锅后果锅)、以及验证与调优机制(品菜改菜)。这篇教程会带你从零学会这四件套,并用一个贯穿全文的“厨房比喻”解释每一个概念——大厨是大模型,菜谱是提示词,食材关系图是因果图,品菜环节是评估与迭代。

岗位关联

因果Prompt是“因果推理×大模型”的最佳工程入口。掌握它,你就能在不训练模型的前提下,让LLM的输出从“相关性猜测”升级为“可追溯的因果判断”,直接提升医疗问诊、风控归因等场景的交付价值。

目录
  1. 可视化演示
  2. 核心概念认知
  3. 显式因果图
  4. 分步推理引导
  5. 方向标注策略
  6. 工程实践应用
  7. 评估与调优
  8. AI 应用场景
  9. Python 演示
  10. 常见误区
  11. 面试题

可视化演示

展示因果Prompt三种设计策略:显式因果图注入(结构化DAG输入LLM推理)、分步链式推理(因果识别-机制分析-结果判断三步链)、反事实模板构造(事实前提与反事实假设分离推演),理解因果Prompt工程实践。

本节配有交互动效(进入视口后自动加载,约 3KB)。

显式因果图注入 结构化因果图输入Prompt LLM基于DAG推理 DAG -> LLM -> causal 将因果图以结构化文本注入提示词,引导模型基于已知因果结构推理。

核心概念认知

想象你是一家高档餐厅的主厨长,手下有一位才华横溢但酷爱“自由发挥”的大厨——它就是大模型。你吩咐一句“做一桌好菜”,他端上来辣炒西瓜、巧克力炖排骨——不是他笨,而是你的指令里缺少“因果线索”:什么决定了什么?哪些搭配是强行的?你应该在点菜单上写清楚“辣锅因为主味而立足,凉茶因辣而得名”。让大厨按因果逻辑出菜,这就是因果Prompt存在的理由。

因果Prompt(Causal Prompt)是提示工程的一个新范式。普通Prompt只告诉模型“做什么”,因果Prompt额外告诉模型“什么因、什么果、按什么顺序推理”。它把人类的因果先验(domain prior)以结构化文字注入提示词,相当于给大厨一张“食材因果表”,而不是一句空泛的“好好做”。它与思维链(CoT)有本质区别:CoT强调“多写出思考步骤”,因果Prompt强调“步骤必须沿着真正的因果边推进”。

在实践中,设计因果Prompt追求三个目标:准确性(因果判定不错)、可控性(推理路径可追踪)、可解释性(结论能回溯到因)。这三者共同构成一个结构化的提示词整体:

回到厨房:一份好菜谱不只有“做菜”两个字,还要有食材关系图、分步工序和“先放因锅再取果锅”的方向注记。因果Prompt的四件套齐了,大厨才不会自由发挥成黑暗料理。

CausalPrompt=(T, G, S, R)\displaystyle CausalPrompt = (T,\ G,\ S,\ R)
因果Prompt就是四件套的集合:任务、因果图、分步约束、方向标注,缺一不可。
  1. 任务组件 TT 是提示词中的任务说明,告诉模型要解决什么问题,比如判断因果、归因或预测干预结果。TT
  2. 图组件 GG 是显式因果图,用节点和箭头描述变量之间的因果依赖关系。G=(V, E)G = (V,\ E)
  3. 步骤组件 SS 是分步推理约束,要求模型把因果链条拆成多个中间环节。SS
  4. 方向组件 RR 是方向标注规则,明确每个箭头的指向,防止因与果被颠倒。RR

显式因果图

菜谱里最重要的一页是“食材关系图”:箭头从辣椒指向火锅,表示辣味之源;从冰块指向冰饮,表示冷饮之谜。大厨扫一眼这张图,就知道“辣椒是火锅的因,而不是火锅的果”。如果菜谱上只有一份食材清单而没有这个箭头关系,大厨就可能把辣椒塞进甜品里。

显式因果图(Causal Graph)就是这样的箭头关系图。在因果Prompt中,我们把图以文本形式直接写进提示词:每一行是一条有向边,用“A -> B“表示”A 导致 B”。这种编码方式不依赖任何绘图工具,大模型天然能读懂。图不需要覆盖全世界的知识,只需要圈定当前问题涉及的实体节点,以及它们之间的直接因果边。

构建因果图的方式有两种:一是专家手工绘制(比如医生定义症状与疾病的因果关系),二是让大模型自己“生成式构图”——先让模型列出候选变量,再让它判断每对变量之间是否存在直接因果作用。后者适合快速原型,但需要人工审核。注入提示词时,通常把图放在任务描述之后、推理指令之前,形成模板:

食材关系图画得清爽,大厨才不会手忙脚乱。显式因果图同样是给模型“按图切配”的清单:节点是食材,有向边是“谁成就了谁”,多余的关系一概不画,省得模型瞎联想。

G=(V, E),E={(u, v)∣u 是 v 的直接原因}\displaystyle G = (V,\ E),\quad E = \{(u,\ v) \mid u \text{ 是 } v \text{ 的直接原因}\}
因果图由节点集合和有向边集合组成,每条边都代表一个“谁直接导致谁”的判断。
  1. 节点集合 VV 是参与因果推理的实体变量集合,如症状、疾病、行为等。V={v1, v2, …, vn}V = \{v_1,\ v_2,\ \ldots,\ v_n\}
  2. 有向边集合 EE 中的每条边从原因 u 指向结果 v,只允许单向箭头。E={(u, v)∣u 是 v 的直接原因}E = \{(u,\ v) \mid u \text{ 是 } v \text{ 的直接原因}\}
  3. 稀疏原则图通常稀疏,避免把无关变量连成密集网络,否则模型会迷失。∣E∣≪∣V∣2|E| \ll |V|^2

分步推理引导

炒菜要“一锅一锅地炒”——先爆香葱蒜,再下主料,最后收汁。如果让大厨把冷菜、热菜、主食、甜品倒进一口大锅同时炒,出锅的只能是浆糊。推理也是同理:如果让模型从原因“嗖”地一下跳到结论,它经常会跳过关键中间环节,产生跳跃性的伪因果。

分步推理引导(Causal Chain-of-Thought)就是给大模型立的“工序规矩”:要求它把因果链条显式拆解为多个中间环节,每一步只推进一条因果边,并输出当前步的中间态。比如回答“为什么血糖升高”,不允许直接说“因为肥胖”,而必须依次输出“胰岛素抵抗 -> 高血糖”“肥胖 -> 胰岛素抵抗”“久坐 -> 肥胖”。

这种做法的收益非常直接:第一,中间态可校验,哪一步错了就只改哪一步;第二,防跳步幻觉——模型即使知道结论,也必须补全推理路径,减少了“看似合理实则无据”的结论;第三,可解释性强,用户能看到完整的因果链。一条完整的因果链可以写成:

一锅一锅地炒,菜才不会糊;一步一节点地推,因果才不会乱。分步推理引导的实质,就是让大模型从“凭感觉给结论”变成“按工序出餐”——每一步都看得见、查得到。

Chain=⟨v1, v2, …, vk⟩,其中 vi→vi+1\displaystyle Chain = \langle v_1,\ v_2,\ \ldots,\ v_k \rangle,\quad \text{其中 } v_i \to v_{i+1}
因果链是一个有序的事件序列,相邻元素之间必须存在直接的因果箭头。
  1. 链条起点v1 是因果链的源头,代表最初的原因事件。v1v_1
  2. 链条终点vk 是最终的结果事件,是推理要解释的对象。vkv_k
  3. 相邻转移链条中每一对相邻元素都必须满足因果方向约束。vi→vi+1v_i \to v_{i+1}
  4. 整条链完整推理链是这些有序转移的拼接,不允许跳步。⟨v1, v2, …, vk⟩\langle v_1,\ v_2,\ \ldots,\ v_k \rangle

方向标注策略

后厨里并排放着两口锅:左边是“因锅”,右边是“果锅”。菜谱上写着“从因锅取辣椒,从果锅取高汤”;如果取反了,辣汤变甜汤,一桌菜全毁。因果推理中最隐蔽的错误恰恰是方向颠倒:模型分得清“相关”,却经常搞反“谁指向谁”。

方向标注策略就是在提示词里把因和果的方向钉死。常用的手段有三种:第一种是箭头标记法,明确要求模型在输出中使用“A -> B“的符号,箭头永远从因指向果;第二种是顺序约束,规定”先写原因、再写结果“的句式结构;第三种是反事实校验(counterfactual check)——故意把因果关系倒过来问模型一次,观察它能否识别出矛盾,比如问:”如果没有吸烟史,肺癌概率会怎样变化?”

反事实校验的数学工具是do演算中的干预符号。它让我们区分“看到X”和“主动控制X”这两种完全不同的概率。只观察时,模型容易把混杂因素当作原因;而干预视角下,因果方向必须由外部控制决定:

因锅和果锅一旦取反,全盘皆输;因果方向一旦标反,结论全废。方向标注策略与反事实校验,就是让大模型在动笔之前先检查自己手里拿的是“因锅”还是“果锅”。

P(Y=y∣do(X=x))=∑zP(Y=y∣X=x, Z=z) P(Z=z)\displaystyle P(Y = y \mid do(X = x)) = \sum_{z} P(Y = y \mid X = x,\ Z = z)\,P(Z = z)
该式表示:在控制所有混杂变量 Z 后,主动把 X 设为 x 时 Y 的分布,这才是真正的因果效应。
  1. 干预符号do(X=x) 表示“主动干预 X,使其等于 x”,而不是被动观察到 x。do(X=x)do(X = x)
  2. 混杂变量集合Z 是同时影响 X 和 Y 的混杂变量,必须被控制。ZZ
  3. 控制混杂后的求和对所有 Z 的取值加权求和,消除混杂路径的影响。∑zP(Y=y∣X=x, Z=z) P(Z=z)\sum_{z} P(Y = y \mid X = x,\ Z = z)\,P(Z = z)
  4. 对比验证方向比较干预分布与观察分布,如果差异显著,说明模型混淆了因果方向。P(Y∣do(X))≠P(Y∣X)P(Y \mid do(X)) \neq P(Y \mid X)

工程实践应用

积累的因果菜谱,终于被用到真实订单上了:客人点“健康餐”,后厨按食材关系图配菜,不再凭感觉抓料。因果Prompt从实验室走进生产线,已经在多个行业证明了自己的价值。它不需要微调模型,只需要在现有LLM外面套一层“因果约束壳”,落地成本极低。

第一个典型场景是医疗诊断辅助。把“症状—疾病—危险因素”的因果图注入问诊Prompt,模型可以按图分步推理,先列中间状态再下结论,减少“头痛就断言是熬夜”这类相关即因果的错误。第二个场景是金融风控归因:判断一笔逾期贷款是“收入下降导致”还是“逾期后征信变差导致”的双向纠缠,因果Prompt能区分干预效应与观察相关性。第三个场景是营销归因分析:多渠道投放中,用因果Prompt区分“广告真正带来的增量”与“自然转化”,避免把功劳记在最后一个点击上。

这些实战案例有一个共同点:都需要一个量化的效果信号来证明“这版Prompt比上一版好”。在工程上,最常用的指标是因果方向命中率,即模型识别出的、方向正确的因果边占所有真实因果边的比例:

真实后厨每一天都在验证菜谱:哪些菜客人买账,哪些菜被退回后厨。工程实践中的因果Prompt同样需要明确的量化标准——命中率高,说明这道“因果菜”做对了。

ACCcausal=NcorrectNtotal×100%\displaystyle ACC_{causal} = \frac{N_{correct}}{N_{total}} \times 100\%
因果方向命中率 = 正确识别且方向无误的因果边数 ÷ 图中真实因果边总数。
  1. 真实因果边总数Ntotal 是因果图中所有有向边的数量,标准答案由专家标注。Ntotal=∣E∣N_{total} = |E|
  2. 正确命中的边数Ncorrect 是模型不仅识别出关系、且方向判断正确的边数。NcorrectN_{correct}
  3. 命中率计算用正确数除以总数再乘以100%,得到可对比的百分比分数。ACCcausal=NcorrectNtotal×100%ACC_{causal} = \frac{N_{correct}}{N_{total}} \times 100\%

评估与调优

新菜上市后还得有“品菜”环节:请几位老食客试吃打分,把不满意的反馈拿回后厨改配方。因果Prompt的设计也不是一锤子买卖,而是一个“上菜—品菜—改菜”的循环。许多团队第一次构造的因果Prompt效果不错,但换一个数据集或换一版模型就崩了,这就需要系统化的评估与迭代。

评估维度主要有三个:方向命中率(因果边识别得准不准、方向对不对)、幻觉边数量(模型臆造了多少不存在的因果关系)、推理一致性(同一问题多次采样,结论是否稳定)。幻觉率下降比什么都重要——大模型的能力越强,“一本正经地胡说”就越危险。只有把幻觉率压下去,因果Prompt才算真正可用。

调优的核心动作是“失败案例回灌”:把答错的样本收集起来,让模型对比错误回答与正确回答,输出修正意见,再把这些意见作为示例补进下一版Prompt。这就像品菜师说“太咸了”,后厨不仅下次少放盐,还把“少放盐”写进新菜谱。这个迭代过程可以用一个简洁的公式表达:

品菜的目的是让菜越做越好,而不是给厨师打分。评估与调优的意义也在于此:每一次方向命中率的提升、每一次幻觉边的消失,都是在把“大模型的因果推理”这块招牌打磨得更亮。

Pt+1=Pt⊕Contrast(Ferr, Rgood)\displaystyle P_{t+1} = P_t \oplus Contrast(F_{err},\ R_{good})
新版Prompt = 旧版Prompt ⊕ 对错误答案与正确答案的对比修正意见。
  1. 当前版本Pt 是第 t 版因果Prompt,代表当前正在使用的菜谱版本。PtP_t
  2. 对比样本Contrast(Ferr, Rgood) 是让模型同时看到错误回答与正确回答后,产出的差异分析。Contrast(Ferr, Rgood)Contrast(F_{err},\ R_{good})
  3. 版本更新将对比分析得到的新约束合并进旧版Prompt,生成下一版。Pt+1=Pt⊕Contrast(Ferr, Rgood)P_{t+1} = P_t \oplus Contrast(F_{err},\ R_{good})

AI 应用场景

智能问诊:从症状到疾病的因果图

阶段:应用落地与推理增强

解决的问题:传统智能问诊依赖症状与疾病的统计共现,模型看到“头痛+熬夜”频繁同现就断言熬夜导致头痛,把相关性当因果。通过注入专家标注的“疾病→症状”因果图并要求分步推理,模型被迫沿真实因果边走,误诊幻觉大幅下降。

具体案例:某互联网医院在预问诊系统中加入因果Prompt层。医生输入“患者长期头痛且睡眠不足”,系统输出推理链为“颈源性头痛→头痛加剧”“睡眠不足→颈源性头痛”,并标注“熬夜仅是伴随因素,非直接原因”,辅助医生快速聚焦检查方向。

金融风控:逾期归因的因果手术刀

阶段:数据分析与模型解释

解决的问题:信用风控中,逾期行为与征信变差存在双向反馈,普通逻辑回归只能给权重不能给因果。因果Prompt把“收入下降→还款能力下降→逾期”的因果链注入模型,区分干预效应与反向因果,让风控决策有据可查。

具体案例:某消费金融公司对逾期客户生成归因报告。Prompt要求模型先输出因果链(失业→收入骤降→逾期),再进行反事实回答:“若客户未失业,逾期概率预计下降 7.2%”,该结论被信贷委员会采纳为展期依据。

营销归因:谁才是增长的真功臣

阶段:数据分析与业务决策

解决的问题:传统“最后点击归因”把功劳全记在收官渠道上,容易误导投放预算。因果Prompt通过渠道因果图与方向标注,区分“广告真正带来的增量”与“自然转化”,让每一分投放预算花得明白。

具体案例:某电商平台同时投放信息流、短视频与搜索广告。因果Prompt让模型分步推理“看过短视频→搜索品牌词→下单”的因果链,结果显示信息流贡献了 35% 的增量转化,而此前它只被记为“助攻”。据此调整预算后,整体ROI提升 18%。

Python 演示

python78 行
import re  class CausalPromptBuilder:    def __init__(self, entities, edges):        self.entities = entities        self.edges = edges        self.template = (            "请基于以下因果图进行因果分析。\n"            "实体:{entities}\n"            "因果图(A -> B 表示 A 导致 B):\n{graph}\n"            "要求:\n"            "1. 只使用图中给出的边进行推理,不要臆造因果关系。\n"            "2. 分步输出推理链:每一步只推进一个因果关系。\n"            "3. 在结论前用 -> 标注因果方向。\n"        )     def build_prompt(self, question):        entity_str = "、".join(self.entities)        edge_str = "\n".join(f"{a} -> {b}" for a, b in self.edges)        return self.template.format(            entities=entity_str, graph=edge_str        ) + "问题:" + question     def validate_response(self, response):        direction_hits = 0        missing = []        lines = [            line.strip()            for line in response.splitlines()            if line.strip() and "->" in line        ]        for a, b in self.edges:            if any(re.search(f"{a}\\s*->\\s*{b}", line) for line in lines):                direction_hits += 1            else:                missing.append(f"{a} -> {b}")        reversed_links = []        for line in lines:            m = re.search(r"(\w+)\\s*->\\s*(\w+)", line)            if m and (m.group(2), m.group(1)) in self.edges:                reversed_links.append(line)        return direction_hits, missing, reversed_links  def main():    entities = ["肥胖", "高血糖", "胰岛素抵抗", "久坐"]    edges = [        ("胰岛素抵抗", "高血糖"),        ("肥胖", "胰岛素抵抗"),        ("久坐", "肥胖"),    ]    builder = CausalPromptBuilder(entities, edges)    prompt = builder.build_prompt("为什么血糖会升高?")    print("===== 构造的因果Prompt =====")    print(prompt)    response = (        "分步推理:\n"        "胰岛素抵抗 -> 高血糖\n"        "肥胖 -> 胰岛素抵抗\n"        "久坐 -> 肥胖\n"        "结论:胰岛素抵抗直接导致高血糖,肥胖与久坐是上游原因。"    )    hits, missing, reversed_links = builder.validate_response(response)    print("===== 校验结果 =====")    print(f"方向正确的因果关系:{hits}/{len(edges)}")    if missing:        print("缺失的边:", missing)    if reversed_links:        print("反向错误:", reversed_links)    if hits == len(edges) and not reversed_links:        print("校验通过:模型严格按因果图分步推理,无方向错误。")    else:        print("校验未通过:存在缺失或方向错误,需要调优Prompt。")  if __name__ == "__main__":    main()
目的:演示因果Prompt的完整闭环——用结构化因果图构造提示词、分步推理约束注入、以及输出方向校验。适用于任何需要“防幻觉”的因果分析场景。
  1. self.template = (...)定义因果Prompt四件套模板:任务、实体、因果图、分步约束,相当于把因果菜谱写成固定格式。
  2. "因果图(A -> B 表示 A 导致 B):\n{graph}"把因果方向标注规则直接写进提示词,明示箭头语义,防止模型把箭头当普通符号。
  3. self.build_prompt(question)拼装最终提问;注意“问题”放在因果图和约束之后,确保模型先看到结构化因果先验。
  4. for a, b in self.edges:遍历专家给定的事实因果边,作为评分的标准答案。
  5. re.search(f"{a}\\s*->\\s*{b}", line)用正则严格匹配"A -> B"格式,只有方向正确且格式合规的输出才计为命中。
  6. if m and (m.group(2), m.group(1)) in self.edges:检测反向错误:如果模型写出了“果 -> 因”,就记录为方向颠倒的幻觉边。
  7. if hits == len(edges) and not reversed_links:全部事实边命中且无反向错误才算通过,给出明确的工程验收信号。

常见误区

误区在提示词里多加几句“为什么?为什么?为什么?”,模型就会做因果分析了。

正解因果Prompt的关键不是疑问句式,而是结构化的因果先验注入——显式因果图、分步推理约束、方向标注规则。就像好菜谱不是反复写“好吃好吃”,而是明确“辣椒→火锅、冰块→冰饮”的箭头关系。没有结构约束,“为什么”只会让模型产生更多相关性的自由联想。

为何常见:“为什么”确实是因果提问的自然语言形式,初学者看到“因果”二字就联想到疑问句,忽略了工程方法的本质是结构而非措辞。

误区只要在Prompt末尾加一句“请注意因果关系,不要混淆因果”,模型就能彻底避免相关即因果的错误。

正解一句轻飘飘的提示往往淹没在长上下文中,约束力极弱。有效做法是给出显式因果图、示例和反事实验证指令,把约束落到推理结构上。这就像在菜谱里写“别搞错食材关系”毫无意义,必须画一张食材关系图才行。

为何常见:人们倾向于高估自然语言指令对模型的约束力,低估了模型在自由生成时的“惯性发挥”。

误区因果图要把所有变量和边都画出来,越细越好,这样模型掌握的信息最多。

正解因果图过于复杂会带来两个问题:一是无关变量占据注意力,模型抓不住关键因果边;二是token预算被浪费,甚至引发幻觉。正确做法是只保留当前问题直接相关的关键变量和边,贯彻稀疏原则。就像炒一道麻婆豆腐,菜谱不需要列全整个农贸市场的食材。

为何常见:看到“图”就联想到“知识库”,以为交给模型的先验越多越好,忽略了提示词窗口的注意力是稀缺资源。

误区模型回答里出现了“因为……所以……”,说明它真的在做因果推理。

正解语言模式不等于因果逻辑。LM训练语料里大量存在因果连接词,模型完全可以靠句式分布“演出”因果语气,实际推理仍是相关性。要验证真实因果,必须用方向标注、反事实校验和因果图约束来“考试”。就像大厨嘴上说“我懂食材相性”,端上来的菜才知道真假。

为何常见:“因为所以”的文本分布太常见了,模型生成这些词时根本不涉及因果计算,这是语言模型的系统性特征。

误区写好一份因果Prompt就万事大吉,以后所有问题都套用同一份模板。

正解因果场景千差万别,数据分布会漂移,模型版本会更新,一份Prompt不可能永远适用。需要建立“上菜—品菜—改菜”的迭代闭环:用方向命中率、幻觉率等指标评估,再把失败案例回灌到下一版Prompt。就像同一道菜,夏天客人爱吃凉的,冬天就要换热做法。

为何常见:把Prompt当成“写一次配置”的静态产物,忽略了LLM应用工程化必须的动态迭代特征。

面试题

Q1. 因果Prompt设计的主要目标是?

单选题 · easy

  • A.让模型生成更长的文本
  • B.引导模型进行因果判断← 正确答案
  • C.降低模型的接口调用延迟
  • D.提高模型的训练数据质量

答案:B。因果Prompt的核心价值是让大模型输出具有因果可信度的判断,而非加长文本、降延迟或提升训练数据。它是在推理阶段给模型加“因果约束壳”,属于提示工程方法,不碰参数和数据。

Q2. 在因果Prompt中,显式因果图的作用是?

单选题 · easy

  • A.为界面增加视觉装饰
  • B.提供因果关系结构先验← 正确答案
  • C.减少输入提示词的长度
  • D.替代模型全部训练语料

答案:B。显式因果图以“节点+有向边”的形式把因果先验注入提示词,让模型在推理时有一个结构化的“关系地图”。它既不装饰界面,也不缩短提示词,更不可能替代训练语料,其本质是引导推理路径。

Q3. 关于分步推理引导,说法正确的是?

单选题 · mid

  • A.逐步推理可减少跳跃性错误← 正确答案
  • B.一次给出结论的正确率更高
  • C.分步只会增加响应时间成本
  • D.分步推理只适用于中英文

答案:A。分步推理要求模型每步只推进一条因果边并输出中间态,能有效防止跳步幻觉。虽然会略增推理时长,但准确性和可解释性收益远大于时间成本,且与语言无关。

Q4. 箭头标记法在因果Prompt中的含义是?

单选题 · mid

  • A.用箭头表示时间先后顺序
  • B.用箭头装饰文本段落的层次
  • C.用箭头符号表示因指向果← 正确答案
  • D.用箭头代替所有实体命名

答案:C。箭头标记法是方向标注策略的一种,明确约定"A -> B"表示A导致B,箭头永远从因指向果。它不是为了装饰、表示时间或替代命名,而是把因果方向语义符号化,防止模型方向颠倒。

Q5. 因果Prompt的常用设计策略包括?

多选题 · mid

  • A.注入显式因果图结构← 正确答案
  • B.要求输出分步推理链← 正确答案
  • C.标注并约束因果方向← 正确答案
  • D.删除所有中间推理结果

答案:ABC。因果Prompt四件套中,显式因果图、分步推理引导、方向标注是三大核心策略。D“删除中间推理结果”恰恰相反,分步推理的价值就在于保留中间态以供校验,删除后会退化为黑箱输出。

Q6. P(Y|do(X=x)) 与 P(Y|X=x) 的主要区别是什么?

单选题 · hard

  • A.前者表示主动干预后的因果效应← 正确答案
  • B.后者表示主动干预后的因果效应
  • C.两者在数值上永远完全相同
  • D.两者只适用于离散型变量

答案:A。do(X=x) 表示主动干预X,切断所有指向X的混杂路径,得到的是因果效应;P(Y|X=x) 只是观察条件下的概率,可能包含混杂偏差。两者数值通常不同,且对连续、离散变量都适用。

Q7. 因果Prompt评估中“方向命中率”衡量的是?

单选题 · mid

  • A.输出文本的长度与流畅度
  • B.识别边及方向正确的比例← 正确答案
  • C.模型响应速度的快慢程度
  • D.提示词中符号数量的多少

答案:B。方向命中率 = 正确识别且方向无误的因果边数 ÷ 真实因果边总数,考查的是模型对因果关系的识别能力和方向判断力。它与文本长度、响应速度、符号数量等表面指标无关。

Q8. 关于因果Prompt工程实践,正确的是?

多选题 · hard

  • A.可注入症状与疾病因果图← 正确答案
  • B.可辅助金融违约风险归因← 正确答案
  • C.一次构造后无需版本迭代
  • D.可区分营销渠道真实贡献← 正确答案

答案:ABD。医疗诊断、金融风控、营销归因是因果Prompt三大典型落地场景,分别对应症状因果图、逾期归因、渠道增量分析。但因果Prompt必须持续评估与迭代,C“一次构造后无需版本迭代”违背了品菜改菜的闭环思想。

Q9. 因果Prompt属于哪一类的应用入口?

单选题 · easy

  • A.图像生成与风格迁移类
  • B.语音识别与合成类应用
  • C.因果推理与大模型结合类← 正确答案
  • D.机器翻译与多模态融合类

答案:C。因果Prompt是“因果推理 × 大模型”的工程实践入口,它用提示词把因果先验注入大模型推理过程。它不涉及图像、语音或机器翻译的底层逻辑,而是面向因果问答、归因分析、反事实推理等任务。

Q10. 关于因果Prompt中反事实校验,正确的是?

多选题 · extreme

  • A.通过颠倒因果方向检验模型← 正确答案
  • B.与干预分布完全无关的方法
  • C.能帮助发现方向性幻觉问题← 正确答案
  • D.可与do演算表述结合使用← 正确答案

答案:ACD。反事实校验故意把因果关系倒过来提问(如“如果没有吸烟会怎样”),观察模型能否识别矛盾,从而暴露方向性幻觉。其数学基础正是do演算与干预分布,B“与干预分布完全无关”错误。A、C、D均正确描述了反事实校验的手段与价值。