你可能和 ChatGPT、Claude 或 Llama 这样的 AI 助手聊过天。你输入一个问题,它会迅速返回一个精炼、结构良好的答案——表达清晰、内容详尽,而且总是彬彬有礼。这些模型被训练成理想的对话伙伴。

但问题在于:** 真实的人类用户并非如此。**

我们在现实世界中的请求是杂乱的。我们会打错字、使用俚语、在对话中途改变主意,而且很少会按完美的顺序一次性提出所有要求。例如:

“写一个 python 函数来排序一些数字”
“哦,只要 1 到 9 的数字”
“不对,排序后要反转”
“还有,能把数字改成‘一’、‘二’这样的汉字吗?”

这种渐进的、有时甚至是混乱的多轮交互,恰恰是即使最先进的 AI 助手也可能出错的地方。挑战在于:** 我们如何在模拟这种真实、“美妙混乱”的人类对话环境中评估 AI 助手?**

通常的捷径是让一个强大的 AI 助手去模拟一个人类用户,与另一个助手对话。听起来很合理,对吧?毕竟,如果一个模型擅长语言,它也应该擅长角色扮演。

但在微软和佐治亚理工学院的研究人员的论文《翻转对话》 (Flipping the Dialogue) 中指出,这种方法存在根本性缺陷。他们惊人的发现是:** 一个 AI 作为助手表现得越好,它在假装成人类用户时就表现得越差。**

因此,他们引入了一种新方法——训练专门的用户语言模型 (User LMs) ,这些模型从一开始就是为了模仿人类对话的各种特性而设计的。

而且这不仅仅是学术上的细微改动: 当 GPT-4o 在与一个真实感的用户语言模型 (而不是另一个助手) 对话进行评估时,其任务成功率从 74.6% 降至 57.4%。这意味着我们当前的评估方法描绘了一幅过于乐观的图景,掩盖了助手在处理真实世界交互时的实际能力。

一张对比图,展示了 GPT-4o 用户模拟器简单直接,导致任务成功,而专门构建的 UserLM-8b 更为微妙和间接,导致助手失败。

图 1: 两种模拟器,两种现实。左侧,GPT-4o 扮演的用户角色简单直接,助手轻松完成任务。右侧,UserLM-8b 模仿了真实用户的间接风格,助手则陷入了困境。


为什么助手型语言模型不适合作为模拟用户

使用助手型语言模型来模仿用户,就像雇佣一位米其林星级厨师来品尝冷冻晚餐——技术上或许能胜任,但与目标受众从根本上就不匹配。

助手型语言模型被调整为:

  • 乐于助人和合作——总是试图让交互更顺畅。
  • 结构化和详尽——通常在一轮对话中就给出完整的答案。
  • 不愿脱离对话——它们很少结束对话,总是等待更多输入。

而真实用户呢?我们被自己的目标驱动,而不是为了成为“优秀”的对话伙伴。我们言简意赅,因为打字费力;我们可能会零散地提供细节;当任务完成时,我们会默默离开。

当像 GPT-4o 这样的助手被提示“扮演一个用户”时,它实际上在与自己的训练作对。它可能会偶尔打个错字,但其核心特质——清晰、乐于助人、合作——仍然会显现出来。这创造了一个不切实际的、过于简单的评估环境,导致被测试的助手获得虚高的性能分数。


翻转对话: 训练真实感的用户语言模型

研究人员的重大洞见非常直观:** 要构建一个行为像用户的模型,就应该用用户数据来训练它**,而不是助手的数据。

模型不再被训练来预测助手的下一个回复,而是被训练来预测用户的下一轮发言。这就是用户语言建模,它包含三个关键阶段:

一张图表,展示了训练用户语言模型的流程。它从真实的用户-助手对话开始,从中生成高层次的用户意图,然后翻转对话以创建训练样本。

图 2: 训练流程。从真实的用户-助手对话开始,提炼出高层次的“用户意图”,然后训练模型根据该意图和已有的对话历史生成用户的下一句话。

1. 从真实对话开始

团队使用了 WildChat,一个包含来自 192 个国家的 478,000 条真实用户与 ChatGPT 对话的数据集。在去重后,他们得到了 384,336 条对话——这是一个丰富而混乱的真实用户行为数据源。

2. 生成“用户意图”

对于每段对话,研究人员让 GPT-4o 为用户的目标创建一个高层次的摘要——即意图。关键在于,这并非逐字稿,而是捕捉用户的整体目标,而不规定确切的措辞。

意图示例:
“你是一个正在获取关于减肥策略以及药物对体重增加影响信息的用户。”

这种方式让用户语言模型有一个指导性目标,但在措辞和对话推进方式上仍然保留了灵活性。

3. 训练模型成为用户

使用“翻转”后的数据——即对话历史 + 意图——模型 (例如 Llama3-8b-Base) 学习生成下一轮用户的发言。随着时间的推移,它不仅学会了说什么,还学会了如何像人类一样说话。

