一份十年的档案

韩屿,门将,14岁入队。按每周5次训练、每年约45场比赛计算,到24岁时他会积累三千多次训练课和四百多场比赛记录。如果每场比赛都存下每一次扑救的位置、反应时间和出击选择,数据量会迅速膨胀,而且大部分细节对“他明年会成长多少”几乎没有帮助。

九游体育的体育成长大模型面对的问题并不是存储空间,而是信息密度:模型每次预测或生成事件时,能参考的上下文是有限的。塞进太多琐碎细节,真正关键的线索反而会被淹没。

八类信息,三种粒度

我们把一名球员的历史分成八类,每一类有不同的保存粒度。

信息类别 保存方式 为什么
年龄与身体发育 逐月记录身高体重,按年归档 决定成长窗口和位置适配
训练 按周汇总负荷与专项比例 单次训练影响小,长期结构影响大
伤病 每次伤病逐条永久保存 影响复发风险和后续训练上限
比赛 按赛季压缩,保留少量关键场次 趋势比单场更有预测价值
性格 慢变量,按行为持续修正 决定训练效率和逆境反应
教练 每任教练逐条保存 战术风格和信任度影响出场与发展
位置 各位置熟练度与转换经历 决定可用性与未来转型成本
职业经历 转会、租借、合同逐条保存 构成职业叙事和心理状态

必须永久记住的东西

有些事件发生一次,就会在很多年里持续发挥作用,这类信息必须逐条保存,永不压缩。

  • 重大伤病:韩屿17岁时右手舟状骨骨折,休养了11周。这条记录会影响他之后几年的扑救动作倾向和复发风险。
  • 教练更替:19岁时新主教练偏好会用脚出球的门将,这决定了他之后两年的训练重点。
  • 职业转折:20岁那次租借到低级别球队,他只踢了6场就因为不适应被召回。这段经历会影响他对下一次租借的态度。

这些记录共同的特点是:如果忘掉,模型对他未来行为的判断就会出现明显偏差。

可以汇总的东西

日常训练和普通比赛属于另一类。单次训练课的细节,比如某个周三练了多少次高球处理,在一周后就几乎没有独立价值。系统会把它们汇总成周数据:总负荷、各项专项占比、训练投入评级。赛季结束时,周数据再压缩成赛季摘要:平均负荷、负荷峰值出现的月份、专项训练总时长。

比赛也是类似的处理。一个赛季的38场比赛会被压缩成几个趋势指标,比如扑救成功率曲线、出击失误次数、高压比赛中的表现差异,再加上3到5场“代表性比赛”的简要记忆:首次首发、一场失误导致丢球的比赛、一场关键扑救拿下的胜利。这些代表场次会在之后生成新闻、球迷评论或者球员心理状态时被引用。

性格是慢慢算出来的

性格最容易被做成一个入队时随机决定、之后永远不变的标签。九游体育的做法是:入队时给出一个初始倾向,之后根据行为持续修正。韩屿初始的“抗压”倾向只是中等,但他在18岁那年经历了三场点球大战并扑出其中两个,系统会小幅调高这一项;而他在失去首发后训练投入下降了一个多月,又会让“韧性”略微下调。

这种慢变量不需要保存每一次修正的完整过程,只需要保留当前值和几次较大变化的原因。玩家在档案里看到的会是“抗压:较高(18岁点球大战表现后提升)”,而不是一长串数字日志。

什么可以放心忘掉

遗忘不是缺陷,而是设计的一部分。以下信息在压缩后可以丢弃原始细节:

  1. 超过一个赛季的单次训练课记录。
  2. 普通比赛里的逐次触球数据,只保留赛季趋势。
  3. 已经完全康复、没有复发风险的轻微擦伤。
  4. 日常情绪波动,只保留持续超过两周的状态变化。

判断标准只有一个:这条信息是否还会改变模型对这名球员未来的判断。如果不会,就压缩;如果压缩后仍然没有用,就忘掉。

记忆服务于预测和叙事

分层记忆最终服务于两件事。第一是预测:模型在估计韩屿下个赛季的成长时,拿到的是年龄、近三个赛季的训练趋势、伤病史、性格当前值和教练风格,而不是三千条原始记录。第二是叙事:当系统需要生成一条“韩屿续约”的新闻,或者球迷在社区里回忆他的成长时,代表性比赛和职业转折就是现成的素材。

这和年轻球员训练代价的讨论是同一件事的两面:训练会留下痕迹,但并不是每一次训练都值得被单独记住。一名球员真正的成长史,是那些改变了他轨迹的时刻,加上把日常沉淀下来的长期趋势。

十年后回头看

24岁的韩屿档案页上,玩家能在一屏之内看到:身体发育曲线、四次重要转折、每个赛季的表现趋势、两次伤病和性格的变化原因。它不是一份完整的数据库导出,而是一份能读懂的成长记录。这正是体育成长大模型对“记住多少”的回答:记住足够解释过去、预测未来的部分,其余的交给汇总和遗忘。