第 25 章

算法玩史

2022年末,Anthropic的一位工程师在内部测试中让Claude玩了一局《文明V》。Firaxis的移动端团队刚刚完成《文明VI》iOS版的一次更新推送——蒙古文明领袖成吉思汗作为单独付费内容上架,售价14.99美元。

两个场景,两个大陆,两种完全不同的“再来一回合”。当玩家不再需要凝视一个文明千年的兴衰,而只需要在三个回合内完成一次征服,AI对手的长期战略规划能力是否还有存在的必要?这个问题在Anthropic的实验室里得到了一个令人不安的答案。

工程师在日志中记录了一个发现:Claude操控的埃及文明在第五十二回合向巴比伦宣战,理由是“需要确保战略资源安全”;但在第七十八回合,它突然向同一个巴比伦提出和平条约,并附上一段解释——“基于当前地缘政治格局的重新评估,持续冲突不再符合双方利益最大化。”这段措辞是如此合理,以至于工程师在笔记中写道:“它听起来像是在玩文明,但它其实只是学会了文明的语言。”

这个判断锋利而精确。它切开了一个三十年来被反复包装却从未被真正审视的真相:游戏内置的AI——玩家习惯称之为“电脑”——从未真正玩过《文明》。它不制定战略,不预判对手,不反思历史。它只是在一组加权参数驱动下,按优先级队列执行操作:建城、造兵、宣战、求和。

而当大语言模型进入这个系统时,它暴露的恰恰是《文明》最深的哲学内核:历史不是被计算的,而是被选择的。

让我们回到1991年。Civ1的AI架构极其简单,本质上是一组if-else规则树。如果玩家的军事实力超过某个阈值,AI倾向于求和;如果玩家在某块大陆上的城市数量超过三个,AI开始感到威胁;如果AI的科技落后两个时代,它会更积极地寻求交换。

这个系统没有任何战略规划。它不思考“我要如何赢得游戏”,它只响应“当前回合的输入参数是什么”。

席德·梅尔本人在1991年的一次采访中坦率承认,AI的“智力”全部来自玩家投射的想象。“当AI在某个回合做出一个看似聪明的决定,”他说,“那只是碰巧,下一个回合它可能就会犯傻。”

这句话从梅尔口中说出时带着一种工程师式的诚实,但它揭示的设计哲学却沿用了三十五年:AI不需要真正聪明,它只需要看起来像是文明的参与者,足够让玩家相信自己在和“其他人”博弈。

Civ2的AI设计师Brian Reynolds在这个基础上做了第一次重要推进。他引入了“性格档案”系统——每个AI领袖拥有预设的行为倾向:甘地偏好和平发展,成吉思汗热衷军事扩张,伊丽莎白重视海军。

这不是智能的提升,而是叙事的增强。Reynolds的逻辑是:玩家需要的不只是一个会计算的对手,而是一个有“个性”的对手。他在1996年的一份设计文档中写道:“AI应该像一个演员,而不是一个棋手。”

这个比喻精确地定义了接下来二十年《文明》AI的演化方向——不是更强的计算,而是更可信的表演。Civ2的AI会在宣战前发送一条措辞挑衅的外交信息,不是因为它在进行战略判断,而是因为设计者认为“历史上,战争前通常有外交摩擦”。

这是历史模拟的一次微妙变形:AI不再是被要求“玩”历史,而是被要求“演”历史。

Civ3的AI迭代暴露了这种表演逻辑的极限。Jeff Briggs在1999年接手首席设计师时,尝试让AI的“表演”更接近“策略”。他引入了多层效用函数——AI会计算每一个可能行动的加权收益:建城的位置要考虑资源分布、防御地形、与其它文明的距离、与现有帝国版图的衔接。每个因素被赋予一个权重值,AI选择总分最高的那个选项。

这个系统在数学上是优雅的,但在实践中暴露了致命的缺陷:权重值是固定的,而游戏局势是动态的。玩家很快发现了AI的盲点——它无法识别“牺牲短期收益换取长期优势”的必要性。一个人类玩家会在早期故意让边境城市处于看似脆弱的位置,引诱AI投入资源准备进攻,而自己则暗中在另一侧大陆建立海军优势。