为了模仿真实的对话结束方式,团队引入了一个特殊的 <|endconversation|> 标记,教会模型如何自然地结束对话。


它听起来像个用户吗?衡量统计拟合度

在将用户语言模型投入模拟之前,团队使用困惑度 (PPL) 来检验它们的语言拟合度。困惑度衡量模型预测真实用户文本的能力,PPL 越低,说明模型觉得文本出现是“意料之中”,表示分布与真实数据更加一致。

UserLM-8b 与基础语言模型、经过助手微调的语言模型,以及另一个模拟用户模型 (USP-8b) 进行了对比。

表格显示了各种模型的困惑度分数。UserLM-8b 取得了比所有其他模型都低很多的困惑度,表明其与真实用户话语的分布对齐更好。

表 1: 在两个数据集上的困惑度分数。UserLM-8b 的 PPL 要低得多——这意味着它预测的用户语言比任何基于助手的模拟器都更接近真实数据。

结论:

  • UserLM-8b 的 PPL 比所有基线模型低 60–70%
  • 从一个中性的基础模型开始训练,比从经过指令微调的助手模型开始训练效果好得多。
  • 使用意图条件进行训练,使得模拟器在测试时更容易引导

两张图表比较了用户语言模型的不同训练配置。左图显示,使用意图条件进行训练可以提高性能。右图显示,从基础模型检查点开始训练优于从指令微调模型开始。

图 3: 左——意图条件让用户语言模型更易引导;右——基础模型初始化优于助手指令微调的检查点。


评估类人行为

团队设计了六项细粒度测试,来衡量模拟器在多大程度上反映了人类的对话特征。

表格总结了六项用户行为评估的结果。在多样性、意图分解、对话终止和自然度等指标上,UserLM-8b 始终优于基于提示的助手,并与人类的估计值非常接近。

表 2: 在多样性、意图分解、对话终止、自然度、角色坚守和意图坚守等指标上,用户语言模型始终优于助手型模拟器。

多轮交互

  • 首轮多样性: UserLM-8b 得分 94.55%,与人类的多样性 (94.01%) 相当。GPT-4o 仅为 74.42%。
  • 意图分解: 用户语言模型会把细节分散到多轮对话中;助手往往把信息一次性全部提供。
  • 对话终止: UserLM-8b 的 F1 分数为 63.54,而 GPT-4o 仅为 1.38——助手几乎不会主动结束对话。

模拟鲁棒性

  • 自然度: 使用最先进的 AI 检测器,UserLM 的文本得分约 80% 类人度;助手型输出接近于零。
  • 角色坚守: 在压力下,用户语言模型超过 93% 的时间保持角色;助手经常会回到解答帮手的模式。
  • 意图坚守: 用户语言模型在超过 94% 的时间内拒绝偏离既定意图;助手则很容易被带偏。

规模效应: 对助手而言,模型更大并不意味着表现更好;但对用户语言模型而言,规模更大性能更佳。


迎接真正的考验: AI 助手在面对真实感用户时的表现

最后的挑战是: 针对数学和编程任务,使用不同的“用户”模拟器与 GPT-4o (作为助手) 进行多轮对话模拟。

三个由提示的 GPT-4o 模拟的对话示例和三个由 UserLM-8b 针对同一任务模拟的对话示例。UserLM-8b 的模拟在语言和结构上远比前者多样化。

图 7: 针对同一任务,GPT-4o 模拟 (左) 表现重复;UserLM-8b 模拟 (右) 在语言、节奏和约束条件上更加多样。

UserLM-8b 模拟的主要差异:

  • 行为更丰富——长度不同,选择性地重复重要信息,省略无关细节,偶尔引入新的约束。
  • 词汇更丰富——多种方式改写同一意图。
  • 节奏多样——对话从 2 到 7 轮不等,反映不同用户的“语速”。

对助手成功率的影响:

  • GPT-4o + GPT-4o 模拟器:** 74.6%** 成功率
  • GPT-4o + UserLM-8b 模拟器:** 57.4%** 成功率

这是 17 个百分点的下降,揭示了被简单模拟所掩盖的弱点。


结论: 更好的用户模拟 = 更好的 AI 助手

提示一个助手“扮演用户”,就像要求一把锤子去充当螺丝刀——工具不对,任务自然也做不好。

**“翻转对话”**展示了如何创建真实、专用的用户语言模型。好处包括:

  1. 更真实的评估——在混乱、真实的场景中对助手进行压力测试。
  2. 更丰富的训练数据——为微调助手提供多样化、自然的对话数据。
  3. 个性化潜力——可扩展用于模拟特定人群或领域的用户。
  4. 保留基础模型——最好的用户语言模型源于中性的基础检查点,这说明发布开源基础模型的重要性。

投资于更好的用户模拟器不仅能改进测试,还能推动开发能够应对真实人类对话中不可预测节奏与风格的 AI 助手。如果我们希望 AI 伙伴在现实世界中茁壮成长,我们首先必须教会它们如何驾驭这个世界。