想象你走进一家剧本杀店,老板递给你一张角色卡,上面写着:“你是民国时期的私家侦探,性格冷静敏锐,曾破获过十二起悬案。今夜,你受邀来到顾公馆参加晚宴,却发现主人死在了书房——你需要在三小时内找出真凶。”接下来的几个小时,你会不自觉地用侦探的口吻说话,观察每个人的微表情,在笔记本上写写画画。为什么一张薄薄的卡片能让你“变成”另一个人?因为它给了你三样东西:身份、性格和规则。 给大模型设计角色扮演Prompt,原理完全一样。ChatGPT这类大模型读过的文本比任何人一生都多——它“见过”无数种说话方式。但如果你不告诉它“你现在是谁”,它就只能用最平均、最普通的腔调回答你。而当你递给它一张“角色卡”,它立刻能调取与该角色相关的语言模式:心理咨询师的温和、财务顾问的专业、老酒馆老板的幽默。这篇文章,就是教你如何给AI写这张“角色卡”——从心理学原理到背景设定,从性格刻画到场景约束,从多角色管理到一致性维护,让我们走进剧本杀的“创作者房间”,看看一份好剧本是怎么打磨出来的。

岗位关联

角色扮演是Prompt工程的核心基本功。掌握它,你能让AI从“通才”变成“专家”,这一技能直接决定AI交互产品的体验上限。

目录
  1. 可视化演示
  2. 心理学原理:为什么一张角色卡能让人入戏
  3. 角色背景设定:人物小传决定角色走向
  4. 性格特征刻画:见字如面,语气定调
  5. 场景约束编写:主持人的规则说明
  6. 多角色对话管理:多人剧本不乱场
  7. 一致性维护:主持人的轻咳
  8. 模板设计实践:把好剧本沉淀成模板
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

动态演示角色扮演Prompt设计方法的核心机制,通过入门/进阶/实战/优化四种模式展示关键概念与交互流程。

本节配有交互动效(进入视口后自动加载,约 3KB)。

角色扮演Prompt设计方法:角色扮演 角色扮演Prompt设计基本原 角色背景与身份设定方法 核心机制可视化 角色扮演Prompt设计方法整体架构与关键组件

心理学原理:为什么一张角色卡能让人入戏

剧本杀开场前,玩家需要“代入”。哪怕你是个程序员,拿到一张“民国侦探”的角色卡,也会开始推理。心理学上这叫角色认同——我们的大脑会自动调用与角色相关的知识与行为模式。你用不着刻意“演”,很多台词会自然而然地冒出来。

对AI来说,“角色认同”同样是核心机制。大模型在训练时“读过”海量的小说、对话、剧本,它内部已经形成了“不同类型的角色如何说话”的丰富映射。当你用一个角色设定开启对话时,模型的注意力机制会将这些映射中与角色相关的部分“点亮”,而那些无关的说话方式会被抑制。

三个心理学原理在起作用:第一,认知框架激活——角色设定像一把钥匙,打开了模型脑中被贴上该身份标签的知识库;第二,社会期待引导——模型在训练中学会“心理咨询师应该怎样回应倾诉”这类社会规则,角色设定恰好触发了这些规则;第三,情境锚定记忆——当对话涉及角色经历时,模型会调用与该经历相关的语义记忆。这些机制共同决定了:角色卡写得越具体、越一致,模型的角色表现就越稳定。

回到剧本杀的比喻:这就是为什么一张只写着“你是侦探”的角色卡,远不如“你是破获十二起悬案的私家侦探,性格冷静,擅长观察微表情”那么有效。信息越丰富,激活越强烈,入戏越深。

角色激活度=∑i=1nwi⋅特征匹配度i\text{角色激活度} = \sum_{i=1}^{n} w_i \cdot \text{特征匹配度}_i
这个公式想表达:角色卡中每一条信息(身份、经历、性格)都会对最终的生成产生影响,越关键的信息权重越大。
  1. 角色特征项角色卡中的每一条描述,例如“八年刑事律师”或“说话温和的倾听者”,都是模型用来调整回答风格的一个特征。
    特征匹配度i\text{特征匹配度}_i
  2. 特征权重不同特征对回答的影响程度不同,核心身份(如职业)权重高,次要修饰(如口头禅)权重低。
    wiw_i
  3. 累加求和所有特征综合作用,加权求和的结果决定了最终回答偏向该角色的程度。
    ∑i=1n\sum_{i=1}^{n}

