一个AI队友知道你们都喜欢同一款游戏,并不代表你们愿意一起打两个小时副本。这句话听起来像常识,但很多所谓的“智能组队”恰恰栽在这里:系统看到两个账号都玩了同一款合作游戏,就把它们放进同一个推荐列表,然后期待一段愉快的合作关系自然发生。现实往往是,一个人想在开局前把装备配好、路线讨论清楚,另一个人已经冲进了第一个房间;一个人打算通关就睡觉,另一个人才刚刚吃完晚饭。

爱游戏在设计游戏社交助手时,把队友匹配当成一个兼容性问题,而不是相似度问题。相似度回答的是“你们像不像”,兼容性回答的是“你们放在一起会不会顺”。两者差别很大:两个都爱抢输出的玩家非常相似,却可能在副本里互相抢怪;一个爱冲的输出和一个爱观察的辅助并不相似,配合起来却常常最舒服。下面按照“兴趣、行为、关系、推荐、用户控制”的顺序,把这套思路拆开讲。

兴趣标签为什么只是入场券

游戏名称是最容易拿到的信号。玩家玩过什么、收藏过什么、加入过哪些社区,都可以直接统计。基于这些信息,系统能很快回答“这个人大概喜欢哪一类游戏”,也就是兴趣模型里最粗的一层。它有用,但只是入场券:它能帮系统把候选人从全体玩家缩小到“可能有共同话题的一小群人”,却无法进一步判断他们能不能合作。

原因在于,同一款游戏内部就存在完全不同的玩法。以一款常见的多人合作闯关游戏为例,有人追求最短通关时间,会背下每一个刷新点;有人把它当作聚会工具,一边聊天一边随便走走;有人喜欢研究隐藏要素,宁愿在一个房间里停留十分钟。这三种玩家的账号里都写着同一个游戏名,兴趣标签完全一致,游戏习惯却几乎互不相容。

如果匹配只依赖标签,这类冲突就会被系统完全忽略,而玩家会把不愉快归结为“这个推荐不准”,甚至干脆关掉推荐功能。所以在爱游戏的设计思路里,兴趣标签只负责“召回”,也就是先划出一个候选池;真正决定谁排在前面的,是后面几层信号。

行为信号:把“同一款游戏”拆成八个维度

为了让匹配说得清楚,我们把一个玩家在某类游戏里的偏好拆成八个维度。它们并不都需要玩家手动填写,一部分来自玩家自己声明,一部分来自可以解释的行为统计,还有一部分要靠玩家在使用中的反馈慢慢修正。

维度 典型取值主要来源匹配时的倾向
游戏类型 合作闯关、策略、模拟经营、射击 玩过的游戏、收藏 用于召回候选池
玩法风格 速通、探索、稳扎稳打、社交闲聊 玩家声明加行为统计 通常要求接近
在线时间 工作日晚间、周末白天、深夜登录与游戏时段统计 必须重叠
语言 普通话、方言、英语、仅文字 玩家声明 必须一致或可接受
沟通偏好开麦、只打字、仅用快捷信号 玩家声明加使用习惯 不能相差太大
竞技或休闲 追求排名、随意娱乐 玩家声明加对局类型 通常要求一致
角色偏好 输出、辅助、前排、指挥 常用角色统计 可以互补
组队规模 双排、四人小队、固定车队 历史组队记录 需要兼容

这张表里最容易被忽略的是“沟通偏好”和“竞技或休闲”。一个只想安静打游戏的玩家,被系统安排给一个全程开麦讲战术的队友,即使段位相同、时间吻合,也会很快疲惫。同样,一个想冲榜的玩家遇到一个说“随便玩玩就行”的队友,不需要任何人犯错,双方的失望已经埋好了。

需要强调的是,这些维度是对“玩法”的描述,而不是对“人”的评价。系统没有必要、也不应该给玩家贴上性格标签,更不应该从行为里推断与游戏无关的个人属性。它只回答一个很窄的问题:在这一类游戏里,这个玩家通常怎样玩,希望怎样合作。

