如何在打断 AI 游戏角色时保留你的问题
如果 AI 游戏角色仍在回答,打断应该是一个明确的玩家操作,在停止当前回复的同时保留原始问题和已生成的内容。界面应将该回答标记为未完成,然后允许玩家选择是从当前可见处继续、提出追问,还是替换原问题。这样既能让玩家掌握控制权,又不会让不完整的回答显得像是已经结束。
在角色回答时让停止操作清晰可见
在角色整个回复过程中,将带有清晰标签的“停止”(Stop)控件放置在玩家可见的位置。将其含义与“跳过”(Skip,在许多游戏中意味着略过对话)和“关闭”(Close,可能会退出对话)等控件严格区分开来。玩家在尝试叫停回答时,不应该去猜测一个按钮到底会抹去对话、推进剧情,还是仅仅加快文本显示速度。
当玩家触发“停止”时,界面应及时给予响应。对于文本,停止向当前回复追加字符。对于语音对话,停止角色的音频播放以及任何仍在不断涌现的传入文本。流式传输系统可以在完整回复准备就绪前以增量方式输出内容,因此可见的文本可能只是回答的一部分;界面应当反映这种未完成的状态,而不是暗示角色已经结束了它的发言轮次。OpenAI 的流式响应指南描述了流式传输如何在生成持续进行的同时提供输出的起始部分。
将问题与已呈现的文本保留在一起
打断操作应保留玩家的原问题以及在“停止”生效前已进入界面的所有回复文本。将它们作为一次单轮对话保留在历史记录中。这样一来,玩家就可以查看自己问了什么、重读目前的回答,或者在无需凭借记忆还原上下文的情况下提出更具针对性的追问。
界面还应区分已呈现的文本与从未接收到的文本。当玩家停止回复时,切勿补全未完成的句子、切勿悄悄用摘要替换部分回答,也切勿丢弃原始问题。这些改动会让玩家更难分辨角色实际说了什么。即使玩家决定放弃该话题,清晰的可见记录也是有用的:它能保持对话的可读性,并为下一步操作提供明确的起点。
将回复标记为已取消且未完成
在被打断的回复旁显示一个简短的状态,例如“玩家已停止 · 未完成”。这能告诉玩家为什么回答在此处戛然而止,避免将片段呈现为完整的响应。在玩家决定下一步操作时,该状态可以一直留在历史记录中;关键在于它平实客观地说明了当前状态。
将该状态与剧情后果区分开来。停止显示回复不应在暗中被视为同意、完成了对话选择,或是决定无视该角色。如果某款特定游戏有意将玩家的打断视为游戏世界内的行为,界面需要在玩家确认操作前将该后果明确告知。关于游戏对话设计的研究探讨了跳过和打断在不同游戏中如何承载不同的含义,以及玩家可能不会被明确告知打断会带来什么后果。Rennick 和 Roberts 对电子游戏对话的分析就涉及了这种区分及其设计意涵。
提供深思熟虑的下一步选择
一旦回复停止,提供一组与玩家可能意图紧密相关的明确选项。例如:
继续回答 —— 让角色以现有问题为上下文,从已生成的片段处继续回答。
提出追问 —— 在保留问题和部分回答可见的同时,让玩家补充细节或就特定要点进行提问。
编辑或替换问题 —— 允许玩家修正自己的措辞或重新开始,且不从可见历史记录中抹去早前的这轮对话。
离开对话 —— 返回游戏,同时不将未完成的回答视为已结束。
这些标签代表了截然不同的操作,因此避免将它们统统打包进像“重试”(Retry)这样模糊的按钮中。“重试”可能意味着从头重新生成、继续、或是再次发送相同的问题。正如 Adventure Creator 对话教程中所示,对话系统可以在角色说话时提供菜单选项;这里的设计意涵在于,在角色发言进行时可以提供下一步操作,但玩家应能清楚分辨做出该选择是会打断、排队等待,还是等待当前轮次结束。
继续时保留上下文
如果玩家选择“继续”,请明确当前问题仍然有效。角色应尽可能继续完成同一个回复,而不是进入一个强迫玩家重复问题的全新空白轮次。如果无法继续,或者继续会生成全新的回答,请据此标注该选项(例如“生成新回答”),并在历史记录中保留原始问题和被打断的文本。
这种区分至关重要,因为玩家可能想要继续角色的思路,或者可能在看到开头走向了无用方向后想要重新尝试。这是两种不同的意图。在继续和重新开始之间提供简洁明确的选择,无需玩家了解响应生成的底层技术细节,就能让两者的区别一目了然。
处理延迟、错误和快速重复输入
当响应停滞或意外终止时,“停止”操作仍应具有合理的逻辑。如果在玩家点击停止后没有更多文本到达,请保留已显示的文本并维持未完成的标签。如果连接或生成在玩家按下“停止”之前就已失败,请将其描述为中断或失败,而不是归咎于玩家。提供明确的继续或重试途径,并保持原始问题可见。
还要考虑快速重复的操作。一旦“停止”被接受,该控件就不应再显示为正在停止活动回复的状态;而应转为显示已停止状态以及可用的下一步选项。这避免了玩家产生困惑:再次点击到底会撤销停止、擦除回答,还是发送新的请求?这些交互建议源自流式部分输出与完整响应之间的显式区别;它们并非针对任何单一游戏实现的主张。
用作设计检验的简易交互流程
从玩家的角度梳理整个交互流程:
玩家提出一个问题,该问题在对话中保持可见。
角色开始回答;在文本或语音仍在传输时,“停止”控件始终可用。
玩家按下“停止”;回复终止,所有已呈现的文本保持可见。
界面将回复标记为未完成,并说明其已被玩家停止。
玩家选择继续、提出追问、编辑或替换问题,或直接离开。
所选操作顺利执行,且不会暗中将片段转化为已完成的回答,也不会丢失原始问题。
这个流程是一项编辑决策辅助工具,而非通用的游戏行业标准。它的价值在于能够检验交互中必须避免的典型失败情况:玩家停止了回复,随后却发现问题、已收到的文本或下一步操作的含义全都消失不见了。
围绕玩家的掌控力设计打断机制
良好的打断体验包含三个可见要素:回复期间可靠的“停止”操作、对问题和已交付文本的完整保留,以及如实呈现的未完成状态与供玩家自主选择的下一步。三者结合,让玩家既能掌控角色对话的节奏,又能清楚了解发生了什么并决定如何继续。
