Back to list

社会能被模拟吗

Jim Lin
AGIProduct

周日下午两点,小镇北区停电了。

这是这一周的第三张停电通知。周三一张,周五一张,写的都是"明天下午两点到四点北区停电",结果两次电都没断。到了周日,照着通知调整安排的人明显少了,居民对官方的信任也掉了一截。

但被这次停电打个措手不及的人,并没有变多。

这座镇不存在。它叫 MicroCity,60 个居民都由 AI 驱动。上面这一幕是一次实验:同一个剧本在几座镇上反复跑了几十遍,每一遍都和一座"从没停过电"的镇对照着看。寓言里的狼来了,在这里是真的,只是比寓言温和。

起因:从快思考到一座小镇

九月 Jev 发布的时候,我花了两天测它,写了不是所有决策都值得慢思考。Jev 不生成文字,只回答你事先出好的选择题,快、便宜、答案的形状永远在你的掌控之内。那篇文章的结尾提到了社区里的一个项目 jev-town:50 个 AI 居民住在一个虚拟小镇里,你往镇上广播一条消息,就能看到每个人各自怎么想、怎么做。

看完之后,我脑子里一直转着一个问题:世界能不能被模拟?社会能不能被模拟?

如果能,就可以在一个微缩的社会里做社会实验。现实中的社会实验又贵又慢,还常常没法做:你不可能为了看"狼来了"灵不灵,故意对一座城市谎报三次停电。但在一座模拟的小镇里,同一件事可以重来一百遍,每次只改一个条件。

再往前想一步,如果这种模拟足够准,它就能帮我们做决策。比如模拟一批目标用户的画像,抛给他们一个新措施(一次涨价、一个新功能、一条通知的写法),先看看他们会怎么反应,再决定要不要在现实里做。我之前在虚拟用户越真实,产品经理越稀缺里写过模拟用户能帮人看见盲区。MicroCity 想试的是更大的一步:不只模拟一个人怎么回答问卷,而是模拟一群人之间怎么互相影响。

所以 MicroCity 一开始完全出于好奇。我想知道这件事能做到什么程度,又会在哪里失效。

它是什么

一座只有几十个居民的小镇。每个人有年龄、职业、家人、邻居和同事,有自己的日程、钱,还有手机电量。

实验的主角是一张停电通知。它可以发在网站上、推送到手机,或者贴在公告栏;标题可以写清楚"14:00 到 16:00",也可以只写"下午"。发出去之后,看每个居民怎样得知、信不信、改不改安排、又告诉了谁。等真相揭晓(来电了,或者电压根没断),再看人和人之间、人和官方之间的信任怎样变化。

点开任何一个居民,都能看到三样东西:他为什么知道,为什么这样选,没选的是什么。

观察:点开一个居民,看此刻在做什么、知道什么、为什么改了安排
观察:点开一个居民,看此刻在做什么、知道什么、为什么改了安排

居民做决定的方式,是这个项目最核心的设计。AI 不直接替居民"演戏",它只回答几道选择题:这件事让这个人有多担心,他想不想先查证一下,几个可行的选项里哪个最像他会做的,要不要告诉别人。最后的选择由一套写明的规则做出。停电、商店营业、钱和库存,也都由规则执行,AI 改不了世界。

回答选择题的"心智"有两种。一种是 Jev,真的去问模型;另一种是一组公式,免费,几秒钟就能跑完一座镇,公式是照着 Jev 的两千多个真实决策拟合出来的。一条结论,要两种心智都同意才算数。

我在这个项目里的角色

这个项目的代码、实验脚本和实验记录,大部分是 coding agent 写的。我的角色更像产品经理加实验设计师:决定问什么问题,定游戏规则,以及什么才算一条结论。

回头看,真正决定 MicroCity 长成现在这个样子的,是几个取舍。

让模型只做选择题,不让它编故事。 这直接来自测 Jev 时的体会:确定性不是模型给的,是选择范围给的。如果让大模型自由扮演居民,它会写出很像样的心理活动,但同一件事跑两遍可能是两个故事,你没法分辨哪个是规律、哪个是即兴发挥。把它限定在选择题里,每一次决定都可以重放、可以对照、可以追问"为什么"。

一条结论要过几道关。 假设写在实验之前,单独存档,结果出来之后不许回头改(这叫预注册)。同一个实验要换很多次运气重跑(换随机种子),只看整体的分布,不看某一次的故事。两种心智都成立才算结论,只在一边成立的,就老老实实标出来。

先猜,再看答案。 演示站的首页叫"实验广场",每张卡片是一个经典的社会学说法。你得先猜结果,才能看小镇的答案。这是故意的:模拟最有价值的时刻,往往是你的直觉被推翻的那一刻,而你得先把直觉写下来,才知道它被推翻了。

只开放免费的那一半。 访客只能用公式心智重跑实验,Jev 的结果是我事先跑好、写在卡片上的。这样任何人都能来玩,我也不用担心账单。

在小镇里重跑三个经典说法

狼来了:伤的是"信",不是"知道"

两次虚惊之后,第三次真停电时,照着通知调整安排的人少了:公式心智下大约少了四分之一,Jev 下少一点。对官方的信任一路往下掉。

但措手不及的人没有变多。通知照样传遍了全镇,大家都知道,只是信的人打了折扣。

更有意思的是把虚报和漏报放在一起比。连续两次该通知却没通知,让居民一共被打了 22 次措手不及;连续两次虚惊没让任何人措手不及,却让全镇白白挪了约 100 个小时的安排,还让下一次照做的人变少了。