兼容而非相似:哪些要一致,哪些要互补

有了维度以后,下一步是决定每个维度怎么比较。这里最容易犯的错误,是把所有维度都用同一种“越像越好”的方式打分。实际上,维度大致分成三类。

  • 必须一致或重叠的维度:在线时间、语言、竞技或休闲倾向。这些维度上的差异不是风格问题,而是能不能开始一局的问题。时间不重叠的两个人,再合拍也无法组队。
  • 需要相近但允许有距离的维度:玩法风格、沟通偏好、组队规模。相差一点无所谓,相差太大会持续消耗耐心。比如一个偏稳扎稳打的玩家,可以接受节奏稍快的队友,却很难适应完全不做沟通的速通队。
  • 适合互补的维度:角色偏好。一支队伍里全是输出或全是辅助,都不会舒服。系统在这一维上应该看“缺什么”,而不是“像什么”。

把这三类结合起来,兼容性得分就不再是一个简单的相似度,而是一组带条件的规则:先看硬性条件能不能满足,再看软性偏好的距离,最后看队伍组成是否互补。系统可以先把明显不可能的候选人剔除,再在剩下的人里排序,这样排出来的结果,比单个“相似度分数”更容易向玩家解释。

这也是爱游戏不建议只靠段位做匹配的原因之一。段位反映的是技术水平,它对“会不会输”有参考价值,却对“聊不聊得来”“节奏合不合”几乎没有说明力。关于沟通习惯和游戏节奏如何进入匹配,另一篇文章段位相近为什么仍可能不适合组队会展开来谈,这里不再重复。

模拟场景:周五晚上的合作副本

下面是一个模拟场景,用来说明这些信号如何一起工作。所有细节都是为了演示而设定的假设,不代表真实数据。

假设一位玩家在周五晚上打开爱游戏App,想找人一起打一个四人合作副本。他的资料里写着:偏好合作类玩法,常用角色是辅助,平时在晚上八点到十一点之间上线,愿意开麦但不喜欢被频繁催促,属于休闲玩家。过去三周里,他有两个周五晚上玩过同类副本,对局中他更常留在队伍后方补给。

系统先做召回:从当前在线、玩合作类游戏的玩家里,划出几十位候选人。接着做硬性过滤:时间窗口与他不重叠的、只接受纯文字沟通而他习惯开麦的、明确只打排位的,都被排除。剩下的候选人里,系统再比较玩法风格:有的人历史对局显示总是抢先冲进新区域,有的人则习惯等队友到齐;有的人常用角色是输出,有的人也是辅助。

结果排在前面的,是一位常用输出角色、开麦频率适中、偏好稳扎稳打的玩家。两个人的常用角色互补,节奏相近,时间重叠。系统给出的推荐理由是:“你们过去三周里有两个周五晚上都玩过合作副本,你常担任辅助,对方常担任输出,双方都偏好开局前先沟通路线。”

这一步之后,系统并不会替他加好友,也不会直接把两人拉进同一支队伍,而是把这条推荐连同理由展示给他,由他选择是否发出邀请。假设他发了邀请,对方也同意,两人打了一局。对局结束后,系统会轻轻询问:“这次配合感觉如何?”如果他选了“节奏偏慢”,这一维度的权重会略微调整,下次遇到同样风格的推荐时,系统会更谨慎。

这个场景里有几个地方可能出错。第一,玩家声明的偏好可能已经过时,比如他最近其实想尝试更快的节奏;第二,统计出来的“常用辅助”也许只是因为队友总是缺辅助;第三,同样的行为在不同游戏里含义不同,在一款游戏里的谨慎,可能在另一款里只是不熟悉。这些误差都需要通过玩家的反馈慢慢修正,而不是被当作事实固定下来。

稳定偏好、近期行为与冷启动

