一帧里装不下的信息
同一个画面,在不同的局势里意义完全不同。举个假设的例子:某MOBA游戏里,一次三人团灭的画面出现两次,一次发生在开局五分钟,双方经济接近;另一次发生在第三十分钟,落后方经济被压制,这次团灭恰好抓住对方交出的关键技能。前一次是普通交换,后一次是转折点。单帧输入里没有这些差别,差别全部藏在“之前发生了什么”里。
学术上对游戏解说的研究也指出,解说要同时回答“说什么”和“什么时候说”两件事(LREC 2026 论文“Pause-Aware Decoding”的问题设定)。其中“什么时候说”与上一句话说了多久有关,本质上也是一种对自身历史的记忆。也就是说,记忆不只是记比赛,还要记主播自己说过什么。
比赛记忆应该记什么
一个合理的设计,是把记忆按变化速度分成四块,而不是把全程转写塞进上下文窗口。
- 比分轨迹:不止当前比分,还有随时间的走势,比如领先方是否在连续丢分、最近一次逆转发生在何时。
- 资源账本:经济、装备、关键技能冷却、地图控制。这些数据变化平缓,适合做定期快照。
- 解说日志:主播已经讲过的点,包括讲了哪几个角度、几分几秒说的。用来避免重复,也用来判断“这是第几次夸同一个选手”。
- 伏笔清单:局势里尚未兑现的悬念,例如“对方的大招还没交”“这一路已经掉了三次塔”。等到兑现时,主播才有东西可回顾。
写入与检索:什么时候看记忆
记忆多了会带来另一个问题:不能每次都全部读一遍。通常的做法是分层检索。
| 层级 | 内容 | 什么时候读取 |
|---|---|---|
| 短期窗口 | 最近十几秒的事件 | 每次生成解说都读 |
| 中期摘要 | 当前这一局的走势概述 | 事件被判定为重要时读 |
| 长期条目 | 伏笔、已讲过的点、历史交手 | 命中触发条件时读 |
摘要的更新可以按节点:一波团战结束、一个大资源被拿下之后,把细碎事件压缩成一句局势描述。这与主播怎样理解游戏局势中的事件判断相衔接:事件解决“刚刚发生了什么”,记忆解决“它意味着什么”。
怎样压缩而不丢关键点
压缩最怕把转折点抹平。比较稳的办法,是摘要里同时保留“数字”和“判断”两类内容:数字是比分与经济差,判断是“落后方在此后一直采取防守阵型”这类可被后续事件验证的结论。若下一次摘要更新时发现判断被推翻,就把旧判断标记为过期,而不是悄悄改写,这样解说日志里“已经说过的话”仍能和当时的判断对得上,主播不会出现前后打脸。
记忆用得不好的三种样子
- 回顾过度:每次击杀都要翻旧账,主播变成复读机式的“想当年”。回顾应当是稀缺的,只有事件足够重要、且记忆里确实有对应伏笔时才触发。
- 记错了还坚持:局势记忆依赖上游识别,一旦把队友和对手认反,后面所有回顾都建立在错误上。解决办法是让关键条目带来源与置信度,低置信度的事实用模糊措辞。
- 记忆污染:观众弹幕里的说法(比如“他刚才明明领先”)不能未经核对就写入比赛记忆,应先与数据接口对账。
一个具体的回顾流程
以那局塔防为例(示意):第十二分钟,玩家在西侧漏放两只飞行单位,系统在伏笔清单登记“西侧防空缺口”;第二十九分钟,该玩家把防空塔补到西侧,事件流报告“西侧首次拦截飞行单位成功”。命中伏笔后,回顾模块给解说层一条短提示:“可与第十二分钟的漏防呼应,语气偏认可”,主播于是可以说一句带前因的话,而不是干巴巴报击杀数。金沙娱乐AI在这类场景里的设计取向,是让解说层拿到“可引用的前因”,而不是整段历史。
下一个要解决的问题是:一场直播不只有一局,当记忆跨越几小时甚至通宵,怎样防止旧话题反复出现,这就是长时直播要处理的事。