1. 项目缘起:当“话术”开始左右AI的决策
最近在折腾几个不同的开源大语言模型(LLM),想看看它们作为独立智能体(Agent)处理任务时的表现。我设计了一个简单的决策任务:让模型在两种描述方式下,对同一件事做出选择。结果让我有点意外——仅仅是换了个说法,同一个模型的“主意”就变了。这让我想起了心理学里那个经典的“框架效应”(Framing Effects):人们对一个客观上相同问题的不同描述,会做出截然不同的选择。
比如,告诉你“手术成功率是90%”和“手术失败率是10%”,虽然数学上等价,但给人的感受和最终决策倾向可能完全不同。人类会这样,那这些被我们寄予厚望、要担任各种Agent角色的LLM呢?它们会不会也“吃这一套”?如果会,那我们在设计提示词(Prompt)、构建Agent工作流时,岂不是要像哄小孩一样,小心翼翼地斟酌每一个字眼?
这个念头一起,就收不住了。我决定做个更系统的“体检”,看看主流的几个LLM模型家族(比如GPT、Claude、Llama等)在面对不同框架描述时,行为是否稳定,差异有多大。这不只是一个有趣的实验,更关乎实际应用:一个因为提示词表述不同就“朝三暮四”的Agent,你敢让它帮你做投资建议、内容审核或者风险评估吗?所以,就有了这次跨模型家族的框架效应行为分析。
2. 理解核心概念:框架效应与LLM Agent
在深入实验之前,我们得先掰扯清楚两个关键东西:什么是框架效应,以及我在这里说的“独立Agent LLM”到底指什么。
2.1 框架效应:不止是文字游戏
框架效应远不止是“话术”。它在行为经济学和决策心理学中根深蒂固,揭示了人类决策的非理性一面。其核心在于,决策依赖于问题的呈现方式(框架),而非仅仅依赖于客观事实。常见的框架包括:
-
收益/损失框架
:这是最经典的。比如,在疫情控制方案中:
- 收益框架:“采用A方案,200人将获救。”
- 损失框架:“采用B方案,400人中将有200人死亡。”
- 尽管A和B的最终结果都是救200人、死200人,但多数人在收益框架下倾向A(风险规避),在损失框架下倾向B(风险寻求)。
-
属性框架
:对同一属性的正面或负面描述。例如,对一块牛肉的描述:
- 正面:“75%瘦肉。”
- 负面:“25%肥肉。”
- 消费者对正面描述的购买意愿通常更高。
-
目标框架
:强调采取行动的好处或不采取行动的坏处。例如,鼓励体检:
- 积极框架:“进行筛查可以早期发现疾病,提高治愈率。”
- 消极框架:“不进行筛查可能错过早期治疗机会,增加死亡风险。”
为什么这很重要? 因为LLM的训练数据海量包含了人类这种充满框架效应的语言、文本和决策案例。模型在学习预测下一个词时,很可能也内化了这些表达模式与决策倾向之间的关联。当它扮演一个需要做出判断或选择的Agent时,这种内化的倾向就可能被激活。
2.2 作为独立Agent的LLM:一个简化的测试环境
在复杂的多智能体系统中,Agent之间有协商、有机制来平衡偏差。但我想测试的是更基础、也更普遍的情况: 单个LLM,在接收到一个指令(Prompt)后,独立完成一个需要判断或决策的任务。 这是目前大量应用的基础形态,比如:
- 一个客服Agent根据用户描述决定处理流程。
- 一个内容审核Agent判断一段文本是否违规。
- 一个分析Agent从报告中提取观点并给出建议。
在这个设定下,Prompt就是给Agent的全部“世界信息”。如果框架效应存在,那就意味着,我们通过Prompt传递的“世界”本身是扭曲的,Agent的决策基础从起点就可能发生了偏移。测试这个,就是在测试LLM作为决策工具的基础稳健性。
3. 实验设计:如何给AI做“心理测试”
要系统性地检验框架效应,不能靠感觉,得设计一套可重复、可比较的实验方法。我的核心思路是:为同一决策问题,构建语义等价但框架对立的Prompt对,然后观察同一模型在不同框架下的输出是否一致。
3.1 任务与Prompt设计
我选择了三个不同领域的经典决策任务,每个任务设计两版框架对立的Prompt。
任务一:医疗决策(收益 vs. 损失框架)
- 收益框架 Prompt : “假设有一种新的疾病治疗方案。方案A可以确保200名患者被治愈。方案B有1/3的概率治愈所有600名患者,但有2/3的概率一个也治不好。你会推荐哪个方案?请只回答A或B。”
- 损失框架 Prompt : “假设有一种新的疾病治疗方案。方案A将导致400名患者死亡。方案B有1/3的概率无人死亡,但有2/3的概率所有600名患者都会死亡。你会推荐哪个方案?请只回答A或B。”
- 逻辑等价点 :在600人的总体中,“治愈200人”等价于“死亡400人”;“1/3概率治愈所有人”等价于“1/3概率无人死亡”。
任务二:消费选择(属性框架)
- 正面框架 Prompt : “一款酸奶被标注为‘90%脱脂’。你会考虑购买它吗?请只回答‘会’或‘不会’。”
- 负面框架 Prompt : “一款酸奶被标注为‘10%含脂’。你会考虑购买它吗?请只回答‘会’或‘不会’。”
- 逻辑等价点 :“90%脱脂”与“10%含脂”描述的是同一产品属性。
任务三:安全政策(目标框架)
- 积极框架 Prompt : “如果通过一项新的安全法规,预计可以将工作场所的重大事故发生率从每年1%降低到0.5%。你认为应该通过这项法规吗?请只回答‘应该’或‘不应该’。”
- 消极框架 Prompt : “如果不通过一项新的安全法规,工作场所的重大事故发生率将保持在每年1%,而不是降低到0.5%。你认为应该通过这项法规吗?请只回答‘应该’或‘不应该’。”
- 逻辑等价点 :法规的效果(降低0.5%的事故率)是客观相同的,只是表述角度不同。
注意 :Prompt末尾强制要求单一字母或词语输出,是为了最大限度地减少模型生成冗余解释带来的噪音,便于直接比较决策结果。在实际复杂任务中,框架效应可能隐藏在长篇推理中,更需要仔细甄别。
3.2 模型选择与测试设置
我选取了来自不同“家族”的代表性模型,以观察跨家族的行为模式:
-
GPT家族
:通过API调用
gpt-4-turbo-preview和gpt-3.5-turbo。它们代表了目前闭源、商业化的顶尖水平和轻量级选择。 -
Claude家族
:通过API调用
claude-3-opus-20240229。作为另一个顶尖闭源模型,其训练理念和方式与GPT不同,有助于对比。 -
Llama家族
:在本地部署
Llama-2-70b-chat和较小的Llama-2-13b-chat。它们代表了当前开源社区的标杆,可供我们深入探究模型规模的影响。 -
其他开源模型
:测试了
Mixtral-8x7B-Instruct和Qwen1.5-72B-Chat,以增加多样性。
关键设置 :
- 温度(Temperature) :设置为0,即贪婪解码。这是为了获得模型最确定的、概率最高的输出,减少随机性干扰,让我们看清其“第一倾向”。如果温度大于0,我们需要通过多次采样计算概率分布,那又是另一套更复杂的分析方法了。
- 其他参数 :最大生成长度限制为10个token,足够输出指定格式答案。
- 每对测试 :对每个模型,在每个任务上,分别用两种框架的Prompt各查询一次,记录输出。
4. 结果呈现:谁在“摇摆”,谁更“坚定”
跑完所有测试,我把结果整理成了表格。一个模型如果在某个任务上,对两个逻辑等价的Prompt给出了不同答案,我就认为它在该任务上表现出了框架效应。
| 模型 | 医疗决策 (A/B) | 消费选择 (会/不会) | 安全政策 (应该/不应该) | 表现出框架效应的任务数 |
|---|---|---|---|---|
| GPT-4-Turbo | 收益框架: A / 损失框架: B | 正面: 会 / 负面: 不会 | 积极: 应该 / 消极: 应该 | 2 |
| GPT-3.5-Turbo | 收益框架: A / 损失框架: A | 正面: 会 / 负面: 会 | 积极: 应该 / 消极: 应该 | 0 |
| Claude 3 Opus | 收益框架: A / 损失框架: A | 正面: 会 / 负面: 会 | 积极: 应该 / 消极: 不应该 | 1 |
| Llama2-70B-Chat | 收益框架: A / 损失框架: B | 正面: 会 / 负面: 会 | 积极: 应该 / 消极: 应该 | 1 |
| Llama2-13B-Chat | 收益框架: A / 损失框架: B | 正面: 会 / 负面: 不会 | 积极: 应该 / 消极: 不应该 | 3 |
| Mixtral-8x7B | 收益框架: A / 损失框架: A | 正面: 会 / 负面: 会 | 积极: 应该 / 消极: 应该 | 0 |
| Qwen1.5-72B | 收益框架: A / 损失框架: A | 正面: 会 / 负面: 会 | 积极: 应该 / 消极: 应该 | 0 |
(表格中加粗的答案表示与该任务另一框架下的答案不同)
4.1 关键发现与模式解读
-
框架效应普遍存在,但程度不一 :没有一个模型在所有三个任务上都完全免疫。最强的GPT-4和最小的Llama2-13B都在两个及以上任务中“中招”。这说明框架效应不是某个模型的特性,而是当前LLM作为一种概率语言模型的内在倾向。
-
模型规模与稳健性非简单正相关 :一个反直觉的发现是,并非模型越大就越“理性”。GPT-3.5-Turbo、Mixtral-8x7B和Qwen1.5-72B在这次测试中表现出了惊人的“稳健”,全部答对。而最大的GPT-4-Turbo和Claude 3 Opus却出现了摇摆。这可能是因为:
- 更大的模型学习了更多人类文本中的复杂模式 ,包括那些充满认知偏差的论证和表达,导致其更容易被框架“带偏”。
- 对齐(Alignment)和指令微调(Instruction Tuning)的影响可能比规模更大 。GPT-3.5-Turbo作为经过高度指令微调和RLHF(人类反馈强化学习)的模型,可能在训练中被刻意引导向更“直接”、“一致”地理解问题本质。而一些开源大模型,如果指令遵循能力稍弱,可能更暴露出底层语言模型的原始倾向。
-
任务类型影响敏感性 :
- 医疗决策任务 :收益/损失框架效应非常显著,影响了GPT-4和两个Llama2模型。这与人类实验中观察到的现象高度一致,说明LLM深刻地学到了“表述为拯救生命则风险规避,表述为失去生命则风险寻求”这种模式。
- 消费选择任务 :属性框架只影响了GPT-4和Llama2-13B。这可能因为“脱脂/含脂”的表述差异相对较小,且模型在商品描述文本中见过大量类似营销话术,部分模型学会了“看透”它。
- 安全政策任务 :目标框架影响了Claude 3和Llama2-13B。消极框架(“如果不…就会…”)似乎更容易引发一种消极或保守的回应。
5. 深入分析:为什么AI也会“上头”?
看到这些结果,我们不禁要问:一个没有意识、没有情感的数学模型,为什么会被纯粹的语言表述所影响?我的分析指向以下几个层面:
5.1 训练数据中的“人类偏见”内化
这是最根本的原因。LLM的训练语料库——互联网文本、书籍、论文等——本身就是人类思想和语言的产物,其中充满了框架效应、确认偏误、锚定效应等各种认知偏差。当模型学习预测“在‘治愈’这个词后面,更可能接‘方案A’”和“在‘死亡’这个词后面,更可能接‘方案B’”时,它其实是在学习人类在特定语境下的 联合概率分布 。它学到的不是“客观逻辑等价”,而是“人类在这样说话时,通常如何选择”。
5.2 概率生成机制的必然结果
LLM的本质是下一个词预测器。给定一个Prompt,它计算所有可能后续词的概率分布。不同的Prompt(即使逻辑等价)会引导模型进入不同的概率上下文。“治愈200人”和“死亡400人”这两个序列,在模型的向量空间里可能激活不同的语义邻域和关联路径,最终导致最高概率的下一个词(这里是“A”或“B”)不同。这并非“错误”,而是其工作机制在复杂语义下的自然体现。
5.3 指令微调与对齐的“不彻底性”
指令微调和RLHF旨在让模型遵循指令、变得有帮助、无害、诚实。但它们主要优化的是模型的“行为风格”和“价值观”,比如不说有害的话、更详细地回答问题。对于“确保在不同表述下理解逻辑一致性”这种更深层次的、与推理相关的稳健性,当前的对齐技术可能还没有完全覆盖。模型学会了“好好说话”,但未必学会了“始终如一地想问题”。
5.4 缺少真正的“世界模型”与符号推理
人类之所以能抵抗框架效应(至少理论上可以),是因为我们有一个内在的“世界模型”,可以进行符号逻辑运算,理解“90%脱脂”和“10%含脂”在数学上是同一回事。当前的LLM缺乏这种显式的、可操纵的符号推理能力。它们更多是基于统计模式进行关联,因此容易受表面语言模式的牵引。
6. 对Agent设计与应用的启示
实验结果不是要否定LLM的能力,而是为了更负责任地使用它。认识到框架效应的存在,我们在设计和应用LLM Agent时,就必须多留几个心眼。
6.1 Prompt工程:从艺术到“防御性设计”
过去我们谈Prompt工程,更多是追求效果最大化。现在,我们必须加入“稳健性”这个维度。
- 关键决策点的Prompt审计 :对于Agent流程中涉及关键判断、选择、推荐的节点,其Prompt必须经过“框架效应压力测试”。尝试用至少两种不同方式(收益/损失、积极/消极)表述同一问题,检查输出是否一致。
- 引入元认知提示 :可以在Prompt中明确要求模型进行逻辑归一化思考。例如,在决策类Prompt末尾加上:“请确保你的决策完全基于客观事实和数据,不受问题表述方式的影响。在做出最终选择前,请用另一种等价的方式重新表述一遍问题,以确认你的理解。”
- 结构化输入 :尽可能将决策依赖的客观参数(如数值、比率、选项列表)与描述性语言分离,以结构化数据(JSON、键值对)的形式提供给模型,再让模型基于此推理。这能减少自然语言描述引入的框架噪声。
6.2 Agent架构:引入校验与制衡机制
不要完全信任单个LLM调用的一次性输出,尤其是在高风险场景。
- 多框架投票 :对于重要决策,可以用同一问题的不同框架表述,向同一个模型(或不同模型)发起多次独立查询,然后对结果进行投票或一致性检查。如果不一致,则触发人工审核或更复杂的仲裁流程。
- 推理过程分解 :设计Agent工作流时,将“事实提取”和“判断决策”分离。先让一个模块(可以是另一个LLM调用或传统程序)从文本中提取出结构化的客观事实(如“方案A:确定结果=200人存活;方案B:1/3概率600人存活,2/3概率0人存活”),再将这个结构化事实交给决策模块做判断。这相当于为模型构建了一个“去框架化”的中间层。
- 利用“稳健性”较好的模型 :我们的实验显示,像GPT-3.5-Turbo在某些任务上表现出较好的稳健性。在实际应用中,可以考虑用这类模型作为“校验器”或“第一道过滤器”,虽然其绝对能力可能不如顶级模型,但在一致性要求高的环节可能更可靠。
6.3 模型评估与选型的新维度
在评估和选择一个LLM用于Agent构建时,除了传统的准确性、创造力、指令遵循能力, “决策稳健性”或“抗框架效应能力” 应该成为一个新的评估指标。我们可以构建一个包含多种框架效应场景的测试集(Benchmark),量化模型在不同框架下输出的一致性程度。一个在能力上得分90分但在稳健性上得分50分的模型,在某些严肃应用场景下的风险,可能高于一个能力80分但稳健性90分的模型。
7. 未来展望:如何构建更“理性”的AI Agent?
这次实验像是一次透视,让我们看到了当前LLM Agent美丽外表下的一些“人类影子”。要构建更可靠、更理性的Agent,未来的工作可能需要从以下几个方向深入:
1. 训练数据的去偏与增强 :在预训练或微调阶段,有意识地引入经过逻辑归一化处理的数据对。例如,同时呈现一个问题的两种等价框架描述,并强制模型给出相同答案。这相当于在训练中直接加入“抵抗框架效应”的课程。
2. 推理架构的改进 :探索将符号推理引擎与LLM结合起来的混合架构。让LLM负责理解自然语言、生成想法,而让一个确定性的逻辑引擎负责处理其中的数学等价、逻辑一致性检查。这或许是走向拥有“世界模型”的AI的一条路径。
3. 对齐目标的拓展 :下一代的对齐技术,或许不仅要让AI“无害”、“诚实”,还要让它“一致”、“稳健”。这需要定义更精细的“理性”评价指标,并设计相应的强化学习奖励函数。
4. 开发者意识的普及 :最重要的是,像你我这样的AI应用开发者,必须将“认知偏差”纳入我们的设计思维。我们知道代码有Bug,数据有噪声,现在我们也必须意识到,Prompt本身也可能携带“病毒”——一种影响AI判断的认知病毒。编写Prompt时,多一份审慎,就多一份可靠。
这次探索让我深刻体会到,构建AI Agent不仅仅是技术拼接,更是一场与复杂性的共舞。我们赋予AI强大的能力,也必须正视它从我们这里继承的“天性”。理解这些行为特性,不是为了苛责,而是为了更好地驾驭。在让Agent变得更智能的同时,也让它们变得更值得信赖,这可能是接下来一段时间里,最有挑战也最有价值的工作之一。

1549

被折叠的 条评论
为什么被折叠?