再来看一个技术上的问题:哪些信号可以长期使用,哪些应该很快淡出。玩家声明的语言、沟通偏好、竞技或休闲倾向,通常变化较慢,可以视作稳定偏好;常用角色、最近玩的游戏类型、组队规模,则更多反映近期行为,会随着阶段变化。同一个人前半年热衷竞技,后半年转向休闲,并不是矛盾,而是玩家状态的自然迁移。

所以爱游戏在设计里把这两类信号分开存放。稳定偏好更新慢,需要玩家自己确认;近期行为可以随时间衰减,越新的记录权重越高。这样一来,玩家换了游戏或换了心态,系统不会固执地拿三个月前的画像去推荐。关于“兴趣漂移”如何影响画像,另一篇讨论旧画像为什么不能一直使用的文章会有更细的展开。

冷启动是另一个现实难题:一个刚注册的玩家没有任何历史,系统怎么推荐?我们的做法是尽量少问,只问最影响兼容性的几个问题,比如通常什么时间上线、习惯开麦还是打字、偏竞技还是偏休闲。问题都可以跳过,也可以稍后修改。跳过的维度,系统在匹配时按“不确定”处理,宁可少推荐,也不要凭猜测给出很有把握的结果。

此外,冷启动阶段的推荐应当明确标注“信息较少”,让玩家知道这份推荐有多大程度只是粗略参考。等玩家真正打过几局,反馈和行为逐渐积累,推荐才会变得更具体。

推荐理由要说得出口,拒绝要拒绝得了

兼容性打分即使做得再细,也只是一种估计,估计就可能出错。真正让匹配变得可用的,是围绕它的解释与控制。

首先是理由。每一条推荐都应该附带一个能被玩家理解、也能被玩家反驳的理由,比如“你们的在线时间重叠”“你们都偏好开局前沟通”。理由不能含糊到“根据你的兴趣推荐”,更不能暗示系统掌握着玩家没有提供的信息。同时,理由也要有隐私边界:它可以描述“你们的偏好相近”,却不能泄露对方的具体游戏记录、在线轨迹或者聊天内容。

其次是反馈闭环。玩家应该能对每一条推荐说“不合适”,并选择原因:时间不对、节奏不合、沟通风格不符、不想再看到这类推荐。这些反馈要真的反映到后续推荐中,而不是变成一个装饰性的按钮。

最后是控制。玩家可以暂停推荐、重置画像、关闭某一类推荐,也可以选择完全不使用社交推荐,只保留自己手动搜索的方式。这一层是整个匹配设计的底线:AI可以帮玩家发现可能合得来的人,但决定是否联系、是否组队、是否继续合作的,始终是玩家本人。关于社交助手的权限边界和用户控制,我们在AI社交助手为什么要把控制权留给玩家一文中有专门讨论。

还有一点需要坦白:兼容性匹配不可能消除所有失败。有些玩家在对局中的状态与平常不同,有些合作的好坏取决于一局里的偶然事件。爱游戏的设计目标不是保证每次组队都愉快,而是把明显不合适的组合尽量挡在前面,把有可能合得来的人更早地介绍给玩家,同时保证玩家随时可以退出、纠正或重新开始。

好的队友推荐,交付的是一次顺畅合作的可能性

回到开头那个判断:知道你们喜欢同一款游戏,只是匹配的起点。真正决定一次组队是否愉快的,是时间、目标、沟通和节奏能不能对上,以及角色能不能互补。把这些拆开来看,就会发现“找队友”更像是给两个人安排一次可能顺畅的合作,而不是把两个相似的账号放在一起。

所以爱游戏对这类功能的态度是:宁可推荐少一点、理由清楚一点,也不做一个看起来很聪明、实际上让玩家反复失望的匹配器。最终的标准并不是推荐了多少人,而是玩家在看到推荐时,能不能理解为什么是他们,能不能安心地说“好”或者“不”。这一点做到了,匹配才算真正开始有用。