育碧推出全新AI助手,可以帮助程序员改Bug!

计算
育碧推出全新AI助手,可以帮助程序员改Bug!
麻省理工科技评论 2018年3月9日

2018年3月9日

AI 有了一个新任务:防止视频游戏中出现 Bug。
人工智能
AI 有了一个新任务:防止视频游戏中出现 Bug。

该游戏公司的 AI 助手 Commit Assistant 已经被训练来识别程序员何时会犯错误。

AI 有了一个新任务:防止视频游戏中出现 Bug。

最近,在蒙特利尔举办的育碧开发者大会上,法国游戏公司育碧(Ubisoft)推出了一个针对开发者的全新人工智能助手。这个被称为 Commit Assistant 的人工智能系统旨在帮助开发者在编写代码时提前捕捉 Bug,从而节省开发人员的时间并减少在游戏发布之前所发现的错误的数量。

育碧研发部门 La Forge 位于蒙特利尔,其负责人 Yves Jacquier 表示:“这就像那些好点子,情况总是‘怎么我们以前就没有想到呢?’”他的部门与地方高校合作研究,其中包括加拿大麦吉尔大学和康考迪亚大学,他们不仅仅关注于产业,而且有意推动人工智能领域整体的发展。

La Forge 让 Commit Assistant 接受了庞大的软件库的训练,该软件库涵盖了内部开发约 10 年的工作内容,这允许它学习了解历史上出现过的错误,参考已应用的所有更正,并预测编码人员可能即将编写类似错误的时间。Jacquier 解释道:“它全部基于比较过去我们所编写的代码行,它们之中出现的 Bug,以及经过修正的 Bug,并通过超级 AI 找到一种方法为程序员们提供它们之间的联系。”

v2-8d1a2cb3aa04f0503c91ab9f8f9a30ba_hd.jpg

图 | 育碧官网首页

育碧希望 Commit Assistant 能够减少游戏设计中最昂贵和劳动最密集部分的成本。该公司表示,在开发阶段清除 Bug 需要庞大的团队,并且最高可占开发成本的 70%。但是,将 Bug 排查过程放到人工智能系统中,即便是处理部分数据,也是存在挑战的。他说:“你需要大量的数据,也需要处理巨量数据的能力和数学方法。AI 需要有足够的预测准确度,才能让开发人员信任该建议。”

现在一切都还在初期阶段,对于 Commit Assistant 开发团队来说,育碧这一成果“才刚刚开始‘授粉’”。目前,该公司还没有得到“该系统对游戏开发有多大影响”的使用数据。同时,还有一个人性方面的因素需要考虑:开发者们能接受在编码过程中被打断并被提醒说“你做错了”吗?

Jacquier 说道:“从变革管理的角度而言,最重要的部分就是确保你能让人们参与进来,并向他们完全透明地展示你用人工智能所做的事情——它能做什么,以及你所获取数据的方式。事实上,当你向程序员展示说‘嘿,显然你正在制造 Bug’的统计数据时,你希望他 (或她) 能意识到这是一个能提供帮助和提高效率的工具。我们所设想的用于这类系统的人工智能真的能起到推动作用。如果你不想用它,好吧,那就别用。这只是一种工具。”

除了 Commit Assistant,育碧同时也在开发别的人工智能应用,不过,Jacquier 强调称,Commit Assistant 目前只能有效处理非常具体的单一任务,比如避免让虚拟代理进入别的对象。他说:“目前为止,AI 非常擅长在极其狭窄的领域内做出决定,比如 Alpha Go。”AlphaGo 是来自 DeepMind 的人工智能系统,2017 年 5 月,它在以复杂著称的围棋比赛中击败了顶级围棋选手柯洁。

他说:“我们将来会看到越来越多通过 AI 工作的例子,但在现实生活中,你可能要到 20 年后才能在街道上看到一辆自动驾驶汽车。原因很简单,所有这些自动驾驶汽车都必须能够避免其他自动车辆、行人、人类驾驶的老式汽车,以及在路上游荡的野生动物等。”

