用生成式内容做站,前一万字都很轻松,难的是第十万字。
我上半年搭了个小站,用检索加 Agent 的方式生成连载故事,读者可以选择剧情走向。最初的几章效果出奇地好,但写到几十章之后问题就来了:同一个角色的性格前后对不上,设定过的地名换了名字,第一人称越写越像第三人称。
这不是文笔问题,是记忆问题。把长篇内容交给模型,你迟早会撞上一致性。下面这三个设计,是我改了三个版本之后留下来的。
崩的从来不是文笔,是记忆
先说个反直觉的结论:生成式内容站的质量瓶颈,几乎不在模型的写作能力上。
现在的模型,写一千字通顺的中文毫无压力。真正让它露馅的是长程依赖——第五十章的那句话,需要建立在第三章的某个设定上。而那次对话早就结束了,上下文里什么都没有。
很多人第一反应是把前面全部内容塞进提示词。这个办法在几千字内有效,超过之后就三个字:贵、慢、还是忘。上下文越长,模型对中间部分的注意力越弱,塞得越多反而越容易丢关键信息。
设计一:把记忆放进结构里,而不是塞进提示词
我的做法是给这个世界建一张表,而不是一篇文章。
- **人**:角色名、身份、说话习惯、和别人的关系
- **地**:地名、地理关系、哪一章出现过
- **事**:已经发生的关键事件,按时间顺序挂好
- **约**:这个世界的规则,比如力量体系、时间线限制
每次要生成新章节时,不从全文里检索,而是按「本章涉及的人物和地点」去查这张表,把相关的条目取出来。信息量小得多,但每一条都是当前情节真正需要的。
这一步做完,一致性问题的八成就在源头解决了。
设计二:一个角色一个 Agent
第二个改动是把角色拆开。
一开始我用一个大提示词描述所有人物,结果模型经常串戏。后来改成每个主要角色都有自己的设定档和说话风格,生成对话时分别调用,再合并成章节。
好处有两个:一是每个人物的语气能稳定住,不会写着写着全都变成同一个人;二是想调整某个人物的性格,只用改他那份档案,不用动全局提示词。
代价也很实在:调用次数变多了,一轮生成的成本会上去。所以只给真正出场多的角色开独立档案,配角还是合并处理。
设计三:设定要有版本
第三个坑最隐蔽:改动设定之后,旧内容变成了「错的」。
比如你在第二十章把某个角色的身份揭开了,但前面第一到十九章生成的对话里,他还顶着旧身份说话。读者往回翻会发现对不上。
解决办法是给设定加版本,改一次就记一次,并标明「从第几章开始生效」。这样生成的时候能判断:现在这段内容该按哪个版本的设定来写。
听起来有点重,但做过一次你就知道,比后面人工回头改前面的章节划算得多。
生成只是前半段
内容生成出来,活才做了一半。后面这四件事我每篇都要过一遍:
- **查重**。AI 生成的段落有概率自我重复,尤其是转折处
- **过审**。设定里有没有越界的内容,特别是涉及现实机构、地域、历史的部分
- **标 AI 参与**。站点的说明页要写清楚内容由 AI 辅助生成,这是对读者的基本尊重
- **留人工口子**。读者能举报,举报后可以下架
成本这笔账
说点实际的。这套东西的主要成本是按量计费的模型调用,连载站每天生成量不小,单章成本会直接决定你能不能跑下去。
我最后的选择是分层:大纲、人物关系这类关键环节用好模型;普通叙述用便宜的小模型,反正读者感知不到。这么一调,成本降了一大半,质量掉得很少。
说点实在的
生成式内容站的技术门槛不高,真正难的是「让它一直不崩」。而这件事,靠的是一开始就把结构设计好,而不是后期拿提示词去补。
如果你也想做这类站,我的建议是先写一份人物表和一个世界观文档,再来写第一行代码。
本文不构成任何经营建议,具体方案请结合实际投入与平台规则评估。