ARTICLE · 1129338
我跑了一次全马,AI做了一个App
很难说清楚,究竟是什么促使我在今年开始跑步。
可能是生活在新的平衡后,又萌生了打破它的冲动;也可能是身体和精神状态,在某个时刻同时发出了一个虽不强烈,却足够清晰的信号:该做点改变了。
总之,在3月一个早起的早晨,我穿上运动鞋,在附近的公园跑了5公里。
没有训练计划,没有心率区间,也没有所谓的马拉松目标。
甚至在那之前,我都没有认真想过自己有一天会去跑42.195公里。
那天跑完5公里,气喘吁吁地回到家,拉伸、冲澡。刚刚还沉甸甸压在身上的疲惫,很奇怪地一扫而空,取而代之的是一种神清气爽、身轻如燕的感觉。
一个念头从脑海闪过:
可以跑跑。
仅此而已。
很多事情的开始,好像都是这样。当时并不知道它会通向哪里,只是先往前跑了一点。
第一次跑完5公里以后,事情开始变得有趣起来。
如果5公里可以,那么10公里呢?
半马是不是也可以?
这种想法其实很危险,因为它会让一件原本很简单的事情,慢慢变得复杂起来。
我开始关注可以报名的半马赛事,根据中签的比赛倒推训练周期;开始研究配速、心率,开始比较这次和上次跑步的数据。
跑步似乎突然从一件简单的身体活动,变成了一件需要计划的事情。
4月底,我站上了人生第一场半程马拉松——蚌埠半马的起跑线。
那时候我的目标特别纯粹:跑完它。
提前一天坐火车到达蚌埠,为了给第二天的比赛保持体力,领完物资以后,能不走路就不走路,晚饭点外卖送到房间,甚至早早躺到床上,试图让自己睡个好觉。
结果适得其反。
辗转反侧到半夜,真正睡着的时候已经不知道几点。再醒来,是被闹钟惊醒,一看时间,距离比赛开始只剩一个小时。
我一边叫车,一边从酒店餐厅抓了几片面包和一根香蕉,匆匆赶往比赛起点。
真正站到人群里的时候,我才发现,紧张是有数据的。
平时起跑心率大概110,那天比赛枪响之前,手表就已经跳到了150。
隔着耳机听见几千人脚掌落地的声音,咚、咚、咚,像一台巨大的节拍器。前面有个配速差不多的大哥,我几乎本能地跟了上去,脚步越来越快,完全忘了自己原本计划保守起跑。
前5公里,我觉得状态特别好。
10公里,我觉得今天没问题。
直到16公里,一个很长的上坡。
兴奋随着坡度一起消失,疲惫开始一点一点占据身体。我第一次真正意识到,21公里和5公里之间,并不是多跑16公里那么简单。
此前训练最长只跑过18公里,所以最后几公里的每一步,都是在透支体力。
那时候我才明白,所谓咬牙坚持的"意志力",可能解决不了所有问题。
最后,我还是冲过了终点。
2小时11分48秒。
没有想象中的欣喜,只有一种狼狈地完成任务后的虚脱。

很巧的是,同一天,在几千公里之外的伦敦,有人第一次把马拉松正式跑进了2小时。
我当然不会把自己和世界顶级运动员放在同一个维度比较,但那一天,"跑得更远"和"跑得更快"这两件事情,第一次同时出现在我的脑子里。
如果下一次再跑,我是不是可以跑得更好?
为了回答这个问题,我开始了一段有点特别的训练。
每次跑完步,我都会把 Apple Watch 导出的数据发给AI,让它帮我分析:今天配速怎么样?心率合理吗?恢复够不够?下一次该怎么练?
就这样,一个月过去了。
5月底,我站上了吉林半马的起点。
这一次,我发现自己变了。
蚌埠那场,我一直在问:
吉林这场,我开始问:
可真正比赛开始以后,我脑子里的问题又变成了另一个:
早上7点,还没开始比赛,气温就已经来到了20℃。
松花江边的风,没有吹散逐渐升高的热浪;16公里的江边长道,没有一处荫凉。
随着比赛推进,赛道上走走停停的人越来越多,甚至逐渐超过了还在慢跑的人。
这一次,我几乎每公里都在看表。
不是为了确认配速是否执行到位,而是在观察自己。
为什么前半程心率一直很稳定?
为什么后半程明明配速降下来了,心率却还在慢慢往上爬?
为什么同样6分多的配速,在蚌埠感觉轻松,在吉林却像换了一副身体?
比赛结束以后,我第一次没有急着看成绩,而是把两场半马放在一起比较。
原来真正有价值的,并不是"快了几分钟"。
而是那些以前根本不会注意到的问题。
跑步开始从一场比赛,变成了一次观察自己的实验。
Apple Watch 是个很诚实的设备。
每次跑完,它都会告诉我一大堆数字。
距离、配速、心率、步频、海拔……
这些数据当然有用。
但看得越多,我反而越来越觉得:
数据很多,答案很少。
比如一次10公里结束,我知道平均配速是6:30/km,也知道平均心率140。
可是这些数字回答不了两个更重要的问题:
今天这10公里,对我的训练意味着什么?
以及,我明天应该跑什么?
后来我发现,这其实是三个完全不同层次的问题。
记录:发生了什么?分析:为什么会这样?决策:接下来怎么办?
Apple Watch 很擅长第一件事,AI 能帮我完成一部分第二件事。
但第三件事,始终没有一个让我满意的答案。
于是我开始想,也许问题不在于数据,而在于工具。
其实最开始,我并没有想做一个产品。
我只是觉得,每次导出数据、复制、粘贴、发给AI,这个过程有点太笨了。
能不能直接在手机上完成?
于是我把想法告诉AI,先做了一个网页版本。
它最开始真的很简单,只会统计:
这周跑了多少公里;最长跑是多少;平均配速和平均心率是多少。
后来,我开始一点一点往里面加东西。
训练负荷、恢复状态、心率漂移、天气影响……
我把一次长距离跑拆成前后两半,把配速、心率、距离和温度放在一起比较,慢慢发现了一件很有意思的事情。
真正有意义的,从来不是:
而是:
在网页上验证数据通过以后,我又把这套思路讲给AI,让它帮我把整个架构搬到了手机上。
那个最初只是为了偷懒的小工具,慢慢变成了一个App——Marafit。
它不是为了记录,而是试着回答一个更具体的问题:
今天的我,应该怎么跑?

