跳转至

12 · Agent 优化与训练面试题

对应学习章:12 · Agent 优化与训练。本页收录 Q090–Q092,区分推理时改进、参数训练、组内信号与真实 harness 的数据通路。

助手读完反思改对答案,就已经更新了模型参数吗?先看改的是备忘录还是权重,再讨论训练;本组题追踪数据、学习信号与运行骨架,避免把采集日志误当成训练闭环。

Q090 Agent 出错时,怎样选择改运行时、SFT、DPO 或 Agent RL?

优先级:P0

30–60 秒回答:

先定位错误属于数据、工具、上下文还是模型行为。缺资料和错权限先修系统;提示、Skills 和记忆改变推理输入,不等于训练。SFT 用高质量示范拟合行为,DPO 用同任务候选偏好优化参数,Agent RL 根据交互轨迹与奖励优化策略。它们需要的数据不同:示范、偏好对或环境与奖励,不能都套一个准备清单。选型后用独立任务、坏例和成本验收,不能只看训练分数。

展开详细答案、追问与案例

详细答案:

先用失败证据确定改哪一层。助手引用旧政策,可能是索引未更新、日期未进入上下文、工具描述含糊,也可能是模型在充分证据下仍不会比较条件。前几类应先修数据与运行时。反思记录让下一次回答变好,可能只是输入变了;自动改提示或 Skill 也不能据此宣称 RL。讨论自我改进时,应指出具体改变的文件、状态或参数。

当有覆盖真实场景的正确示范,可用 SFT 学习工具选择、参数组织和输出行为。训练目标需要区分模型动作与环境观察,不能把工具回包无差别当作模型应生成的内容。示范也应覆盖正确澄清与边界处理;只挑最短成功样本,可能让模型学会跳过必要检查。SFT 的效果取决于示范质量和分布,不由训练样本看起来整齐决定。

同一请求有可比较候选时,可用偏好对表达哪一个更符合标准。DPO 通过偏好数据与参考策略关系优化参数,不需要按经典 PPO 流程另训一个奖励模型,但仍需清楚的偏好依据。长而缺证据与短而有依据谁更好,应由业务规则判断;不能用长度或模型自评分代替标签。偏好训练不要求所有项目都先搭在线可重置环境。

Agent RL 适合研究交互策略在环境反馈下如何改进,需要轨迹、奖励和相应训练合同;在线采样还需可执行且可管理状态的环境。长任务最终奖励带来信用分配问题,工具故障也会污染信号。无论哪种方法,都按任务、文档或环境分组切分数据,保留独立验收与回归。先证明参数能力是瓶颈,再支付训练与部署成本。

常见追问:

  1. 没有标量奖励能做 SFT 或 DPO 吗? 可以。SFT 使用示范目标,DPO 使用候选偏好;在线 RL 的奖励需求不能泛化到所有参数训练。
  2. 把成功对话全部拼起来训练行吗? 不宜。需标角色、动作、工具观察与敏感内容,明确哪些 token 参与生成目标,并检查近重复泄漏。
  3. 训练后工具错误还存在怎么办? 先区分格式、业务参数、执行器或数据问题,不能把所有失败继续归给模型,也不能训练模型绕过权限。

实战案例:

教学案例报告反复选旧政策。检查发现一半任务根本没检索到新版,另一半有充分证据却漏人员条件。处理时先修索引,再收集后者的正确比较与澄清示范,按需要构造偏好对;只有策略交互瓶颈清楚时再尝试 RL。验收保留任务分别统计召回和条件错误,确认参数收益没有掩盖越权、费用或其他能力回归。

常见误区:

把反思称为权重更新;把所有训练都说成需要在线奖励;数据缺失时直接上更强训练;按同一轨迹切片随机分训练测试。

微练习:

写四条任务轨迹:正确引用、旧版引用、缺条件却确定回答、正确澄清。验收分别列 SFT 选择、DPO 偏好和 RL 奖励依据,并标清模型动作与工具观察,说明哪类错误应先修系统。

