这项由香港大学、西湖大学以及独立研究者合作完成的研究发表于2026年ICLR会议,论文编号为arXiv:2604.02648v1。有兴趣深入了解的读者可以通过该编号查询完整论文。
![]()
想象一下,你刚买了一款新的电子游戏,满怀期待地开始游戏,却发现角色会莫名其妙地卡在墙里,或者道具突然消失不见。这些让人沮丧的问题就是软件漏洞,而找出这些问题的工作通常由专业的质量保证工程师来完成。现在,研究人员想要看看人工智能是否也能胜任这项工作。
在软件开发的世界里,有一个经典的循环过程:程序员写代码,测试人员找漏洞,程序员修复漏洞,然后继续循环。这就像是一场永无止境的猫鼠游戏。目前的人工智能在"写代码"和"修复漏洞"方面已经表现得相当出色,但在"找漏洞"这个环节却还是个新手。这就好比有了厉师傅能修车,也有了巧匠能造车,但缺少一个火眼金睛的检验师来发现车子哪里有问题。
这项研究的创新之处在于,它是第一个专门评估AI自主发现软件漏洞能力的综合性基准测试。研究团队创建了一个名为GBQA的游戏基准,包含30个不同类型的游戏环境和124个经过人工验证的真实漏洞。这些漏洞就像是故意藏在游戏里的"地雷",看AI能否通过自主探索找到它们。
一、游戏世界里的"漏洞侦探"
为什么选择游戏作为测试场景呢?这个选择其实非常巧妙。游戏就像是一个微型的软件世界,它有着完整的规则系统、用户交互界面,还有复杂的内部状态管理。更重要的是,游戏的行为是可以预测的——当你按下跳跃键时,角色应该跳起来,当你拾取物品时,物品应该出现在背包里。
研究团队把AI比作一个专业的游戏测试员。传统的游戏测试员会坐在电脑前,反复尝试各种操作,观察游戏是否按预期运行。他们会尝试走到地图边缘看看会不会掉出去,会反复点击同一个按钮看看会不会卡住,会用各种奇怪的操作组合来"折磨"游戏。现在,AI也要学会做这些事情。
但这里有个关键区别:人类测试员通常会被告知"这里可能有个问题,去查一下",而AI必须完全靠自己发现问题所在。这就像是让一个侦探在没有任何线索的情况下,仅凭直觉在一座巨大的城市里找到可能存在的犯罪现场。
研究团队设计的基准包含了六种不同类型的游戏:动作、冒险、角色扮演、策略、模拟和解谜游戏。每种游戏都有其独特的机制和可能出现的问题类型。比如,动作游戏可能会有角色移动异常的问题,策略游戏可能会有资源计算错误,而解谜游戏可能会有逻辑判断失误。
二、构建AI测试员的"训练场"
创建这样一个综合测试环境绝非易事。研究团队开发了一套多智能体协作系统来自动生成游戏环境,这个系统就像是一个虚拟的游戏开发工作室。
这个虚拟工作室有一个制作人负责总体规划,然后有三个专门的团队:设计团队负责构思游戏玩法和规则,编程团队负责实现具体功能,美术团队负责制作游戏界面和视觉元素。每个团队都有自己的团队负责人,负责将大任务分解成小任务,然后分配给具体的工作人员去完成。
更有趣的是,这个系统还会故意在游戏中植入各种类型的漏洞。这就像是在建房子的时候故意留下一些结构问题,然后看建筑检查员能否发现它们。这些漏洞不是随意放置的,而是根据难度级别精心设计的。
研究团队将漏洞分为三个难度等级。简单级别的漏洞就像是房间里明显摆错位置的家具,一眼就能看出问题,比如角色说话时文字显示混乱,或者点击按钮没有任何反应。中等难度的漏洞需要玩家进行一系列操作才会暴露,就像是需要按特定顺序操作才会出现故障的家电。困难级别的漏洞则需要长时间的探索和复杂的操作序列才会显现,就像是只有在特定条件下才会露出马脚的隐藏问题。
为了确保这些人工植入的漏洞是真实有效的,研究团队还请来了三位专业的质量保证工程师对每个漏洞进行验证。只有当多位专家都确认某个现象确实是漏洞时,它才会被正式纳入测试基准。这个过程就像是法庭上需要多个证人的证词才能确定事实一样。
三、AI测试员的"工作流程"
那么,AI是如何在游戏中寻找漏洞的呢?研究团队为AI设计了一套完整的工作流程,这个流程模仿了人类测试员的思维模式。
首先,AI会像一个好奇的玩家一样开始探索游戏世界。它会尝试各种操作,观察游戏的反应,并在心中建立对游戏应该如何运行的期望。这就像是一个人第一次玩某款游戏时,通过试错来理解游戏规则。
当AI执行某个操作时,它会预测应该发生什么,然后将实际发生的情况与预期进行比较。如果两者不符,AI就会产生怀疑:"咦,这里好像不对劲。"比如,当AI尝试拾取一个道具时,它预期道具应该消失并出现在背包中,但如果道具消失了而背包里却没有,AI就会察觉到异常。
发现异常后,AI不会立即下结论,而是会进行进一步验证。它会重复相同的操作,或者尝试相似的操作,看看问题是否能够重现。这就像是一个谨慎的侦探,会反复检查证据以确保自己的推断正确。
如果问题能够稳定重现,AI就会生成一份详细的漏洞报告。这份报告包含问题的描述、重现步骤、预期行为和实际行为的对比,以及对问题严重程度的评估。这就像是医生给病人做完检查后写的病历,详细记录症状和诊断结果。
为了应对游戏中复杂的长期探索需求,研究团队还为AI设计了一套记忆系统。这个记忆系统分为两层:短期记忆负责记住当前游戏会话中的操作历史,长期记忆则保存跨会话的经验和发现。这就像是人类既有工作记忆来处理当前任务,又有长期记忆来存储过往经验。
四、AI测试员的实际表现
那么,AI在这个测试中表现如何呢?研究结果既令人鼓舞,又暴露了当前AI的局限性。
研究团队测试了多个最先进的AI模型,包括Claude、GPT、Gemini等知名系统。即使是表现最好的模型,也只能发现大约一半的漏洞。具体来说,Claude-4.6-Opus在"思考模式"下的表现最佳,发现了48.39%的已知漏洞。这就像是一个还在培训中的检查员,虽然已经掌握了基本技能,但距离资深专家还有不小差距。
更有趣的是,研究团队发现了一些值得注意的规律。首先,当AI能够查阅游戏的设计文档和源代码时,它的表现会明显提升。这很容易理解,就像是给检查员提供了建筑蓝图,他们自然更容易发现结构问题。
其次,给AI更多的探索时间确实能帮助它发现更多漏洞,但这种改进主要体现在复杂漏洞的发现上。简单的漏洞通常在前几次操作中就能被发现,而复杂的漏洞可能需要数百次操作才会暴露。这就像是有些房屋问题在第一次参观时就能看出,而有些问题只有住久了才会显现。
研究还发现,AI在处理不同难度级别的漏洞时表现差异很大。对于简单的表面问题,AI的识别能力相当不错,但面对需要长期跟踪和复杂推理的困难漏洞时,AI往往力不从心。这反映了当前AI在长期规划和复杂逻辑推理方面的不足。
五、记忆系统的重要作用
为了深入了解AI的工作机制,研究团队专门测试了记忆系统的作用。结果显示,记忆系统对AI的表现有着至关重要的影响。
没有记忆系统的AI就像是患了短期失忆症的侦探,它会不断重复已经做过的检查,忘记之前发现的线索,无法形成对问题的整体认知。而拥有完整记忆系统的AI能够避免重复劳动,积累经验,并且能够发现那些需要长期观察才能显现的问题。
研究团队设计的记忆系统有两个层次。会话内记忆帮助AI在单次游戏过程中保持连贯的思路,避免原地打转。跨会话记忆则让AI能够在多次游戏之间传承经验,形成更系统的测试策略。这就像是一个经验丰富的检查员,既能在单次检查中保持专注,又能在多次检查中不断完善自己的方法论。
实验数据清楚地显示了记忆系统的价值。配备完整记忆系统的AI比没有记忆的AI表现好很多,而且这种差距随着任务复杂度的增加而扩大。这说明复杂的软件测试工作确实需要系统性的方法和经验积累,单纯的即时反应是不够的。
六、从游戏测试到自动化软件开发
这项研究的意义远远超出了游戏测试本身。研究团队展示了一个完整的自动化软件开发循环的可能性。在这个循环中,AI测试员负责发现问题,AI程序员负责修复问题,整个过程几乎不需要人类干预。
研究团队用一个具体案例展示了这个过程。他们选择了基准测试中的一个文本冒险游戏CASTLE作为实验对象。这个游戏模拟了一个有八个房间的鬼屋探险,玩家需要收集三个钥匙碎片来打开最终的门。游戏中故意植入了三个不同类型的漏洞:一个逻辑错误让玩家可以用两个碎片就组成完整钥匙,一个描述错误会提前透露隐藏物品,一个数据不一致问题会让掉落的物品从房间描述中消失。
AI测试员通过三轮探索逐步发现了所有三个漏洞。第一轮发现了两个较明显的问题,第二轮验证修复结果并发现了剩余问题,第三轮进行最终确认。与此同时,AI程序员根据漏洞报告对代码进行相应修改。整个过程实现了100%的漏洞发现率和修复率。
这个案例展示了AI在软件开发流程中发挥更大作用的可能性。虽然目前这种能力还局限于相对简单的场景,但它指向了一个有趣的未来:软件可能会在很大程度上实现自我完善。
七、当前AI的局限性与未来展望
尽管取得了积极进展,但研究也清楚地暴露了当前AI在软件测试方面的局限性。最突出的问题是AI在处理复杂、长期依赖关系时的困难。
当漏洞的触发需要一系列复杂操作,或者问题的后果要在很久之后才显现时,AI往往无法建立正确的因果联系。这就像是一个缺乏经验的医生,能够识别明显的症状,但难以诊断需要长期观察或复杂推理的疾病。
另一个重要局限是AI缺乏人类测试员的创造性思维。经验丰富的测试员会尝试各种"破坏性"操作,故意以非常规方式使用软件来暴露潜在问题。他们会问"如果我这样做会怎样?"并尝试开发者可能没有考虑到的极端场景。目前的AI更多是按照既定模式工作,缺乏这种创造性的"捣乱"能力。
此外,AI在理解隐含需求和用户期望方面还有不足。软件测试不仅要检查程序是否按设计运行,还要判断设计本身是否合理。一个功能可能完全按照规格说明实现,但仍然让用户感到困惑或沮丧。这种微妙的判断目前还主要依赖人类的经验和直觉。
不过,研究团队对未来持乐观态度。他们认为,随着AI在推理能力、长期规划和创造性思维方面的进步,自动化软件测试的效果会不断提升。更重要的是,这项研究为评估和改进AI的软件测试能力提供了标准化的平台,这将加速相关技术的发展。
八、对软件开发行业的影响
这项研究对整个软件开发行业具有深远的潜在影响。如果AI真的能够胜任软件测试工作,那么软件开发的效率和质量都可能得到显著提升。
从效率角度看,AI测试员可以24小时不间断工作,不会感到疲劳或厌烦。它们可以以远超人类的速度执行重复性测试任务,释放人类测试员去处理更需要创造性和判断力的工作。这就像是工厂引入自动化生产线,虽然不会完全取代工人,但会改变工人的角色和工作内容。
从质量角度看,AI的一致性和细致程度可能超过人类。人类测试员可能会因为疲劳或疏忽而遗漏某些问题,而AI只要程序设计得当,就会以相同的标准检查每一个细节。这种一致性对于确保软件质量非常重要。
但这并不意味着人类测试员会被完全取代。更可能的情况是,AI负责大量的基础性、重复性测试工作,而人类测试员专注于需要创造性思维、用户体验判断和复杂场景设计的高级测试任务。这种人机协作的模式可能会成为未来软件测试的主流。
对于软件开发者来说,这项技术的成熟可能会降低软件开发的门槛。目前,很多小团队或个人开发者由于缺乏专业的测试资源而难以保证软件质量。如果AI能够提供可靠的自动化测试服务,这些开发者就能够以更低的成本开发出更高质量的软件。
九、研究方法的创新价值
除了实际应用价值,这项研究在方法论上也有重要创新。它展示了如何为复杂的AI能力建立客观的评估标准。
传统的AI评估往往聚焦于单一任务的性能指标,比如图像识别的准确率或语言翻译的流畅度。但软件测试是一个涉及探索、推理、记忆、判断等多种能力的综合性任务,很难用简单指标衡量。这项研究通过构建标准化的测试环境和详细的评估流程,为这类复杂能力的评估提供了可行方案。
研究团队创建的多智能体游戏生成系统本身也是一个重要贡献。这个系统能够自动生成多样化的测试场景,并在其中植入各种类型的漏洞。这种可扩展的测试环境生成方法可以应用到其他需要大量测试数据的AI研究领域。
另外,研究中使用的人工验证和自动评估相结合的方法也值得借鉴。通过让多位专家独立验证漏洞的有效性,研究确保了测试基准的质量。同时,使用AI系统自动评估其他AI系统的表现,提高了评估的效率和一致性。这种混合评估方法在其他AI能力评估中也有广泛应用价值。
说到底,这项研究开启了AI在软件开发中发挥更大作用的可能性。虽然目前AI测试员的能力还不完美,但它们已经展现出了实用的潜力。随着技术的不断进步,我们可能会看到一个软件能够在很大程度上自我改进和完善的未来。
对于普通用户来说,这意味着我们将能够享受到更稳定、更可靠的软件产品。那些让人头疼的软件崩溃、功能异常和用户体验问题可能会越来越少。对于软件开发者来说,这项技术可能会成为提升开发效率和产品质量的重要工具。
当然,这个未来还需要时间来实现。目前的AI测试员更像是一个勤奋但经验不足的新手,需要在实践中不断学习和改进。但正如这项研究所显示的,第一步已经迈出,而且方向是正确的。在不久的将来,当你使用某个软件时发现它运行得特别流畅,没有任何问题,你可能要感谢在幕后默默工作的AI测试员了。
Q&A
Q1:GBQA基准测试是什么?
A:GBQA是香港大学等研究团队开发的游戏基准,专门用来测试AI自主发现软件漏洞的能力。它包含30个不同类型的游戏环境和124个经过人工验证的真实漏洞,就像是专门为AI测试员设计的"训练场"。
Q2:AI在软件测试中的表现如何?
A:目前AI的表现还不够完美。即使是最先进的Claude-4.6-Opus模型,也只能发现大约48%的已知漏洞。AI在发现简单、明显的问题方面表现不错,但面对需要长期跟踪和复杂推理的困难漏洞时还力不从心。
Q3:AI测试员会取代人类软件测试工程师吗?
A:短期内不会完全取代。更可能的情况是AI负责基础性、重复性的测试工作,而人类测试员专注于需要创造性思维和复杂判断的高级测试任务,形成人机协作的模式。
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.