NovelAI最早以AI续写小说出名,后来也做图像生成,在二次元创作圈很火。你会了解它的LLM接入方式、世界观设定、记忆管理、多人协作机制和订阅模式,以及它的图像生成特点和模型选择。文章还讨论了内容审核策略、版权归属和付费模式设计。适合做AI写作类产品、互动叙事和创意内容平台的产品经理和开发者,也适合网文作者参考。
需要学习NovelAI小说创作,前端AI组件需要与后端API和Agent系统集成。本篇涵盖LangChain/RAG/Agent、API集成、向量数据库,帮助你构建AI应用系统能力。
目录
可视化演示
本节配有交互动效(进入视口后自动加载,约 3KB)。
AI续写编辑器 模型选择:模型选择:模型选择:模型选择: 模型选择:模型选择:模型选择:模型选择:
NovelAI平台总览与创作定位
NovelAI是最早以AI续写小说出名的创作平台,由Anlatan公司开发,最初专注于利用大语言模型为创作者提供智能续写服务。随着平台发展,NovelAI扩展了图像生成能力,在二次元创作圈迅速积累了大量用户,成为AI辅助创意写作领域的标杆产品之一。
NovelAI的核心功能模块包括三大支柱:基于大语言模型的文本续写引擎、保持长篇创作一致性的World Info世界观设定系统、以及基于Stable Diffusion的图像生成模块。这三大功能覆盖了创意写作从文本到视觉的完整链路。
平台定位为面向创意写作者和二次元爱好者的AI辅助创作工具,强调创作自由度和用户隐私保护。与许多AI平台不同,NovelAI明确将用户创作内容的版权归属用户自身,这一策略吸引了大量重视知识产权的创作者。
NovelAI采用订阅制商业模式,提供多个等级供用户选择,不同等级在算力配额和功能权限上有所差异。平台的内容审核策略相对宽松,允许成人向创作内容,这在主流AI平台中较为少见,也是其差异化定位的重要体现。
LLM接入方式与模型选择策略
NovelAI的文本续写能力基于多种大语言模型实现,平台同时提供自研模型和经过微调的开源模型供用户选择。不同模型在文风、逻辑性、创意性等方面各有特点,创作者可以根据自身需求选择最适合的模型。
Temperature参数是控制生成文本风格的核心参数之一。该参数通过调整softmax输出的概率分布来影响token选择的随机性:低temperature使概率分布更尖锐,模型更倾向于选择高概率token,输出更加确定和连贯;高temperature使分布更平坦,增加低概率token被选中的机会,输出更加多样和富有创意。
Repetition penalty(重复惩罚)参数用于控制生成文本中的重复问题。AI生成文本时容易出现词汇和句式的重复,repetition penalty通过对已出现过的token施加惩罚因子来降低其再次被选中的概率。惩罚因子大于1时抑制重复,等于1时无惩罚效果。
在实际创作中,不同场景需要不同的参数组合策略。创作严谨的推理小说时,建议使用低temperature(0.3-0.5)配合适度repetition penalty(1.1-1.2),确保逻辑连贯;创作奇幻创意内容时,可使用较高temperature(0.8-1.2)配合较高repetition penalty(1.2-1.3),在保持多样性的同时避免重复。
NovelAI的模型库包含多个不同风格的模型,如基于GPT架构的自研模型和针对特定文体微调的开源模型。每个模型在训练数据、参数规模、微调方式上的差异导致其生成风格各异,用户通常需要通过大量实践来找到最适合自己创作风格的模型。
import numpy as np def apply_temperature(logits, temperature): """Apply temperature scaling to logits.""" scaled = logits / temperature probs = np.exp(scaled) / np.sum(np.exp(scaled)) return probs def apply_repetition_penalty(logits, generated_ids, penalty): """Apply repetition penalty to already generated tokens.""" result = logits.copy() for token_id in generated_ids: if result[token_id] > 0: result[token_id] /= penalty else: result[token_id] *= penalty return result # Example: vocab of 5 tokenslogits = np.array([2.0, 1.5, 0.5, -0.5, -1.0])probs_low = apply_temperature(logits, temperature=0.3)probs_high = apply_temperature(logits, temperature=1.5)print(f'Low temp probs: {np.round(probs_low, 3)}')print(f'High temp probs: {np.round(probs_high, 3)}')
世界观设定与记忆管理机制
NovelAI通过World Info系统解决长篇创作中世界观一致性的核心挑战。World Info允许创作者存储角色、地点、物品、事件等设定信息,每条设定关联一个或多个触发关键词。当AI生成文本时,系统自动扫描上下文中的关键词,匹配并注入相关设定到AI的输入上下文中,确保生成内容与已有设定保持一致。
World Info的关键词触发机制类似于信息检索系统中的查询匹配:系统将当前文本作为查询,扫描所有设定条目的关键词字段,将匹配的条目注入上下文。这种设计类似于作家手边放一本设定集,写到某个角色或地点时自动翻到对应页面,确保描述的一致性。
Memory记忆管理系统负责管理AI的上下文窗口。由于大语言模型有输入长度限制,长篇小说的全部内容无法一次性放入上下文。Memory机制通过保留最近的文本内容(短期记忆)和用户标记的重要情节信息(长期记忆),确保关键信息始终在AI的可见范围内,不会因上下文窗口限制而丢失。
Author's Note(作者备注)功能允许创作者输入一段文字,这段文字会在每次生成时被附加到输入中,用于影响AI的生成风格和方向。例如,创作者可以设置'请用轻松幽默的笔调描写'或'注意保持悬疑氛围'等全局性指导。
这三个机制协同工作:World Info负责设定细节的一致性,Memory负责情节的连贯性,Author's Note负责风格的统一性。它们共同构成了NovelAI支撑长篇创作的核心架构。
class WorldInfo: def __init__(self): self.entries = [] def add_entry(self, keywords, content): self.entries.append({'keywords': keywords, 'content': content}) def activate(self, context): activated = [] for entry in self.entries: if any(kw in context for kw in entry['keywords']): activated.append(entry['content']) return activated # Usagewi = WorldInfo()wi.add_entry(['Alice', 'protagonist'], 'Alice is a brave knight, age 25, wields a silver sword.')wi.add_entry(['Dragon', 'boss'], 'The ancient dragon guards the mountain pass, breathes blue fire.')context = 'Alice approached the mountain, knowing the Dragon awaited.'print(wi.activate(context))
AI续写与交互叙事体验设计
NovelAI提供多种AI辅助创作方式,形成了丰富的交互叙事体验。续写(Continue)是最基础的功能,AI基于当前文本的末尾内容自动生成后续段落,创作者可以连续多次续写推进剧情。
改写(Rephrase/Rewrite)功能允许AI对选定文本进行重新表达,保持语义但改变措辞或风格。重写功能则可以在保持上下文的前提下改变剧情走向,为创作者提供分支叙事的可能性。
Undo/Redo机制是NovelAI交互设计的核心之一。创作者可以随时撤销AI的生成结果,回到之前的文本状态,然后尝试不同的续写方向。这种机制鼓励创作者大胆探索不同的剧情可能性,因为任何操作都可以回退。
这种交互式创作流程形成了一种独特的人机协作模式:AI负责内容生成和创意发散,创作者负责方向把控和质量筛选。创作者通过选择、编辑、引导来塑造故事走向,AI则根据新的上下文持续生成,形成良性循环。
从交互设计的角度看,NovelAI将AI定位为创作伙伴而非替代者。多种交互方式(续写、改写、重写)提供了不同粒度的控制,Undo/Redo提供了安全的探索空间,这种设计使得创作者在享受AI辅助的同时始终保持对作品的主导权。
图像生成与多模态创作能力
NovelAI集成了基于Stable Diffusion架构的图像生成能力,特别擅长二次元风格的角色和场景插图生成。这一功能与平台的二次元用户群体高度契合,使NovelAI从纯文本创作工具扩展为多模态创作平台。
创作者可以通过文本描述(prompt)生成角色立绘、场景插图、道具设计等视觉内容。生成的图像可以直接用于小说配图,实现'文字+插画'的多模态创作体验,大幅降低了创作者寻找或委托画师的门槛。
图像生成与文本创作在同一个平台内无缝集成,创作者可以在写作过程中随时切换到图像生成模式,为刚刚描写的角色或场景生成视觉呈现。这种工作流使得角色形象更加具象化,也有助于保持文字描述与视觉呈现的一致性。
需要注意的是,图像生成和文本续写使用的是不同的模型,两者之间没有直接的语义理解关联。创作者需要手动将文本描述转化为图像生成的prompt,并通过调整prompt来协调文本风格和视觉风格的一致性。
NovelAI的多模态策略体现了'围绕创作需求构建工具链'的产品思路,将文本和图像能力整合在统一平台中,形成差异化的竞争优势。这种整合降低了创作者在多个工具间切换的成本。
内容审核与订阅商业模式
NovelAI采用相对宽松的内容审核策略,允许成人向创作内容的存在。这与ChatGPT、Gemini等主流AI平台严格的内容审核形成鲜明对比。宽松策略使平台能够覆盖更广泛的创作需求,吸引了大量在主流平台受限的创作者群体。
平台通过订阅制实现商业变现,提供多个订阅等级。不同等级的主要差异体现在每月可用算力(Action Points)、可用模型范围、图像生成配额等方面。这种分层定价策略能够覆盖从轻度体验到专业创作的不同用户需求。
在版权策略上,NovelAI明确将用户创作内容版权归属用户自身,平台不主张对用户生成内容的所有权。这与部分AI平台在条款中主张对用户内容使用权的做法形成对比,成为NovelAI吸引专业创作者的重要差异化因素。
这种'创作者友好'的版权策略在AI生成内容版权争议日益激烈的背景下尤为重要。它使得创作者可以放心地将AI辅助创作的内容用于商业出版、改编等用途,不必担心版权纠纷。
AI 应用场景
AI辅助长篇小说交互创作
阶段:推理服务
解决的问题:创作者需要AI辅助续写长篇小说同时保持世界观和角色设定一致性
具体案例:创作者使用NovelAI建立包含20个角色和5个地点的World Info设定库,AI续写时根据出现的关键词自动注入角色性格和地点描述,Memory管理确保前文重要情节不被遗忘,创作者通过Undo和重写控制剧情走向,完成10万字轻小说创作
AI多模态创意内容生产
阶段:推理服务
解决的问题:创作者需要同时生成小说文本和角色场景插图实现多模态创意表达
具体案例:创作者在NovelAI中创作奇幻小说章节后,使用图像生成功能根据角色描述生成角色立绘和场景插图,文本和图像配合发布到创作社区,多模态内容比纯文本内容获得3倍以上互动量,提升创作影响力和粉丝粘性
Python 演示
import numpy as np def apply_temperature(logits, temperature): scaled = logits / temperature exp_logits = np.exp(scaled) return exp_logits / np.sum(exp_logits) def apply_rep_penalty(logits, generated_ids, penalty): result = logits.copy() for tid in generated_ids: if result[tid] > 0: result[tid] /= penalty else: result[tid] *= penalty return result def sample_token(logits, temperature=1.0, rep_penalty=1.0, generated=None): if generated is None: generated = [] logits = apply_rep_penalty(logits, generated, rep_penalty) probs = apply_temperature(logits, temperature) return int(np.argmax(probs)) def generate_demo(vocab, initial_logits, max_tokens=5, temp=0.5, rep=1.1): generated = [] logits = initial_logits.copy() tokens = [] for _ in range(max_tokens): tid = sample_token(logits, temp, rep, generated) tokens.append(vocab[tid]) generated.append(tid) logits = initial_logits.copy() return ' '.join(tokens) vocab = ['The', 'hero', 'dragon', 'quest', 'magic']logits = np.array([2.0, 1.5, 0.8, 0.3, -0.5])result = generate_demo(vocab, logits, max_tokens=5, temp=0.3, rep=1.0)print(f'Generated: {result}')
def apply_temperature(logits, temperature):定义temperature缩放函数,通过除以temperature参数调整logits分布scaled = logits / temperature低温使logits差异放大(分布更尖锐),高温使差异缩小(分布更平坦)return exp_logits / np.sum(exp_logits)通过softmax将缩放后的logits转换为概率分布def apply_rep_penalty(logits, generated_ids, penalty):定义重复惩罚函数,对已生成的token施加惩罚因子if result[tid] > 0: result[tid] /= penalty正logit除以惩罚因子(降低),负logit乘以惩罚因子(更负),从而抑制重复def sample_token(logits, temperature=1.0, rep_penalty=1.0, generated=None):综合采样函数,先应用重复惩罚再应用temperature,最后选择tokenlogits = apply_rep_penalty(logits, generated, rep_penalty)首先对已出现过的token施加重复惩罚probs = apply_temperature(logits, temperature)然后通过temperature调整概率分布的尖锐程度return int(np.argmax(probs))选择概率最高的token(实际使用中可用np.random.choice进行随机采样)def generate_demo(vocab, initial_logits, max_tokens=5, temp=0.5, rep=1.1):演示自回归生成循环,逐步生成token序列tid = sample_token(logits, temp, rep, generated)每一步根据当前logits和参数采样一个tokentokens.append(vocab[tid]) generated.append(tid)将新token加入生成序列,用于后续重复惩罚计算
常见问答
NovelAI是什么?它的核心功能有哪些?
NovelAI中temperature参数的作用是什么?
World Info系统如何保持长篇创作的一致性?
NovelAI生成的内容版权归谁?
Memory机制和World Info有什么区别?
常见误区
误区NovelAI只是一个AI图像生成工具,不擅长文本创作
正解NovelAI最早以AI小说续写闻名,文本创作是其核心能力。World Info和Memory管理等机制使其在长篇文本创作上具有专业级能力,图像生成是后来扩展的功能。
为何常见:NovelAI的图像生成在二次元圈知名度很高,其文本创作能力反而被图像功能的光芒所掩盖,导致很多人只知其一不知其二。
误区NovelAI的World Info只是简单的设定笔记,没有智能机制
正解World Info通过关键词触发机制智能注入相关设定,系统自动扫描上下文判断哪些设定需要激活并注入到AI输入中,而非简单的静态笔记,是保持长篇创作一致性的核心架构。
为何常见:设定系统常被误解为静态的文本笔记,对World Info的关键词触发和智能注入机制了解不足。
误区NovelAI生成的内容版权属于平台,创作者无权商用
正解NovelAI明确用户创作内容版权归属用户自身,平台不主张内容所有权,创作者可自由商用自己生成的内容。这是其区别于很多AI平台的版权策略。
为何常见:很多AI平台在服务条款中主张对用户生成内容的使用权,用户习惯性地认为所有AI平台都是如此,对NovelAI的用户友好版权政策不了解。
参考来源
- webpageNovelAI Official WebsiteNovelAI官方网站,了解平台功能、订阅计划和核心特性
- webpageNovelAI DocumentationNovelAI官方文档,包含模型参数说明、World Info使用指南和创作技巧
- paperNucleus Sampling: A natural way to control neural text generation关于文本生成中采样策略的学术论文,涵盖temperature和repetition penalty等参数原理