我是如何用10个AI代理写小说的
三个月前,我在想:既然一个AI就能写东西,那如果让10个AI各管一摊,会不会写出更好的东西?
于是我做了这个实验——一个多代理小说写作系统。现在系统写完了第一篇小说,我想分享一下这段经历。
缘起:从两篇文章到一个系统
这个系统其实是两篇文章的结合。第一篇讲的是5个代理写小说,第二篇讲的是7个代理写博客。我把它们揉在一起,变成了现在的10代理系统。
这10个代理是:
- 协调者:项目经理,先搞清楚我们要写什么
- 研究者:查资料的,一切细节要有来源
- 世界构建者:设定故事发生的地方
- 角色设计者:创造人物,连他们最怕什么都要想清楚
- 情节设计者:搭结构、写场景、埋线索
- 作家:真正写字的人
- 连续性检查者:抓bug的——这个人第一章叫张三第三章怎么叫李四了?
- 敏感性读者:检查有没有冒犯性的刻板印象
- 编辑:质量守门员,12项指标一项一项过
- 出版者:最后打包交付
最有意思的三个设计
做这个系统时,我最在意三个点,也是实际用下来觉得最有价值的地方。
透明的内心独白
每个代理开始工作前,都要写一段"内心独白",记录自己是怎么想的。格式是5幕结构:
- 角色介绍:我是谁,今天要干嘛
- 输入观察:我看到了什么材料
- 内心独白:真正的思考——这任务难在哪?我该怎么入手?
- 决策过程:我决定这么做,理由有三
- 行动执行:我具体做了什么
一开始我觉得这可能是多余的。但实际用下来才发现,这个设计太重要了。
有一次,作家代理写出来的东西和我想象的不一样。我去看它的内心独白,发现它对主角的理解完全偏了。不是它写错了,是角色设计者写的档案不够清楚。
如果没有这个独白,我可能只会觉得"AI写得不好"。但有了独白,我看到的是"哦,这里的沟通有问题"。
严格的交接协议
代理之间的交接是二进制的——YES或NO,没有"大概"、"基本上"这种词。
每次交接都要写一段YAML,里面列清楚:
- 交付了什么文件
- 每项检查的结果(只能是YES或NO)
- 签名和时间戳
如果有一项检查是NO,交接就是BLOCKED状态,必须修好才能往下走。
比如研究者要交出至少30张事实卡片,每张都要有来源和可信度(只能是HIGH或MEDIUM,LOW不行)。如果只有29张,交接就通不过。
这种严格一开始让人不舒服,但几次下来就爱上了。因为你知道,拿到下一个代理手里的东西,一定是符合要求的。
工程化的质量控制
最后有12项质量指标,必须全部PASS才能出版:
- 故事完整性:4章,每章至少5段
- 字数:至少20000字
- 对话比例:25%-35%
- 角色弧线:每个主角都要有变化
- 事实准确性:30张事实卡片
- 伏笔系统:至少12条伏笔
- 连续性:0个错误
- 敏感性:0个 flagged 项目
- 主题共鸣:每章都要有主题
- 技术准确性:100%有来源
- 风格一致性:0个POV违规
- 场景饱和度:每个关键场景至少3种感官细节
这些指标不是凭空来的。每一项都对应着创作中的某个具体问题。比如对话比例——太多像剧本,太少又沉闷。25%-35%是经验值。
实际运行是什么样的
整个流程是15步,从初始化到最终交付:
00-初始化:建目录结构 01-协调者:材料审计,确定核心冲突 02-协调者:锁定技术规范(POV、时态、语气、禁用词表) 03-研究者:收集至少30张事实卡片 04-角色设计:3个主角+3个配角,每个人都有核心恐惧 05-情节设计:4章结构,每章5个关键节拍 06-情节设计:至少20个场景,12条伏笔 07-世界构建+角色设计:世界设定+风格指南 08-作家:全稿,至少25000字(先写多再删) 09-连续性检查:查时间线、名字、数据 10-作家:精炼,删到至少20000字 11-敏感性阅读:检查刻板印象 12-编辑:主题强化 13-编辑:事实核查 14-编辑:12项指标审计 15-出版者:最终交付
用一句话输入就能启动:
/start-novel 2025年,AI冲击下,一个33岁程序员的求生故事
然后系统就开始一步步走。每完成一步,你能看到文件系统里多出来的东西——事实卡片、角色档案、场景卡片……
文件系统就是外部记忆
这个系统没有用什么复杂的数据库。所有状态都存在文件系统里:
state/
STATUS.yaml # 当前状态
LOG.md # 执行日志(追加,从不覆盖)
MATERIAL_AUDIT.md # 材料审计
HANDOFF_QUEUE.yaml # 交接记录
bible/
world.md # 世界设定
rules.md # 技术规范
style.md # 风格指南
facts/
research_cards.md # 事实卡片
characters/
profiles.md # 角色档案
relationships.md # 关系图
beats/
structure.md # 章节结构
scenes.md # 场景卡片
continuity/
checks.md # 发现的错误
threads.json # 伏笔线索
draft/
chapter_01.md
chapter_02.md
chapter_03.md
chapter_04.md
out/
checklist.json # 12项指标
novel_final.md # 最终小说
这种设计有个巨大的好处——透明。你随时可以去看任何一个文件,知道系统在想什么,做了什么。
而且,就算程序崩了,文件都还在。你可以从断点继续,不用从头再来。
效果怎么样?
第一个测试项目是:"2025年,AI冲击下,一个33岁程序员的求生故事"。
最终成品是21472字,4章。12项指标全部PASS。
但让我最惊讶的不是质量,而是一致性。
通常用AI写长文,写着写着就走样了。人物性格变了,语气变了,甚至前面提过的细节后面忘了。
但这个系统,因为有那么多检查点——角色档案锁死人物,风格指南锁死语气,连续性检查抓bug——整个故事从头到尾是统一的。
还有一个惊喜:伏笔。情节设计者预先埋了12条线索,每条都有设置、激活、解决点。作家在写的时候,只是自然地把这些线索放进去,读者读的时候会觉得"哦,原来前面提到过!"
心得体会
做这个系统的过程中,我有几点很深的感受:
1. 分工比蛮力重要
不是把一个AI模型调得越大越好,而是让不同的"人"专注做自己擅长的事。研究者就专心查资料,作家就专心写,编辑就专心挑错。
2. 约束带来自由
一开始觉得那么多规则——禁用词表、对话比例、POV纪律——会不会束缚创作?
实际恰恰相反。规则越明确,创作时越不用纠结"这个能不能写",只要在规则里,你可以放开手脚。
3. 过程比结果值得记录
最后出来的小说当然重要,但更有意思的是state/LOG.md里记录的整个思考过程。每个代理是怎么想的,哪里遇到了问题,怎么解决的——这些比最终的文字更有价值。
4. AI是合作者,不是工具
用这个系统时,你不会觉得是在"用AI",而是在和一队合作者一起工作。每个角色有自己的性格——协调者很务实,研究者爱问"来源是什么?",编辑很严格但很具体。
接下来想做什么
现在这个系统只是个开始。接下来我想:
- 把博客系统也完整做出来(现在主要是小说)
- 让代理之间能有简单的对话,而不只是单向交接
- 加入人类反馈的环节——比如写到一半,人可以插话调整方向
- 试试更长的篇幅——现在是4章2万字,能不能写10章5万字?
最后
很多人问我:AI能代替作家吗?
我的答案是:不能。但AI能让写作过程变得更清晰、更有条理、更少犯低级错误。
这个系统写出来的东西,当然不如优秀的人类作家。但它展示了一种可能——把创作过程工程化,不是要消灭灵感,而是要给灵感一个更稳固的脚手架。
如果你对这个系统感兴趣,可以看看代码。所有东西都是开源的,你可以拿去改,拿去玩。
毕竟,写作这件事,本来就应该有更多人一起玩。
这篇文章本身也是用类似的思路写的——先让一个代理写全稿,再让另一个代理精炼,最后我自己调整了语气。不同的是,这次我是其中一个代理。