大模型中和传统SFT相比,RLHF旨在解决语言模型中的 哪些核心问题?
相对传统SFT(监督微调,学“示范答案”),**RLHF(基于人类反馈的强化学习)**主要是为了解决语言模型训练目标与“人真正想要的输出”之间的几类核心缺口:
1) 训练目标错位:只会“像数据”,不一定“符合人意”
SFT本质是在最大化“像训练集里的回答”(模仿分布)。
但用户真正要的是有用、可靠、合适语气、符合场景约束的回答,这些往往不是“唯一标准答案”,也不容易用交叉熵直接刻画。
RLHF通过偏好比较(A比B更好)把“人类偏好”变成可优化的目标,缓解“学会说话 ≠ 学会让人满意”。
2) 多解与主观性:很多问题没有唯一正确答案
例如写作风格、解释深浅、结构组织、是否更谨慎、是否更简洁等,都属于“偏好问题”。
SFT只能学到数据里“平均的那种写法”,很难稳定地朝用户偏好的方向调。
RLHF用偏好信号把模型推向更一致、更受偏好的输出模式。
3) “有用但不安全/不合规”的风险:减少有害与不当行为
互联网语料和指令数据可能包含:毒性内容、偏见、泄露隐私、危险指导、越权建议等。
SFT能减轻但往往不够稳,尤其在边界场景会“露底”。
RLHF通常把安全、无害、合规、拒答边界显式纳入偏好模型与策略优化里,从而更系统地压低风险行为概率。
4) 真实性与“胡编”:让模型更愿意承认不确定
仅靠SFT,模型仍可能在不确定时“编得很像真的”(因为流畅常常在数据里被奖励)。
RLHF可以把“诚实、可验证、不过度自信、会说不知道/会澄清”作为偏好目标的一部分,提高可信度与校准。
5) 交互质量与指令遵循:更像一个“会服务的人”
例如:按要求输出格式、遵守角色/系统约束、跟随多轮对话目标、避免跑题、给出可执行步骤等。
这些更像“产品体验指标”,不一定在SFT数据里覆盖充分。
RLHF通过人类标注“更符合指令/更好用”的偏好,提升可用性与稳定性。
一句话总结:
SFT让模型学会“怎么回答像人”,RLHF让模型学会“怎么回答更符合人的偏好与边界(有用/安全/诚实/可控)”。
如果你愿意,我也可以把这些核心问题映射到常见现象(比如:啰嗦、跑题、过度自信、边界拒答不稳、风格不一致)以及对应RLHF/对齐手段(RM、PPO/DPO、RLAIF、Constitutional AI等)的解决路径。
在Agent的设计中,“规划能力”至关重要。请谈谈目前有哪些主流方法可以赋予LLM规划能力?(例如CoT, ToT, GOT
已思考 35s
在 Agent 里给 LLM“规划能力”,本质上是在生成—评估—选择—执行—再规划这条闭环上加“脚手架”。目前主流方法大致可以分成下面几类(你提到的 CoT / ToT / GoT 都属于“结构化思维/搜索”这一类的代表)。
1) 结构化推理提示:从“想一想”到“先计划再执行”
代表:CoT、Plan-and-Solve(PS/PS+)、Self-Ask / Decomposition
CoT:让模型显式写中间步骤,适合短程多步推理,但“分支探索”弱。
Plan-and-Solve:先产出“计划/分解”,再按计划逐步求解,减少漏步与结构混乱(尤其在长题/多约束任务)。
优点:实现简单、成本低;缺点:仍是单一路径,容易“一条道走到黑”。
2) 分支搜索式规划:让模型在“候选方案空间”里找更优路径
代表:ToT、GoT(Graph of Thoughts)、Beam / Best-of-N + 评价器
ToT(树):对关键决策点展开多个分支,靠评估函数挑选/回溯(更像“试多个方案”)。
GoT(图):把“思维单元”组织成任意图结构(不仅是树),更适合复杂依赖/可复用子结论的任务。
优点:显著增强探索与全局最优机会;缺点:token/调用成本高,需要可靠的“评估器”。
3) 规划与行动耦合:边规划边与环境交互(工具、网页、代码、数据库)
代表:ReAct
ReAct把“思考(reasoning)”与“行动(acting)”交错:模型根据当前信息决定下一步工具调用/检索/操作,并用新观察更新计划。
优点:适合开放世界与信息不完备场景;缺点:容易循环、发散,需状态约束与停止条件。
4) 显式“Plan → Execute”架构:把规划和执行器拆开(可控性更强)
代表:Plan-and-Execute、Plan-and-Act(长程任务)
Planner输出结构化计划(步骤、依赖、工具、成功条件)。
Executor逐步执行,每步反馈再触发“局部重规划”。
这种显式分层思路在长任务里很常用(很多工程框架也直接提供了 Plan-and-Execute 模板)。
优点:可控、可观测、便于调试;缺点:计划质量强依赖“任务建模”和“步骤粒度”。
5) 搜索 + 价值评估:用树搜索/蒙特卡洛把“规划”做成算法
代表:LATS(Language Agent Tree Search)
把多条 ReAct 轨迹当作候选,在树上用MCTS + LM 价值评估/反思做探索与选择,统一了 reasoning/acting/planning。
优点:更接近“真正的规划算法”;缺点:实现复杂、评估器与环境反馈设计很关键。
6) 反思/自我改进:把“失败经验”变成下一轮的规划约束
代表:Reflexion、Self-critique / Reviewer-Writer
Reflexion不改权重,而是把任务反馈写成“反思文本”存进 episodic memory,下次规划时引用,减少重复犯错。
优点:对“反复试错”的环境很有效;缺点:反思容易变噪声,需要记忆筛选/压缩。
7) 低成本的“推理与观察解耦”:先做蓝图再用工具(省 token、抗工具抖动)
代表:ReWOO
先产出完整推理蓝图/计划,再批量工具调用收集证据,最后统一求解,减少“每一步都要把观察塞回去”的冗余。
优点:成本友好、结构清晰;缺点:对动态环境(中途必须调整计划)不如 ReAct 灵活。
8) 符号规划/程序化约束:把计划落到可验证的表示上
代表:PDDL/HTN/DSL、函数调用与约束解码、程序合成式规划
用符号规划器产出计划骨架,LLM负责把自然语言目标映射到状态/动作空间,或负责补全参数与解释。
优点:强约束、可验证;缺点:建模成本高,域迁移较难。
(这块在“LLM planning survey”里也被系统梳理过)
工程上怎么选(一个实用的“搭配公式”)
信息不完备、需要查资料/用工具:ReAct 或 Plan→Execute(带重规划)
需要在多个方案里择优:ToT/GoT 或 LATS(更强但更贵)
长程任务、易跑偏:Plan→Execute + Reflexion(反思记忆)
预算敏感:ReWOO / Best-of-N + 轻量评价器
如果你愿意,我可以按你当前的 Agent 形态(单体/多智能体、是否有工具、是否有环境反馈、最大步数与成本约束)给一个“规划模块”具体落地设计:状态表示、计划数据结构(JSON schema)、重规划触发条件、以及评估器/critic 的实现模板。