最近干了一件有点“不务正业”的事用平时写代码的 AI Coding 工具生成了一份上万字的奇幻世界设定。起因是手头有个架空世界的点子想把它扩张成能支撑长篇故事的世界观但逐条手写设定效率太低于是顺手把任务丢给了写代码时常用的那套工具链。结果出人意料地可用——它不仅能填设定条目还能自己织出一张互相咬合的设定网把地理、种族、历史、魔法体系串成因果链。这篇实践记录会讲清楚四件事为什么选 AI Coding 工具而不是普通对话窗口、开工前需要定死哪些框架、分阶段生成一万字设定的完整流程以及我在这个过程中踩过的坑。如果你也在做小说世界观、跑团模组或者游戏背景设计这篇应该能帮你少走不少弯路。1. 为什么拿代码工具来写世界观一次意外尝试的起因1.1 从“聊天窗口跑偏”到“把设定当工程维护”先说背景。我平时主要用 AI Coding 工具写程序这类工具和普通网页聊天最大的区别是工作模式它能读写本地文件、定位到具体代码块做修改、跨多个文档维持上下文本质上是在把一项大任务拆成可追踪的“工程”。刚开始我想的很简单拿聊天窗口让它写一段奇幻设定。前两轮还行写到第三四轮就明显出问题它会把某个角色的出生年份记错会把“北境冻土”描述成沙漠气候甚至会忘了三天前刚定下的魔法规则。最要命的是当你指出错误它嘴上道歉实际提供的改正版本里又冒出别的新矛盾。后来我换了个思路既然 AI Coding 工具擅长度量大、结构化地维护代码为什么不能把一套世界观设定当成一个“非代码项目”来管理给它一个目录设定内容拆成多个文档通过文件读写控制上下文比在聊天窗口里无限对话要可靠得多。这个转变很关键思路一换后面的效率高了一截。1.2 编码工具处理长文本的三个天然优势我用下来AI Coding 工具在长文本创作上有三个普通聊天窗口很难替代的优势优势在写奇幻设定中的体现文件级上下文设定分散在多个文档里AI 需要时可以主动读取“地理篇”“历史篇”来核对一致性而不是靠聊天记忆精确修改能力发现“灰冕帝国首都”名称不统一直接定位到具体文件里的具体段落改写不用把全文重发一遍结构化迭代设定像代码一样有层级、有引用关系可以注记 TODO待补项、历史版本按模块逐步填充这三点合在一起解决的是长文本创作最痛苦的自相矛盾问题。说实话很多人在聊天框里写设定越写越乱未必是 AI 能力不够而是工具形态本身不适合长文档。把设定当成工程来维护等于绕开了这个限制。提示如果你还没试过用 AI Coding 工具做文字类项目建议先拿一个 2000 字左右的短篇设定练手熟悉它“读文件—改文件—总结文件”的工作流程再上大工程。2. 动手之前四个必须先想清楚的问题工具选好了不等于能直接开写。我第一版随便给了句“帮我写一个奇幻世界设定”结果返回来的全是陈词滥调黑暗森林、龙与魔法、光明与黑暗的对抗像十个游戏模板拼在一起。问题在于我根本没说清楚自己想要什么。后来我重新整理思路在开工前想明白了四件事产出质量立刻不同。2.1 核心冲突决定世界的心脏一个世界设定最怕的是“什么都有但不知道为什么”。我在开工前只定了一件最核心的事这个世界靠什么“运转”角色活在这片土地上到底在为什么挣扎。我给这个世界定的核心冲突是“记忆即化石”——有一种矿脉能记录周围发生过的情绪残响千年后的人可以挖开石头读取古代记忆但读取过程会加速矿脉腐蚀导致记忆永远消失。整个世界的宗教、国家、冒险者职业都围绕这个矛盾建立有人想挖矿找回失落历史有人想封矿保护先人遗骸有人想利用记忆碎片操控舆论。这不是一个“先有设定再想故事”的顺序而是倒过来先有戏剧性再有让戏剧性成立的世界规则。AI 生成设定时如果你给了明确的核心冲突它生成的方向收得住如果只有一个模糊的“黑暗奇幻风”它必然会滑向同类素材的平均值。2.2 大纲的颗粒度先粗后细第二个问题是设定大纲要细到什么程度才动手我的答案是“粗中有细层次分明”。整天目录一开始只有五条地理与气候、智慧种族、历史大事记、力量体系、政治与宗教。每个条目下只用一句话写目标比如“地理部分要解释为什么北境与南境隔绝”。大纲颗粒度太细会束缚 AI 的生成空间写出来全是套路太粗又会导致它天马行空偏离你的世界基本盘。合适的颗粒度是你给出“边界和方向”让它补全“血肉细节”。比如我会说“北境需要有一个气候屏障为什么那边的人过不来屏障的形态由你设计”而不是直接指定“北境有一座 3000 米高的冰墙”。2.3 给 AI 一份可识别的风格说明大多数人对 AI 生成文本不满根源在于没给它“审美标准”。我给 AI Coding 工具建了一个style_guide.md文档里面写明了三件事语气设定文档简介像学术档案冷静克制不抒情不滥用比喻。叙事示例给一小段符合风格的世界设定样例150 字左右。禁忌列表不许出现现代流行词不许出现“光明与黑暗”“宿命”“古老预言”这类模板表述。这个风格文档只有几百字但它让后续每一轮生成都维持在同一调性里。最直观的变化是之前生成的设定有时候像营销号文案加了风格说明之后终于像一本正经的世界设定集了。2.4 拆文件一次生成多少字合适AI Coding 工具虽然上下文长但一次生成太长还是会出现问题细节开始重复、前后用词不一致、逻辑链断裂。我试验下来单次产出的舒适区间在 1500 到 2500 字之间。也就是说万字设定不能靠一次性输出而要拆成五到七个文档模块逐步写。最终的文件结构是这样world/ ├── style_guide.md # 风格说明书 ├── core_conflict.md # 核心冲突与世界基本盘 ├── geography.md # 地理与气候 ├── races.md # 智慧种族 ├── history.md # 历史大事记 ├── power_system.md # 力量体系 └── factions.md # 政治与宗教每个文件相对独立又互相引用。比如力量体系里写“只能在记忆矿脉附近施展的法术”地理篇就要有对应的矿脉分布说明历史篇里的“封矿战争”又会解释为什么某些国家的政治结构是那样。这种跨文件引用正是 AI Coding 工具比聊天窗口强的地方。3. 分阶段生成实战从世界种子到完整设定文档框架搭好以后实际生成阶段我把它分成四轮。每一轮有明确的目标目标不达成不进入下一轮避免反复返工。3.1 第一阶段世界种子——把核心冲突展开成“世界的最初状态”第一阶段其实最关键。我用一个提示词让 AI Coding 工具基于核心冲突展开“世界的第一幅图景”。这个提示词我改了三四遍最终稳定下来是这样你正在为我维护一套奇幻世界设定文档。当前任务是扩展 core_conflict.md 1. 用冷静、档案式的语气描述“记忆即化石”的世界里普通人如何生活。 2. 给出三个不同阶层的人矿工、祭司、游商的日常切面各 200 字。 3. 不要写任何宏大叙事不要交代战争局势只呈现世界最安静的状态。 4. 最后列出 3 个该设定下必然会出现的社会问题。 完成后直接改写 core_conflict.md 并打印全文。重点在第 3 条“不要写宏大叙事”。这能防止 AI 一上来就给你一部虚构编年史而是先钉住世界的质感。产出结果里矿工那段写道他“从石缝里听到五百年前一场婚礼的回声但不记得新郎的名字”一下就立住了这个世界的氛围。这一阶段不需要写满 2000 字反而越是缩着写后面的张力越足。核心冲突文档最终只有 1500 字但它定义了其他所有文件的上限。3.2 第二阶段分域扩展——按依赖顺序逐个生成扩展顺序不是按文件名排而是按依赖关系排先地理再种族再历史最后力量体系和政治。逻辑很简单历史要依赖地理和种族才成立力量体系又要依赖文化和历史背景。我在每个文件开始前会给一个 brief任务摘要比如地理篇的 brief 是这样扩展 geography.md要求 - 解释北境与南境隔绝的地理成因必须与记忆矿脉的形成机制挂钩。 - 为三大区域各写一段气候特征每段不超过 300 字。 - 不要发明任何真实的现实地名。 - 写完检查是否有任何设定与 core_conflict.md 冲突。这里有个心得每次生成完要求 AI Coding 工具“自查冲突”很有用。虽然它不能百分百查准但自查这个动作会让它重新读一遍核心文档很多明显的矛盾在产出阶段就被拦住了。3.3 第三阶段合拢——把分散文件拼成一本“设定集”五个模块全部生成后我拿到的是五个还不错的文档但它们密度不均地理篇写得很丰满历史篇有点薄力量体系里有一块跟核心冲突没什么关系。这时候需要合拢我做两件事。第一件事是补薄弱的模块。让 AI Coding 工具列出现有各文件的字数分布和关键设定点然后针对历史篇生成一个补充提纲。第二件事是重写文件之间的过渡和引用把简略目录升级成带交叉索引的完整设定集。比如我会要求“在 history.md 中新增一段明确‘封矿战争’如何受 geography.md 中北境屏障的影响并在文中引用 power_system.md 的基础规则。”这样它的输出不只是一个孤立历史事件而是能和其他模块互相支撑。3.4 第四阶段一致性核对——让 AI 自己当自己的校对最后一步是强制“交叉检查”。我会下这样一个指令请逐项检查以下清单每个项目给出“一致/冲突/存疑”的判定并附对应的文件行号 1. 记忆矿脉的分布区域是否与地理、历史文本一致。 2. 所有种族的寿命设定是否影响其历史视角。 3. 力量体系的所有法术是否都有“以记忆为原料”这一前提。 4. 时间线上的重大事件是否在政治篇有对应后果。这一步相当于给代码做单元测试。AI Coding 工具一般能查出三到五处真正的冲突比如某个种族寿命写成了 2000 岁但历史篇里该种族亲历过的事件却发生在 5000 年前。这类问题在纯聊天环境里极难被发现但在文件级上下文里查起来准确率高得多。4. 实际踩过的四个坑与排查思路即便流程看起来顺过程中还是踩了不少坑。我把印象最深的四个记录下来每个都附上排查经过而不是只给结论。4.1 设定前后矛盾AI“忘了”自己写在上一篇文档里的法则最早跑第二版时我让 AI Coding 工具在力量体系里增加一种“燃忆术”代价是消耗使用者真实的记忆。第一次生成时它详细说明了代价但当我继续追问这个法术的门派传承时它直接照搬了之前另一套免疫系统的设定说该门派的修行者由“矿脉共鸣”赋予力量不需要消耗记忆。这属于 AI 在长上下文里“局部失忆”它记住了对话尾部的内容丢失了更早的细节。解决办法不是反复提示“你忘了吗”而是给它一个明确的检索步骤要求它在新增内容前先从power_system.md里引用现有规则段并复述改动可能影响的另一份文档。把它从“凭记忆回答”硬掰成“查文件后回答”。4.2 文明全长得一个样风格外溢问题在没有风格指导的早期版本里我让 AI 生成三个不同地区的种族文化结果读下来感觉像同一个国家搬了三次家一样的政体、一样的纹章学、一样的婚礼习俗只是换了名字和毛色。排查之后我认为原因是训练数据里的“奇幻文明”特征太集中模型在默认状态下会滑向中古欧洲模板。解决方式是补充“反向差异”要求为 A 文明指定“没有君主制度权力由天气祭司掌控”为 B 文明指定“完全没有文字使用身体装饰记录历史”。越是具体的反模板设定越能逼它走出舒适区。4.3 设定堆砌如山却没有因果链支撑第三版时文档里出现了大量孤立设定北部有一种白鹿、某座城有七扇门、某教派穿紫袍。单个拿出来都有模有样但互相没有任何接点世界显得“碎”。这其实是 AI 生成设定最常见的通病有密度无结构。我在第四阶段的一致性核对清单里新增一条规则“每新增一个设定必须用一句话说明它与其他至少一个设定之间的因果或制约关系”。比如白鹿不再是装饰性生物而是“记忆矿脉暴露在地表后矿尘导致鹿群毛发变白因此当地人认为白鹿能靠近矿脉而不疯癫”。这样每个设定就从装饰变成了世界运转齿轮的一部分。4.4 上下文窗口到了极限长文档生成后期开始胡言乱语最后一轮生成政治与宗教篇时因为之前积累的文档总量超过了可用上下文的舒适区AI 开始把“灰冕帝国”的国名拼成“灰冕王国”而且自我纠错后仍然在別处重复出错。这不是提示词能解决的纯粹是工作量已经逼近工具上限。对策是拆得更小。我把政治篇再拆成“灰冕帝国一章”和“南方城邦一章”分别独立生成最后再合拢。另外我会在每轮开始前主动清空无关文件的引用不把已经定稿且不再修改的地理细节反复塞进上下文。这个“控制上下文体积”的意识比任何花哨提示词都重要。踩坑现象根因排查思路解决对策前后设定矛盾长上下文局部失忆要求引用现有文件段落再新增增加“先引用再生成”步骤多个文明同质化默认审美倾向中古欧洲模板检查文风、政体、习俗是否雷同指定反模板差异孤立设定过多缺乏因果链约束逐条追问“这设定与其他设定有何关系”新增设定必须关联至少一个现有设定后期名字频繁写错上下文总体超载注意力衰减检查错误出现位置集中在文档后半段拆分小文件控制上下文体积5. 从一万字草稿到可用的设定集整理与二次加工生成完成不等于工作完成。AI 生成的一万字整理完以后大概只有六千字能直接进设定集剩下四千字要么是重复信息要么是“看起来重要但实际没有下文”的废设定。这一节讲讲我是怎么整理的。5.1 用“重构”思路做设定像清理代码一样清理设定AI Coding 工具能写代码自然也能对文档做“重构”。我对它下达过这样一条指令请以“代码重构”的方式整理 history.md 1. 删除所有没有后续使用的事件。 2. 把同一个人物的两次出场合并成一条词条。 3. 为五个最重要的历史事件各写一句“影响到哪个现代设定”。 4. 抽象出三个历史阶段为每个阶段写一行摘要。这条指令的精髓是“删除所有没有被引用的装饰”对应代码里的死代码清理。做完这轮设定集从松散素材变成有骨架的资料库而且你一眼能看出哪些地方还需要人工补写。5.2 建一张设定速查表用表格替代长篇叙述人脑记不住一万字但能记住一张速查表。我让 AI Coding 工具为整个设定集生成一个 CSV 格式的速查表包含八列设定名称、类别、一句话描述、首次出现文件、关联设定、当前状态、待办事项、备注。有了这个表后续写故事时不用每次都翻全文扫一眼表格就能定位到具体文档。这张表还有一个用途快速发现重复造轮子。表里“关联设定”列会把多个文件里指向同一概念的条目罗列在一起我发现有两个地区各自发明了一套矿脉感应技术但它们的历史背景几乎一致明显是同一技术拆成了两段于是合并掉一个减少一个不必要的新概念。5.3 从设定到故事场景的转化设定集不能只当字典整理完的设定集必须能转化为情节素材。为了验证这一点我让它把三条核心规则变成五个“场景种子”。比如“记忆矿脉腐蚀导致记忆永久丢失”变成了一幕主角知道某段关键记忆存于一块即将开采的矿石里必须在矿队开工前做出选择。这些场景让我明确看到设定确实能孵化故事而不是一叠自嗨的散文。5.4 版本管理给设定留下修改痕迹由于 AI Coding 工具天然靠近代码工作流我把这套设定也放进了版本管理。每次大改一个文件记录一句改动说明。这样做最直接的好处是发现某次设定改坏之后可以随时退回上一版。以前在文档里写设定根本不敢乱改因为一改就可能牵连三重引用。有了版本管理相当于给“动刀”上了一道保险。对我这种喜欢反复推敲设定的人来说这个安全感非常值钱。6. 这次实践给我留下的几点体会最后说点个人感受可能比具体方法更重要。第一AI Coding 工具并不是创意替代者而是“创意放大器”。它不会替你想出你从未想过的东西但能把你确认过的方向做得非常细、非常杂、非常完整。我的角色是给方向、边界、审美和筛选标准它是来帮我出活儿、排细节的。第二整个过程中管理上下文比写提示词重要。写提示词只是让你获得一段好回复管理上下文则决定了你如何让几十段好回复变成一个彼此咬合的整体。如果你只是把窗口拉到底期待一次输出一万字设定我建议换一种思路拆文件、拆阶段、加一致性检查。第三最让我意外的是流程本身的意义。第一次做这套流程用了快一天把万字设定收尾后我手里的不是一堆文字而是一套可以被反复编辑、检查、恢复的资料库。后来再做另一个小型世界观我只花了三个小时就完成了从框架到合拢的全过程。工具没有变变化的是方法。如果你也想复刻这套流程我的建议是从一个“不会超过三千字的微型设定”开始搭好文件结构跑一遍分阶段生成和一致性检查感受一下把创作当工程来维护的体验。跑通一次之后你再回头写万字设定会发现原本最难的世界观一致性问题已经变成一道可以系统解决的工程题了。