就在大家还在惊叹于 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,看上去要教给它们的东西还有很多。
本文来源:Appso
网友评论