1. 先界定一个容易混淆的问题:算法排序和商业排序不是一回事
学习笔记的第一步,我建议先把这个概念掰清楚。“排序”这个词在搜索框里出现时,往往带着两副完全不同的面孔。一副面孔是数据结构课上的排序算法——快速排序、希尔排序、拓扑排序、sort函数排序结构体,或者C++里怎么在一个vector中取出最小的十个元素这类问题。另一副面孔,是搜索引擎、电商平台、信息流推荐里那个决定“谁排在前面”的排序,也就是常说的Ranking。这两者虽然中文都叫“排序”,但底层逻辑天差地别。
算法课的排序,输入是一个数组,输出是一个有序数组,比较规则是确定的、死的。比如整数排序,从大到小就是从小到大反过来,没有任何歧义。但商业排序的输入是成千上万的商品、文章、短视频、广告候选,输出是一个有序列表,而决定谁先谁后的“比较规则”本身就是要被系统学习、被业务策略动态调整的对象。同样一件商品,在搜“手机”的搜索结果页里和搜“性价比手机”的结果页里,排名的逻辑完全不一样;同一个搜索结果,今天和昨天的排序也可能不一样。为什么?因为排序的目标函数变了。
这个区分为什么重要?因为它决定了一个工程师或者产品经理看待整个大模型应用的视角。大模型时代,很多人觉得排序就是个工程问题——写个模型、算个分数、排个序。但实际做了业务之后你会发现,排序是整个商业系统里最微妙、最容易被反复调优、也最充满博弈味道的环节。搜索结果里一个细微的排序变化,可能直接影响一家公司的营收。标题里说“排序怎么帮公司赚钱”,本质上讲的就是这个——商业排序不是技术问题,它是一个定价问题、一个资源分配问题、一个博弈问题。
我自己的理解是:可以把商业排序看作一个“多方参与的位置竞拍”。平台有曝光位,商家有商品,用户有注意力。排序算法决定谁出现在哪里,本质上就是把用户的注意力资源分配给不同供给方,并从中获取商业回报。这个视角一旦建立起来,后面再去看大模型怎么改造排序、大模型怎么参与多方博弈,就有了一个贯穿始终的主线。
2. 排序是怎么变成一门生意的:曝光位、拍卖与竞价逻辑
2.1 搜索结果页是一个“位置市场”
先想一个最简单的场景。你打开一个电商App,在搜索框输入“蓝牙耳机”,页面返回了十几个商品,每个商品占据一个位置。位置有先后,用户天然更关注前面的位置。这个页面上,其实同时发生了两件事:第一,平台用算法判断哪些商品和你的搜索意图最相关;第二,平台把不同位置的商业价值分配给了不同的商家。你看到的是商品列表,但对平台来说,这是一个“位置市场”。
位置为什么值钱?因为用户的注意力是有限的。普通用户在搜索结果页上基本只看前几屏,甚至只看前五个商品。越靠前的位置,被点击的概率越高,转化成购买的可能性也越大。所以商家愿意为靠前的位置付费。这个逻辑和线下超市的货架摆放一模一样——摆在收银台旁边的口香糖,和摆在货架最底层角落的口香糖,销量能差好几倍。线下超市要收“上架费”,线上平台要收“广告费”,本质上都是位置的价格。
那么,位置的价格怎么定?商业排序里最经典的机制是竞价。商家对关键词出价,高者得位置。但这里有个关键细节:出价高的人一定应该排在前面吗?从平台的利润最大化和用户体验角度来看,不一定。如果排在前面的是一个相关性很差的商品,用户点了一下觉得不匹配,流失了,那这个位置的短期收入到手了,但用户的长期留存受损了。所以真正的商业排序,通常用的是一个综合得分——相关性得分和商业得分的某种加权组合。用技术术语说,就是“相关性分”乘以“商业分”,再经过各种策略校准后决定最终顺序。
2.2 竞价机制里的两个经典方案:GSP和VCG
如果你稍微接触过广告系统,一定会听到两个词——GSP(广义第二价格)和VCG(维克里-克拉克-格罗夫斯)。这两个是广告拍卖里的核心机制,也是“排序怎么帮公司赚钱”这个问题的底层数学。这里我不打算展开复杂的公式推导,但我想用大白话把这个机制讲透,因为它是理解多方博弈的关键。
GSP的规则很直接:广告主按自己的出价排名,但实际支付的单价不是自己的出价,而是下一名的出价加一个最小单位。Google早年靠这个机制赚得盆满钵满。为什么设计成“第二名决定第一名付多少钱”?因为这样能鼓励广告主报出自己真实的心理价位——报高了你可能多花钱,报低了可能失去位置,而无论你怎么报价,最终支付的价格都跟下一名挂钩,所以最理性的策略就是报出真实评估价值。这就是博弈论里的“说实话”机制。
VCG则是另一种更精巧的机制,它让每个参与者支付“自己参与给别人带来的损失”,理论上能实现全局最优,社会福利最大化。但在现实业务中,VCG因为计算复杂度高、对参与者理解门槛高,落地远不如GSP普及。我见过很多刚从学校出来做广告算法的同学,一上来就研究VCG,觉得它数学上更漂亮,但实际上业务部门用的还是GSP,原因很简单——GSP对商家更友好,容易被理解和接受,而一个商家都看不懂的拍卖机制,是很难让市场运转起来的。
这两个机制的博弈论性质,是整个商业排序的基石级知识。理解了它们,你就会明白一件事:搜索广告的钱不是平台“定”出来的,而是通过拍卖机制“涌现”出来的。排序的每一次微调,都是在这台精巧的机器上拧一颗螺丝。
3. 大模型时代的排序技术:Learning to Rank到LLM Rerank
3.1 非大模型时代的排序三件套:Pointwise、Pairwise、Listwise
聊完商业逻辑,回到技术实现。排序模型在大模型爆发之前,已经有了非常成熟的方法论——Learning to Rank(LTR)。这个方向一般分三类。Pointwise把排序拆成回归或分类,对每个商品单独打分,然后按分数排序,简单但忽略了商品之间的相对关系。Pairwise把训练目标变成“给定一个查询,商品A是否应该排在商品B前面”,用两两比较来训练模型,相对顺序学得更准,经典算法有RankNet、LambdaRank。Listwise则直接把整个商品列表作为输入,优化整个列表的质量,比如NDCG这种排序质量指标。
这里有个容易踩的坑:很多人觉得Pairwise一定比Pointwise好,Listwise一定比Pairwise好。实际业务中并非总是如此。Pointwise虽然简单,但在候选集合很大的召回阶段,效率和效果非常均衡,至今仍是很多系统的标配。Pairwise适合精排阶段,因为用户更在意的是相对顺序。而Listwise虽然理论上最合理,但对数据和算力的要求都很高,一不小心还会过拟合。
我记得有一次做排序优化时,团队把Pairwise模型换成Listwise模型,离线指标NDCG提升了好几个点,大家都以为要见效果了,结果上线之后CVR不升反降。后来排查发现,Listwise模型对冷启动商品特别不友好——因为它的训练目标天然偏向那些在历史行为里比较靠前的热门商品,而给长尾商品的分数过于保守。这个世界很少有银弹,排序模型也一样。
3.2 LLM Rerank:让大模型直接给商品列表重新排序
大模型出来后,排序这个领域被搅动了一轮。一个很有代表性的做法叫LLM Rerank,思路非常直接:把搜索结果的相关信息拼成一段Prompt,丢给LLM,让它直接输出一个重新排序的结果。比如可以构造这样一个Prompt:下面有10个商品标题,用户搜索了“无线降噪耳机”,请根据相关性和吸引力输出一个排名前五的列表。LLM返回的列表,就是二次排序的结果。
这个思路听起来简单,甚至有点“土”,但实际效果在不少场景里是惊人的。因为大模型对语义的理解能力远强于传统模型,它能捕捉到“降噪”和“通勤用”之间的隐含关联,而传统向量召回只能做到表面的语义接近。
我见过的一类典型应用是:先用传统向量模型做召回,拿到二三十个候选,再用LLM做精排,把模型规模带来的“常识感”用起来。这种方案的优势是不用训练复杂模型,Prompt写得好就能上线。劣势也很明显——延迟高、成本高,一个查询可能要消耗几百上千个token,就算用蒸馏后的小模型,也撑不住每秒几百次的线上并发。所以LLM Rerank目前的应用场景大多是“离线批量重排”或者“高价值查询路径上的精排”,纯在线直接套用的情况还不多。
这也就解释了热词里为什么会有人关注“本地部署大模型”“ollama部署大模型”“大模型微调”。如果你想把LLM用在排序上,又不想被云API的成本拖垮,本地部署一个中等体量的开源模型,配合向量数据库做RAG,是目前比较务实的组合方案。我自己试过用一个小参数模型做排序任务的微调,数据量不用太大,几千条标注样本就能让它在特定品类上的排序表现明显上一个台阶。这个方向,值得所有做搜索推荐的同学关注。
3.3 向量排序和数据库排序:基础功不能丢
顺带提一个容易被大模型热潮带偏的地方。很多人觉得有了大模型,传统的数据结构排序和数据库排序就不重要了。实际上在真实工程里,MySQL的ORDER BY、Linux下对目录大小的sort、按时间戳或价格字段排序,仍然是最底层的骨架。LLM Rerank再厉害,它也只是在一个小候选集上做重排,而怎么把一个千万级的商品池快速过滤成几十个候选,靠的还是倒排索引、向量索引、数据库索引和一系列经典算法。这些基础能力,决定了大模型排序的上限。
热词里那些“整形排序”“字符串排序”“不排序的情况下取得Top K”这类问题,本质上都是在打地基。地基不牢,你连给大模型喂候选集的能力都没有。学大模型排序,千万别抱着“只需要会写Prompt就行”的幻觉。
4. 多方博弈的底层逻辑:平台、商家、用户的三方角力
4.1 从博弈论视角重新理解排序
现在回到标题里的另一个关键词:多方博弈。
商业排序里至少有三方参与者——平台、商家、用户。每一方都有自己的一套策略,这些策略互相影响、互相制衡,最终构建出一个动态平衡。理解这个平衡,比单纯学技术更重要,因为很多时候排序模型的每次迭代,都是在打破旧的平衡、建立新的平衡。
平台的目标是什么?说出来很直白:既要用户的时长和留存,又要广告和佣金收入。这两件事天生有张力。过度商业化,用户反感,流失;完全不商业化,营收上不去,产品活不下来。商家的目标是什么?花最少的广告费,拿最多的曝光和成交,所以他们会研究平台的排序规则,做标题优化、评价维护、价格策略,甚至刷单和黑灰产作弊。用户的目标是什么?快速、准确地找到自己想要的东西,不被垃圾信息干扰,但同时也会自然地被品牌溢价、销量数字、评价内容所影响。
这三方目标相互冲突,构成了一个典型的多方博弈格局。平台就像一个游戏规则的制定者,它通过排序算法这个“规则”,不断调节三方的利益关系。
4.2 平台与商家:搜索广告里的竞合关系
平台和商家之间,既有合作又有对抗。合作的一面是,平台希望商家多投广告,商家希望平台给自己多带来流量,两者似乎利益一致。但对抗的一面更为隐蔽——商家希望尽可能降低流量成本,平台则希望在商家可接受的范围内最大化广告收入。
这里的博弈点在于:平台如果把广告位塞得太多,商家的投放效率下降,就会减少投放预算;平台如果把广告位放开给更多低质量商家,用户的点击率下降,导致整体的商业流量价值萎缩。所以平台的排序策略,往往不是让单次广告收入最大化,而是追求长期的广告生态稳定。你会发现有些平台的广告坑位数长期保持在一个固定值,就是这个道理。
商家侧的博弈策略也很有意思。最典型的就是“低价引流”——用极低价格的商品获得曝光和点击,然后用关联销售赚回利润。平台对此的态度是复杂的:一方面它知道这是商家钻了排序规则的漏洞,但另一方面规则确实允许低价商品获得更高的排序权重。所以平台通常会加入“客单价质量分”之类的调节因子,防止全场都变成9块9。这个调节的过程,本质上就是一次博弈均衡的再调整。
4.3 用户与平台:算法依赖和信息茧房
用户和平台的博弈,隐藏得更深。用户的每一次点击、浏览时长、购买行为,都会被平台记录,并转化为训练信号,反过来塑造下一次的排序结果。这里有个值得玩味的地方:用户的真实偏好和用户表现在行为数据上的偏好,往往不一致。比如用户想买一个300元的机械键盘,但看到平台大量推送60元左右的入门款,因为犹豫不决反复点击了几次,算法就以为用户对入门款更感兴趣,于是把入门款的排序权重提高。这就是典型的反馈信号失真。
这种博弈的结果就是“信息茧房”——系统不断强化你已有的行为模式,让你越来越难看到系统之外的内容。长期来看,这对用户不利,对平台也不完全是好事,因为用户会审美疲劳,流失风险上升。所以现在很多平台会刻意在排序里加入“探索因子”,主动给用户推一些过去行为里不太可能出现但可能感兴趣的内容。这个“探索与利用”的权衡,本质上就是平台在和用户玩一个长期博弈:短期满足用户已知偏好,长期帮用户发现新鲜内容,以换取更高的留存。
4.4 商家与商家:谁动了我的曝光位
商家之间的博弈就更热闹了。同一个关键词下,投放预算有限的商家会在和时间赛跑——早投几个小时可能就多几百次曝光。所以你可以看到,预算消耗速度快的行业,晚高峰前的竞价往往格外激烈。
商家之间的策略也常常演变成极端动作,比如刷单、刷好评、恶意点击竞对广告——点击竞对广告会消耗对方的点击预算,让对方的广告提前下线。很多平台对这类行为非常敏感,专门有反作弊团队在做对抗。反作弊本身也是一场博弈:作弊方不断变化策略,反作弊系统不断升级检测模型。排序算法在这里的作用,是让自己变得“难被操纵”——它需要实时识别异常行为模式,把作弊数据的权重压低。这个攻防战,从来没有终点。
所以“多方博弈”不是一句空话,它直接决定了排序算法里那些看起来“与技术无关”的策略参数。一个排序系统如果只考虑相关性,忽略博弈因素,基本没法上线——因为一旦上线,商家就会钻空子,用户就会感到被伤害,平台就会陷入混乱。
5. 博弈均衡下的机制设计和反作弊思路
5.1 激励相容:设计排序规则的核心原则
博弈论的很多概念都可以用在排序机制设计上,但我觉得最核心的是“激励相容”。所谓激励相容,就是制定规则时,让每个参与者“按规则来”获得的收益大于“破坏规则”获得的收益。比如前面说到的GSP拍卖机制,广告主真实报价是对自己最有利的,所以诚实成了占优策略。这就是激励相容。
回到排序机制的设计上,平台希望整个生态良性运转,就需要让“做好内容”对商家来说比“钻漏洞”更有利可图。一个典型的例子是拼多多的“低价优先”排序策略和淘宝的“综合体验分”策略,两者引导的商家行为完全不同。前者激励商家压低价格、承担供应链成本,后者激励商家提升售后、物流和商品质量。不能说哪个策略绝对正确,关键是它们能否在当时阶段实现“让参与者的理性自利行为导致平台期望的结果”这个目标。
我见过一个比较典型的案例:有个电商平台早期对“仅退款”政策非常宽松,目的是提升用户满意度,结果大量商家被白嫖,导致优质商家流失。这个博弈的均衡被打破了——平台、优质商家、用户三方的利益关系从良性循环变成了恶性循环。后来平台提高“仅退款”的门槛,引入“若商家申诉成功则用户信用降分”的机制,才慢慢把生态拉回正轨。这个案例说明,排序和电商规则背后的机制设计,是一个不断试错、校准平衡的过程。
5.2 反作弊:一场看不见硝烟的持久战
从游戏规则制定者的角度来理解反作弊,会更通透。商家为什么会作弊?因为作弊的收益大于成本。所以反作弊系统的目标非常清晰:要么提高作弊成本,要么降低作弊收益。
提高作弊成本的手段包括:实现精准的识别,让作弊行为在确定性和处罚力度上都令人望而却步;建立商家信用体系,让作弊商家的账号、店铺、支付通道全部受到限制。降低作弊收益的手段则更依赖算法本身——让排序模型不那么容易被少数异常信号带着走,比如对同店点击量异常过高的query进行降权,或者对短时间内的恶意点击进行滤除。
平台与作弊者的博弈也呈现出一种“军备竞赛”的态势:作弊者发现用真人众包可以绕过机器检测,平台就引入关系图谱分析;作弊者又发现了更隐蔽的“部分作弊”方式,平台就得用更复杂的图神经网络去挖异常社区。这个过程没有终点,但每轮对抗都会让整个系统的鲁棒性变得更高。这也是为什么一个成熟的排序系统永远不会停止迭代——它面对的是一个不断进化的对手。
5.3 喊出名字的下一场博弈:大模型与排序规则的透明性
大模型的参与让多方博弈有了新的变量。一方面,大模型能做到更个性化的理解,让排序结果更贴合用户意图;另一方面,这也让平台的排序规则变得更不可解释,像一只黑箱。当商家发现“自己明明优化了所有能优化的指标,排名还是掉了”,他们会怎么想?大概率会怀疑平台“暗箱操作”,或者加大投机取巧的力度。
所以现在有一个很实际的行业思考:大模型排序的透明性和可解释性,本身就是多方博弈的稳定器。如果商家不知道排序规则,他们就不会往“正道”上努力,而是往所有可以猜想的野路上伸手。让规则尽量透明,让行为与结果尽量可预期,反而能引导商家向好的方向优化。这跟让用户知道“为什么看到某条内容推荐”会提升用户对平台的信任感,是同一道理。
大模型在这件事上的优势是,它可以生成自然语言层面的解释——“因为您经常关注运动鞋,所以推送了这条球鞋新品”,而不是给出一堆难以理解的模型特征权重。这种解释能力,可能比精排模型本身的提分更能创造长期价值。
6. 从学习资料到动手实践:一条靠谱的大模型排序学习路线
6.1 学习优先级怎么排:不要被热搜词带偏
回到最开始的困惑,如果你正在学“大模型”“排序”“多方博弈”这些关键词,很容易在海量信息里迷路。我建议的学习顺序是:先掌握经典排序算法和数据结构,再理解商业排序和竞价机制,然后动手做一个推荐或搜索的小项目,最后才是啃大模型排序论文和做LLM Rerank实验。
热词里那些“字符串排序”“整数排序”“数据结构排序算法”“sort函数排序结构体”“C++不排序取Top K”等信息,是基础中的基础,适合快速过一遍,但不要恋战。“mysql排序”“linux怎么排序某个目录下的所有文件夹大小”这类工程问题,遇到一个解决一个即可。真正值得投入大量时间的是“Learning to Rank”和“LLM Rerank”这两块,它们在日常业务里最为频繁使用,也最能帮助别人理解排序的商业模式。
6.2 用最便宜的方式搭一个可演示的排序系统
大模型要动手,不一定非要买昂贵的GPU。我最近尝试的一个方式是用ollama本地跑一个小参数模型,用LangChain和向量数据库搭一个带RAG的搜索框,然后自己拼一点业务数据进去,观察模型对不同查询返回的排序结果。这个过程很轻,但能让你直观感受LLM排序的效果和弱点。
具体步骤我简单梳理一下:第一步,准备一个几百条的商品/文档数据集,字段可以很简单,文档ID、标题、描述。第二步,用文本嵌入模型做向量化,存进向量数据库。第三步,写一个召回逻辑,给定查询先取TopN个候选。第四步,构造Prompt,让LLM对TopN候选重新排序并输出序列表。第五步,对比向量排序和LLM Rerank的结果差异,分析哪些时候LLM的判断更好,哪些时候更差。
这套流程不需要高配置电脑,一个16GB内存的普通开发机就能跑起来。投入三四个晚上,你对LLM排序的感知会和看十篇论文完全不同。而且你会发现,Prompt里的细节对排序结果影响巨大——比如让LLM输出排名前五的列表,还是让它给每个候选打一个1到10分的分,效果差异非常明显。后者往往更稳定,因为排序任务本身对多选一的输出格式更敏感。
6.3 从排序延伸向更多行业数据问题
我最想强调的是,排序的应用远不只是电商和广告。这些年物联网和农业AI升温,很多行业都开始面临“数据排序决策”的问题。农业大模型里提到的作物监测、智能灌溉施肥就是一个典型:传感器实时采集土壤湿度、光照强度、温度等多维数据,系统要对不同地块的灌溉优先级做排序——哪个地块最缺水、哪个地块施了肥还没见效,都需要一个动态优先级排序来决定先处理谁。
这类场景和电商精排看起来完全不同,但底层逻辑高度一致:把有限资源(水、肥料、农机)分配给最需要的位置(地块)。你理解了商业排序里的博弈和机制设计之后,再去看这些产业场景,会发现排序从不停留在技术层面,它本质上是一个资源配置和利益平衡的学科。在大模型判断和策略决策越来越普遍的未来,懂得排序背后的经济逻辑,会比单纯会写排序代码更值钱。
排序最好的学习方法,就是亲手去调一次参、跑一次实验,然后观察台前幕后的每一方如何改变自己的行为。被骂过、被质疑过、被反过来博弈过,你才能真正理解这项技术为什么如此迷人。