学习章与参考: 学习章 12 · DPO 原论文 · TRL GRPO Agent Training

Q091 GRPO 的组内相对奖励怎样计算,为什么标准化不等于完整训练?

优先级:P1

30–60 秒回答:

原始 GRPO 用同题一组输出的奖励作比较基准,减少对单独价值模型的依赖。简化算例奖励 [0,0,1,1],均值 0.5、总体标准差 0.5,相对值为 [-1,-1,1,1]。这只是相对信号,完整训练还需行为与当前策略概率、概率比、裁剪、正则和参数更新,并遵循具体实现的归一化。全组同分意味着缺少区分信号,不能推断所有损失项梯度都为零。

展开详细答案、追问与案例

详细答案:

先理解比较单位。原始设计对同一问题采样一组输出,让一条轨迹的奖励相对组内基线形成优势信号,而不是仅把绝对分数作为答案好坏标签。组内比较减少对单独价值模型的依赖,但仍需要正确奖励、可关联轨迹与行为概率。若任务初始状态或评分口径不同,分数差可能来自环境而非策略,需要把组定义与数据生成合同写清。

用一个简化算例复算:四条轨迹奖励为 [0,0,1,1],均值为 0.5,使用总体标准差得到 0.5,每项减均值再除标准差,得到 [-1,-1,1,1]。它表示这组内部的相对位置。不同实现可能使用不同缩放、稳定项和归一化,因此示例展示计算直觉,不能把这四个数直接等同于所有框架的最终损失或完整优势实现。

真正更新参数还要知道哪些 token 是模型动作,计算相关策略概率与概率比,并结合裁剪、正则和归一化形成损失,再通过优化器更新。多次工具调用、不同输出长度和轨迹调用数都会影响信号分配。工具文本可以作为条件输入,但不能无差别参与动作目标。仅在 Python 中算出标准分,不意味着模型已经学习了任何行为。

同组全为零时,没有奖励差异可供这个相对项区分,但正则等其他项是否产生梯度需分别分析。应先检查任务是否过难、工具是否全失败、奖励是否只检查格式。若所有失败来自资料缺失,增加采样只会重复缺陷;若奖励可被无效引用骗过,训练可能强化投机。独立测试、奖励漏洞用例与过程证据应和分数曲线一起看。

常见追问:

  1. 总体标准差换成样本标准差数值一样吗? 不一样。本题算例明确使用总体标准差;对齐框架时应查看实现,不能混用后声称复现。
  2. 全组奖励相同就一定不更新了吗? 只能说此相对信号没有差异;总损失可能含其他项,是否更新需检查实际计算图与优化步骤。
  3. 奖励越复杂越好吗? 未必。先保证可验证、与目标一致,复杂加权可能掩盖严重错误或提供可投机的捷径。

实战案例:

教学案例以“带引用”为奖励,四条答案都附上无效来源却全得 1 分。处理时把证据支持与格式分开,验证器独立读取来源,并增加旧版引用和正确澄清样本。验收先复算相对值,再检查无效引用不能得成功奖励;本地实验只输出相对信号,模型是否更新必须在实际训练运行中另行证明。

常见误区:

把组内标准化称为完整 GRPO;全组同分就断言全部梯度为零;忽略策略概率与 token 归属;只看训练奖励上升而不查奖励漏洞。

微练习:

运行 python3 examples/advanced/runtime_lab.py --scenario evaluation,手算 [0,0,1,1] 和全零组。验收说明方差口径、输出值以及完整训练还缺哪些步骤,再设计一个能骗过错误奖励的样本。

学习章与参考: 学习章 12 · DeepSeekMath / GRPO · TRL GRPO Trainer · 本地相对信号实验

Q092 Harnessed Agent RL 怎样组织训练数据,如何理解 Agent Lightning 的版本?

优先级:P1

30–60 秒回答:

