数字杂技师的脑内实验 #001:把五个人的电梯站位,搬进推荐列表。
我最近发现,推荐页最让人疲惫的时刻,不是它不懂我,而是它太懂了。
看完一条 GPT,下面还是 GPT;换了作者、封面和标题,味道却像同一锅汤反复加热。
单独看,每一条推荐都对。连在一起,整个列表却错了。
我在电梯里碰到的一幕,刚好给这个问题画了一张草图。
01 五个人,谁都没有站错
那天我最后一个走进电梯。前面四个人已经各自站在一个角落,我看了一眼,没怎么想,就站到了中间。
没有人指挥,也没人讨论怎么排。五个人却很快找到了一个彼此都不算难受的位置。
把那几秒慢放,会发现大家并不是随便找空位。陌生人会留出距离,同行的人可以靠近;快到楼层的人更愿意靠近门,已经站好的人也不想因为后来者全部挪一次。
每个人只做了一个小选择,最后却形成了一个谁都能接受的布局。
四角与中心并非随意站位,而是在有限空间里自然形成的距离平衡。
站定以后,我那个不太安分的职业病开关又被碰到了:推荐列表,是不是也需要这种距离感?
02 单条相关,不代表整个列表好看
假设我最近看了很多 AI 内容。再假设有一个极简排序器,主要按"和当前兴趣有多相似"打分,前五条可能是:
text
1. GPT 最新消息
2. GPT 参数分析
3. GPT 与 Claude 对比
4. GPT 使用教程
5. GPT 对行业的影响
单独看,每一条都符合兴趣。放到一起,它们却像五个人挤在电梯同一个角落:相关性很高,空间感没了。
刷几次以后,我甚至分不清自己是在获取新信息,还是在看同一个观点换不同封面反复出现。
推荐系统当然比这个例子复杂得多。但矛盾并不复杂:给每条内容单独打高分,不等于排出了一份好列表。
03 推荐页也需要"站位感"
把乘客换成内容以后,我先想到的,是给不同关系的内容安排不同距离。
太像的内容,别贴得太近。
两篇都在讲同一件事,却没有上下篇关系,那就让它们隔开一点。不是不推荐,而是别连续轰炸。
真正有关联的内容,反而应该靠近。
教程的上篇和下篇、同一事件的后续、一个系列里的连续文章,本来就该挨着。只看"相似度"把它们拆开,反而破坏阅读体验。
还有一类内容,值得专门留一个位置:桥梁内容。
"手机端侧 AI"连接 AI 和数码,"AI 如何改变电影制作"连接 AI 和电影。它们未必是某个兴趣下分数最高的内容,却能让人从熟悉的主题自然走向另一个方向。
它不像算法硬塞给你的随机惊喜,更像电梯中间那个位置:没有挤进任何一个角落,却把几个方向连了起来。
04 如果换一种站法
沿着这个思路,前面的五条 AI 内容可以换一种站法:
text
1. GPT 最新消息 高兴趣、高时效
2. 新款手机端侧 AI 实测 AI × 数码的桥梁内容
3. 本周新能源汽车技术盘点 另一个兴趣方向
4. AI 如何改变电影制作 AI × 电影的桥梁内容
5. GPT 深度技术分析 适合稍后消费的长内容
新的列表仍然围绕 AI,却没有把五条相似内容塞在一起。它先接住当前兴趣,再借桥梁内容伸向数码、汽车和电影,最后回到更深入的技术分析。
好的推荐不是把相似内容挤在一起,而是用桥梁内容连接多个兴趣方向。
还有一个容易被忽略的问题:阅读成本。
突发消息和快速入门适合靠前,需要背景知识的长文章可以稍后出现。不是因为长内容不重要,而是读者得先有一块能踩住的台阶。
05 先泼一盆冷水:这不是新算法
"相关性之外还要考虑多样性"并不新鲜。MMR、DPP 等方法已经研究了很多年,推荐结果间隔和多样化排序也有相关专利。
我要是把一次电梯观察包装成"颠覆推荐系统的新算法",那就不是数字杂技,是技术碰瓷了。
这次脑内实验真正有意思的地方,是换了一个观察列表的角度:
推荐不是给每条内容单独打完分就结束了,它还要安排这些内容如何一起出现。
把列表看成布局以后,很多问题会变得直观:哪些内容太挤,哪些内容应该同行,什么内容能充当桥梁。
至于怎么计算内容距离、怎么判断用户已经看腻、这种重排是否真的更好,都需要数据和实验。本文只停在产品观察,不把脑内实验假装成工程成果。
06 好的推荐,不只要懂你,还要给你留条路
当用户正在深入研究一个主题时,相似内容可以靠近;当用户连续跳过同类内容、表现出疲劳时,安全距离就应该扩大。
我更愿意把推荐列表看成一块会慢慢调整的空间,而不是一次排完就不再变化的排行榜。用户看完、跳过或者收藏一条内容后,后面的列表可以轻轻挪一下,但别突然全部洗牌。
那天电梯里,四个人站在四角,我站在中间。没有人规划,几个人却自然找到了一个彼此都还算舒服的位置。
我希望推荐系统也能做到这一点:不只递来"你可能喜欢"的东西,还能在几个兴趣之间,给人留下一条往外走的路。
这是"数字杂技师的脑内实验"第一篇:一个生活里的小动作,突然和技术中的老问题接上线。我负责把它们抛到半空,再看看能不能稳稳接住。
你最近一次被推荐内容连续轰炸,是什么主题?
脑内实验说得再顺,也还只是脑内实验。下一篇,我会准备一组模拟内容,把"安全距离"写成一个真正能运行的 Python 重排器,看看相关性和多样性到底要交换什么:《我把电梯站位写成了一个能跑的推荐重排器》。