但是,在游戏中的“改进人工智能”可以帮助我们解决一些现实世界的问题。育碧的人工智能程序员 Olivier Delalleau 在育碧开发者大会上谈到了游戏《看门狗 2》中的自动驾驶。以一个非玩家在游戏虚拟的旧金山附近操控的汽车驾驶为例,Delalleau 展示了汽车最初在转弯时会更容易失控。这辆车的设计目标是到达目的地或在街道上循环行驶,为游戏世界提供视觉效果。

Delalleau 表示:“(我们发现) 汽车从来不会刹车,这是因为它们没有发现这一良好的解决方案。”所以,它们没有学如何刹车。“对于人工智能来说,要学会刹车是相当困难的,因为它大多数时候都不将其视为一个好的解决方案。而你需要帮助它发现这一点。”

Delalleau 采用强化学习(一种机器学习的形式),来帮助 AI 学习这一技能。育碧提供了数千个驾驶时刹车的例子,而且该系统了解到通过遵循数字道路的规则,它可以更有效地达到目标。最终,人工智能汽车开始在拐弯角放慢速度。这也使得《看门狗 2》在游戏中对旧金山的描述更加逼真,并减少了随机碰撞。

Jacquier 认为,类似的工作可以为现实世界中使用人工智能系统提供信息,如无人驾驶汽车。他说:“在研究道德困境方面,游戏产业提供了实际帮助。这就好比经典的两难选择案例‘电车问题’,当你想知道一辆自动驾驶汽车在涉及行人或其他汽车的情况下会如何表现时,由于一些道德原因,或是在某些情况下得付出代价,你是无法在现实生活中进行测试的。但你可以通过电子游戏在虚拟环境中模拟这个问题,从而得到一些合理的答案,看看你的人工智能会如何表现。”

育碧正在使用人工智能技术的领域还包括非玩家角色 (NPCs)。在即将上线的《孤岛惊魂 5》中,育碧为非玩家角色实现了虚拟化版本的“马斯洛的需求层次”(一个人类动机影响其行为的的理论)。这为游戏中的角色提供了行动的动机,并且很大程度上是以“马斯洛金字塔自我保护层”为模型的。

当玩家在《孤岛惊魂 5》中遇到一个非玩家角色时,信任和士气这两个系统会进行运作。如果你向从未见过的人举起武器,他们会做出不信任或恐惧的反应,警告你放下枪。如果非玩家角色认为你构成的威胁没有解除,它会担心自己的“生命”并发动攻击。面对一群敌人时,当你瞄准射击其成员,个别敌人可能会认为他们已经被超越,从而失去了对战斗的渴望,并且当他们看到自己的“朋友”被干掉时,会试图逃跑。在其他地方,动物同伴也会对玩家的活动做出反应,例如,当你蹲下潜行时,它们也会在靠近地面的地方蹲下。这类成果为游戏世界增添了深度和现实感。

在未来,可能像 Commit Assistant 这样的工具将不仅仅局限于育碧。La Forge 与康考迪亚大学合作研究人工智能,并就其成果发表了学术论文。Jacquier 称:“如果有谁想要实现这种方法是完全有可能的,那些论文都是公开可获取的。”不过,这个系统并不适用于所有的开发者。它在一个“大数据”环境中蓬勃发展,里面有着无数的例子来指导它不应该做什么。目前而言,这一限制为大预算工作室提供了独特的好处。

但是,如果育碧的人工智能技术如预期那般走向成熟,玩家的回报将显著提高。这意味着因为修复漏洞而推迟发布日期的情况会变少,以及最终在成品中出现漏洞也会减少。同时,它还能让开发者专注于改进游戏的其他方面。也许最棒的是,如果一切按计划进行,你甚至不会有所察觉。

麻省理工科技评论

From Tech to Deeptech