AI 战报解决的是「赛后 90 秒出稿」,AI 解说解决的是「团战打完 3 秒内开口」。两者共用一套事件流,但延迟预算差了三十倍。这篇拆解说席。
一、解说和战报是两件事
战报可以回看、可以重写,错了改一版就行。解说不能:话说出口就收不回,而且必须踩着比赛节奏。所以解说席的第一原则不是「说得准」,而是「说得是时候」。
我们把延迟预算压到 2.4 秒:检测 0.4 秒、排序 0.2 秒、生成 1.2 秒、语音合成 0.6 秒。超过 3 秒,观众已经看到结果,解说就成了复读。
二、三层事件流
比赛每秒产生 40 到 60 条原始事件,大部分是噪音:补刀、走位、技能冷却。我们把它压成三层:击杀层(谁杀了谁、用了什么)、资源层(塔、龙、经济差)、局势层(胜率曲线的拐点)。
三层不是并列的。资源层决定要不要说话,击杀层决定怎么说,局势层决定说多长。一波团战先看资源变化,没拿到东西,再精彩也不值得单独播报。
事件流用固定窗口聚合:每 1.5 秒切一片,片内事件去重合并。这样一波五杀不会被拆成五条播报。
三、重要性打分
每条聚合事件打一个 0 到 100 的分:经济差变化占 30,人数差占 25,是否首杀或四杀占 20,是否发生在关键节点(龙刷新、高地)占 15,剩余 10 给观众情绪指标(弹幕密度)。
只有 55 分以上才进入播报队列。低于这个阈值的事件不是不重要,而是不值得打断当前解说。噪声控制比信息完整更重要。
打分还有一个副作用:它让解说有了层次。高分事件用完整句,低分事件只给一个短句带过,听感上就不会平。
四、口语化生成
解说词不是写出来的,是拼出来的:模板加变量。模板控制句式,变量填人名、技能、经济差。每条模板只有一个从句,句长不超过 18 个字,念出来刚好一口气。
三种语气对应三种场景:平稳(常规推进)、上扬(拿龙拿塔)、压低声线(劣势方反击)。语气由事件分值决定,不由模型自由发挥——自由发挥容易过度煽情。
书面语是禁区。「经济领先扩大至三千」要改成「经济差拉到三千」;「击杀」说「拿下」,「推掉防御塔」说「拆塔」。这些词表是人工维护的,每周更新。
五、节奏控制
解说不能一直说。我们设了三条硬规则:连续播报不超过 12 秒、团战结束后留 2 秒给现场音、同一事件 8 秒内不重复。这三条让 AI 听起来像在「配合」比赛,而不是盖住比赛。
还有一个抢话检测:如果人类解说正在说话,AI 自动降级为文字弹窗,等人声停顿超过 0.8 秒再切入。双声道播出时,这条规则比什么都重要。
节奏的本质是留白。观众需要的不是每秒钟都有信息,而是关键时刻有人替他们说出那句话。
六、两个失败案例
第一个是剧透。模型看到胜率曲线已到 92%,直接说「这局基本结束了」,结果对面翻盘。后来加了规则:胜率只能描述当前,不能预测结果,「基本结束」进了黑名单。
第二个是重复。同一波团战被切成三条事件,解说说了一遍、又补一句、再总结一次,观众听感像卡带。修复办法是事件指纹:同一批击杀合并成一个 ID,8 秒内只播一次。
两个案例的共同点:模型没有错,是边界没设好。解说席的大部分工作,其实是写这些「不许说」的规则。
七、和人类解说的分工
AI 报事实,人类讲情绪。团战里谁先手、交了什么技能、经济差多少,这些交给 AI;为什么这一手漂亮、选手在想什么,交给人。分工清楚,两个声道才不打架。
总决赛会开一条 AI 副解说声道,主声道还是人类。观众可以切换,也可以关掉。我们不指望 AI 取代谁,它更像一个不会累的数据搭档。
八、写在最后
3 秒内说清一次团战,难点不在生成,在取舍:说什么、不说什么、什么时候闭嘴。这套逻辑和 NPC 的沉默其实是同一件事。