ARTICLE · INTELLIGENCE

战地情报 · 详情页

来自尧图项目组的一线实战观察与深度解析

用AI Coding工具构建万字世界观:奇幻设定工程化创作工作流

用AI Coding工具构建万字世界观:奇幻设定工程化创作工作流

最近在做奇幻题材的世界观底稿时,我把整套流程从“聊天式提问”改成了“AI Coding 工具驱动”,效果差别非常明显。用 AI Coding 工具生成万字奇幻世界设定,听起来像是拿错剧本,但实际操作下来,这恰恰是当前把大模型能力用到极致的路径之一。它能输出结构化、可维护、可迭代的设定文档,而不是一段段散装灵感。这篇记录会完整拆解我的方法、提示词思路、常踩的坑,以及一套可以照着复用的工作流。

如果你也是写作者、游戏策划、跑团爱好者,或者单纯对 AI 辅助长文创作感兴趣,这篇文章应该能给你一些不一样的视角。我尽量写得实在一点,不说玄话,不藏步骤。

1. 为什么选择 AI Coding 工具来写世界观设定

1.1 聊天对话框的天然瓶颈

先聊聊我为什么放弃常规的聊天式 AI。过去用对话窗口生成设定,最直接的体验是:上下文一长就失控。你让 AI 设计一个魔法体系,头三轮对话效果很不错,但它会忘记早期定下的能量守恒规则,第五轮开始自创一套新设定。你去纠正它,它道歉,然后继续在不该发挥的地方发挥。

这不是模型能力不够,而是聊天产品形态天生不适合持续性创作。聊天窗口的核心是“对话”,不是“项目”。每一条消息都在和前面的内容竞争注意力,而创作一个万字世界观,需要的是体系化的记忆、文件级的修改和版本控制。聊天界面的上下文有限,没有持久化的存储结构,也没有办法对某一块内容做精细调整。

而 AI Coding 工具天然是面向项目的。它们以文件系统为组织单位,有明确的文件结构、可独立修改的代码块、可重复执行的指令流。这让世界观设定的整个过程,从“聊天记录”变成“一个可以持续生长的项目”。

1.2 AI Coding 工具真正擅长的事

AI Coding 工具通常具备三个关键能力:读写文件、执行多步骤任务、以及保持结构一致性。

对于世界观设定来说,这意味着:

  • 我可以把设定拆分成多个独立文件,按领域划分管理,比如地理、种族、魔法、历史。
  • 我可以让模型严格遵循已有的设定文件,只在指定范围内新增内容,而不是自由发挥。
  • 我可以快速检索和修改某个多年前写的角落设定,而不用在长对话里翻来翻去。
  • 我可以给模型设定“任务卡片”,让它批量执行生成任务,逐步完成万字乃至更长的内容。

比如说,我想扩充一个种族的历史,只需要让它在races/elven.md文件里追加内容,同时严格参照world_bible.md里已有的时间线。这个过程非常像程序开发中的模块化迭代,我认为用“代码工程思维”来管理创作,才是 AI 辅助长文创作的合理姿势。

1.3 这种方法的适用边界

当然,这种方法也不是万能的。如果你的需求是写一段短小的创意灵感、做一个快速头脑风暴,用聊天式 AI 完全足够,拿 Coding 工具反而显得笨重。但只要你的目标是一个系统化、规模大、需要长期维护的创作工程,不管是奇幻世界设定、科幻宇宙框架,还是某种系列作品的设定集,这种方法会显著提高效率。

我个人觉得,最适合用这种方式创作的,有三类人:

  • 写长篇奇幻小说的作者,需要稳定且自洽的设定基底。
  • 游戏或互动叙事项目的设计者,需要结构化的设定数据。
  • 跑团主持人和世界观爱好者,想制作一份完整、严谨、可以随时查考的设定集。

我自己属于第一类和第二类之间,既要写小说,又要做一些玩法原型。这套流程正好能同时满足两边的需求。

2. 如何把世界观设定当成一个软件工程来做

2.1 目录结构设计:先定骨架再填肉

在动手生成任何内容之前,最高优先级的任务是把项目的目录结构设计好。这听起来不像创作,但它决定了后续所有内容的质量上限。我会先建一个项目文件夹,然后按以下结构组织:

