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

本文探讨了如何利用强化学习构建高质量AI来解决互动产品中的环境隔离、用例生成问题,以及如何应对资损风险和容错探测。作者强调了高频易用的环境、新功能的用例生成策略和自动化的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >


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



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

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

  高频易用的环境

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

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

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

  • **隔离稳定:**通过测试账号和影子数据库来实现流量隔离;通过系统架构改造,将互动所有的配置数据读取的方式进行收口,实现配置隔离,只有指定的账号能读取指定的配置。这样可以实现一套部署结构,同时允许正常的业务逻辑运行和测试流量执行,且互不影响

  • **高频易用:**由于没有代码和部署解构的变化,环境的准备变成了测试数据包括配置数据的准备,理论上可以做到随备随用。

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

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

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

  • **新功能无输入或者少输入:**互动的玩法大部分是新功能,能提供的没有大规模可以调用的线上请求数据或者日志数据,只有代码和代码相关的一些接口定义。

  • **要全面:**盖楼这样的玩法的用户量级决定了遗漏的风险真的会摧毁整个产品的体验。生成的用例需要更全面,能否发现人难以发现的问题是一个很重要的衡量标准。

  • **自动化:**智能化的前提一定是充分的自动化。从给定的输入到训练,从训练到用例生成,从用例生成到用例执行需要完成全自动化。

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

  • **新功能少输入:**用户的行为节点分为两种,一种是无系统数据传输的比如页面的滑动等纯前端交互事件,另一种是有系统数据传输的如按钮点击,这一种我们定义为用户的有效行为。在系统实现上有效行为最后会变成对后端接口的调用。因此基于接口定义而不是基于请求数据来建立有向图模型能极大减少需要的输入。在互动的实践中,只需要配置好需要的接口和对应的入参类型即可。

  • **全面的用例生成:**互动的接口调用我们认为是有先后顺序的,这是从接口的参数来体现的。因此有向图的路径构建问题,我们选用了强化学习来构建。这其中最关键的路径覆盖全面问题是一个十分复杂的问题,逻辑调用路径是代码接口调用路径和数据逻辑路径等众多因素的组合体。在互动的实践中,我们针对最急迫的冒烟用例覆盖问题,对探索策略也结合pagerank和dfs做了一些改进,同时对激励函数做了接口参数状态覆盖优先的优化。从最终的实践效果来看,发现了很多人容易遗漏的状态遗漏和动态概率计算问题。

  • **全面自动化:**这里最重要要解决的工程问题是将算法跑出来的接口调用路径,转化成可以有最终用户使用的可重复执行的用例,这里不做赘述。

  体验还原

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

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



质量AI解决业务问题



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

  权益链路预跑

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

  • **什么样的场景会发生资损难定位:**资损场景虽然是业务逻辑场景的其中一个子集,如果业务逻辑场景本身都有遗漏,资损场景遗漏更加难以避免。现在的大数据测试方案对于回归类型可以解决,对于新功能新变更还是存在输入数据不够的问题。

  • **资损发生的方式难模拟:**资损发生的方式花样繁多,代码逻辑错误/异常处理/并发处理/数据污染/配置错误等等情况层出不穷。

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

  容错探测

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

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



总体展望



自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Java工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Java开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上Java开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加V获取:vip1024b (备注Java)
img

最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了

转存中…(img-yx9ot0vM-1712080163066)]

最后

各位读者,由于本篇幅度过长,为了避免影响阅读体验,下面我就大概概括了整理了

[外链图片转存中…(img-rxSXHyiZ-1712080163066)]

[外链图片转存中…(img-3JT1Womu-1712080163066)]

[外链图片转存中…(img-6ctg3Eam-1712080163067)]

[外链图片转存中…(img-AndGscbR-1712080163067)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值