跳到主要内容
caoz的梦呓零代码AI编程 - 让它自己跑测试
c
caoz//约 5 分钟
我之前应该提过,我做的游戏产品,其实不太适合自动测试,因为玩家的体验不是AI能模拟的,但确实测试这事太磨人了,特别是越往深处打磨产品,那么需要测试的时间就越多,需要测试的流程就越复杂。往往为了一个很简单的小改动,需要很长时间的测试,特别是类似难度设计这样的考验。但不能完全交给AI,不代表完全不能交给AI,这里的关键是做逻辑拆分,是的,要拆分其中的逻辑,哪些是可以让AI来评估的,哪些不是。具体讲我的开发案例,我的“无聊时光”里有一款堆叠三消游戏叫做“挖啊挖”,很早我就想设计为AI自动生成难度关卡,但是一直不成功,后来我设计了一个关卡编辑器,手动设计了不同关卡的堆叠结构,算是绕过了这个问题,这是几个月前的事情。最近这几个月AI技术不断进步,我对AI编程的理解也在提升,所以我觉得可以重新试试这个方案,但是每次AI修改后,我都需要重新去手工测试它的生成逻辑对不对,是否符合我的预期,这就非常消耗精力,因为我需要不断去尝试消除来判断它逻辑上的问题和我预期不一致的地方,后来我就换了一个思路,我把我想要验证的逻辑告诉它,让它把生成逻辑拆分出来,单独写一个python脚本,快速生成游戏关卡,然后再写一个验证程序,验证这个关卡设计是否符合基本目标,第一,除了顶层,每一层的每一个卡牌必须被上一层遮盖;第二,每一层的每一个卡牌必须不会和上一层的卡牌完全重叠。(如果上一层的某张卡牌完整压住了下一层,那么玩家就很难做出有效的识别判断)。然后我必须保证它的生成策略是经得起考验的,所以每一个难度(基于数值策略)都要生成和评估50次,确保全部符合设计要求。结果一开始就很糟糕,总是无法达到诉求。让它自己修改,加了很多策略,但就是有读者说的那种,鬼打墙,依然自动测试中告诉我,有多少条记录无法通过评估原则。我给AI提示,我说你看我手工设计的难度关卡的结构作为学习参照,但是没有用,然后我开始讲解,我手动设计的原则,每一层堆叠的方法,我讲完后AI似乎开始理解了,然后重新按照我手工设计的原则自己梳理了生成策略,而且这一次,数值显示,100%通过了验证诉求。这时候,我当然还要继续回到手动测试,从玩家角度继续体验,来寻找其他细微的问题,当然,我也让AI以玩家操作方式来解它设计的游戏,并提供玩家思维给它,看它不同难度的通过率如何,并作为难度数值设计的重要参照。这里的关键是,AI并不是测试我的产品,因为我没有做一个操作手机和识别手机屏幕的模拟器,我也没这个本事做这么复杂的测试系统,AI测试的是逻辑,生成逻辑单独拆分出来,成为独立的python脚本,与游戏本身的结构无关,单独在本地执行,生成结果是纯粹的数值;然后测试脚本独立对这个数值进行理解和判别,然后给予合理的测试评价。在这一切都确认完成的时候,再让AI把最终测试成功的生成逻辑写到游戏中,然后才是我的人工测试,可以说,这让我的测试效率提升了很多倍,也让之前一直止步不前的方案得以进行。对于开发者而言,这里的关键是,第一,你要能明确一些关键业务数值生成逻辑,策略。能够制定这里的规则和边界;第二,你能明确评估的逻辑,能准确给出测评的数值要求,这里只是数值要求,还不涉及交互体验的问题。然后,将关键数值逻辑剥离出来,单独测评,并不断改进调整,直到完成预期,再把最终确认的逻辑写回到业务系统。我最近还有一个心得,也就是一些读者描述的那种鬼打墙的情况,有时候AI会卡在一个关键点上,它就像是一个能力超群,但是非常不负责任的实习生,你稍微不注意它就会推卸责任,投机取巧。它会给你各种所谓其他解决方案,但其实都是逃避关键问题,而这时候如果你不坚决,你不去死磕关键问题,可能暂时你会以为问题解决了,但其实只是它增加了某个特例策略。当后续遇到其他状况,立刻还会重现问题。比如说,本来A到B是关键通路,是应该非常顺畅的,现在这个通路因为某个问题卡死了,过不去,你现在有个业务诉求卡在这里,它基于这个业务给了一个特例,让你的业务从A到C再到B,你一测试ok了,你以为这个事情解决了,过几天另一个业务卡在这里,它基于某个特征又给了一个特例,A到D到B,你以为解决了,然后全靠这种特例支撑,原本轻便简单的业务逻辑完全是不通的。这后期的维护和潜在的风险就无限多,以后升级也好,改造也好,可维护性就一塌糊涂,而你如果不死磕,它是不会去解决根本问题的。这也是前文 AI零代码编程-你不死磕,它就逃避 提到的。那么旧文也提过很多次,你可以零基础起步,但不能满足于零基础,AI编程的真实能力是非常强的,它其实可以完成复杂的系统,可以实现高可靠的架构,但前提是,你能把控这样的设计。如果你是零基础,它可以做很简单的应用,或者帮你做出原型设计,做原型设计是很好用的,但仅此而已,完整的,需要精细打磨的产品,零基础是驾驭不了的。如果你是个普通程序员,它可以帮你提高开发效率(在你认真学习使用的基础上,早期甚至会降低效率,有个磨合期是真的),但并不能真的帮你提高架构能力和解决复杂问题的能力。如果你本身有足够丰富的架构经验和技术分析能力,你会发现AI几乎无所不能。如果不行,没问题,让AI教你,这是另一个话题。也是旧文提过的。
我的 知识星球 用户注册和续费 均暂停,恢复时间待定。所以下面不是广告,是合集订阅,不想订阅我公众号的,可以单独订阅感兴趣的合集。1、AI编程合集,只讲AI编程相关的,其实这里也记录了我学习AI编程的过程,中间也能看到我的进步。2、游记合集,只讲旅游相关的,我现在社交场合遇到新朋友,基本上只发这个给别人。