最近我偶尔会想一个问题:那些小说作家是怎么写出那么长的小说的?这个问题最初源于我玩一个叫做《双影奇境》的游戏。这款游戏的开头设定很特别:每个主角都是作家,他们脑海中都有多个独立的小说虚拟世界,而这些虚拟世界正是他们创作的源泉,玩家也是在这些虚拟世界中展开冒险。
写一篇小说一定有很多困难。首先,如果我们想写一个比较长的故事,这个故事肯定会产生一些前后相互依赖或关联的情节。如果不小心处理,很可能出现前后不一致的情况。那么,实际上作家在创作小说时,是如何保证故事前后一致、连贯性的呢?我觉得,很可能的原因是:作家并不是在写完某些段落后,再去增加新的故事延续。而是他们在脑海中已经构建了一个虚拟的小说世界模型。在写作时,他们只需要让这个虚拟世界在脑海中“运行”,然后把世界中发生的故事以文字形式记录下来,就能形成小说。这种方法可以在最大程度上保证长篇小说的前后一致性和整体连贯性。
这种思路在我长期接触的计算机系统领域也有所印证。无论是磁盘存储还是程序在内存中保存运行状态,都涉及一个数据一致性的问题。比如,我在内存中保存软件的配置项时,如果为了方便或效率将同一个配置项存储在多个变量中,那么后续修改时可能因为疏忽只改了一份副本,就会导致同一配置项在内存中出现不一致的副本‘在存储系统中,如果相同或应该一致的信息在磁盘上存储了多份,即使形式不同,当操作这些磁盘的计算机断电或关机时,也可能因为数据副本不一致而破坏整个存储系统。在计算机领域,保证一致的方法就是原子的修改应该一致的状态,尽量减少关联数据的副本,尽量用重建表示的方式代替副本的形式。
这其实和写小说的思路很类似,如果我们完全依赖非常长的上下文来编写后续章节,很容易因为对某个事件的描述存在偏差而出现前后不一致,而且往往也难以回忆并检查这些不一致。随着故事篇幅增加,修正这些不一致的代价会成倍增长。因此,对于较长的小说,我们越不应该边写边构思后续情节,而是应该在最开始就把故事概要在脑海中梳理清楚,或者最好建立一个完整的小说世界模型,让故事在脑海中自然展开。我觉得这也应能解释为什么有些原作者之外的其他作者对一个经典小说进行续写时,他的反响往往不如原作。
说到长篇小说的创作,也不得不想到最近非常火的大语言模型。大模型擅长写小说吗?
大模型本质上就是一种生成式语言模型,它可以进行创作。有人猜测,这类模型在有限的参数中,可能已经压缩了人类的大量知识,甚至包括某种世界模型。因此,如果让大模型生成小说或长篇故事,它理应表现得不错。实际上,网上也有研究和论证表明,大模型确实可以创作出较为完整的小说作品。但是,按照我之前讨论的思路,要写出一个好的长篇小说,大模型不应该仅仅依赖已经生成的上下文去延续故事,而是需要有整体的构思。它应该根据最初的设定,结合自身对世界的理解,以及提示词(prompt),去构建一个虚拟的世界模型。
如果一个作家脑海中已经有了完整的虚拟世界模型,那么把这个模型“传递”给大模型并不容易。原因在于,对于一个复杂的虚拟世界,直接在脑海中“运行”它,比用语言去精确描述这个模型要容易得多。要把脑海中的复杂关系完全描述出来,所需的语言信息可能比写整部小说还要多。如果在输入过程中需要精确描述大量细节,就会产生极高的成本,这并不高效。所以,关键在于大模型自身的能力:它是否能够利用自身内在已经学习的世界知识,再结合提示词,构建出一个足够丰富的虚拟世界,从而生成连贯、有深度的小说内容。这种能力决定了它能否在生成小说时表现出像作家脑海中那样的整体连贯性和世界观深度。