world_project/ ├── 00_总纲/ │ ├── world_bible.md # 世界运行的核心规则 │ ├── cosmology.md # 宇宙观、诸神体系、创世逻辑 │ └── magic_system.md # 魔法基础法则 ├── 01_地理/ │ ├── continents.md │ ├── climates.md │ └── key_locations.md ├── 02_种族/ │ ├── human.md │ ├── elven.md │ ├── dwarven.md │ └── ... ├── 03_历史/ │ ├── timeline.md # 统一时间线,避免矛盾 │ ├── ancient_era.md │ └── recent_events.md ├── 04_文化与组织/ │ ├── religions.md │ ├── factions.md │ └── languages.md └── 05_人物/ ├── characters.md └── npc_relations.md

你可能会觉得这个结构过于工程化,但实际上,它带来的好处是极其直接的。任何一条新设定,都可以被放到它应有的位置,每一个生成任务都有明确的范围,不会出现“新增内容不知道挂在哪里”的尴尬。创作过程中的一致性,很大程度上就靠这个壳兜底。

另外,这个目录结构本身就是一个上下文管理工具。我可以在生成任务里限定“只操作02_种族/elven.md”,所以大模型不会被其他文件里的无关内容干扰。这也是从编程里迁移过来的思维:模块化,低耦合,高内聚。

2.2 总纲文件先行:锚定不可动摇的设定

从一开始,我就把world_bible.md当作整个世界的“宪法”。里面只写那些绝对不能自相矛盾的规则,比如:

  • 世界的能量来源是什么,能做什么,不能做什么。
  • 世界的物理定律有哪些与现实不同之处。
  • 各主要种族的基本能力和限制。
  • 已经发生的关键历史事件和时间节点。

这份宪法是所有后续生成任务的前提条件。每次让 AI 生成新内容,我都会在提示词里明确说“严格参照world_bible.md中的规则”,并且让它把实际生成的片段也回写到文件里。这样就形成了“设定生成、设定审查、设定入库”的闭环。

举个例子,如果我在总纲中写明“魔法消耗的是施法者自身的生命力,不存在外部魔力池”,那么任何关于魔法学院的后续设定,都必须围绕这个原则展开。学院可以研究如何减少生命力消耗,但不能凭空出现一块魔法石作为外部能源。如果依靠对话式 AI,你可能要反复提醒它;但如果用 Coding 工具,写在总纲里的内容可以在每个任务中作为固定的上下文被加载,约束力强得多。

2.3 把角色扮演拆成“任务卡片”

这个环节是我整个工作流的核心。我不会对着 AI 说“帮我写世界观”,我会把任务拆成一个个非常具体、范围明确、可执行的卡片。

一张任务卡片通常包含以下要素:

任务编号: TW-004 目标文件: 01_地理/key_locations.md 背景约束: 参照 00_总纲/world_bible.md 中的大陆板块设定,不得新增大陆 任务描述: 为东境区域生成四个重要地点,每个地点包含名称、地貌、气候、主要资源、重要性、潜在冲突点 输出要求: 每个地点不超过 300 字,风格为第三人称客观描述

这种任务化的方式有几个好处。首先,AI 的输出变得高度可控,不容易跑偏。其次,任务卡片本身就是项目文档,我可以随时查看哪些完成了、哪些没有,工作进度一目了然。第三,当需要批量生成大量内容时,我可以按照任务卡片逐个执行,不会陷入无止境的对聊中。

我个人实测下来,用这种方式,一个周末的时间,就可以把整套世界观从 0 推进到 1.2 万字左右。而且质量非常稳定,后期修改成本也低。

3. 具体实操流程:从零到万字设定

3.1 准备阶段:定义工具链和我推荐的组合

先说明我用的工具组合方式。AI Coding 工具目前有很多选择,我用过的有开源的插件形态工具,也有集成度更高的桌面应用形态。不同人可能偏好不同,我这里只说我在实际项目里稳定使用的组合。

我习惯的组合是:一款支持本地文件读写的 AI Coding 插件 + 一个普通 Markdown 编辑器。AI Coding 插件负责生成、修改、检索文件,Markdown 编辑器负责我自己快速浏览和手改。不要小看手工修改这一步,很多细节的灵气恰恰来自这里。AI 生成的是骨架和血肉,而最终的“神”往往要自己动手点。

开始之前,我会在项目根目录建一个TASKS.md文件,把当前的全部任务卡片维护在里面。每次开始工作前,我都让 AI 读取TASKS.md,明确当前的最优先任务。这一步能防止模型在多个子任务之间自由跳跃。

