从故事线推导角色逻辑:编码决策树方法 Deriving Character Logic from Storyline as Codified Decision Trees
提出编码决策树(CDT)框架,从叙事数据自动生成可执行的角色行为档案,显著优于人工编写档案
前置知识
角色扮演(Role-Playing, RP)
RP系统旨在让LLM模拟特定角色的行为模式,在情感支持、创意写作、游戏引擎等场景中有广泛应用。系统接收场景作为输入,输出符合角色性格的行动或对话。核心挑战在于如何将角色的背景知识(称为'档案'或'profile')有效注入到LLM中,使其在不同场景下保持行为一致性。
本文的核心问题就是改进RP系统的行为档案构建方法,理解RP任务的基本框架是理解本文动机和贡献的前提
编码档案(Codified Profile)
编码档案是将自然语言描述的角色特征转换为可执行函数的过程。例如,'该角色总是勇敢面对挑战'会被编码为:如果场景检查函数check(scene, '存在挑战?')返回True,则返回'勇敢'。check函数可以由LLM或微调模型执行。这种编码化设计提供了明确、可执行的约束,比静态文本档案具有更好的一致性和可解释性。
编码档案是本文方法的理论基础,CDT就是自动构建编码档案的框架
决策树(Decision Tree)
决策树是一种监督学习算法,通过一系列条件判断将数据分类。内部节点对应特征条件,叶节点对应分类结果。决策路径可解释、可可视化,适合表示层次化的决策逻辑。本文受此启发,但将其改造为表示角色行为规则的结构。
CDT的核心数据结构直接借鉴决策树的设计,理解决策树的工作原理有助于理解CDT的遍历和构建机制
自然语言推理(Natural Language Inference, NLI)
NLI是判断两个句子之间逻辑关系的任务:蕴含(entailment)、中立(neutral)或矛盾(contradiction)。在RP评估中,NLI用于判断预测行动是否与参考行动逻辑一致:蕴含表示100分(完全符合),中立表示50分(部分符合),矛盾表示0分(完全不符合)。
NLI是本文评估RP系统性能的核心指标,所有实验结果都基于NLI得分
研究动机
现有RP系统的行为档案存在三个核心问题。首先,档案是非结构化的纯文本形式,难以验证其准确性和完整性。例如,手工编写的Wiki角色档案往往只涵盖主要性格特征,无法覆盖所有场景下的行为模式。其次,现有档案不可执行,LLM只能通过理解文本来推断角色行为,无法强制执行特定的逻辑规则,导致行为不一致。第三,现有自动档案构建方法(如ETA)虽然能从故事线中提取信息,但采用'提取-聚合'的方式将不同情境下的行为混在一起,无法区分角色在不同场景下的差异化行为。具体数据表明,在Fandom基准上,人类手工编写的档案平均得分仅58.33,甚至低于某些数据驱动方法,说明人工档案的覆盖面和场景适配性有限。
本文的目标是本文的目标是开发一个数据驱动的框架,能够从大规模叙事数据(故事线)中自动归纳出可执行、可解释的角色行为档案。具体目标包括:1)构建编码决策树(CDT)结构,将角色行为表示为条件规则的层次化树;2)实现自动化的假设-验证机制,通过LLM提出候选规则并用数据验证;3)在16个不同作品、85个角色上进行全面评估,证明CDT优于人工档案和现有方法;4)提供透明的可检查结构,支持编辑和扩展。
与已有工作不同的是,本文的独特切入角度在于三个关键观察。第一,现有方法将规则提取视为扁平、无结构的过程,而CDT采用层次化、递归的结构来编码不同复杂度的行为逻辑。第二,现有方法(如基于图的记忆、世界模型)需要手工设计模式或领域特定规则,而CDT完全从数据中自动构建。第三,现有编码档案依赖人工编写的档案作为输入,而CDT直接从场景-行动对中归纳编码函数,无需预定义的角色描述。这种'数据驱动的编码化'是本文与已有工作最本质的区别。
核心方法
CDT的核心思想可以用一个类比来理解:想象一个资深的导演在分析一个角色的行为模式。他不会只看一段剧情就下结论,而是会收集大量场景-行动对,将相似的场景分组,然后从每组中总结出触发条件('如果...')和行为规则('那么...')。接着,他会用这些规则去验证更多的数据,确认其普适性。如果某个规则在特定场景下总是成立,就将其固化;如果不成立,就继续细化,形成更具体的子规则。CDT就是用LLM来模拟这个分析过程,通过聚类、假设、验证、递归细化四个步骤,自动构建出一个层次化的决策树。技术路线是:首先用嵌入模型将场景-行动对聚类,然后让LLM从每个聚类中假设触发条件和行为语句,接着用NLI验证这些假设的准确性,最后根据验证结果决定是接受、拒绝还是继续细化,递归构建子树。
CDT与已有方法最本质的区别在于其'假设-验证-递归细化'的构建机制。具体来说,已有方法(如ETA)采用'提取-聚合'范式:先从故事块中提取文本子档案,然后将它们聚合为单一档案。这种方法的问题在于,不同情境下的行为被混合在一起,无法区分角色在场景A下的行为和场景B下的行为。CDT的创新在于:1)它不追求构建单一档案,而是构建一个决策树,不同场景会沿着不同的路径遍历,获得不同的行为规则;2)它引入了明确的验证步骤,只有通过数据验证的规则才会被保留;3)它支持递归细化,对于部分正确的规则,不会简单丢弃,而是在过滤后的数据子集上继续生长子树,捕捉更复杂的行为模式。这种设计使得CDT能够建模不同粒度的行为逻辑,从全局性格特征到场景特定的行为反应。
方法步骤详情
CDT的构建过程包含以下步骤。第一步是数据准备:收集角色的场景-行动对数据集D = {(s_i, a_i)},每个场景由前10个动作组成。第二步是聚类:使用文本嵌入模型(qwen3-embedding-8b)对场景和行动分别编码,其中场景使用指令跟随嵌入以捕捉触发行为的语义,然后对拼接嵌入进行K-Means聚类。第三步是假设生成:对每个聚类,提示LLM(gpt-4.1)生成k个触发条件q和行为语句h的配对,格式为'如果q,则h'。第四步是全局验证:对于每个假设(q, h),首先检查h是否为全局适用的行为(不依赖q),通过NLI判断所有数据的蕴含率re。如果re > θ_accept(0.75),则直接添加到节点的语句集合中。第五步是条件验证:对于不满足全局条件的假设,过滤出满足q的数据子集D',在D'上计算h的准确率。如果准确率 > θ_accept,创建叶节点;如果 < θ_reject(0.50),丢弃;如果介于两者之间,创建子节点并递归生长。第六步是多样化:在生成假设时,将父节点的问题路径和已建立的语句传递给子节点,指导LLM提出不同的规则。第七步是推理时遍历:给定新场景,从根节点开始,沿着check(s, q)返回True的边遍历,收集访问节点上的所有语句作为行为约束。
技术新颖性
CDT的技术新颖性体现在三个方面。第一,它是首个将角色行为档案构建为编码决策树的方法,将扁平的文本档案转化为层次化的可执行结构。与现有的图结构记忆、层次化记忆不同,CDT的结构是通过数据驱动的假设-验证机制自动学习的,而非手工设计。第二,CDT引入了递归细化机制来处理部分正确的行为规则。传统方法要么接受要么拒绝规则,而CDT能够识别出规则在特定条件下成立,通过构建子树来扩展其表达能力。第三,CDT的构建过程结合了LLM的语言生成能力和传统机器学习的验证机制,LLM负责提出创造性假设,而数据验证负责确保假设的可靠性,这种分工协作的方式既发挥了LLM的优势,又避免了其幻觉问题。此外,CDT-Lite通过蒸馏一个0.1B的编码器模型来替代昂贵的LLM验证,大幅降低了计算成本,同时保持了大部分性能。
实验结果
实验结果表明CDT在多个基准上显著优于所有基线方法。在细粒度Fandom基准上,CDT平均NLI得分为60.82,CDT-Lite为61.01,而人类手工档案仅为58.33,ETA为56.91。在Bandori基准上,CDT平均得分为77.71,CDT-Lite为79.04,人类档案为71.28,ETA为72.25。这些结果表明数据驱动的编码化档案能够超越人工构建的档案。消融研究验证了各个组件的重要性:移除语句验证(w/ Abolished Statements)导致性能下降约1.5分,移除聚类(w/o Clustering)下降约1.5分,移除指令嵌入(w/o Inst. Embed.)下降约1.3分,移除多样化(w/o Diversification)下降约0.8分。关于节点深度,dmax=4时性能最佳,但dmax=3已接近饱和,说明3-4层的树结构足以捕获大部分行为模式。扩展性分析显示,CDT随训练数据量增加而稳步提升,在Fandom上仅用64个训练对就超过人类档案,在Bandori上数据扩展到1024对仍有持续收益。关系建模实验(Goal-driven CDT)展示了CDT建模细粒度交互模式的能力,针对特定角色对的CDT在目标子集上平均提升3.5分。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| 细粒度Fandom基准(8个作品平均) | NLI得分 | CDT: 60.82, CDT-Lite: 61.01 | 人类档案: 58.33, ETA: 56.91, Vanilla: 55.57 | CDT-Lite比人类档案高2.68分,比ETA高4.10分 |
| Bandori对话基准(8个乐队平均) | NLI得分 | CDT: 77.71, CDT-Lite: 79.04 | 人类档案: 71.28, ETA: 72.25, Vanilla: 65.50 | CDT-Lite比人类档案高7.76分,比ETA高6.79分 |
| 域外泛化(Bandori事件故事) | NLI得分 | CDT: 80.40(8个乐队平均) | Vanilla: 69.83, 人类档案: 71.39 | CDT比人类档案高9.01分 |
| 开放域RP评估(Fandom) | 人类/LLM偏好率 | CDT: 39.0%/38.0% | 人类档案: 27.5%/26.0% | CDT比人类档案高出11.5%/12.0% |
局限与改进
论文承认了几个局限性。第一,CDT目前仅依赖故事线中的场景-行动对,不整合预设的角色信息(如经典特征或作者意图),作者解释这是为了隔离数据驱动档案构建的效果,避免引入外部人类先验。第二,CDT是离线构建的,保持静态,无法捕捉演化中的叙事,支持增量或持续更新是重要的未来方向。第三,虽然聚焦于角色扮演,但CDT框架是通用的,可以扩展到其他情境感知行为建模任务,如任务导向代理或具身决策。从独立分析来看,CDT的构建成本仍然较高,需要大量LLM调用进行假设生成和验证,尽管CDT-Lite通过蒸馏显著降低了验证成本,但整体流程仍然复杂。此外,CDT的性能高度依赖聚类质量和LLM的假设能力,对于数据稀疏的角色可能难以构建有效的树结构。
独立分析的弱点
CDT存在几个值得关注的弱点。首先,聚类步骤对性能影响显著,但聚类质量难以保证。当场景-行动对数据稀疏或语义多样性低时,聚类可能无法产生有意义的分组,导致假设质量下降。改进方向可以探索更先进的聚类算法或引入基于规则的引导聚类。其次,LLM假设生成存在偏差和不一致性,不同运行可能产生不同的假设集合,影响CDT的可重复性。可以通过多次运行取交集或引入置信度估计来缓解。第三,当前验证机制仅基于NLI的二元判断(蕴含/矛盾),对于部分正确的规则缺乏细粒度的评估。可以考虑引入基于相似度的软验证。第四,CDT的推理效率虽然较高(使用蒸馏判别器),但树结构的存储和遍历在大规模部署时仍有优化空间,特别是对于具有数百个节点的大型CDT。
未来方向
论文作者提出了三个未来研究方向。第一,扩展到多角色联合档案建模和交互建模,当前CDT针对单个角色构建,但实际RP场景中角色间存在复杂的交互模式,联合建模可以捕获这些关系。第二,支持从交互式RP日志中进行持续和在线更新,解决当前离线构建的局限性。第三,扩展到多模态设置,当场景包含视觉或游戏状态信号时,如何将这些信息整合到CDT的决策逻辑中。基于本文成果,还可以延伸到:1)将CDT应用于任务导向代理,建模用户的任务完成行为模式;2)探索CDT在教育领域的应用,如学生学习行为建模;3)研究CDT与强化学习的结合,利用CDT的可解释性来指导策略学习。
复现评估
复现评估显示CDT具有良好的可复现性。论文完全开源了代码和数据集(GitHub: KomeijiForce/Codified_Decision_Tree),包括Fandom基准和Bandori基准的所有数据。算力需求方面,CDT-Lite使用gpt-4.1进行假设生成,gpt-4.1-mini或蒸馏的deberta-v3-base进行验证,整体训练成本可控。论文提供了详细的超参数设置(θ_accept=0.75, θ_reject=0.75, 最大深度4,每节点最多8个聚类),并展示了不同配置下的性能稳定性。对于资源受限的场景,可以使用CDT-Lite变体,仅需16个训练对即可超越人类档案。复现难度中等,主要挑战在于聚类质量的调优和LLM假设生成的prompt设计,但论文提供了完整的prompt模板(Figures 12-14),降低了复现门槛。
论文图表