文章

VNPen Project 概念文档

VNPen LLM 是专为中文视觉小说写作打造的垂直领域语言模型;VNPen Desktop 是一款专门针对视觉小说剧本创作的编辑器

VNPen Project 概念文档

VNPen Project 分为 LLM 以及 Desktop

VNPen LLM

VNPen LLM 是专为中文视觉小说写作打造的垂直领域语言模型,主要解决通用大模型写视觉小说剧本时水土不服的问题。为了适应不同的创作节奏,我们设计了双模型架构。Writer 系列基于 Qwen3.5-9B 微调,主要负责需求模式,提供改写、命题写作、按人设卡写台词以及交付前最终审查的能力。Realtime 系列则基于 Qwen3.5-2B 或 4B 微调,主打实时辅助,支持边写边续写、错别字和病句检查,其中 2B 版本优化了端侧轻量部署,4B 版本追求更高的生成质量。两个模型都使用了约 80M token 的预训练语料,包含大量视觉小说剧本、用于文风指导的轻小说以及通用回放数据,并训练了两个 epoch。指令微调样本约 44 万条,DPO 数据约 2.9 万对。这里需要强调的是,小规模是我们的刻意设计,目的是精准对齐特定文风,而不是去拼知识储备。 在核心设计理念上,我们首先坚持绝对忠于人类原作。这是项目的最高原则,模型学习的数据全部来自真实剧本,AI 生成的内容只作为输入条件。比如续写时,目标文本是真实的后续原文;改写时,输入是故意降质的文本,目标是人类原文。我们坚决不让模型把 AI 生成的文本当成学习目标,从根源上防止 AI 味被内化。 针对常见的 AI 味,我们重点打击三种缺陷。最明显的是过度阐释,比如形容词堆砌、直白说明情绪或强行升华。但另外两种同样致命:一是信息过度压缩,为了利落省略细节,写得像大纲;二是生硬翻译腔,英文句法直译、代词乱用、突兀使用未铺垫的隐喻。早期我们只顾着抑制第一种,结果模型为了克制又走向了另一种极端。现在,这三种缺陷都是核心修正对象,我们在对齐阶段把克制指令换成了自然、完整、口语化。 在角色塑造方面,我们发现创作者最在意的是角色说话像不像,也就是自称、称呼、口癖、语域和句式。至于身高、发色或大段背景故事,对模仿说话方式帮助不大。因此,我们的角色卡只提取语言特征,且全部从已发表的剧本中萃取,每条设定都有原作台词兜底。 为了兼顾不同场景,Realtime 模型做纯粹的文本输入输出,砍掉对话管理和复杂推理,只求极速响应;Writer 模型则保留多轮对话,负责命题、改写等重活。两者底层语料一致,仅在基座和微调策略上做了差异化。在接口设计上,模型和编辑器之间的输入输出格式在训练前就定死了。模型训练时学这个格式,推理时用结构化输出约束来保证不出错。像字符定位这种模型不擅长的精确计算,直接交给前端,这样前端永远只解析一种数据结构,以后换底层模型只需改适配层,真正做到即插即用。 在数据工程方面,基础语料来自公开的中文视觉小说剧本,统一清洗为说话人加文本的标准格式。清洗时严格去掉引擎标记、译者注和敏感内容,但绝不篡改作者原文。我们做了完整的溯源,每行文本都能查到出处,删除操作及原因也都有记录。对于手游剧情、劣质文本等非标内容,直接在训练清单里剔除,防止负样本污染。 训练数据上,我们摒弃了传统人工标注,全面采用基于真实文本的逆向构建策略。占比最大的续写任务直接用真实前文做输入,后文做目标,实现零标注。去 AI 化任务则是把真实文本故意改写成过度阐释、信息压缩、翻译腔三种缺陷样子,再用人类原文做目标,这批数据既做监督微调,又天然成了偏好对齐数据。命题写作是给真实场景写氛围描述,再逆推成提示词,目标还是原场景描写,并特意加入了矛盾情感组合来锻炼复杂语境理解。文本校对话是在真句子里注入错别字和语病,用原文做目标,同时故意混入约三成无需修改的负样本,让模型学会区分真错误和角色口癖,防止过度纠正。 回顾研发过程,我们的思路做了几次务实的减法。角色设定方面,早期想靠外部百科做详尽设定卡,后来发现模型真正要学的是声音特征到台词的映射,于是只从台词里提语言特征,验收标准也变成了遮住角色名能不能盲测认出来。情绪标注上,逐句标注成本太高且对基础生成帮助有限,我们改成只对抽样场景做宏观氛围和走向标注,够命题写作控制条件就行。文本校对方面,非词错误靠规则词典,同音错误靠预训练模型上下文重打分,专门的微调只抓复杂病句修复和保留角色特征的边界判定,大大降低了实时模型的推理负担。此外,考虑到核心任务都是条件到文本的直接映射,加思维链对质量提升不大且拖慢首字延迟,我们训练和推理都强制关闭思考模块并固化输出模板。 经过这些调整,v0.1 版本的能力边界已经非常清晰。它能够基于前文连贯续写,将带有 AI 特征的文本还原为人类作者风格,根据场景氛围描述生成示例片段,并检测错字病句同时严格保护角色语言习惯。但与之对应的是,它不具备宏观剧情架构能力,不支持长程上下文设定记忆,无法自动审查角色行为逻辑的一致性,也不支持非中文生成。v0.1 的核心目标非常明确,就是以中文为载体,精准复现日式视觉小说的叙事语感。

