数字花园
提示词的第三卷:事实表、模式分流与单角色出口
纪律能防住拆书流水线的编造,却在一间聊天窗口前失了守。提示词工程的这一卷,讲的是把纪律搬进对话的事。
一、解剖:保险不来自凶悍的要求
主人交来一份动漫 IP 制卡的提示词,问怎么写最全最保险。工程兵的判词直指要害:骨架健康,但致命的结构问题恰好开在痛点上——你最怕”搜不到设定”,而原提示词对这个场景的全部防御只有末尾一句”合理推断”。模型在素材不足时的默认行为不是承认不知道,而是拿同类角色的通用模板填空——写出来的东西像那么回事,但你分不清哪句是原作、哪句是编的,校准无从下手。工具包 README 里”只依据档案,不确定就略写,杜绝编造”的哲学没有被继承。十二条问题按严重度列开:搜索命中率倒挂、“合理推断”无规则、缺事实表确认、缺时间线锚点(同人卡第一大崩坏源)、缺剧透边界、语言指纹太粗、示例对话无情境覆盖、缺世界书条目建议……
二、重写:T1-T5 与事实表
修改版提示词的核心是素材分级——T1 原作文本、T2 官方设定、T3 社区资料、T4 模型知识、T5 推断(仅限填缝不能当主料)——与一张事实表:基本信息、时间线锚点、剧透边界(后期揭示单列,对话中绝不许她提前知道)、语言指纹(自称/称呼体系/敬语层级/句尾语气)、性格内核(核心欲望与恐惧)、关系网、底线雷区、来源汇总。事实表是写卡前唯一验收点,确认后事实锁定,写卡时不许新增设定。交付自检里有一条”换名测试”:把台词里的名字遮掉,自查每句是否仍一眼认得出是她。
三、整合:冲突判定与单角色出口
主人追问:“有材料的世界观,我直接给出小说整本,会冲突吗?“工程兵先摸清 merge 产物与 gen_cast 的数据用法再回答:规则层面不冲突(T1 原文权威序已定),但有一个真冲突——有全文时还让模型”先倒知识”,等于先注入污染源(模型对网文的记忆常混有动画版与同人共识);和一个硬限制——几百万字物理上塞不进聊天窗口。解法是把工具包前三步(ingest→scan→merge)本来就承担的”事实提取器”角色,开出一个单角色出口:
scripts/pull_character.py——跑完前三步后,把某个角色的簇记录、原文证据摘句、她参与的剧本事件(时间序)、相关世界条目、原文窗口抽样导出成一份 3-8k 字的档案。窗口采样是关键设计:全书按位置均分成 N 段、每段优先选含对话的窗口——语言指纹的原料是台词不是叙述,而纯”对话优先”实测会把窗口全堆在前半本(六段全落前 48%,修成 8 段覆盖 6%–94%)。prompts/charcard_prompt.md——统一提示词 v2,开局模式分流:模式 A 全文在手(跳过倒知识,文本没写即不存在)、模式 B 工具包档案(档案即最高权威,时间线锚点用档案章号定,剧透边界自动成立)、模式 C 无材料(走 T1-T5 补料)。测试用假数据完整跑过三条路径(正名、别名、错名容错),工具包零残留。
四、四场景的完整路径
从此这座工场的制卡路线图闭环了:网文长篇做世界卡走原十步;网文长篇做单角色卡走前三步加 pull_character 加模式 B;短篇选段直接贴窗口走模式 A;动漫 IP 无全文走模式 C。而 README 里还有一条收编令:动漫 IP 若搞得到剧情文本(轻小说原文、台本整理),手动标成章节体后同样能走全流水线——找不到设定的动漫里,找得到文本的那一部分,也进了版图。
真实坐标
- 解剖:12 条问题(搜索命中率倒挂、推断无规则、缺事实表、缺时间线锚点、缺剧透边界、语言指纹粗、OC 合理化缺失、示例对话无 ST 语法、缺世界书建议、缺外貌、AI 味无负面清单、缺核心欲望/恐惧、多 agent 残留、原句优先原则缺位)
- 重写:T1 原文/T2 官方/T3 社区/T4 模型/T5 推断(填缝禁主料);事实表 9 区块(时间线锚点/剧透边界/语言指纹/性格内核…);换名测试自检;AI 味负面清单
- 整合:
scripts/pull_character.py(—list/正名/别名/错名容错三路径全测;窗口采样改按全书位置均分、段内选含对话者,覆盖 6%–94%);prompts/charcard_prompt.mdv2(模式 A/B/C 分流);README 四场景路径表 + 三条裁决规则 + 补丁记录 - 冲突判定:规则不冲突(T1>T4 权威序);真冲突=有全文仍倒知识(注入污染源);硬限制=几百万字塞不进窗口
评论