利用代码实现起来则方便许多。
现成的模版是走不通了。
原型的话……分手了却看起来对彼此还有那么点意思的情侣……
其实答案挺显而易见,无聊到廖星都不愿承认。
但如此危机下,他还有什么办法?只好硬着头皮上了。
只用了不到十天的时间,罗西和廖星就拿出了初版成品,两个先前完全独立、离线的AI,头一次放在一起进行单元测试。
结果不太理想,大约有一小半的测试用例没有通过。
若是往常,罗西和廖星大概会甩嘴刀,分析一下自己的问题,攻击对方的问题,然后刺对方一身血,单方面得意洋洋地宣告自己的胜利。
但这一回,他们没Jing力再讽刺对方,而是乖乖拿走自己的研发对象,拿走自己Jing心创造出来的AI,一次次改进算法,模拟研究。
廖星知道自己的AI是有原型的。
他不禁想,如果是原型的话,放在这种场合,一般会怎么做。
他想多了就开始胸闷,因为不管选择哪条路,他所看到的现实的结局,都是两个人没有在一起。
大约反复了几十次,他们才跑通全部的测试用例。
照理说,上平台后,放在真正的产品环境中做集成测试,应该不会出太大的问题。
可是第一次的测试报告出来,两位开发组长都吓得目瞪口呆。
江山一片红,满眼都是bug。
仔细检查后才发现,他们的AI某些选项分支,根本无法通过公司的过滤器。甚至连NPC-1——也就是廖星所负责设计的AI——与罗西所负责设计的NPC-0分手的理由,都被过滤掉了。
这些过滤系统,原来从未造成开发困扰。此前廖星甚至都不知道它的存在,罗西有过滤器的概念,但也从未碰到过。
而这个过滤系统中具体的条件,由于涉及到一些公司的政策和规定,具体实施的部分,对于开发人员是未知的状态。
廖星据理力争几次,没用,管理部门一听就把他打发走了,还跟他说“你搭档也来过,奉劝你不要浪费时间”。他听了就火大,可是身处大公司,各种破规矩多得吓人。
可为了饭碗,他还能怎么办?
只能硬着头皮和罗西碰头,反复分析失败可能的原因。
好在碰了几鼻子灰之后,他们总算能收到最后跑通的测试报告。
NPC-0和NPC-1,在白日漫游的平台上终于相爱了。只不过他们花的时间有点久,而且……bug尚未消除。
之前是,这一次最新的测试状况也是。
罗西和廖星惯例性剑拔弩张,可没较多久劲,两边都先行退让一步,乖乖打开分析报告。
两位组长只匆匆扫了一眼,就遣走了组员——
没有必要浪费每个人的时间。
Bug还是一样的,问题还出在同一个地方。那江山的一片红,根源还是同一处。
每次当程序运行至调用“分手理由”这个变量时,系统总会出现空指针的运行异常。廖星甚至猜,如果AI有自己的思想,当他们高频率反复空指针报错时“滴滴,滴滴,滴滴……”的声音,会不会Jing神崩溃。
总之他们要是Jing神没崩溃,这个负责开发的廖星都要崩溃了。
这个变量困扰了二人很久。
他们曾为变量赋值,可是最后程序总没发运行到终点。
即便硬性赋值后跑通了,在客户那边也得不到满意的反馈。
故事不真实,不完善,这样的两个角色以这种理由分手是不合逻辑的。
他们明明如此相爱,故事中的困难挫折和障碍,根本没办法在他们之间溅起任何水花。
实属无奈,两位开发组组长一致决定,将这个变量留空,让他们的AI自行推导,最后赋值。
还有什么能比机器更符合逻辑的呢?
这次总该没问题了吧?
想得美。
公司的过滤器,挡住了AI推导出的理由。
偌大的会议室,只放两个人,实在太空荡了。
罗西手撑着额头,视线聚焦在屏幕上的一点。廖星认得这个表情,若非苦思冥想,罗西绝不会是这张死人脸,简直浪费了神一般完美的好看五官。
廖星盯着曾经的恋人,不知为何,心居然掉进柠檬汁里,酸涩难耐。
“这个分手的理由,还能是什么?”罗西好似自言自语,“性格不合?那两个人曾经交往的先决条件都没法满足。吵架时真的伤害了彼此?也不可能。这样根本没机会再复合。”
“嘿,往好处想想……他们大概是天生一对儿?分手理由根本不该存在?即使分开了,bug满屏也能在一起?你看他们这次只弹出三回空指针运行异常,大有长进。”廖星干笑着。
这个NPC-1算是凝聚了廖星全部的心血,当然他的表现也不负廖星的期望。虽然