角色背景设定:人物小传决定角色走向

剧本杀角色卡的第一栏总是“人物小传”:你是谁、今年多大、经历过什么、有什么专长。玩家先读小传,才进入对白。因为背景信息界定了这个角色的“世界半径”——一个侦探会留意袖口的泥土,一个厨师则会先闻菜品的香气。

AI也是一样。身份信息定义是角色卡的基石。不要只说“你是财务顾问”——要说“你是四大会计师事务所的高级财务顾问,从业八年,经手过上百家企业的IPO”。具体身份让模型的输出自动带上“专业感”。经历故事塑造则负责提供“粒度和纹理”:一个“创业失败过三次的技术人”和“一路顺风的CTO”,给出的建议风格完全不同。知识专长范围是第三个要素:你希望AI在哪些领域有深度?给出行话和案例,它会更有底气。

把这些要素整合进Prompt时,建议按“身份→经历→专长”的顺序排列。身份统摄全局,经历制造共鸣,专长分配知识。三者缺一,角色都会显得“单薄”——就像剧本杀里你拿到一张写着“你是侦探”四个字的角色卡,全程都在临场编故事。

经历了这三层填充,玩家才能安心踏入剧本;而AI拿到了完整的背景设定,也才能在后续对话中“站稳脚跟”。背景不是装饰,而是角色所有行为的出发点。

背景信息=(身份,经历,专长)\text{背景信息} = (\text{身份}, \text{经历}, \text{专长})
背景信息是一个三元组,三个维度共同定义角色“是谁、从哪来、会什么”。
  1. 身份定义职业、年龄、头衔等标签,锁定角色的基本立场和知识域。
    身份\text{身份}
  2. 经历塑造重点经历与故事,赋予角色独特的视角与偏好。
    经历\text{经历}
  3. 专长范围角色擅长的领域及说话时的“行话”来源,提升回答的专业度。
    专长\text{专长}

性格特征刻画:见字如面,语气定调

同样是“侦探”,冷静的侦探和毒舌的侦探,破案方式完全不同。性格特征决定角色“怎么说”和“怎么回应”。剧本杀写手会在角色卡上写“性格孤僻、不善交际”或“热情开朗、自来熟”——玩家拿到角色卡后,连走路的姿势都会改变。

对AI而言,性格刻画分为三个可操作的维度。语言风格特征是最先被用户感知的:用词是书面还是口语?句子是长是短?有没有标志性的口头禅?例如“嗯……有意思,继续说”就是一个心理医生的典型口癖。情绪反应模式定义角色面对不同情绪时的“反射弧”:面对愤怒,是安抚还是针锋相对?面对悲伤,是共情还是理性分析?价值观立场锚定则为角色划出“精神底线”——它是乐观主义还是现实主义?在争议话题上往哪边站?

这三个维度对应着模型输出时的三个“旋钮”:词汇选择、情感色彩和观点倾向。把它们写进Prompt,比如“语气平缓,先共情后提问,坚持积极心理学取向”,等于同时拧动了三个旋钮。反过来,性格特征写得模糊,AI就会在多种风格之间摇摆——就像剧本杀玩家不知道角色是话痨还是沉默者,每句话都透露出犹豫。

性格就是角色的“签名”。当AI的回复带着一致的签名出现在屏幕上,用户才会相信屏幕背后真的坐着一位有温度的人。

性格特征=(p语气,p情绪,p价值观)\text{性格特征} = (p_{\text{语气}}, p_{\text{情绪}}, p_{\text{价值观}})
性格特征由三个分量构成,每个分量都可以在Prompt中显式指定,从而精确控制输出风格。
  1. 语气分量决定用词的正式程度、句式风格与语速感。
    p语气p_{\text{语气}}
  2. 情绪分量决定角色对不同情绪刺激的响应方式(共情/分析/回避)。
    p情绪p_{\text{情绪}}
  3. 价值观分量决定角色在观点立场上的倾向,划定回答的态度边界。
    p价值观p_{\text{价值观}}

场景约束编写:主持人的规则说明

