基于强化学习的质量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会是下一代质量产品的最佳选择。虽有曲折,必有改变。

相关文章
|
27天前
|
人工智能 Serverless
AI 大模型助力客户对话分析 ——实践操作
参与《AI大模型助力客户对话分析》项目,基于阿里云社区操作路书,从架构设计到部署测试,逐步学习并应用大模型进行AI质检。过程中虽有控制台跳转等小挑战,但整体体验流畅,展示了AI技术的便捷与魅力,以及阿里云平台的先进性和社区支持。最终实现的AI质检功能,能够有效提升企业客户服务质量与效率。
49 0
|
21天前
|
存储 人工智能 数据可视化
高效率,低成本!且看阿里云AI大模型如何帮助企业提升客服质量和销售转化率
在数字化时代,企业面临海量客户对话数据处理的挑战。阿里云推出的“AI大模型助力客户对话分析”解决方案,通过先进的AI技术和智能化分析,帮助企业精准识别客户意图、发现服务质量问题,并生成详尽的分析报告和可视化数据。该方案采用按需付费模式,有效降低企业运营成本,提升客服质量和销售转化率。
高效率,低成本!且看阿里云AI大模型如何帮助企业提升客服质量和销售转化率
|
12天前
|
人工智能 安全 测试技术
探索AI在软件开发中的应用:提升开发效率与质量
【10月更文挑战第31天】在快速发展的科技时代,人工智能(AI)已成为软件开发领域的重要组成部分。本文探讨了AI在代码生成、缺陷预测、自动化测试、性能优化和CI/CD中的应用,以及这些应用如何提升开发效率和产品质量。同时,文章也讨论了数据隐私、模型可解释性和技术更新等挑战。
|
28天前
|
存储 人工智能 自然语言处理
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
高级 RAG 技术:提升生成式 AI 系统输出质量与性能鲁棒性【预检索、检索、检索后、生成优化等】
|
10天前
|
机器学习/深度学习 人工智能 自然语言处理
自动化测试的新篇章:利用AI提升软件质量
【10月更文挑战第35天】在软件开发的海洋中,自动化测试犹如一艘救生艇,它帮助团队确保产品质量,同时减少人为错误。本文将探索如何通过集成人工智能(AI)技术,使自动化测试更加智能化,从而提升软件测试的效率和准确性。我们将从AI在测试用例生成、测试执行和结果分析中的应用出发,深入讨论AI如何重塑软件测试领域,并配以实际代码示例来说明这些概念。
38 3
|
21天前
|
机器学习/深度学习 人工智能 监控
探索 AI 在软件开发中的新角色:代码审查与质量保证
【10月更文挑战第22天】本文探讨了AI在软件开发中的新角色,特别是在代码审查和质量保证方面。AI通过静态代码分析、代码风格一致性检查和历史数据学习,提高代码审查的效率和准确性。在质量保证中,AI还能够自动生成测试用例、监控应用性能并持续优化。文章还讨论了AI在软件开发中的实践应用、挑战与机遇,以及实施的最佳实践。
|
22天前
|
存储 人工智能 弹性计算
基于《文档智能 & RAG让AI大模型更懂业务》解决方案实践体验后的想法
通过实践《文档智能 & RAG让AI大模型更懂业务》实验,掌握了构建强大LLM知识库的方法,处理企业级文档问答需求。部署文档和引导充分,但需增加资源选型指导。文档智能与RAG结合提升了文档利用效率,但在答案质量和内容精确度上有提升空间。解决方案适用于法律文档查阅、技术支持等场景,但需加强数据安全和隐私保护。建议增加基于容量需求的资源配置指导。
84 4
|
20天前
|
人工智能 JavaScript 前端开发
利用 AI 进行代码生成:GitHub Copilot 的实践与反思
【10月更文挑战第23天】本文探讨了GitHub Copilot,一个由微软和OpenAI合作推出的AI代码生成工具,其核心功能包括智能代码补全、多语言支持、上下文感知和持续学习。文章介绍了Copilot在加速开发流程、学习新语言、提高代码质量和减少重复工作等方面的应用,并反思了AI在代码生成中的代码所有权、安全性和技能发展等问题。最后,文章提供了实施Copilot的最佳实践,强调了在使用AI工具时保持对代码的控制和理解的重要性。
|
24天前
|
人工智能
精通歌词结构技巧:写歌词的方法与实践,妙笔生词AI智能写歌词软件
歌词创作是音乐的灵魂,掌握其结构技巧至关重要。开头需迅速吸引听众,主体部分需结构清晰、情感丰富,结尾则要余韵悠长。无论是叙事还是抒情,妙笔生词智能写歌词软件都能助你一臂之力,提供AI智能创作、优化及解析等多功能支持,助你轻松驾驭歌词创作。
|
25天前
|
人工智能 资源调度 数据可视化
【AI应用落地实战】智能文档处理本地部署——可视化文档解析前端TextIn ParseX实践
2024长沙·中国1024程序员节以“智能应用新生态”为主题,吸引了众多技术大咖。合合信息展示了“智能文档处理百宝箱”的三大工具:可视化文档解析前端TextIn ParseX、向量化acge-embedding模型和文档解析测评工具markdown_tester,助力智能文档处理与知识管理。

热门文章

最新文章