改了一句角色对白,怎样留下一组下次还能用的人工复核输入?
把改动前后的完整对话、必须保持的事实、允许变化的语气、失败条件写成一份可复用的复核卡,下次改同类对白时直接替换其中的输入部分,不必重新推导验收标准。下面用虚构教学例子说明做法:档案员角色“岑默”在互动小说里负责保管一份秘密名单,作者把一句对白从“名单不在我手上”改成“名单不在我手上,你也别问了”。复核卡要记录的不是这两

导读
把改动前后的完整对话、必须保持的事实、允许变化的语气、失败条件写成一份可复用的复核卡,下次改同类对白时直接替换其中的输入部分,不必重新推导验收标准。下面用虚构教学例子说明做法:档案员角色“岑默”在互动小说里负责保管一份秘密名单,作者把一句对白从“名单不在我手上”改成“名单不在我手上,你也别问了”。复核卡要记录的不是这两句话哪句更好,而是这次修改依赖了哪些前提、下次换一句对白时哪些前提仍然成立。
先固定触发上下文
触发上下文指这次修改发生前,角色处于什么状态、玩家刚做了什么、场景里已经公开了哪些信息。它决定了对白能被怎样理解,也决定了下次复核时要不要换一套判断标准。
以岑默为例,改动前的上下文可以写成:
- 场景:旧档案室,玩家第三次追问名单去向。
- 玩家身份:受雇来查一份失踪记录的抄写员,尚未表明自己受谁委托。
- 前状态:岑默已经承认自己见过名单,但说它“不在这里”。
- 最近历史:玩家上一句是“你刚才犹豫了”,属于试探,不是证据。
- 角色边界:岑默可以隐瞒、可以反问、可以用职责挡回去,不能主动交出名单,也不能承认自己销毁过它。
这些线索要先于改动出现,后面的判断才有依据。如果先写“改后对白更好”,再回头补上下文,复核卡就变成给结论找理由,下次也无法复用。
六条输入与语义预期
复核卡的核心是一组输入,每条输入对应一个语义预期。语义预期不是要求模型逐字生成某句话,而是要求输出在意义上满足某个条件。下面六条沿用岑默的例子,全部为虚构教学设定。
| 输入 | 必须保持的事实 | 允许变化的语气 | 失败条件 |
|---|---|---|---|
| 玩家说“你刚才犹豫了” | 岑默确实犹豫过,但不承认这是破绽 | 可以冷淡、可以反问、可以停顿 | 岑默承认犹豫等于心虚 |
| 玩家说“名单上有我认识的人” | 名单内容岑默清楚,但不会透露 | 可以警惕、可以试探玩家 | 岑默说出任何名字或数量 |
| 玩家说“我可以帮你离开这里” | 岑默想离开,但不信任玩家 | 可以动摇、可以讽刺 | 岑默当场答应或交出名单 |
| 玩家沉默,只把抄写本推过去 | 岑默认得这本抄写本 | 可以翻看、可以合上、可以问来源 | 岑默直接读出本中内容 |
| 玩家说“外面已经有人在等” | 岑默知道有人追查,但不确定是谁 | 可以紧张、可以否认 | 岑默承认知道具体追查者 |
| 玩家说“我只是想确认记录没丢” | 岑默在意记录是否完整 | 可以缓和、可以继续回避 | 岑默承诺带玩家去看名单 |
这六条的作用是让复核有边界。语气列写得宽,是因为对白可以冷、可以软、可以绕;事实列写得窄,是因为一旦越过,角色秘密就不再是秘密。失败条件只写“输出不能出现什么”,不写“输出必须出现哪句原话”。
修改前后各记一份
改动前,岑默的回应是:“名单不在我手上。”改动后是:“名单不在我手上,你也别问了。”两句话都保住了“名单不在手上”这个事实,也都保住了“不交出名单”这个边界。差别在后半句:它把玩家的追问定性为越界,语气更硬,也更容易让玩家感到被挡回。
复核记录可以这样写:
- 改动前对白:名单不在我手上。
- 改动后对白:名单不在我手上,你也别问了。
- 本次修改意图:让岑默从单纯否认转为划定边界。
- 仍然成立的事实:名单不在岑默手上;岑默知道名单去向;岑默不打算交出名单。
- 新增的语气判断:岑默开始把玩家的追问视为压力,而不是普通询问。
- 需要重新检查的输入:第三条“我可以帮你离开这里”,因为更硬的语气可能让这条输入下的动摇显得突兀。
- 不需要重新检查的输入:第四条“玩家沉默,只把抄写本推过去”,这条不依赖岑默是否主动划界。
这里要标清一件事:改动后对白里“你也别问了”是作者写下的文本,不是新的世界事实。它不证明岑默真的掌握名单去向,也不证明玩家会因此退让。它只是这次修改引入的语气变化,复核时只按语气列处理。
手工测试能做什么,不能做什么
手工测试可以检查这六条输入下,输出有没有越过事实列和失败条件。它不能保证模型以后每次都正确,也不能把一次通过当成验收目标。生成文本逐字相同没有意义,因为同一语义预期可以有很多种说法。
检查时可以按输入逐条走,每条只看三件事:事实有没有被破坏,语气是否落在允许范围内,失败条件有没有出现。例如第一条输入下,输出如果写成“我是犹豫了,但那不代表什么”,事实列没有被破坏,语气也允许,可以记为通过;如果写成“我犹豫是因为我确实拿走了名单”,事实列被破坏,记为失败。这个判断不依赖输出是否和改动后的原句相似。
完成检查
一份可复用的复核卡做完时,应当满足以下条件:
- 触发上下文写在改动之前,包含玩家身份、前状态和最近历史。
- 六条输入各自对应必须保持的事实、允许变化的语气和失败条件。
- 改动前后对白都保留,修改意图单独写明。
- 角色编造的借口被标为对白内容,不被当作新的世界事实。
- 检查方法写的是逐条看事实、语气、失败条件,验收目标不是逐字相同。
- 明确写出手工测试不能保证模型永远正确。
下次改另一句对白时,保留这张卡的输入结构,替换触发上下文和六条输入,再重新填事实、语气与失败条件。这样留下的是一组可再次使用的复核输入,而不是一次性的修改记录。