3.2 第一轮生成:总纲与核心规则

第一轮我只做一件事:让 AI 生成world_bible.md的初版。在提示词里,我会描述我想要的奇幻世界风格基调,比如“低魔法、高政治博弈、偏冷色调的史诗感”。我不要求一次生成完美,只要求生成一个可以迭代修正的可靠底稿。

其中一个很实用的技巧,是让 AI 生成“世界规则自检清单”。这让我可以事后逐个检查规则之间是否存在冲突。

提示词参考(简化版):

基于以下风格描述,生成 world_bible.md 的内容骨架: 1. 世界的创世逻辑(不少于300字) 2. 宇宙的基本法则(至少5条) 3. 魔法是否存在,若存在,其能量来源和代价是什么 4. 世界的时代划分 每个部分必须包含明确的“规则表述”,方便后续检索和约束。

生成的初版往往会有一些不够细致的地方,比如规则之间隐含矛盾。没关系,第一轮不需要完美,关键是先把骨架立住。我会手动在里面加入一些我个人的偏好设定,并且把不需要的枝节删掉,确保总纲是干净、稳定、可引用的。

3.3 增量生成:任务卡片循环跑起来

总纲定稿之后,就进入了让量变发生质变的阶段。方法是逐个执行TASKS.md里的任务卡片,每次只生成一个文件中的一部分内容。流程如下:

  1. 让 AI 读取目标文件和总纲文件。
  2. 在TASKS.md中标记当前执行任务。
  3. 让 AI 在目标文件中追加一段内容。
  4. 我快速审读,必要时手动修正或打回重写。
  5. 更新TASKS.md,标记完成,进入下一个任务。

以地理模块为例,我会先生成大陆整体格局,然后逐个国家或地区生成详细设定。每个地区的生成都会受到大陆整体格局的约束,这样不会出现地理位置互相矛盾的情况。

在这个阶段,为了让总字数快速爬升,我会非常依赖“结构化批量生成”。比如让 AI 一次生成一个地区的 5 个重要城市,每个城市包含固定字段:名称、位置、人口、政治归属、经济特色、当前冲突。这种固定字段的批量生成,不仅速度快,而且数据格式统一,方便后续检索和引用。

3.4 如何维持一致性:建立索引和交叉引用

万字级设定的最大敌人不是内容不够,而是“前后矛盾”。今天写的王国边界,明天写战争时却被吞并了;某个角色的年龄,在历史事件里对不上。

我的解决办法是建立两个辅助文件:

INDEX.md # 所有核心实体(地点、人物、组织)的名称与一句话说明 TIMELINE.md # 所有已确定的历史事件与发生时间

每次生成新内容时,如果涉及新的实体或历史事件,我会要求 AI 同步更新这两个文件。这样做的成本极低,但效果极好。就像代码工程里的接口文档,有了它,即使后续章节标记混乱,也可以拿索引快速澄清。

实际上,很多看似合理的设定,在写进索引时我才发现存在矛盾。比如我在一个城市设定里写了“北境最大的港口”,但在另一个文件中,北境是一个没有出海口的干旱高原。这种问题在聊天式生成里几乎必然发生,而在索引机制下,能很快被定位和修复。

3.5 单文件内容再精炼:审核与填肉

当框架内的所有任务卡片都跑完一遍,整个设定集的初稿就有万字左右了。但这时的内容质量还不够,很多细节描写比较平,缺乏画面感和独特的叙事张力。

我通常会再安排几轮“精炼任务”。任务内容不是新增设定,而是把已有设定中相对干瘪的段落重写。我提示词里会明确要求“增强肌理感”,比如让某个地点在描写中加入气象、气味、行人的日常活动等细节。

举个例子,原本 AI 生成的设定可能是这样的:

白港是北方最大的贸易城市,人口约八万,主要出口矿石。

精炼之后会变成:

白港的清晨总被海雾笼罩,矿石码头的吊车在雾中晃动,像某种巨大的海兽骨架。八万居民中有三分之一是外来劳工,他们住在城西的板房里,那里日夜响着铁锤敲击的声音。白港的贸易以铁矿为主,但真正让城市富起来的,是垄断北方航线的几家船团。

同样的信息量,后面这种写法的“世界感”强得多。这类精炼任务可以在总字数的基础上继续追加内容,最后我的设定集可能就不只是一万字,而是接近一万五千字甚至更多。

