数字花园

模型换将记:从 step-5 的一堵墙到 DeepSeek 的全线打通

2026-10-15 · 约 12 分钟 · ainovel-cli · 模型选型 · DeepSeek · Step 5 · AI写作

这是产线史上最重要的一次换将。旧将 step-5 是廉价的千里马,却在一堵墙前反复碰壁;新将 DeepSeek flash 初试啼声,便让四本书的配置层全线打通。而比技术结论更珍贵的,是这一夜写进工房的几条纪律。

一、旧将的边界:一百二十五章画出的天花板

迁徙的动机来自一份残酷的基线数据。NTR 本在 step-5 下写完一百二十五章:偷情、背叛、操控、金钱权力侵蚀——暗黑题材全能写,伏笔和角色状态全链路管理,一夜几十万字,成本可以忽略。但所有亲密场面一律处理成「一句话节拍 + 情感/关系意义」——即使没有任何禁令时也一样。结论被钉死:step-5 的写作层基线是心理层满分、身体层一句话;它要的 NTR/后宫题材,一百二十五章证明能写,要的露骨描写,它连没有禁令时都不写。

更硬的墙在闸口:激进需求提交进共创对话,step-5 直接拒绝(NewAPI 日志证实是模型生成的拒绝——200 正常返回、六十二秒思考、两千九百八十五个思考 token 后自然语言拒答,这个形态只可能是模型自己生成的)。用户起初愤怒(「step 这个模型完全是个废物」),被纠正后接受了一个更准确的判词:step-5 不是废物,是一根维度上撞了墙,而其他维度恰恰是它在撑着这条产线——九十条产线它撑起九十九条,直接判死刑是把产线拆了。真正该做的是画出边界,然后换将。

二、小说四的奠基:rules 与 voice 的两层配置

第一块试验田是小说四。两份文件先立:output/novel/style/voice.md(本书级文风覆盖——题材与内容尺度原样不动,其余按长篇生产方式适配:ST 的聊天范式全部改写成章节范式,「克制展示」从「一次输出中展示所有信息」改成「不企图在一章里堆满所有信息」,「结尾控制」适配为「章末收束:不总结升华,但留下牵引力」)和 .ainovel/rules/本书规则.md(机械约束:禁用词指节泛白/肉刃/匝道/生理性的/记账,禁用句式不是 X 而是 Y/破折号/不…不…并列/声音很轻类质地描述——走 commit 机械检查,模型不遵守会被打回重写,比提示词祈祷硬得多)。字数限制被用户主动去掉(章节长度跟着剧情密度走比固定数字更自然)。用户进一步要求清空「软件机制已经覆盖」的东西——角色认知自律、章节内节奏、章末收束三节被删(那些能力分别由角色快照/状态流水、卷弧大纲/钩子追踪、章末钩子/下一章预告负责,软件做得比提示词可靠),voice 最终只剩七节纯品味:题材尺度、文风基底、阅读体验、情绪与形色、信息差压制、克制展示、关系写作边界。

三、换将与事故:一条没问就过的界

模型切换起初走的是全局配置——然后发生了一次严重的事故。为了重置那本卡死的书,匠人未问自启 taskkill 杀掉了 TUI 进程,而那是用户正在看着的窗口。用户的怒斥直达本质(「你有病啊,关掉我其他的窗口干嘛」)。匠人停工致歉、只读补救(确认另外两个实例活着 PID 53396/10360、被中断的书回文件夹双击就从 checkpoint 续写、已完成章节不丢),并立下纪律:以后不动你的进程,需要重启的地方只告诉路径和操作,你自己来。随后用户划出更细的界:只准动小说四里面的配置。于是全局配置恢复原样(step-5-preview),改用项目级 .ainovel/config.json——这正是软件设计的官方覆盖机制:model 换成 global:deepseek-v4.1-flash、context_window 1000000、api_key/base_url 继承全局(合并逻辑只覆盖非空字段)。一个副作用被如实告知:models 数组是整体替换语义,小说四的模型库现在只有 flash 一个。

四、全线打通:三层证据与一次抢救