剧本杀主持人在开场时会宣布规则:“各位玩家,你们被困在顾公馆,暴雨封路,电话无信号。每人每轮只能说三句话,不得撒谎,不得隐藏线索。”这段话把玩家牢牢按在一个舞台上——时空边界、行为边界、任务目标全部框定。没有这段规则,再好的角色卡也会演成一场混乱的脱口秀。

场景约束是角色扮演Prompt里最容易被新手忽略的部分。时空环境设定告诉你“当前的舞台在哪里”:“你是一座末世废土城市中的庇护所管理员,物资紧缺,窗外是沙暴。”这让AI的回答带上环境滤镜。交互规则约束管理“怎么说话”:“每次回复先复述用户问题,再分三点回答,总字数不超过150字。”任务目标明确回答“这轮对话要达成什么”:“我的目标是说服顾客续费,请不要急着给折扣。”禁区边界标注列明“哪些话题不能碰”:“不要评判用户的道德选择,不要提供医疗建议。”

把这些约束写进Prompt后,模型的回答会被限制在预设轨道内。约束不是束缚,而是让角色“演得下去”的护栏。

没有约束的角色扮演,就像断电后的剧本杀——玩家们还在演,但故事已经不知道飘到哪里去了。

约束集合={时空环境,交互规则,任务目标,禁区边界}\text{约束集合} = \{\text{时空环境}, \text{交互规则}, \text{任务目标}, \text{禁区边界}\}
约束集合是角色扮演的“游戏规则”,四个维度分别对应环境、行为、目标与禁区。
  1. 时空环境当前情境的物理与社会环境设定,为回答提供场景滤镜。
    时空环境\text{时空环境}
  2. 交互规则回答格式、长度、轮次等行为约束,规范输出的“形状”。
    交互规则\text{交互规则}
  3. 任务目标与禁区指明方向并划定不可触碰的话题范围。
    任务目标,禁区边界\text{任务目标}, \text{禁区边界}

多角色对话管理:多人剧本不乱场

高级的剧本杀不会只有一个人独白。当玩家与NPC、或者多个玩家之间互动时,最怕的就是“抢话”。谁先说、谁说给谁听、谁在内心吐槽——这些都要有机制管理。否则故事线会变成一锅粥。

AI的多角色对话同样需要管理。角色标签区分是地基级别的操作:在Prompt中用明显的标记区分每个角色,如“[客服小敏]:您好,请问有什么可以帮您?”模型看到标签后,会为每个角色建立独立的话语通道。对话轮次控制管理“谁来发言”:在Prompt中明确指定“由[客服小敏]首先回应,若用户要求转人工,则切换到[人工主管王姐]”,让流程有条不紊。视角切换协同则处理“谁在做旁白”:在一些场景中,需要模型以全知视角描述场景,再以角色视角发言——视角切换指令(如“请先描写环境,然后以NPC口吻回答玩家”)能使两种视角无缝衔接。

一条实用的经验是:每个角色都要有自己的“座签”——角色名加一句风格提示。就像剧本杀的分幕剧本,每个角色都清楚自己何时上场。

多角色管理的本质是“秩序”。有了座签和轮次,六个玩家在同一个剧本里各显神通,却不会挤在同一个话筒前。

消息流转=(角色ID↦发言内容)\text{消息流转} = (\text{角色ID} \mapsto \text{发言内容})
每条消息都绑定一个角色ID,模型据此确定说话人的口吻与立场。
  1. 角色ID每个角色的唯一标签,相当于对话中的“座签”。
    角色ID\text{角色ID}
  2. 内容映射发言内容属于哪个角色,模型根据对应角色的设定生成该句。
    ↦发言内容\mapsto \text{发言内容}
  3. 上下文衔接在消息流转过程中,保持各角色设定的独立与稳定。
    消息流转\text{消息流转}

一致性维护:主持人的轻咳

剧本杀最怕玩家“出戏”:刚才还是民国冷静侦探,突然开始玩手机、讲网络段子。这时优秀的主持人会轻咳一声,抬眼看看角色卡,玩家心领神会,重新入戏。AI的长对话中,“出戏”几乎必现——对话超过十几轮后,模型会逐渐忘记角色设定,语气开始漂移回默认状态。