目标是让部署时的 harness 继续管理工具、上下文和环境交互,通过模型请求与响应边界采集训练数据,减少另写一套训练循环的差异。Agent Lightning 原论文和 v1.0 是两个阶段,主分支已重构,不能混用旧示例。训练端、调用代理和 rollout 控制器职责不同;还要关联轨迹、区分动作与观察、区分重复日志与新采样,并处理 token 对齐和奖励。接上代理只建立数据通路,不代表训练已闭环。

展开详细答案、追问与案例

详细答案:

训练环境与部署环境可能使用不同工具、上下文压缩和停止策略,导致模型学到的交互不完全等同实际使用。Harnessed Agent RL 的思路是保留真实 harness 对工具、上下文和环境的控制,从模型调用边界获取输入输出供训练使用。这样能缩小部分运行差异,但数据、奖励、模型后端与评测仍需配置;相同运行骨架也不能自动消除任务分布变化。

阅读 Agent Lightning 要先对齐阶段。早期论文强调执行与训练解耦,以及把复杂轨迹转换为训练交互;v1.0 进一步围绕 harnessed agentic RL,当前主分支说明整体重构,旧版位于 legacy 分支。v1 架构中 Trainer 负责策略训练,API Gateway 代理模型请求并采集数据,Rollout Controller 管理任务执行生命周期。组件名称和旧示例不能跨版本拼接后当作一套接口。

数据合同是关键。用任务、rollout、实际请求、尝试和模型版本关联每次调用,保留输入、输出、工具观察与奖励来源。同次实际推理被重复上报时,按事件 ID 去重;超时重试若触发新采样,应保留独立的尝试、输出和是否被 harness 采用的状态,再按 rollout 与奖励合同决定入训。不能把不同采样仅凭同一逻辑请求 ID 合并掉。

多次调用怎样组合、哪些 token 属于模型动作,也要明确。重新分词可能破坏前缀一致性,不能只保存最终文本就假设恢复了原生成过程。工具回包是环境观察,演员学自己的台词,不能把场记报时也当作要生成的动作。

奖励与验收决定训练方向。若只检查引用标记、工具成功或调用数,模型可能学会添假引用、创建无用对象或过早停止。验证器和评分规则应由受控环境管理,将最终结果、证据支持、禁止副作用与成本分别记录。产物绑定模型、分词器、数据、工具、奖励和 harness 版本,在保留任务与坏例上比较后再推进部署,并保留可定位的回退路径。

常见追问:

  1. 接入代理后为什么还需要环境? 代理能捕获调用,但任务初始状态、工具行为、停止条件和奖励来自环境,缺少它们无法解释策略为何得分。
  2. 旧版论文失去价值了吗? 没有,仍能理解解耦与轨迹转换;实现时必须按对应分支和当前架构读取,不拿旧 API 解释新组件。
  3. 只保留最终成功答案训练可以吗? 可用于特定示范任务,但会丢失工具选择和恢复过程;研究交互策略时需保留必要轨迹与动作边界。

实战案例:

设想政策 harness 采样时,网关重复上报了一次实际推理日志,另一次超时重试又产生新输出;初版却按逻辑请求 ID 全部合并,奖励还只查引用符号。处理时对重复事件去重,为新推理保留独立尝试及是否被 harness 采用的状态,按轨迹合同分配奖励,并独立验证引用内容。验收确认重复日志不重复计入、新采样不被误删、旧分支示例与 v1 配置不混用,伪引用得不到成功奖励,保留任务结果可追溯到具体训练产物。

常见误区:

把采集代理当作完整训练器;把原论文与 v1.0 当作同一接口说明;重分词后不查前缀;把工具成功、格式通过直接作为用户任务成功。

微练习:

画 Trainer、Gateway、Controller、Harness 与环境的数据流,标出逻辑调用、实际请求、尝试与事件的关联及动作 token 边界。验收分别指出重复日志怎样去重、新推理尝试怎样保留、奖励在哪里验证,以及哪些组件缺失时只能采集、还不能完成训练。

学习章与参考: 学习章 12 · Agent Lightning 仓库 · 早期论文 · v1.0 论文 · v1 基础架构

题库目录