4. 提示词与工作流模板分享

4.1 批量生成任务模板

这里分享一个我常用的批量生成任务提示词模板,你可以直接复制使用。注意,不同工具的提示词习惯略有差异,但核心结构是通用的。

【任务背景】 当前项目是一个奇幻世界设定集,所有设定以 Markdown 文件存放在项目目录中。 所有内容必须严格遵循 00_总纲/world_bible.md 中的规则,不得与之冲突。 【任务目标】 在 02_种族/dwarven.md 中追加“矮人王国”章节,包含以下内容: 1. 矮人王国的地理范围及地下城邦结构 2. 矮人的社会阶层和对外关系 3. 矮人特有的工业与能源模式 4. 矮人与精灵之间的历史恩怨(需参照 timeline.md 中的正历纪年) 【内容要求】 - 每个小节不少于 250 字 - 语言风格:第三人称、客观叙事、略带地质学文献感 - 禁止使用感叹号和口语化表达 - 只允许修改 dwarven.md 文件,不得触碰其他文件 【输出】 - 直接在 dwarven.md 中追加 - 更新 INDEX.md 中新增的地名与组织名

这个模板的效果是稳定输出结构化内容,并且生成完成后会自动维护索引。即使我对某一段不满意,打回重写也只影响一个小范围,不会导致其他地方设定被波及。

4.2 审核与修复模板

除了生成模板,我还会用到审核模板。特别是当整份设定集初稿完成后,我会让 AI 做一次全局一致性检查。

【全局检查任务】 1. 读取 00_总纲 下所有文件 2. 读取 01_地理 和 02_种族 下所有文件 3. 检查是否存在以下问题: - 地理名称不一致(同名不同地、异名同地) - 历史时间线与人物行为冲突 - 魔法规则被打破(比如出现超能力但世界无魔法设定) - 种族基本设定前后矛盾 4. 将发现的问题以表格形式输出:问题描述,所在文件,建议修改方向

这类检查最好在设定集达到一定规模后定期做一次。比纯粹靠人眼翻看高效得多,而且 AI 对“规则冲突”的识别能力在有了明确约束文件后会大幅提升。

4.3 一个重要的“训模型”技巧:把修正记录反馈回去

我在使用过程中有一个强烈的经验:如果你在某个任务中反复纠正 AI 的某种错误,一定要把这个纠正记录写回项目文件中,而不是只留在对话里。

比如我多次发现 AI 在描写精灵时,喜欢把精灵写成“超凡脱俗、冷漠高远”的刻板形象,而我的设定里精灵是“注重实用、性格刚烈、擅长地与山地民族”。我会直接在02_种族/elven.md的文件头部写清楚:

风格锚点:精灵不是优雅的林中贵族,而是山地部族。 他们在文化上崇尚实用工具和集体劳作,性格外向直接。 描写精灵时必须基于这一设定,禁止使用“优雅”“神秘”“古老智慧”等陈词滥调。

这样一来,AI 每次读取这个文件时都会看到这条提示,产生偏差的概率会小很多。这比在对话里反复强调有效得多,因为对话会被截断、遗忘,而文件是稳定存在的。

5. 实际使用中的常见问题与规避方法

5.1 上下文超限与遗忘

使用 AI Coding 工具生成长内容时,最常见的坑是上下文窗口溢出,或者模型遗忘早期的设定约束。有些工具模型在加载多个文件后,早期规则仍然会疯狂占据上下文空间,但如果你的工具支持“文件读取数量限制”或者“文件片段选择性载入”,一定要利用起来。

我的做法是:每个任务只加载两个文件——目标文件和总纲文件。如果涉及历史纪年,再加载TIMELINE.md。其他文件一概不加载。这样做能最大化关键约束的注意力浓度,减少遗神现象。

5.2 AI 输出“正确的废话”

AI 生成的内容有一个通病:表面看起来合理,实际上非常平庸。它特别容易堆砌“古老”“神秘”“强大”这类空洞词汇,导致设定集读起来像模板。

对付这个问题,我在任务卡片里会加入一个“禁用词表”,用代码块标注清楚:

禁止出现的高频空洞词汇: - 古老 / 神秘 / 强大 / 平衡 / 秩序 / 混沌 - 禁忌 / 传说 / 失落的文明 如果内容中必须涉及类似概念,请用具象的叙事替代。 比如“古老”改写为“石墙上的刻痕已经看不清纹路”。