记忆锚点设置是最直接的防线:在Prompt中设计重复出现的“锚点句”,例如“记住:你是沉静而敏锐的侦探林默”,并在每几轮对话后让模型“复述”这一设定。风格漂移监测是第二道防线:在测试阶段,故意让AI进行长对话,观察它的用词、语气何时开始偏离角色基线——漂移点就是需要修复的地方。违和感纠偏是最快的救场:一旦发现某轮回复“不像这个角色”,下一轮Prompt中补充一句“你刚才的回应不像林默,请用冷静、简洁、观察入微的口吻重新回应”,模型就能立刻回归。

一致性维护不是一劳永逸的,而是一个持续的小动作。就像剧本杀主持人全场要“轻咳”好几次,你的Prompt也需要在关键节点反复“敲打”模型。

下次你的AI角色突然“话锋一变”,别急着骂它——给它一声“轻咳”就好。维护一致性,是每个Prompt工程师的基本功。

一致性=相似度(当前回复,角色锚点)\text{一致性} = \text{相似度}(\text{当前回复}, \text{角色锚点})
一致性度量当前回复与角色锚点的语义距离,距离越小,角色越“在线”。
  1. 角色锚点角色卡中最核心的描述语句,作为一致性的参照基准。
    角色锚点\text{角色锚点}
  2. 语义相似度将回复与锚点的语义距离量化为分数,低于阈值说明漂移。
    相似度(⋅,⋅)\text{相似度}(\cdot, \cdot)
  3. 纠偏动作当一致性低于阈值时,插入强化角色设定的指令,拉回风格。
    纠偏动作\text{纠偏动作}

模板设计实践:把好剧本沉淀成模板

优秀的剧本杀作者会有一整套“角色卡模板”:先写人物小传,再列性格特征,接着是场景规则,最后附上两三句示例台词。新手写手也可以拿着模板快速填充。Prompt工程同样需要这样的模板化思维。

一个成熟的角色扮演Prompt模板,角色卡结构是关键。按“身份→背景→性格→场景约束→禁区”分层组织,让模型的注意力有次序地聚焦:

示例对话示范是模板中最容易被忽略却极其有效的部分:两三轮例子比一百字描述更能让模型理解“该用什么风格说话”。迭代优化策略则强调模板不是一次写成的——每次对话后根据用户反馈调整某个字段:角色语气太生硬?加一个“偶尔幽默”;回答太冗长?在交互规则里限制字数。

模板化的意义,在于把零散经验固化为可复用的结构。就像《明星大侦探》的剧本每一期都在迭代,你的角色扮演Prompt模板,也应该经历同样的“内测→反馈→改版”循环。

把一次精彩的即兴发挥沉淀成模板,你就不再是“靠感觉写Prompt”,而是拥有了自己的“剧本库”。这是从新手到专家的分水岭。

Prompt=模板(角色卡,场景约束,示例对话,用户输入)\text{Prompt} = \text{模板}(\text{角色卡}, \text{场景约束}, \text{示例对话}, \text{用户输入})
完整的角色扮演Prompt是模板函数的输出,四个参数分别注入角色设定、规则、示范与用户问题。
  1. 模板壳固定的格式框架,保证每次生成的Prompt结构一致。
    模板(⋅)\text{模板}(\cdot)
  2. 角色卡与场景约束内容参数,由人来填写,决定角色的深度与边界。
    角色卡,场景约束\text{角色卡}, \text{场景约束}
  3. 示例对话注入样例数据让模型对齐风格,属于“少样本示范”。
    示例对话,用户输入\text{示例对话}, \text{用户输入}
text9 行
请扮演以下角色,阅读角色卡后严格保持人设:【身份】...【背景】...【性格】...【场景规则】...【禁区】...【示例对话】用户:...角色:...

AI 应用场景

智能客服角色设计

阶段:Prompt设计与场景约束

解决的问题:传统客服机器人话术机械、缺乏共情,用户满意度低。通过角色扮演Prompt,让AI扮演“有经验的客服主管”,用温暖专业的语气解决问题,同时用场景约束确保不越界。

具体案例:某电商平台为客服机器人设定“知心姐姐”角色,背景是“三年客服经验的资深顾问”,性格“耐心细致、善于安抚情绪”,场景规则“先共情后解答,不主动推销,不承诺赔偿金额”。上线后用户满意度提升30%,投诉转化率下降一半。

教育辅导AI设计

阶段:角色卡构建 + 交互规则约束