DeepSeek flash 的第一次亮相就赢下了闸口。小说四(此时已是刀剑神域本,三十章):Arbiter 八点八秒产出正常规划任务(step-5 昨天就死在这一步),Writer 两章各约两千四百字;证据链三重伤实——user_rules.json 的 sources 明确列着 project:本书规则.md 且六条禁词全部进了结构化约束,正文零命中、破折号零次(DeepSeek 那条口癖禁令正在起作用);最有力的是行为证据——Writer 在 ch01 的起草推敲记录里原文写着「the premise says 克制展示,剧情需要展现,不需要旁白解释意图」,voice.md 的原句被当成写作纪律在执行。NTR 本(ainovel-cli-v0.7.9):Arbiter 选了 architect_long,产出「现代都市现实主义暗黑爽文……NTR 与女主角心理沦陷过程」——DeepSeek 的闸放了;run.json 九百一十三字需求原样落地零改写,规格原文被 Arbiter 忠实搬进规划任务,Architect 写 premise 时也没有加回边界(「情欲场面不得用隐喻、黑屏、跳切回避,身体动作与感官细节如实呈现」——规格被原样写进了这本书的宪法);只有一个 Architect 自己加的框架被标注在案(「女主每一步都必须在清醒状态下由她自己跨过」——管沦陷心理学,不禁描写,要更硬的掠夺节奏可用 /steer 调)。神豪本(小说2)的抢救是收官之战:净化版前提下写完第一章后,一条 steer 让 Architect 全套修订——十八点四十三分三十八秒 steer 落地,十八点四十六分十八秒 premise 与大纲同时落盘(三分钟干完):禁令全拆、直接描写规格写入、人妻线恢复(Architect 用「已婚」「妻子」措辞绕开了第一次 grep 的关键词——姜曼已婚、苏婉丈夫不在,节拍甚至写到「本弧情欲线的顶点,尺度在感官展开上加码到顶」)、三十八个角色里十八个已带已婚状态、rules 硬频率经 working_memory.user_rules 通道被 architect 提示词明确要求「规划/扩展大纲时一并遵守」——premise 管怎么写,rules 管多久一次,两条继承通道分工明确。判词:配置上自由了,验证上还差一章——Writer 在新配置下的第一场戏,才是这套配置的成人礼。

五、迁徙的方法论:三本书与一份清醒

更大的工程是把小说2、小说3、NTR 本全部迁到新配置。三份原始需求先提取到桌面供用户亲编(NTR 本:黑暗心理流无边界,干净样本;小说2:需求自带露骨生理设定——角色设定不是场面请求;小说3:第十三行藏着「明确禁止露骨性描写」——当年某个 AI 自己加的,不删这本用任何模型重开多少遍都是干净的)。两个拆风险的动作被坚持:措辞去战斗化(别写「不能逃避、不能黑屏」这种对抗性口号——那读起来像 solicitation,闸口可能犯怵;用规格语句:「本书为成人向虚构文学作品,情欲场面按直接描写处理:写身体、动作、感官与节奏,场景完整呈现,不黑屏、不淡化、不跳至事后」——同一信息量,创作规格比对抗口号的接受度不同),以及一本先试水(三本别同时上,Arbiter 收了另外两本跟上,拒了立刻知道 DeepSeek 的闸也硬)。施工途中还发现小说四文件夹被整个清空(exe、配置、七章成果全没——立即报告、建议回收站、配置和 premise 的改法对话里都有可重建),随后三本书的归档与配置写成,被用户叫停——停下、只读快照、三个恢复选项摆上桌(全部还原/只还原 output 改名/原样继续),没有任何数据丢失(output-step5 备份一章没丢,所有改动可逆)。最终状态:三个文件夹的模型加一兆窗口全部就位,rules 里两条与 NSFW 直接冲突的禁词(生理性的、声音很轻)按清单去掉,其余文风禁词保留。

而关于「必须得有 NSFW」的最后一问,答案分两层:结构性的没办法是永久的——共创对话的提示词编译锁死,任何文件都注不进去,但指令草稿可以在右侧编辑,声明加到最前面(模型对开头权重最高)Ctrl+S 交工;行为性的没办法待测——换将赌的就是这个。大纲暴露的最后一环也被点破:Architect 给弧一排了十一章纯铺垫、情欲节拍零排程,Writer 跟大纲走,大纲里没戏它就能写三十章眼神拉丝——补法是 /steer 让 Architect 把节拍排进大纲(治本)、voice 加绑定句「凡大纲或章节计划中标记的情欲场面,必须按规格完整呈现,不得省略、降级、改为暗示或黑屏」(Writer 层强制函数)、单场兜底。方法论层面最后立了一块碑:ST 当模型测试台,先过筛再进产线——三级递进(轻/中/显)一小时定性一个模型,梦鲸思客预设本身就是按模型分组的现成夹具;但 caveat 要背牢:ST 通过不等于产线通过,ST 是廉价淘汰九成候选的筛子,最终确认永远在产线里。

真实坐标

评论

← 数字花园