这个方法非常管用。它逼着 AI 用具体的意象和场景来表达抽象概念,输出的质量会明显高一个档次。

5.3 文件覆盖与误操作

AI 工具在修改文件时偶尔会出现误覆盖的风险。我曾经有一次让 AI 追加一段内容,结果它把整个文件重写了,虽然大体相似,但丢了好几个我手改过的细节。

为了防范这个问题,我现在强制要求每个任务完成后,工具在输出的最后写出“文件变更摘要”,比如:

变更摘要:本次新增约 400 字,添加了 3 个新城市名,原有内容保持不变。

另外,每次大版本迭代前,我会手动 commit 一次版本快照,或者在本地把整个目录压缩备份。如果是用支持版本管理的工具,就更省心了,直接一个提交搞定。不要嫌麻烦,在万字量级下,一次误操作足以让你懊恼一整天。

5.4 生成内容缺乏“气味”

最后说一个比较玄但真实存在的问题。AI 生成的世界观设定,即便细节丰富,也容易缺乏一以贯之的主题气质。它的内容更像一篇资料汇编,而不是一个有灵魂的世界。

我尝试过的最有效的解法,是在总纲中单独划分一个字段叫“世界的气质主题”。例如我的设定里写了:“世界是一个缓慢熄灭的炉子,所有冲突都发生在资源不可逆转地衰竭的背景下。”这样一来,AI 在生成城市、组织、历史事件时,就会下意识地把“衰竭”“衰败”“资源争夺”融入叙事。不是每个段落都要提这些词,但它们会在细节选择上显现出来。

这一点类似于软件工程中的架构风格定义,技术栈可以换,风格决定了整个系统的手感。世界设定也一样。

6. 后续扩展与我的个人心得

6.1 超过万字之后,还能做什么

当设定集稳定在万字量级后,我并不会停止迭代,而是会开启一个更有趣的阶段:从设定生成“衍生内容”。比如让 AI 基于现有设定生成角色小传、短篇场景、甚至一部开篇小说的前三章。

这些衍生内容会在生成时严格锚定已有的设定文件,保证角色行为、地点描述、历史事件全部自洽。这比让 AI 凭空写虚构故事强得多,因为背后的世界观约束非常实在,生成的叙事不容易崩坏。

我甚至尝试过让 AI 生成一个交互式的“世界探索问答集”,其中任何 AI 生成的答案都必须基于设定文件,而不是大模型的泛化知识。在保证提示词约束到位的情况下,效果非常有意思,像是拥有了一本会自动解答的设定百科全书。

6.2 踩过坑之后的心里话

用 AI Coding 工具创作奇幻世界观,本质上是一次对创作流程的改造。它的核心并非让 AI 替代你的创造力,而是让 AI 替你搞定那些机械的、重复的、需要大量整理的部分,把你的精力释放出来,去做更关键的审美判断和风格定调。

我踩过最大的坑,是一开始过于迷信 AI 的初稿。AI 确实能快速生成大量文本,但如果你不做总纲约束、不做风格锚点、不做索引管理,这大量文本迟早成为你的负担,而不是工具。设定越多,矛盾越多,返工成本越高。等到失控时再想收拾,往往比重新来一遍还累。

我的建议是:小步快跑,每个任务范围尽量小,每次生成后都做即时审查。宁可多跑几十次任务,也不要让 AI 一次性拉长文。对长文创作来说,稳定比速度更重要。

6.3 最后分享一个实用小技巧

想在文稿里给后续写作留出“创作线索”的话,可以在任务卡片里加一个字段,叫“钩子”。每个场景、每个组织、每个历史事件的设定里,都要求 AI 埋下一到两个潜在的冲突点或剧情悬念。

比如生成一个港口城市时,钩子可能是“某船团暗中运输被魔法规则禁止的物质”。这种钩子数量积累到十几个之后,你再回头写具体故事的时候,素材是取之不尽的。每次感觉灵感枯竭,打开设定集翻几页“钩子”列表,剧情方向自然就浮出来了。

这个方法是我在多次实践中摸索出来的,算是我这套工作流里最值钱的一个技巧。希望能帮到正在和 AI 共同创作的你。

RELATED READING

延伸阅读

更多一线实战笔记与深度复盘,助您持续精进