就在大家还在惊叹于 GPT-4o 模型所带来的自然语言的震撼,被 GPT-4o「背刺」的 Gemini 被提及的声量就显得小了很多。 不过,值得关注的惊喜还是有的,比如,宣布了 Gemini 1.5 拥有一百万词元(token)的语境尺寸。

目前,除了 Kimi 和 Google 之外,鲜有其他 LLM 厂商尝试扩展语境尺寸。

包括为 ChatGPT 背书的 GPT-4o 模型,由 ChatGPT 自己宣称的语境尺寸在 8192 词元。其他 LLM 可接受的最大语境尺寸也大多在 1000~10000 词元的范围中移动。

这也很好理解:更大的语境尺寸会明显地带来的额外算力压力;同时,要在长语境下快速做出响应,也是令调参工程师十分头疼的问题。

如果单纯测试实际环境下的性能,找一篇带有一百多页的 PDF 格式论文可能足以胜任 benchmark 任务。

不过,我突然还是有那么一点对「他们是怎么做到力大砖飞的百万尺寸上下文的」这个问题感到好奇。于是,我就开始萌生了给这些大语言模型使点绊子的想法——

来当守秘人,一起跑个单人 CoC 团吧!

考验语境尺寸,更考验模型综合素质

如果你还不是 TRPG 的玩家,可能对「模组」、「跑团」这些词汇十分陌生,我们先来快速过一遍基础概念。(TRPG 分有许多分支,这里我们简单介绍《克苏鲁的召唤 [CoC]》分支的规则。)

在 TRPG 的世界里,可以简单地将「模组」类比成网络游戏中的「副本」,即多位玩家在一段预设的故事中展开冒险、寻找真相。游戏中玩家被分为两组,分别是由一名玩家组成的守秘人(keeper,通常被简称为「kp」)和至少一名玩家的调查员组成。

守秘人在整个故事中的角色是,控制 NPC 的行动,并引导调查员在故事中的行为。如果调查员的行为触发了故事的某些机制或者设定,守秘人需要向调查员要求投掷骰子,判断调查员行为是否成功、并根据骰点结果续写故事,等等。

打开网易新闻 查看精彩图片

从上面的描述中,我们大概可以猜到,做 kp 对于大语言模型而言,是一个极其考验其综合能力的任务。例如,模型需要理解模组中许多细致的要求,比如调查员在其中可以做什么、不可以做什么;当调查员做了不符合设定或剧情上不允许的事情,应该如何及时引导而不至于影响游戏体验。

调查员的回复中,如果有许多很细致的动作,模型是否能够准确无误地将它们抽象出来;以及在调查员执行特定行为的时候,确定是否需要 roll 点、「成功」与「失败」的规则是什么,也是衡量 kp 素质的十分重要的指标。

这些事情,一个人类新手 kp 可能都未必做得十分优秀,对于大语言模型,正好也可以成为一种综合素质的考验。

第一小时的完美

在跑团之前,我特地向 Gemini 确认了一下它的模型尺寸。

打开网易新闻 查看精彩图片