解决的问题:通用AI助理解题太快、直接给答案,不利于学生学习。通过角色扮演Prompt设计“启发式辅导老师”,让AI只给提示和追问。

具体案例:某教育产品中,AI扮演“从不直接给答案的数学老师”,性格设定为“耐心、爱提问、一题三问”,并写入禁区“禁止直接给出最终答案”。运行两个月后,学生的自主解题率提升45%。

游戏NPC对话设计

阶段:多角色管理 + 一致性维护

解决的问题:传统NPC对话死板重复,玩家没有沉浸感。用角色扮演Prompt让AI扮演有记忆、有性格的NPC。

具体案例:某独立游戏为酒馆老板NPC设计角色卡:“老酒馆老板哈尔,说话慢悠悠,爱讲年轻时的冒险故事,但绝口不提当年背叛同伴的事。”玩家可自由对话,NPC在多轮交互中始终保持口吻一致,游戏获“最佳叙事体验”提名。

Python 演示

python83 行
# -*- coding: utf-8 -*-"""角色扮演Prompt设计:角色卡模板构建 + 一致性检查演示""" class RoleCard:    """角色卡:承载角色扮演Prompt的核心要素"""     def __init__(self, name, identity, background, personality, limits):        self.name = name        self.identity = identity        self.background = background        self.personality = personality        self.limits = limits        self.anchors = []   # 一致性锚点关键词列表     def add_anchor(self, keyword):        """添加一致性锚点,用于长对话中防止角色漂移"""        self.anchors.append(keyword)     def build_prompt(self, user_input, history=""):        """构建完整的角色扮演Prompt"""        anchors_text = "\n".join("- " + a for a in self.anchors)        template = f"""请严格扮演以下角色,始终保持人设一致。【身份】{self.identity}【背景】{self.background}【性格】{self.personality}【禁区】{self.limits}【一致性锚点】{anchors_text}【对话历史】{history}【当前问题】用户:{user_input}{self.name}:"""        return template  def mock_llm(prompt):    """模拟大模型回复(无外部依赖,仅演示流程)。    实际开发中此处应替换为真实的LLM API调用。"""    if "心理医生" in prompt:        return "听起来最近的压力确实很大。能跟我聊聊,这种失眠是从什么时候开始的吗?"    if "财务顾问" in prompt:        return "建议先盘一下你的现金流结构,我可以帮你做一个简单的财务诊断。"    return "我理解你的处境,让我们一起分析一下。"  def check_consistency(reply, keywords):    """简单的一致性检查:回复是否包含角色的核心行为关键词"""    return any(k in reply for k in keywords)  def main():    # 设计一个心理医生角色    therapist = RoleCard(        name="林知心",        identity="从业15年的认知行为疗法心理咨询师",        background="帮助过上千位失眠和焦虑来访者,擅长用提问引导自我觉察",        personality="语气温和耐心,先共情再提问,从不直接给建议",        limits="不做道德评判,不提供药物治疗方案,仅讨论心理层面"    )    therapist.add_anchor("提问")    therapist.add_anchor("共情")     # 第1轮对话    prompt = therapist.build_prompt("我最近工作压力很大,经常失眠")    reply = mock_llm(prompt)    print("第一轮回复:", reply)    print("一致性检查:", "通过" if check_consistency(reply, therapist.anchors) else "漂移")     # 长对话中发生角色漂移,用纠偏Prompt修正    drift_reply = "哈哈,失眠很正常,多喝热水就好了!"    print("漂移回复:", drift_reply)    if not check_consistency(drift_reply, therapist.anchors):        fixed_prompt = (            "请重新扮演林知心。记住:你是一位温和的咨询师,"            + therapist.personality            + ",请用提问引导式口吻重新回应。"        )        print("纠偏后回复:", mock_llm(fixed_prompt))  if __name__ == "__main__":    main()
目的:演示角色卡如何组织Prompt模板,并展示角色漂移检测与纠偏的完整流程。
  1. class RoleCard:将角色扮演Prompt的要素组织成结构化对象,方便复用与迭代
  2. self.anchors = []初始化一致性锚点关键词列表,用于长对话中的漂移检测
  3. def add_anchor(self, keyword):为角色添加锚点关键词,如“提问”“共情”
  4. template = f"""请严格扮演以下角色...按层级结构生成角色扮演Prompt模板
  5. def mock_llm(prompt):模拟大模型回复,真实项目中替换为OpenAI或Claude等API
  6. def check_consistency(reply, keywords):基于关键词匹配做一致性快速检查
  7. if not check_consistency(drift_reply, therapist.anchors):检测到漂移后触发纠偏
  8. fixed_prompt = (...)构造纠偏Prompt,重新强调角色人设与性格

常见误区

误区很多人以为角色扮演Prompt就是开头写一句“你是一个老师”就完事了,后面AI的输出自然会对齐角色。

正解一句话设定的效果非常有限。完整的角色卡需要包括背景、性格、场景规则、禁区等维度。就像剧本杀不会只写“你是侦探”四个字,而会给一整页人物小传。单薄的角色设定容易被后续对话“冲淡”,模型会很快漂移回默认语气。至少要给出身份+性格+规则三层信息,角色才能立得住。

为何常见:市面上很多教程只展示了“你是一个XX”的极简写法,导致新手误以为这就是完整的角色扮演Prompt设计。

误区有人认为只要把角色卡写满几千字,AI就能扮演得更好,于是堆砌各种细节描述。

正解设定信息过多会让模型在无关细节上分配注意力,反而稀释关键设定。模型的知识和任务匹配才是核心——要根据任务目标精选信息,按“身份→背景→性格→规则→禁区”的层次组织。关键信息的重复强调(锚点)比大段的冗余信息更有效。剧本杀角色卡一页纸讲清人物,而不是给你一本小说。

为何常见:模型注意力有限的特性对小白不直观,容易想当然地认为“信息越多越好”,就像觉得菜里放越多调料越好吃。

误区设定好角色性格后,AI就能自然应对所有场景,不需要额外写规则,写规则显得多余。

正解角色负责“风格”,场景负责“边界”。没有场景约束,AI可能偏离对话目标。例如心理医生角色,如果不加“只谈心理学话题”的约束,聊到晚饭吃什么时它也可能跟着聊起来。合理的场景约束包括时空环境、交互规则、任务目标和禁区边界,缺一不可。

为何常见:把角色扮演简化为“模仿某人说话”,忽略了对话目标和边界的管理。就像请了演员却没给剧本,演员再优秀也不知道该怎么演。

误区对话轮次一多,AI忘记角色设定是必然的,用户只能接受“越聊越变味”的结果。

正解通过设置记忆锚点、周期性重述角色卡、发现漂移后及时纠偏,可以显著延长角色一致性。就像剧本杀主持人适时提醒“注意人设”,AI也需要在Prompt中周期性地“被提醒”。实操中可用锚点关键词检测回复是否“跑偏”,一旦漂移就插入纠偏Prompt,效果立竿见影。

为何常见:新用户经历过几次漂移后容易放弃,没有意识到有成熟的维护策略。实际上这是一套可操作的技术方案,并非无能为力。

面试题

Q1. 角色扮演Prompt设计的核心目的是什么?

单选题 · easy

  • A.让AI记住更多历史消息
  • B.激活特定模式的回答风格← 正确答案
  • C.让AI生成速度变得更快
  • D.把AI的回复字数变短

答案:B。角色扮演的本质是通过角色设定激活模型内部与特定身份、性格相关的语言模式。正如剧本杀的角色卡让玩家进入侦探状态,角色Prompt让AI进入专业角色。A说的是记忆管理,C是性能问题,D是长度控制,三者都与角色扮演的核心机制无关。

Q2. 以下哪项不属于角色背景设定的要素?

单选题 · easy

  • A.身份信息定义
  • B.经历故事塑造
  • C.知识专长范围
  • D.服务器延迟优化← 正确答案

答案:D。背景设定三要素是身份、经历、专长。身份锁定立场,经历制造共鸣,专长分配知识。服务器延迟是工程问题,和角色背景设定无关。这道题考察对角色卡字段的理解,容易误选C,注意“知识专长范围”确实属于背景设定的一部分。

Q3. 角色一致性维护中的“记忆锚点”指的是什么?

单选题 · mid

  • A.用户的对话历史记录
  • B.角色卡中反复强调的核心设定← 正确答案
  • C.模型训练数据的缓存区
  • D.系统日志中的错误信息

答案:B。记忆锚点是在Prompt中周期性重复的角色核心设定(如“你是冷静的侦探”),用来对抗长对话中的角色遗忘。A是用户数据,C是系统基础设施,D是工程日志。锚点的作用是让模型“不忘初心”,是角色一致性维护的第一道防线。

Q4. 多角色对话中,最基础的角色区分手段是什么?

单选题 · mid

  • A.使用角色标签前缀来标注发言← 正确答案
  • B.使用随机符号来暗示角色切换
  • C.让AI根据内容自行判断角色
  • D.在每轮对话后清空会话记录

答案:A。角色标签前缀(如“[客服]:您好”)为每条消息绑定角色身份,这是多角色管理的地基。随机符号(B)无语义,让AI自判(C)不可靠,清空记录(D)直接丢失上下文。就像剧本杀要给每个玩家一个名牌,标签是秩序的起点。

Q5. 当AI在长对话中出现角色漂移时,最有效的纠偏做法是?

单选题 · hard

  • A.忽略漂移,继续后续对话
  • B.重述角色锚点并补充一致示例← 正确答案
  • C.重启整个对话并从头开始
  • D.删除角色的部分性格描述

答案:B。重述锚点+补充示例是“修正+示范”的组合策略,相当于剧本杀主持人轻咳一声提醒玩家入戏,同时递上角色卡示意重读。忽略(A)会让漂移加剧,重启(C)代价高且浪费上下文,删除性格描述(D)反而会加剧不一致。

Q6. “禁区边界标注”在场景约束中的作用是什么?

单选题 · mid

  • A.限制AI生成回答的字数
  • B.禁止AI涉及特定话题或行为← 正确答案
  • C.提高AI生成回答的速度
  • D.记录用户的浏览历史信息

答案:B。禁区是角色不应触碰的话题和行为边界,如“不提供医疗建议”“不做道德评判”。它和字数限制(A)是两回事,与速度(C)、浏览历史(D)无关。就像剧本杀主持人说“不得撒谎”,禁区规定了对话的“不可为”。

Q7. 角色扮演Prompt模板中的“示例对话”主要作用是什么?

单选题 · easy

  • A.填充Prompt让内容看起来更完整
  • B.给模型提供风格与格式的参照← 正确答案
  • C.让用户阅读后学习对话技巧
  • D.消耗更多Token以适配计费规则

答案:B。示例对话相当于剧本杀中的“示范演出”——两三轮例子就能让模型对齐角色口吻,比纯文字描述更直观高效。A把示例当装饰,C把示例当用户教程,D更是误解。示例对话是少样本学习的核心载体。

Q8. 以下哪些做法有助于维护长对话中的角色一致性?

多选题 · mid

  • A.在Prompt中周期性重复角色核心设定← 正确答案
  • B.设置关键词锚点并定期校验回复← 正确答案
  • C.在对话历史中插入角色卡摘要← 正确答案
  • D.把输出长度限定在一百字以内

答案:ABC。重复设定(A)是记忆锚点的核心思路,锚点校验(B)是漂移监测的实操手段,插入角色卡摘要(C)是在历史中持续强化人设,三者都能维护一致性。限制长度(D)只控制篇幅,与角色一致性没有直接关系。

Q9. 编写角色扮演场景约束时,应包含哪些内容?

多选题 · hard

  • A.时空环境的详细设定说明← 正确答案
  • B.交互规则的格式约束信息← 正确答案
  • C.任务目标的明确定义描述← 正确答案
  • D.数据库连接配置的参数项

答案:ABC。场景约束四要素是时空环境(A)、交互规则(B)、任务目标(C)和禁区边界。数据库连接(D)属于技术工程配置,不属于Prompt场景约束。本题考查对约束集合的完整理解,容易漏选B而误选D。

Q10. 关于角色扮演Prompt设计,以下说法正确的有哪些?

多选题 · mid

  • A.角色设定需要与任务目标相匹配← 正确答案
  • B.场景约束可以防止角色越界发挥← 正确答案
  • C.角色卡一次设定后无需再修改
  • D.示例对话能让模型快速对齐风格← 正确答案

答案:ABD。角色设定服务任务目标(A对),场景约束界定行为边界(B对),示例对话是风格对齐利器(D对)。角色卡需要随反馈迭代优化,C说“无需修改”是常见误区。就像剧本杀剧本每一期都在打磨,没有一劳永逸的Prompt。