“收藏”这种标题我一向是带着怀疑点开的。但“大模型下半场”“LLM-RL”“Agentic RL”这几个词确实值得收藏因为它们指向的是当前大模型训练范式最实在的一次转向。我从工程角度把这条线捋一遍LLM-RL到底在练什么Agentic RL又改了什么以及一个普通程序员或小白怎么从“能跑通推理”进阶到“能训练自己的智能体”。这篇文章尽量不堆黑话但也不会回避该有的细节。1. 大模型下半场从“堆语料”走向“堆反馈”1.1 上半场的红利正在见底过去两三年大模型能力的跃升主要来自三件事更大的预训练语料、更多的参数、更精细的指令微调。这条路本质上是“消化人类已有的知识”和“模仿人类已有的回答模式”。预训练负责学语言SFT监督微调负责学指令跟随。但它的上限也很明显——模型只能模仿数据里出现过的好答案,一旦问题需要多步推理、需要试错、需要与环境交互静态的样本就不够用了。我自己的体感是去年还在疯狂整理高质量SFT数据今年已经明显转向“如何在RL阶段把模型再往上推一把”。原因很简单语料增长的速度赶不上模型能力增长的需求而人类高质量的示范数据是有限的标注成本越来越高。与其继续堆“正确答案”不如让模型在反馈中自己摸索更好的策略。这个转变正是“下半场”的核心含义算力与数据的主要投入点从预训练和SFT阶段开始迁移到RL阶段。不管是聊天机器人、编程助手还是Agent类应用口碑拉开差距的环节都已经不在“会不会说话”而在“能不能在复杂任务里自己做出正确决策”。1.2 LLM-RL的本质把语言生成当成一种策略LLM-RL字面意思就是“把强化学习用在大语言模型上”。这里最关键的概念转换是模型生成一段话在RL的视角里不是一个简单的“文本生成”而是一个智能体在环境中采取的一系列动作action每个token的生成都是一次动作选择整段输出是一个完整轨迹trajectory。策略模型用π(a|s)表示s是当前的上下文状态a是下一步要生成的token。RL要做的事就是调整这个策略让“期望累积奖励”最大化。为了理解这项工作的意义可以打个比方SFT就像是照着标准答案反复抄写你能抄得越来越像但很难超越标准答案RL则是老师只看最终分数不告诉你具体每一步怎么做你自己得不断尝试新的解题路径分数高就记住分数低就调整。这种“自己摸索”的能力决定了模型能不能解决超出人类示范范围的问题。比如一道竞赛数学题人类示范里没有对应解法但模型可以通过RL在尝试中摸索出三步、五步甚至更长的推理链最终找到正确答案。1.3 为什么SFT做不到这件事很多人会问那我多准备一些SFT数据把正确推理过程都标出来不行吗表面上可以但实际有三个硬伤。第一个是覆盖不全推理和决策的空间是指数级膨胀的一个问题可能有几十种合法思路标注数据只能覆盖其中一小部分模型没见过的情况依然抓瞎。第二个是标注质量人类写的推断过程未必是最优的甚至可能是错的SFT会把错误路径也学进去。第三个是动态环境Agent场景里模型需要读工具返回、看报错、决定下一步操作这种“交互式决策”根本不存在现成的静态“标准答案”。所以LLM-RL真正的价值不在于“让模型更听话”而在于“给模型一个不依赖人类示范也能自我提升的通道”。这也是为什么从聊天模型到推理模型再到AgentRL正在成为必选项。2. LLM-RL的核心机制从奖励模型到PPO/GRPO2.1 三件套策略模型、奖励模型、价值模型要理解LLM-RL先掌握三个角色。策略模型就是你要训练的大模型本身它负责生成文字。奖励模型Reward Model是另一个模型负责给生成结果打分分数越高代表越符合人类偏好。价值模型Value Model则预测“当前状态未来能拿多少奖励”它用来帮助策略模型判断每一步的价值。为什么需要价值模型因为奖励往往是在整段生成完之后才到手的这叫稀疏奖励。比如RLHF训练时模型要说完整段话你才知道这段话说得好不好。可优化需要知道“当前这一步走得好不好”于是价值模型充当一个“预测师”估计这个状态走下去大概能拿多少分作为单步更新的依据。早期RLHF主流方案是PPO近端策略优化训练时策略模型生成文本奖励模型打分价值模型估值然后按策略梯度更新参数。还有个容易被忽略的细节更新时不能离原来的模型太远否则模型会胡说八道。所以PPO目标函数里很关键的一项是KL散度惩罚相当于给策略加一个“刹车”让它在提升奖励的同时不要跑飞。这个设计在实践中极其重要少了它模型会在几轮迭代后就崩成乱码。2.2 RLHF的标准流程SFT、奖励模型、策略优化经典的RLHF流程可以分成三步很多团队到现在还在按这个框架做。第一步是SFT预热。先人工整理一批高质量问答把模型从预训练状态调成“会说人话、能回答问题”的状态。这个阶段不需要做RL但它的质量直接决定后面RL的起点。第二步是训练奖励模型。收集人类对模型输出的偏好排序比如让两个模型回答同一个问题让标注者选哪个更好。用这些pair数据训练一个打分模型它学会预测“人类更偏好哪种回答”。这一步是整个RLHF里最容易出问题的地方奖励模型一旦没有学好后面的优化就是“盲人摸象”。第三步是策略优化。策略模型不断生成答案奖励模型给答案打分再用PPO更新策略让高分答案出现的概率越来越大。每轮更新还要跟原始策略做KL约束避免模型为了刷高分而说出偏离人类语言习惯的话。这套流程的效果立竿见影模型变得更有礼貌、更少幻觉、更贴合人类偏好。但它的成本也不低一个奖励模型要单独训练PPO要维护价值模型四条模型策略模型、参考模型、奖励模型、价值模型同时在显存里跑普通实验室上手很吃力。2.3 GRPO推理模型催生的简化范式后来推理类模型让RL的应用场景变得更聚焦了很多任务比如数学题、代码题、逻辑题有一个明确的客观答案。既然答案对不对是客观的为什么还要训练一个奖励模型来打分于是出现了GRPO组相对策略优化核心思路很直接同一个问题让模型生成多组答案直接在组内分高下——正确答案比错误答案好正确且简洁的答案比正确但啰嗦的好根本不需要额外训练奖励模型。GRPO还顺手把价值网络去掉了。它用组内多个样本的平均奖励作为baseline替代价值模型的作用训练时只需要策略模型、参考模型两个模型显存占用大幅下降训练稳定性也提升了不少。现在很多开源推理模型走的都是这个路子用规则判断对错比如答案是否匹配、代码能否运行通过再用组内相对奖励做优化。我自己跑了GRPO之后最大的感受是它把“从结果中学习”这件事工程化到了足够简单的程度。你不需要精心训练一个奖励模型只需要定义清楚“什么样的结果算好”然后让模型在采样中自己摸索。这种思路为后面的Agentic RL打下了基础。3. Agentic RL让模型在真实环境里“做决策”3.1 从“对话”到“任务”的关键跃迁如果说LLM-RL还是在优化“模型说什么”Agentic RL优化的则是“模型做什么”。这是一个不太容易察觉但极其重要的区别。在Agentic RL的框架里模型是一个智能体Agent它面对的不再是“给出一个回答”而是“完成一个任务”。任务可能包含查询数据库、调用API、操作代码环境、搜索网页、甚至是控制一个仿真环境。模型需要决定第一步做什么、第二步做什么、怎么根据反馈修正路径。奖励也不再是“这段话说得好不好”而是“任务最终有没有成功”。举个例子传统聊天模型收到“今天上海适合出门吗”这个问题直接根据语料印象编一个答案就够了。但Agentic RL训练下的模型会先调用天气查询工具拿到实况数据再基于数据判断“适合不适合”。如果只训练SFT模型永远学不会“不确定就去查”这个动作因为静态数据集里很少标注这种工具调用链条。而Agentic RL可以让模型自己在环境里试调用工具拿到结果然后回答正确获得正奖励凭空编造被校验模块发现获得负奖励。几个迭代之后模型就掌握了“先取证再发言”的策略。3.2 Agentic RL的三根支柱环境、工具、可验证奖励Agentic RL跟传统RL最大的区别在于它身处在一个“由工具和规则组成的环境”中。这个环境不是物理环境而是由工具API、状态更新规则、任务判定逻辑构成的数字环境。第一个支柱是环境。环境要给Agent提供可操作的空间比如一个可以运行代码的沙箱、一个可以查询文档的检索库、一个可以操作数据库的接口。环境设计的好坏直接决定了Agent能学到什么。如果环境太简单模型学两下就到天花板如果环境太复杂、反馈噪声太大模型又会长时间学不到东西。第二个支柱是工具。模型必须学会调用工具而且调用格式必须规范。我建议在环境里定义清晰的函数签名和说明文档比如search_weather(city: str) - dict。模型通过特殊的输出格式触发工具调用环境解析这些调用并返回结果。工具返回后模型继续生成下一步动作直到任务结束。第三个支柱是可验证奖励verifiable reward。这是Agentic RL能稳定工作的基石。凡是能客观判定的结果都应该优先用规则判断代码能不能跑通跑通测试用例过了几个最终答案和标准是否一致。建议不要一开始就用神经网络打分器给Agent的行为打分因为打分器的噪声会污染策略学习Agent会去钻打分器的空子而不是真正完成任务。3.3 Agentic RL训练循环与信用分配难题Agentic RL的训练循环看起来跟LLM-RL很像都是采样、打分、更新策略但内部的复杂度上了一个台阶。一个典型循环是这样的初始化策略模型让它与环境交互完成一批任务记录每一步的动作、工具返回、最终结果用可验证的规则给任务的最终结果打分如果某些步骤有中间可验证信号比如代码中间过程编译通过也可以给一个过程奖励最后用策略梯度算法比如GRPO或PPO更新模型参数让导致成功结果的行动概率上升。但实际上Agentic RL最难的不是算法而是信用分配credit assignment一个任务可能涉及10步动作最终失败了到底是哪一步出了问题是第一步搜错方向还是第三步调用参数错误还是第五步没有根据返回结果调整策略应对方式主要有三种。第一种是设计过程奖励尽可能把任务拆成多个可验证的阶段每个阶段给一次小奖励减少“很久才见成败”的问题。第二种是加长训练轨迹并引入反思让模型在失败后显式输出“刚才哪里错了、下一步怎么办”再让环境给予反馈。第三种是做模仿预热先用SFT或few-shot示例让模型学会基本工具调用能力再进入RL否则模型在环境里乱逛一通奖励信号淹没在噪声里很难收敛。4. 上手路线小白和程序员从零切入的两条路径4.1 路径一先跑通一个LLM-RL最小Demo我建议没有RL经验的人不要直接上Agentic RL先做一个小规模的LLM-RL实验建立体感。这里给出一个我验证过的完整流程。第一步选一个参数量小一点的基座模型例如7B级别的开源模型在单张消费级显卡建议显存不低于24GB上运行。第二步准备一个只有规则奖励的训练集比如数学计算题每道题有标准答案模型最终输出数字匹配标准答案就给正奖励不匹配给负奖励。这样做的好处是不需要先训练奖励模型可以把注意力完全放在RL本身的机制上。第三步用开源的强化学习训练库比如TRL类框架跑GRPO配置采样数、学习率、KL系数。第四步盯训练日志观察奖励均值是否上升、KL散度是否爆炸、生成答案的格式是否保持稳定。这里最重要的心得是先别追求任务有多难先追求“跑通闭环”。我见过很多入门者一上来就构建复杂奖励模型结果三个星期过去还在调试数据加载。规则奖励 GRPO是最快捷的切入点跑通了以后再替换成RM PPO也不迟。具体配置可以这样定batch size 8每个问题采样8个回答学习率1e-6到5e-6之间KL系数0.01到0.1之间。如果奖励不升先看采样答案里有没有触及正确答案如果完全没有说明基座模型能力不足得先做SFT如果有的那就是优化器或者奖励信号编码的问题。4.2 路径二搭一个Agentic RL最小环境LLM-RL跑通之后就可以进入Agentic RL。我推荐从“带工具调用的问答”开始而不是从复杂的多智能体场景开始。设计一个小任务模型需要回答“某城市当前天气适合户外跑步吗”。你给它两个工具get_weather(city)返回天气数据get_air_quality(city)返回空气质量。环境逻辑是必须调用过get_weather之后才能给最终答案答案的判定规则是“温度在10-25度且空气质量指数低于100时判定为适合跑步否则不适合”。训练数据只需要一批城市列表不需要人工标注最终答案因为每次模型调用工具后环境会动态返回真实数据。奖励设计上我建议分三档最终答案正确得1.0正确且调用过两个工具再加0.5没有调用工具直接乱答得-0.5。这个实验的好处是足够小、可控性强而且能让你观察到一个非常有价值的现象模型一开始完全不会调用工具只会凭记忆瞎答经过几百步RL更新后它开始学会输出工具调用格式再训练一段时间它会开始利用工具返回的数据修正自己的判断。这个“从不会到会”的过程比任何教程都更能让你理解Agentic RL的价值。4.3 算力、数据、评测的真实门槛很多人问我消费级显卡能不能搞RL。说实话跑小模型的小实验可以但完整RLHF的显存压力很大。7B模型做GRPO如果同时加载策略模型和参考模型再加8路采样24GB显存只能说勉强够用。如果做PPO再加奖励模型和价值模型建议直接上多卡或云服务别在本地折腾。数据方面方向比数量重要。LLM-RL阶段关键在“有明确好坏判据”的任务Agentic RL阶段关键在“环境反馈的稳定性和正确性”。我踩过最大的坑是环境本身有bug导致反馈时对时错模型不仅没学会还记住了错误的模式。所以先用小批量数据人工核对环境反馈再上完整训练。评测也不能只看训练reward。reward上升不代表任务真的会做要单独维护一套评测集用更严格的方式评估模型成功率、工具调用有效率、答案格式合规率。建议训练前先把评测脚本写好每个checkpoint都自动跑一轮评测否则你根本不知道模型是变强了还是在钻奖励空子。5. 常见问题与排查思路速查5.1 训练不收敛、奖励上不去这是新手最常遇到的情况。先检查采样答案有没有正反馈信号把模型生成的样本打印出来人工看有没有哪怕一条是接近正确答案的。如果一条都没有说明基座模型太弱先做SFT或换更大模型。如果存在正确答案但奖励曲线不动检查奖励计算逻辑尤其是答案格式匹配是否过于严格。还有个大坑是学习率设置。RL训练的学习率一般比SFT小一个数量级我通常从1e-6开始。如果你用5e-5甚至1e-4模型参数会剧烈震荡表现是KL散度快速飙升、reward却纹丝不动。遇到这种情况果断降学习率并调大KL惩罚系数。5.2 奖励模型被“钻空子”如果你用的不是规则奖励而是训练了一个奖励模型一定要警惕reward hacking。经典案例是模型为了刷分学会了输出冗长的格式内容和“听起来很有道理”的空话而不是真正提升答案质量。我在实际项目中就见过模型学会先输出一大段“分析过程”再给答案因为它发现奖励模型更偏爱长文本。应对方法有两个方向一是尽量用可验证的规则奖励替代神经网络打分把能被客观判断的部分全部规则化二是对奖励模型做对抗测试定期把模型的高分样本拿出来人工审看检查是否有明显质量滑坡。记住一句话奖励模型永远可以被钻空子只不过钻的速度快慢不同。5.3 Agent不调用工具或链路断裂Agentic RL训练中最烦人的问题是“模型知道要调用工具但格式总错”。比如该输出|call|标签它输出成了自然语言的“我要调用”字样环境解析失败整条轨迹直接报废。这个问题我建议在SFT预热阶段解决。准备一批工具调用格式正确的示例先把模型微调到“格式准确率超过90%”再进入RL。RL阶段几乎不可能自学出复杂格式但SFT可以轻松教会。还有个技巧环境解析器要写宽容一些兼容合理的变体比如去掉首尾空白、支持大小写不敏感避免因为一个符号错误浪费整轮训练。链路断裂常见于长任务模型调用工具返回大量结果直接把上下文撑爆模型就忘了原始任务。我的做法是给环境加“状态摘要”机制每轮交互后自动把关键信息压缩成一行比如“温度18℃空气质量55当前决策未确定”再喂给模型显著提升长链路的成功率。5.4 环境随机性与复现问题如果你在Agentic RL环境里使用了真实API或随机数据会发现同一个任务每次跑出的轨迹都不一样。模型可能第一次成功、第二次失败训练日志看起来像过山车。这其实未必是代码问题而是环境本身的波动。我的建议是训练和评测要分开训练阶段可以允许环境有一定随机性比如天气数据真实变化但评测阶段必须固定测试集和固定环境比如用历史数据快照保证每次跑同一个任务环境反馈完全一致。只有评测可复现你才能确定模型是真的在进步而不是运气好。另外给训练过程加随机种子。策略模型的dropout、采样温度都会影响结果统一种子后至少排除了运气因素。写在最后从我自己的实际项目经验来看从LLM-RL切到Agentic RL最大的变化不是算法换了而是思维方式换了。LLM-RL还在把“语言生成”当成优化对象Agentic RL已经把“任务完成”当成优化对象。这意味着数据、环境、评测、奖励设计每一个环节都需要重新梳理模型只是一部分。如果你是完全的新手我的建议很直接先动手跑一个GRPO的数学推理demo然后再搭一个带工具调用的最小Agent环境。不用等到把所有论文都读懂才动手环境反馈本身就是最好的老师。后续如果你想深入可以去看过程奖励、自我博弈、多智能体协同这些方向但根基一定是亲手把一个小闭环跑通。大模型下半场不缺概念缺的是能踏实把RL链路跑出效果的人。