角色扮演中的角色逻辑编码化
计算与语言
2025-05-14 v2
摘要
本文介绍了一种用于角色扮演的编码化轮廓(Codified Profiles)新方法,将角色逻辑表示为结构化、可执行的函数,用于行为决策。每个轮廓定义一组函数 parse_by_scene(scene),输出由触发语句构成的列表,这些语句基于显式控制结构(如 if-then-else)和条件检查(如 check_condition(scene, question))而实现,其中每个问题是关于场景的语义相关提示(例如,"角色是否处于危险中?"),由角色扮演 LLM 判定为 true、false 或 unknown。这种显式表示相对于传统基于提示的轮廓(即将角色描述直接附加到文本提示中)具有三个关键优势:(1)持久性,通过强制执行角色逻辑的完整且一致的执行,而非依赖模型的隐式推理;(2)可更新性,通过系统性检查和修订行为逻辑,这在仅靠提示的方法中难以追踪或调试;(3)可控随机性,通过在逻辑中支持随机行为,实现细粒度的可变性,这些可变性仅靠提示难以实现。为验证这些优势,我们引入了一个新的基准测试,源自 Fandom 的 83 个角色和 5,141 个场景,使用基于 NLI 的评分方法对比角色响应与真实动作。我们的实验表明,编码化轮廓在提高持久性、可更新性和行为多样性方面具有显著优势。值得注意的是,通过将大量推理卸载到预处理阶段,编码化轮廓使即使是 1B 参数的模型也能进行高质量的角色扮演,为本地部署角色扮演智能体提供了可扩展且高效的基础。
引用
@article{arxiv.2505.07705,
title = {Codifying Character Logic in Role-Playing},
author = {Letian Peng and Jingbo Shang},
journal= {arXiv preprint arXiv:2505.07705},
year = {2025}
}