很好!正儿八经地是一百万词元,开启 AI 跑团之旅的基础条件有了。接下来,我在网上挑选了一个由辉质撰写的评分较高的模组《[我的色彩](https://www.dicecho.com/module/6007fcc8bb660b024e5112f1)》,直接发给 Gemini 让它读取。

接下来,再花点时间车张卡(创建角色卡,填写数值、人设等,用于投掷判定和故事发展等),然后也发给 Gemini,一切顺利!可以开始跑团了。

(本文之后的内容会有该模组的剧透。我们尽可能地减少剧透量,但不可能完全做到零剧透,敬请注意。)

打开网易新闻 查看精彩图片

单从调查员玩家的角色看来,整个冒险的第一小时,Gemini 的表现堪称完美。

Gemini 不仅很好地营造出了模组中要求的雪山的氛围,而且很顺利地在不同 NPC 角色之间切换,还在开幕的时候顺利地要求我进行投掷和 SanCheck,可以说沉浸感十足。

唯一的美中不足,就是 Gemini 目前尚不支持第三方插件,不然我高低也得给它整一个 roll 点工具。

打开网易新闻 查看精彩图片

之后的落差

就在那么一瞬间,我突然就有了「AI 跑团就在今天」的想法,心想着「一百万上下文果然就是不一样」!可正当我兴高采烈地和 Gemini 玩得有来有回的时候,我开始发现了许多不对劲的现象。

打开网易新闻 查看精彩图片

首先是,Gemini 很难十分完善地处理跑团这种「马拉松对话」,对话过程越长,质量下降得越明显,放在跑团这个情境里,就是「更容易出戏」。

具体表现是,Gemini 会不断地重复之前进行过的对话,然后反刍到现在的回复中。如果反刍情况太严重,它还会出现故事线错乱的情况,将它当作「现在的剧情」。

例如,我作为调查员,已经决定从医院出院后一个人上山而没有要求警官跟随。过了很久,Gemini 突然在回复中认为我是和警官一起上山的。我试图纠正,结果 Gemini 把我从出院的剧情全部反刍了一遍。

打开网易新闻 查看精彩图片

类似的情况在整个过程中比比皆是,也让我有些好奇为何会出现这样的情况——因为很明显,Gemini 对我们之前的剧情还有印象(否则不可能定位到我决定一个人从医院出来的剧情),但反复反刍之前的剧情进展也让我十分疑惑。

我的一个猜想是,Gemini 1.5 可能使用了一种十分独特的「分包压缩」和「解压缩」的方法。

比如,Gemini 可能将历史的聊天记录以不同分幕的方式进行切片,并单独将它们「压缩」成一个总结「压缩包」。

当 Gemini 认为需要向我回复的内容需要获知其中一个或几个「压缩包」的内容,就将其「解压」出来,再把它反刍到当前会话中(因为调用过这个记录,所以默认认为你之后一段时间里也会使用这段内容),以避免重复进行解压缩。

打开网易新闻 查看精彩图片

这可能也解释了之后一个十分奇怪的情况。在第一小时里的游戏体验中,Gemini 比较积极地让我进行 roll 点;但到了剧情后期,Gemini 好像完全忘记了自己作为 kp 的职责,反而跟我玩起了「故事接龙」游戏。

虽然对话进行过程中,Gemini 反复地提示它正在看模组文件和我的任务卡,但 Gemini 完全无法判断究竟该在什么时候让我执行 SanCheck。按照刚才的理论推断,Gemini 很可能将早期的聊天记录直接压缩了,然后忘记了我们其实正在跑团、变成了玩故事接龙。

打开网易新闻 查看精彩图片

战斗?想都别想了。尽管模组文件里对于 NPC 的数值、以及在哪里能遇到什么怪物这些写得十分详细,但 Gemini 一点都没有动过想让我战斗的心思。

打开网易新闻 查看精彩图片

另外,LLM 对于情景和行为的交互逻辑判断上还有待加强。例如,情景是我和 A、B 两个 NPC 在一起,我对 A 说话的时候,顾虑说话对 B 的影响,这种十分细微的心理活动会被 Gemini 当成是在对 B 说话,然后被 Gemini 关联到十分古早的剧情。

打开网易新闻 查看精彩图片

例如,「我只记得,我遇到了一个……」这时候我望向 B,我不想让她知道这个人就是她的哥哥,然后接着对 A 说,「……很奇怪的人。他像是在那里欣赏森林里的雪景一般。你知道的,正常人不可能在这种时候还在欣赏风景。」

如果是人类 kp,其实能很清楚地理解这个心理活动和互动逻辑。但是对于 Gemini 这种 LLM 而言,还是十分容易被理解成「转向对 B 说话」。

如果说单纯只是玩故事接龙,其实还是有可能玩到「截团」的。可惜的是,对话越长,Gemini 反刍的情况越严重,最终,连接龙都没办法接,这个团也没有办法完整进行下去。

跑团可以用,但当 kp 还是不太称职

为了保证我的体验比较接近真实玩家的体验,在和 Gemini 游玩整个模组之前,我实际上没有仔细阅读这个模组文件。但读过模组之后,可以发现其中 Gemini 还是因为「幻觉」现象或是其他原因而「放飞自我」。

比如,Gemini 版本的第一幕直接把我「扔」到了雪山之中,而模组文件要求第一幕是在医院。另外,从雪山到医院的过渡,也不是瞬间完成的,而是有一个人为的过渡。检查过模组文件之后,可以发现几乎 40% 的剧情量,Gemini 基本上是自己发挥、没有跟随模组的要求撰写的。

打开网易新闻 查看精彩图片

另外,游戏中的「不可名状之物」本身的出现应该是整个剧情中的最高潮部分,Gemini 直接在半山腰(字面意义的半山腰)给我来个「大剧透」,让我以为这玩意儿就是个普通 boss。

当然,模组作者在模组的开头写清楚了,这个模组其实带有许多复杂的交互和融合关系。光是清晰地组织各种 NPC 与调查员之间的身份就已经比其他模组更困难,所以这个模组并不适合新手 kp 来带团跑(也就是说,其实我在无意间让 Gemini 带了一个地狱难度级别的模组)。

但不可否认的是,Gemini 在「编故事」这一环,至少在第一小时,让我有了十分身临其境而令人难忘的回忆,仿佛真的身处雪崩现场一般。十分惊喜的是,它还弄清楚了「根据玩家的角色卡条件不同,NPC 可能也有差异」这一点并体现到了故事当中。

也许目前,一个新手 kp 想要在跑团中确保自己的故事可以被润色一遍,使用 LLM 可能会收获意外的效果——它可能会帮你在塑造故事这一方面变得更出色,并为新手 kp 提供许多剧情撰写的帮助。但如果想要让 LLM 们精通 TRPG、做一个称职的 kp,看上去要教给它们的东西还有很多。

打开网易新闻 查看精彩图片
打开网易新闻 查看精彩图片