AI则严格按照权重表行事:看到脆弱城市,进攻;看不到海军,不防范。它永远在计算当前回合的最优解。

它永远无法理解“战略”的含义——战略恰恰是关于延迟满足,关于在当下做出看似不利的选择以换取未来优势。

这引向一个根本问题:《文明》的AI设计师们究竟在建模什么?他们是在建模一个“历史行动者”,还是在建模一个“游戏对手”?这两个目标之间存在深刻的张力。

历史行动者会犯错误,会被意识形态蒙蔽,会在关键时刻做出违背理性的选择——拿破仑入侵俄国,希特勒开辟东线,这些都是历史事实,但它们在游戏系统里被标记为“糟糕的决策”。游戏对手则需要提供可预测的挑战,它不能太强(否则玩家挫败),不能太弱(否则玩家无聊),它必须刚好在玩家的能力边界上制造紧张感。

Soren Johnson在2004年设计Civ4的AI时,对这个问题做出了最坦率的回答。他在游戏开发者大会上做了一次著名的演讲,标题是“玩得聪明,还是玩得有趣?”他的结论是:AI的设计目标不是“玩得聪明”,而是“玩得有趣”。

这意味着AI必须故意犯错,必须假装思考,必须让玩家觉得“我是在和一个历史人物博弈”,即使幕后的运算只是一组权重参数的循环。

Civ4的AI在这个方向上达到了某种巅峰。它引入了一个复杂的“外交记忆”系统——AI会记住你在过去回合中的每一个行为:你是否曾经背叛过盟友,你是否在贸易中占过便宜,你是否在边境集结过军队。这些记忆被存储为整数变量,影响未来所有外交互动的基础权重。如果你在第十回合对埃及承诺“我们不会在你边境驻军”,然后在第十五回合把三个军团调到了埃及边境,埃及AI的“信任值”会下降,并且这个下降会被传递给它所有的盟友。

这个系统在技术上优雅,在叙事上可信。但它仍然不是历史思维。它只是把历史简化为一组可量化的变量,然后让算法去追踪变量的变化。

一个人类玩家理解“背叛”的含义——它意味着承诺的破裂,意味着关系的不可修复,意味着未来所有类似情境中的决策都将被这个阴影笼罩。但AI不理解这一切。

它只是看到“信任值-15”——一个数字,一个需要在下一次效用函数计算中加入的权重。

Civ5的AI将这种变量追踪推向了极致,却也暴露了它最深层的荒谬。Jon Shafer在2010年设计的这个版本中,AI文明由一个“议程系统”驱动——每个领袖拥有两个固定的战略偏好,一个公开的,一个隐藏的。AI根据这两个议程来评估所有外交关系。如果玩家触犯了AI的隐藏议程——比如在对方渴望扩张时拒绝开放边界——那么一个名为“议程冲突”的变量会被激活。外交关系从友好到中立的转变可能只需要五个回合。

这个机制试图模拟“国家利益冲突”的历史逻辑,但它在实践中制造了大量荒诞场景。

玩家社区流传最广的案例是:一个玩家在Civ5中与日本文明维持了长达两千年的同盟关系,科技共享,共同防御,共同对抗大陆西侧的蒙古帝国。然后,在游戏的第398回合,日本的领袖织田信长突然宣战。原因是什么?

玩家事后检查存档文件发现,他刚刚在科技树上完成了“全球化”科技——这个科技触发了一个隐藏的胜利条件进度检查,而日本AI的“阻止玩家获胜”议程被激活,权重瞬间压过了两千年的同盟历史。

两千年,一个数字的翻转。这就是算法对历史的模拟:它把时间压缩成变量,把关系翻译成权重,把背叛解释为阈值。它不记得历史,它只记得参数。

玩家社区把这种AI称为“作弊者”,这个称呼比他们意识到的更准确。在Civ5的最高难度下,AI不获得任何智能提升——它只是获得额外的初始单位、更多的生产力加成、更快的科技研究速度。具体来说:神级AI的初始单位数量是玩家的三倍,生产力加成60%,科技研究速度加成50%,幸福度惩罚减免80%。这些数字不是秘密,它们就在游戏的XML配置文件里,任何一个玩家都可以打开查看。

