基于强化学习的质量AI在淘系互动业务的实践之路

简介: AI人工智能的概念由来已久,因为alphago在围棋领域击败李世石掀起了全世界范围内的AI热潮,最近又随着DeepMind破解蛋白质折叠难题这一诺奖级成果再次让我们发现AI已经进化到了如此强大的程度。与AI在学术界的关注度相反,工业界中AI的应用则显得悄无声息。但是深入到各行各业中却会发现,从人脸识别到物流路径规划,从服务器数据传输到数据安全,AI已经无处不在。作为软件行业的重要组成部分,质量保障的技术体系经历了脚本CI时代/大数据测试时代,也正在向智能化时代演进。质量保障工作最主要的价值和目标,是全面找到业务的风险点,并围绕这些风险点构建解决方案。遗漏的风险也许就是毁灭拜占庭帝国的凯尔卡

背景&挑战



互联网电商中,迭代速度在竞争中能决定业务的生死。迭代速度和慢工出细活打磨用户体验看上去非常矛盾,在互动这种强用户体验的产品线矛盾更加突出。用户的游戏化体验是由一条条的用户行为路径的顺畅度和产品提供给用户的获得感来决定的,那我们就找到一个很好的切入点,如何用AI将用户行为路径全面模拟出来?

在解决这个问题之前,我们先来看看互动的业务场景。第一类是手淘上现有的三个典型互动产品,金币庄园,淘宝人生和芭芭农场。第二类是大促互动的产品,也就是大家都接触过的盖楼/养猫这样的大促互动。


image.png


这些互动产品的共同特点是极度追求用户的体验效果,不断在玩法上求新求变,没有那次大促大家会玩到不变的互动。同时电商场景下对迭代速度的要求也不断趋向极致,2个月需要完成一款其他游戏公司需要半年才能完成的作品。


image.png


在这种情况下,互动需要解决如下三个问题:


  • 环境:互动的测试环境数据构造除了基础的部署环境意外,还有大量的用户状态数据、规则配置数据和权益数据,可能构造一个拉100人在盖楼获胜的场景用例需要一整天而测试执行只需要1分钟。如何构造一个高频易用的环境?
  • 用例生成:互动的特色决定了大部分的功能都是新功能,是没有线上流量可以参考的,这种情况下大数据测试方案会陷入没有数据输入的困境。如何解决新功能的更全面的用例生成?
  • 资损:互动有大量的权益发放,基于现有基于对账的事后资损防控方案,在互动这样的巨量场景下只能说是亡羊补牢。如何提供事前更全面的资损风险识别方案?



构建基于强化学习的质量AI


这个时候再回过头来看互动产品的特色,无论是做任务升级领红包,还是拉人盖楼pk领红包,都是由一条条用户的行为节点构成的行为路径来构成,如果我们能把互动的产品按照一个个的行为节点解构成一个有向图,那互动的用例生成也就抽象成了如何构建一个有向图和求解有向图中的路径集的问题?环境问题是AI执行的前置条件,而风险包括资损风险和架构风险的探测则是AI的用武之地。


image.png

Turing

test

o

?rry


有了思路,我们再来一步步看如何让AI真正在业务中落地。


▐  高频易用的环境


现有测试环境的解决方案更多基于如何降低系统部署对于分布式系统的影响来解决,包括监控应用的部署/构造隔离的分布式系统的镜像环境/从变更管控角度管控部署的时间段等等,主要解决不同代码部署情况下的环境问题。对于互动这样迭代速度极致求快的业务,这些方案都还是成本太高。


互动的解决思路是不改变部署结构的情况下,通过数据隔离的方式来解决。


image.pngimage.gif


互动环境的的目标是隔离稳定和高频易用。


  • 隔离稳定:通过测试账号和影子数据库来实现流量隔离;通过系统架构改造,将互动所有的配置数据读取的方式进行收口,实现配置隔离,只有指定的账号能读取指定的配置。这样可以实现一套部署结构,同时允许正常的业务逻辑运行和测试流量执行,且互不影响
  • 高频易用:由于没有代码和部署解构的变化,环境的准备变成了测试数据包括配置数据的准备,理论上可以做到随备随用。


