如何解决AI写长篇小说剧情不连贯问题#AI小说#AI写作#AI提问

hello, 大家好,在这一期视频中我讲解了如何用提示词来微调a i大模型写小说。不知道你们有没有试过?如果你试过的话,你可能会碰到一个问题,那就是为什么a i总是记不住前面写过的内容呢?这其实涉及到了一个非常重要的话题,上下文窗口。哎,今天我们就来聊一聊这个话题,以及如何克服a i在写作中失忆的问题。视频可能有些长,如果你来不及看的话,不妨先点赞、收藏关注起来。

首先让我们先来了解一下什么是上下文窗口。简单来说,上下文窗口就是a i模型在一次处理和生成的过程中能够看到的内容长度。想象一下,如果你需要背一篇一千字的演讲稿,但是你只能背诵一半,那剩下的一半其实你就不知道要怎么说了,说不定你还要来一段freestyle,这就是a i面临的情况。就比如如果一个模型的上下文窗口是二十万个tokens,哎,这里的tokens你可以理解为是中文字符或者是标点符号。

那么它在生成新的内容的时候,就只能参考最近的二十万个tokens里的内容了。说到这里,我们来看看目前主流的大模型上下文窗口的大小。我们可以看到不同模型的上下文窗口大小差异非常大,特别是google的german一点五pro的上下文窗口,已经达到了惊人的二百万个tokens s了。这相当于可以同时容纳几十本书,也就意味着它能够处理超长文本的任务。

不过即使拥有这样大的窗口,也不能完全解决a i记忆的问题。那么问题主要出在哪里呢?首先是信息滑出的问题。就比如如果你正在读一本很长的小说,当你读到后面的章节时,前面的细节可能就记不太清楚了。a i也面临类似的问题,当新的信息不断的输入的时候,旧的信息就会被挤出窗口。

被挤出去的内容也就是你经常抱怨的a i失忆了的内容。所以目前大多数语言模型并不具备真正的长期记忆能力,而上下文窗口的大小决定了模型能记住和处理的信息总量。其次呢是信息过载的问题。当上下文窗口内包含大量的信息的时候,即使是使用a i可能也难以有效处理所有的信息。

就像你在一个巨大的图书馆里面找一本特定的书,书越多你找起来也就越困难。所以为了应对这个问题,大模型使用了一种叫做注意力机制的技术,类似于让a i去抓重点,在大量的信息中找出相关的部分。它模仿的是人类的注意力行为。比如当你阅读一篇长篇文章的时候,你会自然地将注意力集中在关键的词和重要的句子上。

a i的注意力机制也是类似的原理。在实践中注意力机制通过动态计算输入序列中每个token的重要性权重来工作,对于当前生成内容相关的词会分配更高的注意力权重,从而在生成输出时发挥更大的影响。举个例子,假设你在用a i写一个侦探小说,当a i在描述凶手的时候,注意力机制会帮助他更多关注前文中出现过的线索和人物描述,而不是那些无关的细节。这就是注意力机制在起到的作用。

不过注意力机制也面临一些限制。比如,如果上下文太长并且没有明确的引导,注意力可能会被分散在不相关的部分上。模型可能会错误地判断哪些更为重要,尤其在复杂或者模糊的上下文中,这可能导致生成的内容与上下文不一致或者不相关。所以输入有效的提示词对大模型进行引导至关重要。

特别是语言的语法结构,如主语、谓语、宾语,也会影响注意力的分布。哎,你可能会问了,为什么不直接把上下文窗口设置的无限大呢?答案是因为缺钱呀。目前大模型是建立在transformer架构之上的,计算的复杂度随着输入长度的增加而呈平方的关系,因此在很大程度上依赖大力出奇迹的策略,那就是通过堆叠大量的计算资源、显卡、算力以及电力来实现超大窗口。这也意味着需要大量的烧钱。

所以让我们来重新看一下这张表,我这里给google竖个大拇指。那面对这些限制,我们该如何让ai创作出连贯的长篇内容呢?我的方法就是两个字,总结。具体来说就是将已写的章节进行总结,提取故事的大纲、已写章节的内容、关键情节点、人设描述和重要的设定,然后作为附件上传到新开的对话中进行续写。使用这个方法重点在于总结的提示词,要保证a i总结的内容的完整性和稳定性。

在我前一期a i写小说的提示词框架中,我其实已经提前预设好了总结的指令。我们一起看一下如何操作。这是我正在写的一本小说,我已经写完了前面十四章的内容。接下来,我需要对这些章节进行总结。

这部分操作非常简单。只需要输入故事总结的指令。a i就会自动生成每一章节总结的内容。总结中包含了每个章节的名称以及剧情。

因为我没有特别设置提示词,所以a i会以综述的方式进行总结,不会特别关注某个剧情。为了保持人物的一致性,特别是在后续创作中不丢失主角和配角的性格特征,我还需要对角色进行总结。这个过程同样很简单,只需要输入角色档案这个指令,ai就会立刻总结前面十四章中出现过的所有角色,总结内容也非常的详细,涵盖了角色的基本信息、外貌描述、性格特征、背景故事以及他们的目标和动机等等。同时,ai还会生成一张角色关系图,这张图对于后面续写中保持角色关系的连贯非常有帮助。

为了确保剧情的连贯,我们还需要将小说的大纲设定以及目录保存下来,保存这些内容就不需要使用特殊指令了,因为前面已经生成过了,直接去复制就可以了。接下来我会选择使用cloud的项目功能。项目功能实际上是官方提供的一个知识库。当然如果你不希望使用项目功能,也可以直接以附件的形式上传,也能达到同样的效果。

接下来我们直接进入到我已经创建好的小说项目。在这个项目中,我会将章节汇总、角色档案、小说设定以及目录等所有的内容都上传上去。此外还有一个非常重要的步骤,就是把我们之前创建的a i写小说的提示词框架也上传上去。这样在新的对话中,我们就不需要重复的输入提示词,因为提示词已经内置了。

设置完成后,接下来就很简单了,打开一个新的对话,选择已经创建的项目,然后就可以直接让a i去写小说了。之前我们已经写到了第十四章,现在只需要输入指令章节零幺五。a i就会开始生成第十五章的内容。为了确保ai确实在续写,我们可以查看一下它生成章节的名称。

第十五章的名称是虚拟世界的游行,我们可以对比之前生成的目录,第十五章的名称也是虚拟世界的游行。这表明a i正在正确的续写。由于附件的大小和数量有时候也会有限制,因此除了作为附件上传外,其实还可以将一些剧情作为外部的知识库保存。根据需要选择性的加载知识库中的内容到上下文窗口,而不是一次性加载全部的内容。

不管你使用哪种方法,原理都是一样的,那就是尽量节省上下文的窗口空间。本期讲的上下文窗口的知识点只是a i大模型的冰山一角。要真正驾驭a i我们需要两把钥匙。首先是理解大模型的工作原理,其次是掌握提示词工程。

前者让我们看清楚了a i的能力边界,而后者则是精准操控a i的方向盘。两者结合a i才能成为我们效率和创意提升的得力助手。如果你觉得本期视频内容对你有帮助,记得点赞、收藏、关注,让我们一起在a i时代走得更远。下期见。