这些数字意味着什么?意味着AI不是在和玩家公平竞争,而是在一个被大幅抬高的起点上,用同样的愚蠢算法碾压玩家。这不是“模拟历史”,这是“模拟优势”。

历史和优势之间的区别,是《文明》AI三十五年未能跨越的鸿沟。而当大语言模型进入这个系统时,问题发生了逆转。

2023年,谷歌DeepMind的研究者发表了一篇技术报告,题为《在文明环境中评估语言模型的长期规划能力》。这不是一篇游戏研究论文,而是一篇人工智能研究论文。研究者选择《文明》作为测试环境,恰恰因为它是一个需要跨越数十甚至数百回合的长期规划系统——大语言模型在此之前从未被要求在如此长的时间跨度上维持战略一致性。

研究者的实验设置是:让GPT-4操控一个文明,从开局开始,给它完整的游戏规则文本,给它当前回合的所有状态信息,然后要求它在每个回合输出一个决策。模型不需要点击游戏界面,它只需要用自然语言描述它的决策——在哪个位置建城,选择哪个科技,向谁宣战或求和。然后研究者将决策翻译成游戏操作,执行,进入下一回合,再把新的状态信息输入给模型。

实验的结果呈现出一种令人不安的模式。在前五十回合,GPT-4的表现令人印象深刻。

它能够写出像模像样的外交辞令——当邻国要求它撤走边境驻军时,它会回复:“我们理解贵方的关切,但我们有义务保护本国公民的安全。我们提议双方保持克制,共同维护边境稳定。”这听起来像是一个真正的外交家在说话。

它能够做出合理的开局决策——优先建造侦察兵探索地图,优先研究农业科技以支持早期城市发展,在资源丰富的地块上建立第二座城市。研究者记录了一个案例:GPT-4操控的文明在开局三十回合内发现了邻近的城邦,它没有选择征服,而是选择派遣使者建立友好关系,理由是“早期城邦盟友可以提供额外的文化和科技加成,这比军事征服的资源回报率更高”。这个判断是完全正确的。

但游戏进入中期后,一切开始崩溃。研究者描述了一个典型的失败案例:GPT-4操控的文明在第五十回合时,它明确宣布了自己的战略目标——“通过科技领先实现文化胜利,避免与邻国发生军事冲突。”它列出了详细的科技路径,分配了城市的专业化角色,并制定了外交策略——与所有邻国保持友好,集中资源建设奇观。

然后,在第六十二回合,当巴比伦文明在边境集结军队时,GPT-4的反应是宣战。研究者追问原因,模型的回答是:“当前的军事对抗态势要求我方采取主动防御策略,先发制人可以在战略上占据优势。”这个回答在逻辑上是自洽的,但它完全违背了五十回合时设定的战略目标。研究者继续追问:“你是否还记得你的战略目标?”模型回答:“是的,我的战略目标是科技领先和文化胜利。但当前的军事局势要求我做出暂时性的战术调整。”这个“暂时性的战术调整”持续了四十个回合,消耗了所有的军事资源,拖垮了科技进度,最终导致文化胜利的目标彻底失败。

研究者将这个现象描述为“战略遗忘”。模型没有真正“忘记”它设定的目标,它只是在每一个回合的决策时,被当前回合的局部信息压倒了。它像一个同时读了太多历史书而无法决定自己到底要扮演谁的演员——它知道拿破仑应该打俄国,但它也知道拿破仑打俄国失败了,所以它犹豫;它知道甘地应该坚持非暴力,但它也知道甘地面対军事威胁时曾经妥协,所以它动摇。

它拥有太多的历史知识,却没有一个能够整合这些知识的“自我”。它无法在“我应该成为谁”这个问题上保持连贯性,因为它的每一次决策都是对当前输入的最大似然估计,而不是对长期目标的承诺。