有了这样的稳定的环境,AI的落地才有了前提条件。


▐  基于强化学习AI的用例生成


既然互动的业务场景抽象成了基于行为节点的有向图构建,已经有了很多针对有向图的算法解决方案。这个时候深入业务的特点和诉求看看要解决的核心问题,再来选取合适的解决方案。


  • 新功能无输入或者少输入:互动的玩法大部分是新功能,能提供的没有大规模可以调用的线上请求数据或者日志数据,只有代码和代码相关的一些接口定义。
  • 要全面:盖楼这样的玩法的用户量级决定了遗漏的风险真的会摧毁整个产品的体验。生成的用例需要更全面,能否发现人难以发现的问题是一个很重要的衡量标准。
  • 自动化:智能化的前提一定是充分的自动化。从给定的输入到训练,从训练到用例生成,从用例生成到用例执行需要完成全自动化。

image.png

全链路有效用例

基于强化学习全自动脚本生成

账号,request,入参,返回

接入-配置接口

环境支持

成功

Request

激励函数

沉淀

探索策略

Agent1

Response

互动副本

状态优先

dfS/bfs

Agent2

接口a接口b

Agentn

失败

时间穿越

2i+1(8,a

pagerank

冒烟失败提交bug

特点:全路径用例覆盖,全自动脚本生成

image.gif


我们的解法是基于强化学习来构建用例生成的AI。


  • 新功能少输入:用户的行为节点分为两种,一种是无系统数据传输的比如页面的滑动等纯前端交互事件,另一种是有系统数据传输的如按钮点击,这一种我们定义为用户的有效行为。在系统实现上有效行为最后会变成对后端接口的调用。因此基于接口定义而不是基于请求数据来建立有向图模型能极大减少需要的输入。在互动的实践中,只需要配置好需要的接口和对应的入参类型即可。
  • 全面的用例生成:互动的接口调用我们认为是有先后顺序的,这是从接口的参数来体现的。因此有向图的路径构建问题,我们选用了强化学习来构建。这其中最关键的路径覆盖全面问题是一个十分复杂的问题,逻辑调用路径是代码接口调用路径和数据逻辑路径等众多因素的组合体。在互动的实践中,我们针对最急迫的冒烟用例覆盖问题,对探索策略也结合pagerank和dfs做了一些改进,同时对激励函数做了接口参数状态覆盖优先的优化。从最终的实践效果来看,发现了很多人容易遗漏的状态遗漏和动态概率计算问题。
  • 全面自动化:这里最重要要解决的工程问题是将算法跑出来的接口调用路径,转化成可以有最终用户使用的可重复执行的用例,这里不做赘述。


▐  体验还原


自动化生成出来的用例要最终在业务线产生世纪作用,提高易用性是关键。而提高易用性的关键是打通端到端,让生成出来的用例不只是数据,更要成为具像化的可交互的端上的效果。


image.png

互动前端编排模型体系:事件+UI+数据

加分2073包P

数据驱动事

00

Nction

件展现

procoss

process

PrOCeSs

Bclion

视觉还原

恭喜你

&cHon

麻越克特活卡镇包

图像断

Response

Englne

ccLIon

330.14元

言校验

共头柔

UI

DaTaCollection

Store

入拉包表日

特点:端到端仿真


受益于近几年前端的数据驱动架构演进的红利,我们可以方便地在工程上实现给定接口数据,即可在端上复现出对应的交互行为。结合图像断言等技术可以打通用例自动验证这个测试智能化的最后一公里。



质量AI解决业务问题



当我们在互动场景中解决了环境的问题和用例的自动化生成问题,在工程上也打通了端到端的体验还原,构建了基于强化学习的质量AI,需要真正解决业务中的问题才能业务真正带来价值。


▐  权益链路预跑


资损问题最近两年成为了业界的一个棘手问题,也出现了很多基于对账的资损问题发现的思路和产品。但是如前所述对于互动特别是盖楼这样量级和短周期的产品,事后的亡羊补牢虽然能减少损失但是损失的量级依然很大,互动需要能事前探测资损风险的方案。这样的方案难点主要有二:


  • 什么样的场景会发生资损难定位:资损场景虽然是业务逻辑场景的其中一个子集,如果业务逻辑场景本身都有遗漏,资损场景遗漏更加难以避免。现在的大数据测试方案对于回归类型可以解决,对于新功能新变更还是存在输入数据不够的问题。
  • 资损发生的方式难模拟:资损发生的方式花样繁多,代码逻辑错误/异常处理/并发处理/数据污染/配置错误等等情况层出不穷。

image.png

实时对账(数据,消息)

都喜你

脚本生成

环境生成

体验还原

前端视觉断言

330.14

image.png

实时对账(数据,消息)

都喜你

脚本生成

环境生成

体验还原

前端视觉断言

330.14


对于质量AI来说,问题1可以归纳用例如何生成更全,问题2可以归纳为环境准备问题。在实现了冒烟用例的AI化之后,互动通过对AI的迭代加入更多如代码路径覆盖/数据血缘分析/异常的执行环境注入等方式逐渐演进风险探测的准确率。目前互动已经实现了核心权益发放场景完全基于智能AI的权益链路预跑。


▐  容错探测


在分布式系统中,单点的故障不仅仅影响自身功能。因此每个系统在做好自身功能验证的事后,还需要考虑对关联系统和关联功能的容错能力,保障极端情况下的自身功能可用性和用户体验。


image.png


目前互动核心的功能故障点的容错探测都以实现AI化。



总体展望


质量保障整体上在整个研发体系中处于守门员的角色,在整个世界都在全力拥抱数字化的大背景下,系统的复杂度提升越来越快,业务对迭代效率的诉求也越来越强,传统的解决方案越来越难以满足时代的要求。


智能化给出了质量行业的另一个产品化的解决,未来的质量保障一定是通过研发更好的质量产品来保障业务的快速迭代,而根据各个业务定义的质量AI会是下一代质量产品的最佳选择。虽有曲折,必有改变。

相关文章
|
4天前
|
人工智能 自然语言处理 数据挖掘
利用AI集成工具提升工作效率的实践经验
随着人工智能技术的蓬勃发展,以及当今数字化快速发展的时代,人工智能的运用已经渗透到各个行业和工作领域中,大语言模型在自然语言处理领域的应用也愈发广泛,而且市面上涌现出一批AI集成工具,比如Langchain、Dify、llamaIndex、fastgpt、百炼等,它们为开发者提供了强大的支持和便利,极大地提升了AI模型的构建和管理效率。作为一名热衷于利用新技术提高工作效率的开发者,我也积极尝试将这些工具融入到我的日常工作中,以期望提升工作效率和质量,下面我将分享我是如何使用AI集成工具来提升工作效率的,以及实践经验和心得。
31 1
利用AI集成工具提升工作效率的实践经验
|
8天前
|
人工智能 Cloud Native Java
从云原生视角看 AI 原生应用架构的实践
本文核心观点: • 基于大模型的 AI 原生应用将越来越多,容器和微服务为代表的云原生技术将加速渗透传统业务。 • API 是 AI 原生应用的一等公民,并引入了更多流量,催生企业新的生命力和想象空间。 • AI 原生应用对网关的需求超越了传统的路由和负载均衡功能,承载了更大的 AI 工程化使命。 • AI Infra 的一致性架构至关重要,API 网关、消息队列、可观测是 AI Infra 的重要组成。
50115 9
|
11天前
|
机器学习/深度学习 敏捷开发 人工智能
自动化测试的崛起:如何利用AI提升软件质量
【6月更文挑战第20天】在软件开发的浪潮中,自动化测试已成为确保产品质量的关键工具。随着人工智能(AI)技术的飞速发展,其在自动化测试中的应用日益广泛,为测试流程带来了革命性的变化。本文将探讨AI如何优化测试用例生成、提高缺陷检测效率和预测潜在问题,从而显著提升软件测试的效率和准确性。
30 3
|
12天前
|
机器学习/深度学习 数据采集 人工智能
智能化运维的探索与实践:AI在IT运维中的应用
【6月更文挑战第19天】随着人工智能技术的不断成熟,其在IT运维领域的应用也愈发深入。本文将探讨AI技术如何赋能传统IT运维,提升效率和响应速度,实现故障预测、自动化处理及优化决策。通过分析AI在运维中的实际应用案例,我们能更好地了解其潜力与挑战,并预见未来智能化运维的发展路径。
226 6
|
13天前
|
机器学习/深度学习 人工智能 算法
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
【机器学习】AI在空战决策中的崛起:从理论到实践的跨越
22 0
|
13天前
|
人工智能 自然语言处理 算法
AI 应用之成本节约实践
本文探讨了如何避免高成本的模型微调,通过任务拆解和提示词调优实现业务目标。文中提到,当大语言模型不能直接满足需求时,微调涉及大量工作,包括数据准备、模型训练及GPU资源。为降低成本,作者提出了两步方法:1) 任务拆解,将复杂任务分解为简单子任务,利用模型优势处理部分;2) 提示词调优,优化输入以引导模型更高效地响应。虽然这可能不适用于所有情况,但能有效减少对模型微调的依赖。
54 1
|
27天前
|
机器学习/深度学习 人工智能 搜索推荐
构建基于AI的个性化新闻推荐系统:技术探索与实践
【6月更文挑战第5天】构建基于AI的个性化新闻推荐系统,通过数据预处理、用户画像构建、特征提取、推荐算法设计及结果评估优化,解决信息爆炸时代用户筛选新闻的难题。系统关键点包括:数据清洗、用户兴趣分析、表示学习、内容及协同过滤推荐。实践案例证明,结合深度学习的推荐系统能提升用户体验,未来系统将更智能、个性化。
|
29天前
|
语音技术 人工智能 机器学习/深度学习
构建基于AI的语音合成系统:技术探索与实践
【6月更文挑战第3天】本文探讨了构建基于AI的语音合成系统,包括文本预处理、声学模型、语音生成和后期处理四个步骤。关键技术和挑战涉及分词、词性标注、语调预测、HMM、DNN、RNN模型、波形合成及后期音质优化。实践中,获取高质量语音数据、训练计算资源和系统实时性是主要挑战。随着技术进步,未来语音合成将在多语种、个性化领域有更多应用。
|
2月前
|
人工智能 对象存储 异构计算
AI模型推理服务在Knative中最佳配置实践
Knative和AI结合提供了快速部署、高弹性和低成本的技术优势,对于一些需要频繁变动计算资源的AI应用,如模型推理等尤其明显。那么在Knative上部署AI模型推理时可以遵循这些最佳实践,以提升AI推理服务能力和GPU资源利用率。
|
2月前
|
人工智能 自然语言处理 安全
构建未来:AI驱动的自适应网络安全防御系统提升软件测试效率:自动化与持续集成的实践之路
【5月更文挑战第30天】 在数字化时代,网络安全已成为维护信息完整性、保障用户隐私和企业持续运营的关键。传统的安全防御手段,如防火墙和入侵检测系统,面对日益复杂的网络攻击已显得力不从心。本文提出了一种基于人工智能(AI)技术的自适应网络安全防御系统,该系统能够实时分析网络流量,自动识别潜在威胁,并动态调整防御策略以应对未知攻击。通过深度学习算法和自然语言处理技术的结合,系统不仅能够提高检测速度和准确性,还能自主学习和适应新型攻击模式,从而显著提升网络安全防御的效率和智能化水平。 【5月更文挑战第30天】 在快速迭代的软件开发周期中,传统的手动测试方法已不再适应现代高效交付的要求。本文探讨了如