漏报伤的是当下,虚报伤的是以后。

一个只想"别让人措手不及"的机构,很容易宁可多发警报。小镇给的提醒是,这笔账会记在下一次有人不照做上。

两次虚惊之后,第三张通知发出当天中午,北区居民的反应墙
两次虚惊之后,第三张通知发出当天中午,北区居民的反应墙

知沟:推送让年轻人和老人差得更远

只在网站上发通知时,老人和年轻人知道的速度差不多。加上手机推送,年轻人半小时出头就有一半人信了,老人要等将近一天。到停电那一刻,两边知情的差距反而拉大了。预注册时的直觉是家人会把消息带给老人、把差距补上,结果没有。

贴公告栏则正好反过来:老人晨练路过就看到了,两个小时左右过半,年轻人要十个小时以上。

同一条通知,放在推送里先到年轻人手里,贴在公告栏上先到老人眼里。

传话游戏:只要原文还在,走样就有上限

没有官方通知、全靠口耳相传时,消息传到第三手,还带着准确时间的转述只剩不到两成。有官方通知时情况不一样:很多人一开始只看了标题上的"下午",但走样的版本不断被原文拉回来,传到第三手还有两到三成是准确的。

传话不是一条链,而是一张网。

所有实验里最稳的一条结论,反而最朴素:用推送或公告栏,让半数人相信这条通知的时间从几个小时缩短到几分钟,在两百组不同的参数下全都成立。而"把通知写清楚,能不能让大家少折腾",时有时无,更多取决于这群人本身是什么样的。

让我改变看法的,是那些站不住的结论

做这个项目时,最有收获的不是哪个结论成立了,而是好几个结论站不住了。

最早的版本里,单跑一次得出过一个很漂亮的结论:"最大的代价来自标题写得模糊"。后来换成 20 种运气各跑一遍,再把 14 个参数逐个调高调低、加上 200 组随机参数,一共两万多次运行(八个线程三分钟跑完),这句话就站不住了:它只在一半上下的参数组合里成立,主要看运气。

之后一轮预注册了 20 条假设,在三种模型下都成立的只有 5 条。上面三个经典案例里,事先写下的直觉错了三处:以为一次虚惊没什么影响,以为家人会把知沟填平,以为谣言的强度等于重要性乘以模糊度。

单跑一次只是一个故事,结论要看分布。

还有一处,两种心智给出了相反的答案。公式里写的是"越不信官方,越要去官网查证";Jev 模拟的居民却是"越不信,越不去官网查",因为查证的渠道本身就是官方的。回头看,大概率是公式这一项的方向写反了。

这些经历让我对"社会能不能模拟"的看法变了。它能做的,不是直接告诉你答案,而是在现实付出代价之前,先把你的直觉推翻一次,顺便把模型自己的假设也暴露出来。

它还说不了什么

小镇里的结论,都只是"在这个模型下的结论",不是对现实的预测。它的边界要摆在明面上:

  • 居民是合成出来的。他们怎么转述、多在意、多信任别人,这些参数没有用现实数据校准过。校准用的"标准答案"是 Jev,而 Jev 本身也只是一个模型。
  • 有些差异是设定出来的,不是长出来的。比如谁订了推送、谁每天晨练路过公告栏,是小镇生成时就定好的规则。
  • 场景很窄。目前只有一种小镇、一种事件:停电。
  • 模型里藏着一些很强的假设。比如官方通知的可信度有个下限,所以小镇里不存在"再也不信官方"的临界点;现实里,长期失信很可能有这样一个临界点。

至于我最初设想的那一步,用它模拟目标用户、帮产品做决策,现在还差得远。要走到那一步,至少得先拿真实的用户数据去校准,再拿真实的结果去检验预测,反复几轮。在这之前,它更适合用来提出假设、找出盲区,而不是替你拍板。

来试试

演示站:microcity.linjiejim.com,不用注册。打开"实验广场",挑一张卡片:

  1. 先猜:比如两次虚惊之后,第三次真停电时照做的人会更多、差不多,还是更少?
  2. 看答案:小镇的结果,以及两种心智各自的判定。
  3. 在这里重跑:用公式心智在服务器上把实验再跑一遍。
  4. 复制并修改:把这个实验改成你自己的问题。
实验广场:猜完之后揭晓答案,以及两种心智各自的判定
实验广场:猜完之后揭晓答案,以及两种心智各自的判定

代码在 GitHub 上开源(MIT 协议),每个实验的预注册假设、判定规则和原始汇总都在仓库里。想推翻其中任何一条结论,需要的东西都已经摆在那里了。

我的思考

第一,模拟最有用的时候,是它让你的直觉先错一次。 这次三个案例里,事先写下的判断错了三处;更早的一轮里,20 条假设只有 5 条在三种模型下都站得住。如果没有预注册,这些错误都会被事后的解释悄悄抹平。模拟的价值大概不在于给出答案,而在于让错误发生在沙盘里,而不是现实里。

第二,能模拟到什么程度,取决于你愿意把多少东西写成规则。 让模型只做选择题、让规则裁决世界,换来的是可以重放、可以对照、可以追问为什么;代价是所有没写进规则的东西,小镇里都不会发生。这和测 Jev 时的体会是同一件事:确定性来自选择范围,而选择范围之外的世界不会消失。

第三,离"指导决策"还差一步校准。 用模拟的目标用户去试一个新措施,这个方向是成立的,但前提是模拟和现实之间有一条反复校准的回路。没有这条回路,模拟出来的反应再生动,也只是一个关于用户的假设。

参考