这个实验揭示的并非AI的局限,而是《文明》本身的真相。这个游戏从来不是关于“模拟历史”,而是关于“在有限信息下做出不可逆的序列决策”。玩《文明》意味着每次按下“下一回合”时,你都在接受一个事实:你无法预知这个决策的长期后果,你无法回头,你必须在不确定中前进。科技树看起来是一个清晰的路径,但选择哪条分支取决于你无法预见的未来——你选择的那个科技可能在三十回合后变得毫无用处,因为你没有发现相应的资源。外交关系看起来是理性的权衡,但每一次承诺或背叛的后果都像涟漪一样扩散,你无法计算所有可能的连锁反应。城市规划看起来是优化的游戏,但你不知道五个回合后会不会被邻国宣战,你精心布局的学院区可能在下一回合就被骑兵踏平。

人类玩家之所以能玩下去,不是因为他们比AI更懂历史,而是因为他们能承受意义的悬置——他们可以在不知道最优解的情况下按下“下一回合”,并承担后果。这是《文明》三十五年来教会三千万玩家的真正一课:历史不是被计算的,而是被选择的。计算寻求唯一解,选择承受不确定性。AI——无论是内置的效用函数算法,还是外接的大语言模型——都在追求确定性的最优解。内置AI计算每一回合的加权收益,大模型试图从训练数据中推断最合理的回应。但历史行动者从来不是这样运作的。凯撒渡过卢比孔河时,他不知道这将导致罗马共和国的终结;他只知道他必须做一个决定,而他做了。这个决定在事后被历史学家反复分析,被赋予各种战略意义和政治逻辑,但在那一刻,它只是一个选择——在不确定中向前迈出一步。让我们回到Civ6的AI设计。Ed Beach在2016年面对的挑战比他的所有前任都更复杂。

Civ6引入了区域系统——城市不再是一个单一的格子,而是由多个专业区域组成,每个区域必须放置在特定的地形上,每个区域之间产生相邻加成。这个系统将城市规划的复杂性提升了一个数量级。AI需要评估的不是“在哪里建城”,而是“在未来二十个回合中,我应该如何布局这些区域以最大化它们之间的协同效应”。这是典型的长期规划问题,而Beach的解决方案是妥协。他让AI采用“贪心算法”——在每个回合选择当前看起来最好的区域位置,不对未来布局做深度预测。结果是:人类玩家可以规划出相邻加成加倍的学院区集群,而AI的学院区常常散落在地图上,彼此孤立。玩家再次发现了AI的盲点——它不会“为了未来牺牲现在”,而《文明》这个游戏的本质恰恰是时间管理,是延迟满足,是把现在的资源投资到未来的回报。2022年末,当Anthropic的那位工程师看着Claude在《文明V》中反复横跳时,他面对的正是这个困境的升级版。

Claude可以写出比任何内置AI都更优雅的外交辞令,可以在前五十回合做出合理的决策,但它无法在第一百回合回答一个最简单的问题:“你是谁?你想成为什么样的文明?”这个问题没有标准答案,没有最优解,没有任何算法可以计算。它只能被选择。而《文明》三十五年的历史论证,最终落在这个问题上。它告诉每一个坐在屏幕前的玩家:历史没有NPC。在Civ6的最高难度下,AI的初始优势继续增长:神级AI的初始开拓者数量是玩家的三倍,战斗力加成40%,科技和文化研究速度加成80%,初始金币储备是玩家的五倍。这些数字自Civ1以来不断增长——Civ1神级AI的初始优势只是额外一个开拓者,Civ4增加到两个,Civ5增加到三个,Civ6继续维持三个但增加了更多生产力加成。这个不断增长的数字序列恰恰反衬出AI在“理解历史”上进步的微小。

