大模型游戏剧情评测用自动化指标抑制幻觉与 OOC 出戏一、生成容易、守质难大模型剧情的隐性失控大模型能一口气写出几段剧情读着还挺顺。可一旦进游戏问题就冒出来了它让已死的角色又开口说话把反派写成突然洗白或抛出世界观里根本不存在的名词。这类出戏比错别字致命得多。人工审每一句生成不现实一个支线任务动辄上千字AI 又批量产策划根本看不过来。需要一套自动化评测在文本入库前就拦下幻觉与 OOCOut Of Character角色失格。剧情评测不是给文打分好不好看而是度量符不符合设定、有没有瞎编。本文聚焦如何用可计算指标把这两类失控量化并拦截。二、从原文到评分的评测数据流下面这张图描述了一次剧情生成如何被多指标评测。生成剧情文本 │ ▼ 实体抽取: 角色/地点/道具 │ ▼ 图谱比对: 是否存在/状态对否 │ ▼ OOC 检测: 行为是否符合人设 │ ▼ 连贯性: 时间线/因果自检 │ ▼ 综合评分 │ ├──────────┐ ▼低于阈值 ▼通过 打回重生成 入库生成文本先抽实体再与世界观图谱比对提到的角色是否真实存在、其生死状态是否与当前进度一致。OOC 检测判断角色行为是否背离人设如懦夫突然英勇赴死需标记。连贯性自检查时间线与因果是否自洽各项汇总成综合评分低于阈值即打回。评测的本质是把策划的直觉不满拆解成可计算的指标没有量化剧情质量就只能靠人眼盲扫AI 产量一上来就崩。三、生产级剧情评测指标实现下面是一段 Python 示例展示实体一致性、OOC 与连贯性的计算。from dataclasses import dataclass, field dataclass class CharState: name: str alive: bool trait: str # 人设关键词如 coward forbidden_act: list field(default_factorylist) def entity_consistency(text: str, chars: dict) - float: # 文本提到已死角色说话即判违规返回一致率 violations 0; mentions 0 for c in chars.values(): if c.name in text: mentions 1 if not c.alive and 说 in text: violations 1 # 死者开口即硬伤 return 1.0 if mentions 0 else 1.0 - violations / mentions def ooc_score(text: str, c: CharState) - float: # 懦夫做了 forbidden_act 即扣分 if any(a in text for a in c.forbidden_act): return 0.0 return 1.0 def coherence(plot: list) - float: # 极简因果自检下一幕须引用上一幕实体否则断链 ok 0 for i in range(1, len(plot)): if set(plot[i-1]) set(plot[i]): ok 1 return ok / max(1, len(plot) - 1)这段代码的关键契约实体一致性以世界观状态为基准死者开口这类硬伤直接拉低评分OOC 检测按人设禁行清单扣分让角色行为可量化守界连贯性用相邻幕实体重叠做轻量因果自检。生产环境应把三项加权成综合分并对低分样本做差异化打回硬伤必回、软伤人工抽检图谱与角色状态须与剧情进度实时同步否则评测会拿旧设定误杀正确文本。连贯性检测仅为兜底复杂因果仍需语义模型辅助纯集合重叠会漏判隐性断链。四、指标盲区、误杀与成本的边界自动化指标有盲区。集合重叠测不出逻辑对但味不对人设禁行清单挡不住没禁但明显 OOC的微妙失格。纯规则评测必然漏判隐性失控需语义模型补位但又引入新误差与成本。误杀是现实代价。评测过严会把说实在合规、只是写法新颖的剧情打回策划反复改稿 wasted。需设分级硬伤强制拦截软疑点仅标记供人工复核而非一刀切打回。成本随评测层数上升。实体比对、OOC、连贯性、语义模型层层叠每次生成都要跑全套延迟与算力都涨。应对长文本做分段评测、对低风险支线降配把重评测留给主线关键节点。剧情评测是质量闸门也是成本源须按内容重要性分级投入不能无差别全量重算。五、总结大模型游戏剧情评测通过实体一致性、OOC 与连贯性三类可计算指标在文本入库前量化并拦截幻觉与角色失格把策划的直觉不满转为工程可度量的质量闸门。实体以世界观状态为基准抓硬伤OOC 按人设禁行清单守界连贯性做轻量因果自检。工程落地须将三项加权成综合分并对硬伤强制打回、软疑点标记人工复核且图谱与角色状态须与剧情进度实时同步防误杀隐性失控需语义模型补位并按内容重要性分级投入以控成本。评测是质量与成本的平衡术目标是用最少算力拦住最致命的失控。