VNPen Desktop

VNPen Desktop 是一款专门针对视觉小说剧本创作的编辑器。它与VNPen LLM深度绑定,但设计原则只有一条:AI 辅助作者,不替代作者。整个软件以项目为工作空间,内设 Write、Chat、Review 三种模式,三者共享上下文,互不隔离。 Write 是默认启动模式,承担核心编辑工作。界面分三栏:左侧是章节树与游戏逻辑图,中间为主编辑区,右侧放属性面板、次级编辑器和聊天入口。主编辑区的排版参考了红线边距稿纸的形式,说话人、语句、舞台指示各占其位,比传统小说编辑器更贴合视觉小说剧本实际的书写节奏。功能上做了伏笔标记与回归追踪、侧边栏人设卡、分支管理器这些传统编辑器不会涉及的东西,因为它们本来就是视觉小说叙事结构自身的需求。vnpen-realtime 系列模型以副驾驶形式常驻,实时标注错字错词、给出补全和润色建议,但改不改、怎么改,始终由作者决定。 Chat 模式专门用来想和聊。卡文了碰思路,或者一段文案拿不准语气,丢给它就行。底层调用 vnpen-writer-9b,会自动读取当前项目的人设卡、世界观、大纲和上下文,在这个基础上生成内容,尽量减少 OOC,让输出更接近作者自己的笔触,写完可以一键插入编辑器。 Review 模式面向交付前终审,目的是把发布后的低级错误和舆论风险压到最低。由 vnpen-writer-9b 和 vnpen-realtime-4b 协同完成三轮审核:先查错别字、病句、语序,再查角色行为是否偏离设定、场景逻辑是否自洽,最后排查涉及价值观和伦理争议的敏感表述。最终输出一份结构化验证清单,交由创作者逐条判断处置,工具不替人做决定。 在引擎对接方面,编辑器支持在段落内插入行为指令,比如隐藏角色、切换 BGM、转场,初期适配 Ren’Py 和 NarraLeaf 两套引擎,直接输出引擎可解析的脚本格式。交给开发侧的不再是一份纯文本,而是一个带结构的骨架,开发往里面填资源调参数就行,后续会通过插件机制扩展更多引擎。与 NarraLeaf Studio 的联动则更深一层,项目数据双向同步,故事和逻辑在两端互通,不用手动导入导出,协作方面借助 NarraLeaf Team 的项目能力支持多人同时工作。如果说导出 Ren’Py 脚本解决的是写完的问题,那 NarraLeaf Studio 联动解决的是做完的问题。需要说明的是,Desktop 端不提供游戏运行时的实时预览,实际演出效果要在对应引擎或 NarraLeaf Studio 里确认。 技术栈用的 Tauri 加 React,选它的原因很直接:包体小、启动快、资源占用低,对一个创作者一开就是几个小时的生产力工具来说,轻量本身就是体验的一部分。模型将在端侧部署,同时,我们也支持用户接入非VNPen系列模型,使用不同的模型感受不同的模样。

本文由作者按照 CC BY 4.0 进行授权