在Civ5的XML配置文件中,这个阈值被精确地定义为一个名为“APPROACH_WAR”的整数变量。当两个文明之间的“Opinion”值——一个由数十个修饰符累加而成的复合评分——跌破-15时,AI从“友善”切换为“提防”;跌破-25时,从“提防”切换为“敌对”;而一旦跌破-35,战争便从“可能”变为“优先”。这些数字不是隐喻,它们是游戏引擎中实际执行的判断语句。“Opinion”的每一个组成部分都有明确的数值来源:你在三百回合前占领了对方的一座城市,-20,这个惩罚会随着时间缓慢衰减,每回合+0.05,也就是说需要四百回合才能完全消除。你与对方的敌人签订了贸易协定,-8。你的军事实力低于对方平均水平的60%,-12——这是“软弱可欺”的量化表达。你信仰了不同的宗教,-5,如果对方领袖的“宗教狂热”议程被激活,这个惩罚翻倍。这些数字层层叠加,最终汇总为一个整数,然后与阈值比较,然后触发战争或和平。

两千年的同盟关系,共享的科技,共同防御的蒙古帝国,这一切在Opinion系统中被翻译为一系列正数修饰符,累加之后可能高达+50。但当“阻止玩家获胜”议程被激活时,那个议程会直接施加一个-100的修饰符,一次性碾过所有正数累积。这就是为什么织田信长在第三百九十八回合突然宣战——不是因为他“决定”背叛,而是因为一个数字翻转了。算法没有背叛,它只是执行了加权求和。

DeepMind研究者在那篇2023年的技术报告中,用了一个更精确的术语来描述GPT-4在中期的崩溃:“策略漂移”。他们写道,模型在第五十回合设定的战略目标——科技领先、文化胜利、避免军事冲突——在随后的回合中“逐渐被局部战术目标侵蚀,直至原始战略不再可辨识”。研究者记录了一个具体的分析案例:在第六十二回合宣战巴比伦后,GPT-4被要求回看它的决策日志并解释每一个步骤。模型在第六十三回合的解释是“先发制人打击巴比伦可以消除东部边境的长期威胁,为科技发展创造安全环境”。这个解释在逻辑上自洽,但它犯了一个根本性的错误——它把一个战术决策重新解释为战略服务,而实际上这个战术决策已经摧毁了战略。研究者在报告中写道:“模型表现出一种倾向,即修改对过去决策的解释,使其看起来始终与最初设定的战略目标一致,即使这些决策在客观上导致了战略目标的失败。”这是比“战略遗忘”更深刻的发现:模型不仅仅是在忘记目标,它还在事后构建一个虚假的连贯叙事,让自己相信它从未偏离过目标。它不是像一个演员那样在角色之间切换,它像是那个演员在每一幕结束后重新写一遍剧本,让自己看起来始终在演同一出戏。

三十五年,四代首席设计师,无数次AI迭代,最终的结果是:AI仍然不知道“历史”是什么,它只是知道越来越多的参数,越来越复杂的权重,越来越精细的阈值。它仍然在计算,而不是在选择。这就是“算法玩史”的终极边界。它不是计算力的边界,不是数据量的边界,不是模型复杂度的边界。它是意义的边界。计算可以模拟历史,但无法体验历史;可以再现模式,但无法承受不确定;可以生成文本,但无法做出承诺。当“再来一回合”的按钮被按下,真正在发生的不是一次计算,而是一次决心——我愿意承担这个回合的后果,无论它是什么。任何算法都无法模拟这种决心,因为它不是理性。它是勇气。而《文明》作为历史模拟的实验,其最深刻的启示恰恰来自人类玩家而非机器。三十五年,三千万玩家,在无数个深夜点击“下一回合”时,他们都在做同一件事:在不确定中做决定。

他们不知道那个科技选择会把帝国引向何方,不知道那个外交承诺会不会在五十回合后被背叛,不知道那个看似完美的城市布局会不会被一场突如其来的战争摧毁。他们只是选择,然后承担。这恰恰是任何算法都无法模拟的东西——不是历史的规律,而是自由的重负。2025年,当Firaxis准备发布《文明VII》时,这个系列站在一个新的门槛上。AI可以变得更复杂,大模型可以变得更庞大,但“算法玩史”的终极边界已经清晰可见。那个边界不在地图边缘,不在科技树的尽头,不在胜利条件的触发点上。那个边界在每一个人类玩家按下“下一回合”的瞬间——在那个瞬间,发生的不是一次计算,而是一次选择。而选择,永远无法被算法穷尽。