两次半马之后,我开始认真考虑一件之前完全没有想过的事情:
全马。
不是为了证明什么。
只是觉得,既然已经走到了21公里,那就再往前一点。
于是目标变成了9月底的衡水湖全马。
从这一刻开始之后的16周时间里,每一次跑步都变成了App监督下的"训练"。
轻松跑,是为了建立有氧能力。
节奏跑,是为了提高持续输出。
马配跑,是让身体熟悉未来42公里的节奏。
而LSD长距离,则是在教身体学会耐心。
24公里。26公里。28公里。30公里。
数字一点一点往上长,身体也一点一点学会适应更长的距离。
真正困难的,不是跑完30公里。
而是每个周末都愿意重新开始。

有一段时间,我突然觉得事情变得有点奇怪。
到底是我在训练自己?
还是我在训练这个 App?
最开始,是我不断给它喂数据。
一场一场跑,一次一次记录。
告诉它我跑了什么,告诉它我的身体有什么反应。
但慢慢地,它开始反过来影响我。
睡眠不好,准备度下降。
HRV 比平时低,建议降低训练强度。
连续几周训练负荷偏高,它会提醒我恢复,而不是继续加量。
以前看到一个很好的配速,我总会想:
现在反而会停下来问自己:

这是我做这个 App 以后最大的变化。
它没有让我变成一个更激进的跑者。
恰恰相反,它让我开始学会克制。
因为训练不是证明今天能做到什么,而是为了让未来某一天,能够做到今天还做不到的事情。
9月底,衡水湖。
当我真正站在42.195公里的起点前,脑子里反而特别安静。陪我训练了16周的App基于我的训练估算出了我的成绩:04:19:06。
而我不负所望地在几万人开跑前齐唱国歌的激昂中,在赛道两旁学生、市民山呼加油的热情中,顺利跑崩。

没有App算好的4小时19分那种从容,没有想象里配速一路平稳到底的踏实,没有电影式的一鼓作气冲线。
只有气喘吁吁,拖着灌了铅一样的腿,一步一步往前挪,和半年前那个跑完5公里的自己一模一样。
原来半年真的可以发生很多事情。
如果把这半年的事情简单总结成"从5公里跑到全马",其实没有什么特别。很多人都可以做到,甚至可以做的更好。
真正让我觉得有意思的,是另一条同时发生的轨迹。跑步和做 App,最后变成了一件很像的事情。
它们都没有办法一下子看到终点。
5公里的时候,42.195公里远得没有意义。
第一版App出来的时候,我也不知道它最后会长成什么样。所以只能先跑下一公里,先增加一个功能。
就这样开始记录,开始学习,开始分析,开始验证,然后再回到跑道上。
如此循环,直到42.195公里真的被我踩在了脚下。
可这一步踩下去,并没有让"怎样才算会跑步"这个问题变得更清楚。
我不是因为懂跑步,才开始做这个App;恰恰相反,是因为开始跑步,我才发现自己其实什么都不懂。
但从那个3月早晨开始,我已经跑出了很远。
而在这条我跑出的路上,AI帮我做了一个 App。
一个试图回答"今天的我,应该怎么跑?"的 App。