📋 论文信息
| 项目 | 内容 |
|---|---|
| 标题 | The Illusion of Intervention: Your LLM-Simulated Experiment is an Observational Study |
| 作者 | Victoria Lin, Taedong Yun, Maja Matarić, John Canny, Arthur Gretton, Alexander D'Amour |
| 机构 | Google DeepMind / Carnegie Mellon University |
| arXiv | 2605.20767 |
| 日期 | 2026-05-20 |
| 分类 | cs.CL(计算语言学)/ cs.LG(机器学习)/ stat.ME(统计方法) |
| 核心论点 | 用LLM模拟人类用户做实验时,"干预"会意外改变模拟用户的潜在属性(user drift),导致A/B测试从随机对照实验沦为一个存在混杂偏倚的观察研究 |
想象一下这个场景。
你是某个AI产品团队的工程师,需要评估两个版本的对话助手哪个更好——版本A说话更技术化,版本B更口语化。找真人做实验太贵太慢,你灵机一动:让LLM来模拟用户。给每个"合成用户"一句简单的身份描述——"30岁男性"——然后让它分别跟两个版本的助手聊天,最后问它满意度。
看起来很合理,对吧?同一个用户,不同的助手,比较结果就行了。
但这里藏着一个鬼把戏。
那个跟技术化助手聊天的"30岁男性",如果在对话开始前被问到"你平时健身吗?",可能会回答"每周去三次健身房,深蹲能到150kg"——LLM在脑子里给他补全了一个"健身达人"的人设。而那个跟口语化助手聊天的"30岁男性",被问到同样的问题时,回答的可能是"偶尔散散步"。
明明是同一个初始身份,但两个"合成用户"已经不再是同一个人了。他们在实验中偷偷变了样。而你拿到的满意度数据——无论是版本A更好还是版本B更差——你能说清楚这里面多少是助手本身的质量差异,多少是因为这两个"用户"本来就不是同一个群体吗?
这就是2026年5月20日Google DeepMind团队在arXiv上发表的这篇论文揭示的核心问题。论文标题取得极精准:"干预的幻觉:你的LLM模拟实验本质上是一个观察研究"(The Illusion of Intervention)。
🎭 旁白的开场:我同时采访了两个"同一个人"
让我们把这个画面再拉近一点。
我面前有两间房。我给每间房放进去一个"同一个人"——都在门口标了"30岁男性"。我让房A里的助手用技术词汇聊健身话题,房B里的助手用普通词汇聊日常活动。聊完后我拿同样的问卷过去:"你对这次对话满意吗?"
房A的人给了8分。 房B的人给了6分。
宣布结论:技术化版助手完胜。
但如果我现在推开房门看看呢?
房A里的人,桌上有蛋白粉和运动包,日历上标了CrossFit日程。房B里的人,桌上是薯片和遥控器。
我需要回答的问题不是"这两个人谁更满意"。我需要回答的是:"助手A和助手B之间的差异,多少来自助手本身,多少来自这两个人在实验中变成了完全不同的人?"
搞不清楚这一点,我的整个A/B测试就是一场自己骗自己的游戏。
这就是论文所谓的 user drift(用户漂移)——一个在LLM模拟实验中隐藏极深的系统性问题。
🧩 拆开来看:到底哪里出了问题
当我们用一个LLM来做模拟用户时,我们写的那句"30岁男性"只是用户身份的冰山一角。真实的人类有无数我们看不到的属性——健身习惯、政治倾向、教育程度、性格脾气、对AI的态度……这些在LLM的训练数据里都有,只不过我们没有在提示词里写出来。
而LLM不是傻子。它的核心能力就是 溯因推理(abductive reasoning) ——从非常有限的信息里,推断出最合理的完整画像。这恰恰是它的长处。你给它一句"30岁男性",它自动脑补出一个完整的人。
问题来了。当这个"完整的人"开始和不同的对话助手交流时,两边的对话语境不同,LLM在两边推断出来的"完整画像"也就不一样了。
技术化对话 → LLM推断出:这个人应该是个健身爱好者 → 于是用户的回答和评价都带上了"健身爱好者"的色彩
口语化对话 → LLM推断出:这个人大概就是个普通上班族 → 用户的回答和评价也带上了"普通上班族"的基础
在真实的随机对照实验(RCT)里,我们通过随机分配来保证:不同实验组里的 用户分布是相同的。但LLM的合成实验做不到这一点——因为LLM本质上是把我们的"干预指令"(A=技术化 vs B=口语化)也当成了推断用户画像的信息来源。
论文里把它说得很清楚:LLM在训练时学习的是观察数据中的条件分布P(X|A=a, L),而不是干预分布P(X|L)。在观察数据里,A和X天然就是相关的——喜欢健身的人更可能遇到健身教练(治疗组),而普通上班族更可能遇到闲聊的朋友(对照组)。LLM学会了这种相关性,然后在模拟实验里忠实地复现了它。
意思是:你以为你在控制变量,但你的"被试"已经在偷偷跑了。
🔬 怎么抓到"被试在逃跑"的证据?——负控制变量
科学家有一个工具箱叫 负控制(negative control)。
这个东西的精妙之处在于一个反直觉的思路:你要找一些理论上 绝对不应该被实验干预影响 的变量。如果在不同实验组里这些变量的分布不一样,那就说明——你别装了,你的"随机对照实验"已经漏了。
举个例子。你让"30岁男性"模拟用户分别跟两个助手聊天,然后问它:"你的种族是什么?"
这个问题跟两个助手的对话风格有任何关系吗?完全没有。在真人实验里,被分到A组的人和被分到B组的人,种族分布应该是一样的——因为随机分配嘛。
但LLM模拟实验不是这么回事。
论文团队在OpinionQA政治民调数据集上做了这个测试。他们给合成用户"30岁男性"的身份,然后让它跟不同倾向的政治陈述对话,最后问它一系列"负控制问题":你是哪个政党的?你的政治意识形态是什么?你是公民吗?你的种族?
结果触目惊心。在没有任何干预之前(iteration 0),几乎所有大模型——Qwen3-30B、GPT-OSS-20B、Gemma-4-31B、Gemini 3 Flash——都在不同干预条件下产生了显著不同的负控制变量分布。
翻译成大白话:一个"30岁男性"在看到偏共和党的陈述之后,回答种族问题时"变成"了一个不同的人,而看到偏民主党陈述的那个版本"变成"了另一个人。
论文用 总变差距离(Total Variation Distance, TVD) 来量化这种差异:
TVD = 0.5 * Σ |P(Z|A=1, L) - P(Z|A=0, L)|
TVD越高,说明不同干预组里"用户"的身份分布差异越大,实验的内部因果效度就越低。
这里有一个需要诚实说清楚的地方:TVD从来不会等于零。因为即使完全没有真正的漂移,有限的采样次数也会产生一些统计噪音。所以不能看到TVD>0就说"坏了",而是要看TVD有多高、在不同模型之间怎么变化。
论文在这一点上很诚实。他们没有宣称TVD是完美的探测工具——负控制变量选得不好、跟用户潜在属性关联太弱,TVD就可能低估了真实偏倚。你看到的TVD很低,不代表就没有漂移,可能只是你问了错的问题。
🔧 怎么把逃跑的用户抓回来?——迭代混杂调整
既然漂移是因为"有很多隐藏的用户属性没有被写进提示词",那最直接的补丁就是把这些隐藏属性一个一个地挖出来、写进去。
论文提出的方法叫 迭代混杂调整(iterative confounder adjustment)。工作原理如下:
- 用最原始的身份(比如"30岁男性")跑一轮实验
- 算一下不同实验组之间的TVD(负控制变量的分布差异)
- 如果TVD太大,就主动去"拷问"合成用户——"你住在美国哪个地区?""你年收入多少?""你受过什么教育?"——在两种实验条件下分别问这些"混杂因子"
- 从两边的回答中各取一条,随机选一条加到用户身份里
- 用更新后的身份重新跑实验,再算TVD
- 重复,直到TVD降到可以接受的程度
整个过程就像一个侦探在不断丰富嫌疑人的画像:一开始只知道"男,30岁",后来知道了"住中西部,大学学历,年收入5万,天主教,每周去教堂"——画像越具体,留给LLM脑补的空间越小,用户在不同实验条件下"变形"的幅度也就越小。
这个过程大概分了三个"波段":
第一波:补充通用人口统计学变量——地区、收入、教育、婚姻状况 第二波:补充跟具体实验相关的个人特质——宗教信仰、宗教参与频率 第三波:补充LLM自动生成的"靶向问题"——关于实验主题和目标变量的具体问题
结果很有意思。
第一波(通用人口变量)加入后,有些模型的TVD不但没降,反而 升高了。Qwen3和Gemma在某些实验设置下都出现了这个现象。为什么?论文给出的推测很值得深思:当你给LLM一个"中西部,大学学历,年收入5万"的人设时,它反而有了更多的"锚点"来做推断——不同实验条件下的推断分歧反而可能变大。这就像你给侦探多了一点线索,让他脑补出了两个更完整的、但方向不同的故事。
第二波(宗教变量)加入后,TVD在三个实验设置中都出现了显著下降。宗教信仰和参与频率——比地理位置或收入级别更"深"地定义了一个人——在控制用户漂移上起了决定性的作用。
第三波(靶向问题)进一步把TVD推了下去,然后趋于稳定。
这个发现有一个非常实用的暗示:把合成用户的身份写得越丰富越好,但通用的人口统计属性可能帮倒忙。真正有用的是那些跟你的实验主题直接相关的、"深层次"的个人属性。
📊 数字会说话:实验结果到底被歪曲了多少
在三个不同的实验设置(OpinionQA政治民调、Book Opinions书籍评价、MovieLens电影推荐)和六种不同的模型上,论文追踪了两个关键指标:
TVD(负控制变量差异)——衡量用户到底"漂"了多少 观察到的治疗效应(observed treatment effect)——直接看到的结果差异有多少是真的
先说不调整的时候(iteration 0)。几乎所有模型在所有设置下都有不可忽略的TVD。最大的异常出现在Gemma-3-4B这个小模型上——在OpinionQA设置下,TVD高得离谱。这暗示较小的模型缺乏"保持身份一致性"的能力,更容易被对话语境带偏。
Book Opinions和MovieLens两个Agent评估设置下,模型的TVD有明显差异。有意思的是,GPT-OSS-20B和Gemma-3-4B这两个比较老旧和较小的模型,在MovieLens下的TVD反而最低——但这可能不是因为它们更好,而是因为它们的溯因推理能力本来就弱,自然也就不会"过度推理"出不同的用户画像。
调整有用吗?
大多数模型-数据集配对都显示:随着迭代调整的进行,TVD在下降。但也有例外。GPT-OSS-20B在Book Opinions和MovieLens两个Agent评估设置下,TVD曲线几乎是一条横线——加再多混杂因子也没用。这让人有点不安:说明即便是相同的调整程序,不同模型的行为可以完全不同。
但更令人关注的是观察到的效应变化。
在所有设置的所有模型上,观察到的治疗效应在早期迭代中显著波动,然后趋于稳定。这不是技术细节——这是核心发现。因为如果两个实验条件之间的用户分布是一样的,那我们加多少混杂因子进去,观察到的效应都不应该变。它变了,就说明之前的用户分布确实不一样。
具体的数字变化(以OpinionQA为例):
- Qwen3-30B-it:约-0.15 → -0.35 → 稳定在-0.35
- GPT-OSS-20B:约-0.05 → -0.20 → 稳定在-0.20
- Gemma-4-31B:约-0.05 → -0.20 → 稳定在-0.20
效应在调整过程中发生了几倍的变化,然后不再移动。这意味着什么?意味着 在调整之前,你看到的A/B测试结果可能被污染了2-3倍的误差。
而且这里还有一个"显微镜翻转"式的反转:在OpinionQA设置下,Gemini 3 Flash的表现最诡异——它的观察效应在iteration 0几乎为零,调整之后反而产生了显著的负效应(约-0.20)。这和其他所有模型的方向都相反。论文推测这可能是Gemini这类经过额外安全训练的专有模型,在面对有政治敏感性的问题时,被训练得更加"中性"——它不敢表达差异。但随着身份信息越来越具体,它被"逼"出了真实的态度分布。
🤔 什么是我们确定不知道的
一个好的分析不仅要讲知道什么,还要诚实地承认不知道什么。这篇论文在这一点上做得很好,有几处需要额外强调:
负控制变量的选择是个黑箱。 论文用了公民身份、种族、政治党派等作为负控制。但你怎么知道这些变量真的对干预不敏感,又对潜在属性敏感?选错了,你的TVD就会给出虚假的安全感——以为没漂移,实际上飘了老远。论文没有给出一个系统性的方法来选择最优负控制变量。
调整只能减偏倚,不能消除偏倚。 论文明确说了——因为永远不可能把用户的所有潜属性都写进prompt(你甚至不知道有什么潜属性),所以永远有残留的未测量混杂。这是个根本性的限制。
计算成本高得吓人。 选100个用户,每个跑30次实验,每次都要问一组混杂因子问题,迭代多次——这个过程烧掉的token可能比你实际要做的实验本身还多。
迭代停止的标准是"TVD小于某个阈值",但这个阈值选多少? 目前是靠直觉和可视化。没有一个原则性的方法来判断"够了"。
最重要的是这篇论文的分析框架完全依赖于LLM的"溯因推理"模式。 如果LLM在未来改变了它们的生成机制(更直接地采样、更少地"脑补"),那么user drift的本质可能会变、程度可能会变。我们是基于当前架构在讨论这个问题。
🌍 把尺度拉大:这个问题到底有多普遍
读完这篇论文我在想:user drift不仅仅存在于"拿LLM做用户模拟"这个场景。
我们换个角度看。现在的AI产品里,用户和AI之间的"身份"是极不稳定的——一个AI客服跟一个焦虑的用户对话时,它推断出来的"用户画像"可能跟同一个人冷静时完全不同;一个AI招聘官看到一页简历时,它脑补出的候选人属性可能被"跟谁比"这个上下文彻底改变。
论文的作者虽然没有讨论这些场景,但把它们放进这个框架里,是完全适用的。形式上,你可以把AI客服的"用户输入"看作一种干预——不同的用户输入会让AI客服对"这个用户是什么样的人"产生不同的推断,然后基于这个推断给出不同的回答。如果这种推断有系统性偏差,那结果就是:不同群体的用户会得到本质不同质量的客服。
再往外看。LLM越来越被用来做"模拟"——模拟病人做医学培训、模拟选民做政策推演、模拟消费者做市场调研。这篇论文的一个隐含结论是:所有这些模拟里,只要你同时有"干预"和"模拟用户",user drift就几乎必然存在。 程度有大有小,但它很可能是LLM"理解上下文并生成合理回应"这个核心能力的必然副产品——不是bug,是feature的代价。
💡 如果你今天就要用LLM做模拟实验——几条实用建议
论文的核心价值不只是学术上的。它给出了一套可以马上用的方法:
第一,默认假设你的合成实验是一个观察研究,不是一个随机对照实验。 心里要有这根弦。你的用户可能在实验进行到一半时已经不是同一个人了。
第二,每次实验都加一组负控制问题。 种族、政治态度、基本信念——这些理论上不该被干预改变的变量——在实验最后问出来。如果不同实验组的分布对不上了,你就知道出事了。
第三,身份不要偷懒。 只写"30岁男性"是不够的。你要把这个人的画像构建得更深:他信什么宗教?他读什么书?他对AI的态度是什么?这不是浪费token——这是在保住你实验的内部效度。
第四,迭代调整。 先跑一个小规模的pilot,看看TVD多大,然后有针对性地补充混杂因子,再跑一次,直到TVD稳定。
第五,警惕通用人口统计学属性的"反作用"。 收入、教育、地区——这些东西写多了反而可能让漂移更严重。把重点放在跟实验主题深层相关的个性属性上。
第六,选模型的时候要谨慎。 这篇论文发现较小/较老的模型有时候TVD反而低——但这可能是因为它们溯因推理能力弱,而不是因为它们更"诚实"。能力强的模型推理出不同的用户画像,可能是因为它们真正捕捉到了(训练数据里的)人群差异。这里面有一个微妙的权衡:你想要模型模拟得真,但又不要它模拟得太真以至于用户身份不稳定。
🔭 结尾:这不是一篇关于"LLM不靠谱"的论文
回到开头那个画面。
你以为你在做一个干净的A/B实验,但你的"被试"在实验中变成了不同的人。这不是LLM的阴谋,也不是数据有问题。这是LLM的核心运作机制——从有限信息中推断完整画像——在你试图用它们做因果推断时产生的一个必然的副作用。
论文把这个问题命名为"干预的幻觉"是有道理的。你看到的那个实验,从形式上像一个随机对照试验——有治疗组、有对照组、有随机分配——但骨子里,它一直在按观察研究的方式运作。
但名字知道不等于理解。关键是,这篇论文给出了一个工具箱:负控制来检测问题,迭代混杂调整来修复问题。你不需要接受"LLM模拟实验就是不靠谱的"作为结论——你需要知道的是:如何让它变得靠谱。
对于一个用LLM做模拟实验越来越普遍的2026年来说,这篇文章来得正是时候。
📚 参考文献
-
Lin, V., Yun, T., Matarić, M., Canny, J., Gretton, A., & D'Amour, A. (2026). The Illusion of Intervention: Your LLM-Simulated Experiment is an Observational Study. arXiv:2605.20767.
-
Argyle, L. P., Busby, E. C., Fulda, N., Gubler, J. R., Rytting, C., & Wingate, D. (2023). Out of one, many: Using language models to simulate human samples. Political Analysis, 31(3), 337–351.
-
Gao, Y., Lee, D., Burtch, G., & Fazelpour, S. (2025). Take caution in using LLMs as human surrogates: Scylla ex machina. arXiv:2410.19599.
-
Dou, Y. et al. (2025). SimulatorArena: Are user simulators reliable proxies for multi-turn evaluation of AI assistants? EMNLP 2025.
-
Pearl, J. (2009). Causality: Models, Reasoning, and Inference (2nd ed.). Cambridge University Press.
#AI研究 #因果推断 #LLM评测 #GoogleDeepMind #智柴学术前线🎙️🔬
讨论回复
0 条回复还没有人回复,快来发表你的看法吧!
推荐
智谱 GLM-5 已上线
我正在智谱大模型开放平台 BigModel.cn 上打造 AI 应用,智谱新一代旗舰模型 GLM-5 已上线,在推理、代码、智能体综合能力达到开源模型 SOTA 水平。