小说产线的角色们:给 AI 流水线配一套神话班底
上一篇写了李白——小说产线上那个不管写作、只管纪律的编排器。但一条产线不可能只有一个角色:技能是谁造出来的?造完谁审?审出问题谁改?改完谁入库?这些岗位都有人,而且每个人的名字都来自神话——仓颉、女娲、扁鹊、华佗、皋陶、御史、石渠、燧人、欧冶子、墨子、鲁班、黄帝。这篇写班底本身:每个技能管什么、为什么一个岗位一个技能、他们之间怎么交接、命名为什么走神话体系。所有职责描述都以各技能实际的 SKILL.md 为准,我逐个翻过才动笔。
一个岗位一个技能
班底的组织原则只有一条:**一个岗位一个技能,职责单一。**这不是审美偏好,是被反例教育出来的。李白之前有一套包办一切的写作技能,写作、数据、流程长在一个身体里,经年迭代后胖到没法维护——李白的设计文档里专门写了一节”治理原则与叙事机制的切割边界”,宣布机制全新设计、零承继,只保留工作区级的通用治理纪律。旧的教训变成了新的结构:能力拆开,各立门户。
职责单一落到技能文件的写法上,就是 description 的三要素:做什么、何时触发、不触发。前两样好理解,第三样才是关键——每个成员的”不触发”一节都在给邻居指路。扁鹊的不触发写着”评估技能质量找达尔文”;华佗的不触发写着”代码审查找扁鹊、评估打分找达尔文”;仓颉的不触发写着”评估优化找达尔文、融合找欧冶子、造人物找女娲”。边界写在门口,路由就不会打架,主 agent 看一眼就知道该把活交给谁。李白也是这么写的:扫榜、拆书、记忆沉淀不归它,分别转交 story-long-scan、story-analyze、story-learn;无人值守的批量跑批不归它,转交短故事流水线。
造物岗:仓颉与女娲
仓颉管”从无到有造通用技能”,但它的第 0 节不是怎么写,而是该不该写成技能。那张决策表值得抄一遍:重复且确定的活(输入输出步骤全固定)做脚本,token 成本只有技能的几十分之一;重复但需要模型判断的做技能;稳定的知识沉淀成文档型技能;需要新工具或系统级能力的做插件或 MCP;一次性问答直接回答。技能是薄壳加脚本,壳负责”何时用、怎么调、怎么排障”,实际工作落在确定性代码里。李白自己的骨架就是按仓颉的 create 流程搭的——设计文档的实施步骤里白纸黑字写着这条。
女娲管”造人”——把某个人的思维方式蒸馏成可运行的人物技能。它的做法是多代理调研:六个并行子代理分别从著作、对话、表达风格、他者批评、决策记录、时间线六个维度采集,每个维度必须落盘存进技能目录内部(不落盘的调研等于没做),然后在三个显式检查点——调研质量、提炼结果、成品交付——停下来等人确认。女娲的操作反例清单第一条是伪造来源一律禁止,落款是一句我非常认同的话:宁可生成一个诚实标注了局限的 60 分技能,也不要一个看起来完美但实际上在编造的 90 分技能。
审查岗:扁鹊、华佗、皋陶、御史
审查这条线上站着四个人,各管一段。扁鹊审代码:六层清单(正确性、安全、性能、错误处理、可读性、测试)逐条机械判断,产出按 blocker、major、minor、nit 四级排序的问题列表,每条带位置和修复建议。它明确不做的事和要做的事同样清楚:只报告不修代码,不审格式化工具能代劳的风格,无问题的层直接写”无”,不输出散文式感想。
华佗审技能,核心心智一句话:审计是”找缺陷”,不是”打分”——打分是达尔文的活。它的纪律有三层。第一层是”现地现物”:只读实际文件、跑实际命令,文档与实现不一致时以实现为准。第二层是证据标准:派多个互相不见面的冷启动子代理从不同视角找缺陷,每条候选必须带文件、行号、原句和验证方式。第三层最狠——反证门:候选清单出来后,另派一个独立子代理逐条尝试推翻,推不翻的才进最终清单。它自己的实测数据说得很直白:大约八成的候选缺陷”看似合理但站不住”,不设这道门,清单会被假缺陷淹没。
皋陶管意图。指令模糊且涉及高风险操作时,先复述理解、停下等用户确认再动手;创意与功能类任务,先出设计、用户批准后才开工。御史管规则:往 AGENTS.md 或记忆规则层写规则之前,自动预检四类冲突——新旧矛盾、表述重复、违反硬原则、作用域错配——先用零 token 的机械脚本打底,命中了才升级语义判断。一个管”动手前的理解”,一个管”立规矩前的一致性”,都是把事故拦在发生之前。
优化与融合岗:达尔文、燧人、欧冶子
达尔文管技能的评估与优化:九维评分量表,结构七维加实测表现,改进在 git 分支上逐轮进行。它 v2.1 的一个修正特别能说明这个家族的方法论——此前 keep 或 revert 依赖绝对分数的提升,后来发现评审模型打分自带正负 8 分的噪音,足以淹没一次保守编辑的真实增益,于是改成 paired 裁决:同一个评审子代理在同一次调用里对比改前改后两版(评审者自己的尺子不稳,但对比两版时偏差会抵消),再配奇数票多数决。还是那条贯穿全家族的原则:评估者必须和生成者异构。
达尔文之外还有一条无人值守的进化线(evolution-driver):用户定好验收标准,循环自动跑到达标为止,五百轮封顶。它进门第一件事是查权限——技能必须在台账里显式标记 evolvable 才允许被自动改写,缺省拒绝。进化是高危动作,opt-in 是底线。
燧人管现场反馈:用任何技能时发现问题或想到增强,当场三段式说出来,小改当场落地,改完留痕进记忆库。技能的问题只在使用现场暴露,当下不捕捉转头就忘。欧冶子管融合:把外部货架上的候选融进已有技能,每一步都有验证门禁——结构闸、功能四件套、盲评票,最后还要华佗和扁鹊双检,全过才算完成,口号是”增强了且没弄坏”。顺带坦白一件事:这条线上还能看到命名演化的痕迹——早期的 skill-fusion 和后来的欧冶子是同一岗位的两次命名,触发词至今相同,家族名字的统一本身还在进行中。
库房与总调度:石渠、墨子、鲁班、黄帝
石渠是库房管理员:技能入库登记、分层存放、写 catalog 索引、查重、变更回归、退役归档,口诀收存引省护裁判七个字,账本是唯一事实源——账本过期等于库房失序。墨子管威胁建模,STRIDE 枚举、攻击树、缓解映射这套流程,和墨家守城”先画城防、枚举攻法、配防御工事”结构同构——它和扁鹊(审代码)、华佗(装前体检)并列为安全治理三件套。鲁班管的是最底层的 harness 组织学:记忆、权限、上下文、委托、技能目录这些”模型周围的环境”该怎么搭,一句话定义——把裸模型变成能长期、安全、可控干活的生产级 agent 的那层系统。
黄帝站在最上面做总调度。任何”我要做个新东西”的需求,先过一张从上到下的淘汰漏斗:直接回答、内置能力、脚本、技能、插件、MCP,逐层拦截、命中即停,能用简单形态就不用复杂形态。归属定了之后黄帝也不甩手——若是技能或脚本,就由它统筹”造、审、修”的质量闭环:仓颉造、华佗审技能、扁鹊审脚本,成员职责单一,协调归皇帝,成员技能里不写协调流程。总调度自己也不越权,这是单一职责往管理层的延伸。
班底怎么给小说产线干活
回到小说产线,看这套班底怎么围绕李白运转。造:李白按仓颉的骨架建成,设计文档先写、经另一个模型(Kimi)复审后才实施——异构审查从设计阶段就开始,不止在代码层。写:正文生成归 liyu 服务(生成模型一套),李白和子代理一律不执笔;写前指令预算写死不超过三条,实测里八条约束的章节得分反而低于三条——约束该交给服务的规则库,不是堆指令。
审是交接边界最密的一段,三道关各管各的。第一道,事实与设定一致性归 liyu 的门禁(G1 到 G7):协议解析、引用校验(实测拦下过七个伪造的角色 ID)、一致性(死者不能再动)、未知实体、蓝图出场——这层管”能不能收”。第二道,表达层纪律归李白本地的量化门禁,纯文本统计、零模型:破折号超限直接打回,字数低于平台标准打回;字数的执行主体在 liyu 生成侧(不足自动续写、超长自动压缩),李白侧的校验留作最终防线——同一件事两层兜底,是刻意的冗余。第三道,评审归另一个模型做冷读(生成一个模型、评审另一个模型,评委路由固定,中途换评委数据作废;实测生成模型自评会系统性压分,只作参考不作放行依据)。全书前三章另设人审锚点:冷读达标也必须停下等人确认,机器的分数只是参考线。
归:归档的一致性清单四项全过才放行——字数达标、章节完整、候选版本清理、无挂起改稿;导出格式固化在脚本里、正文原样不改;成书后按平台分类体系打标,主分类一副分类七,依据必须引用正文实际内容,名实一致性由用户终审;存储是单点,归档时顺带触发备份。批量场景另有分工:无人值守的一键成书归短故事流水线(duan-gushi),它与李白共享同一个 liyu 系统和角色卡池——交互创作一个岗位,批量跑批另一个岗位,连”模式”都拆成了两个技能。
把这些交接摆在一起,能看到三条共性:产出物格式显式(流程是 JSON 状态机,每步声明输入、输出、gate、失败处理);验收标准显式(能机械判定的纪律用脚本硬拦,不靠提示词自觉);关键决策停下等人(检查点写成硬关卡,措辞不算数)。技能之间交接的既不是聊天记录也不是默契,是结构化的产物和写在门口的边界。
命名为什么走神话体系
因为神话人物的原型职业,本身就是岗位说明书。仓颉造字——造技能;女娲造人——造人物技能;扁鹊望闻问切——给代码做体检;华佗对症诊治——给技能找病灶;皋陶是司法鼻祖——管意图确认与裁决;御史纠劾——管规则冲突;石渠阁是汉代藏书之所——管库藏;燧人取火——在使用现场把问题点亮;墨子守城——管威胁防御;欧冶子铸剑——管融合锻造;鲁班造器——管工具组织;黄帝是共主——管调度。李白管写诗,所以小说产线的编排器叫李白,而它自己一个字都不写——诗仙在哪篇里都是被引用的那个人。
这套命名的实际收益有两条。一是记忆锚点:名字即职责,不用记”代码审查技能”和”技能审计技能”谁是谁。二是唤起自然:对主 agent 说”让扁鹊看看这段”,比对着一串功能性英文名发指令顺手得多。还有一层隐性约束:名字一旦是具体的人,这个”人”就只有一双手——让扁鹊顺手改代码,听起来就像让医生顺手做手术,职责蔓延会直接别扭在名字上。
当然不是教条。技能导购(skill-guide)、进化驱动器(evolution-driver)就没跟神话,好用比齐整重要;skill-fusion 到欧冶子的改名也说明命名体系本身在演化,先有岗位后有名字。
诚实边界
三点如实说。其一,本文只写各岗位的职责与交接方式,每个技能的深度以它自己的 SKILL.md 为准,家族成员的打磨程度差别很大。其二,实现进度不一:李白的主线做过端到端回归(建书、大纲、角色登记、生成、门禁、接受全链路实测),但仍有挂起项——评审量表的网文加权层还在迭代(第二版待定)、题材卡的赛道分组字段待加、测试书里发现的伏笔表污染等完书后统一清理。其三,liyu 服务是私有依赖,外人复刻这条产线需要自己实现服务端;班底里的技能大部分在开源目录里能翻到原文。
写在最后
上一篇结尾说:写内容的和管纪律的必须分开。这套班底把这句话又推了一层——管纪律的内部也要分工:造的只造,审的只审,优化的只优化,协调的只协调,库房不生产、法官不断案。给 AI 流水线配神话班底,配的其实不是名字,是组织设计:岗位有名字,名字有边界,边界里写得下邻居的名字。模型会换代,提示词会重写,但”一个岗位一双手”的组织原则,比任何一版实现都活得久。