学习心得

从 Agent 到 Agentic RL 的学习主线

从工具调用、交互轨迹到奖励与策略学习,整理 Agent 的基本问题,也为后续项目和实验确定一条学习主线。

我准备把这个博客的主要内容放在 LLM Agent 与 Agentic RL 上。除了记录论文中的方法,也想把这些方法放到具体任务里,看看实现需要哪些条件、结果应该怎样衡量,以及失败究竟发生在哪一步。

这篇笔记先整理一张学习地图。后续的项目与阅读会沿着三个问题展开:Agent 怎样完成任务,怎样判断它完成得好不好,以及怎样通过训练改善它的决策。

Agent 的决策发生在哪里

在 Anthropic 的工程划分中,workflow 沿预先定义的代码路径运行,agent 则由模型动态决定执行过程和工具使用。这是一种有用的区分方式,不代表整个领域只有这一种定义。Building effective agents

以查询学习笔记为例,可以先写一个固定流程:检索一次,把结果交给模型,再生成回答。也可以允许模型看完结果后决定是否换关键词、打开另一篇笔记,或者结束查询。这两种方案都值得实现,关键在于任务是否需要后者的灵活性。

对我而言,第一个需要看清的问题是:哪些步骤由程序决定,哪些步骤交给模型。只有画清这个边界,才能定位一次失败是工具实现的问题、检索的问题,还是模型选择下一步的问题。

从一轮回答到交互轨迹

ReAct 将推理与任务行动交替组织,让行动带回的外部信息参与后续决策。这为理解 Agent 的交互过程提供了一个入口。ReAct

在准备实现的笔记检索任务中,我可以把过程表示为下面这个循环。它是项目的设计示意,不是某次实际运行记录。

text
用户问题
  → 模型选择检索或阅读操作
  → 程序检查参数并执行工具
  → 工具返回内容或错误
  → 更新上下文
  → 模型选择下一步或给出回答

记录时,我会优先保留动作、参数、工具返回、耗时、错误和最终答案。这样遇到一个错误引用,就能回看模型实际读到了什么,而不是只盯着最后一句回答猜原因。

循环也需要明确的结束条件:生成回答、耗尽调用预算、超时,或遇到无法继续处理的错误。它们会成为实现和评测的一部分。

Agentic RL 要学习什么

Agentic RL 关注模型在多步环境交互中的策略学习,涉及工具使用、规划等能力。与只观察一段最终文本相比,交互过程中的动作与反馈也是研究对象。The Landscape of Agentic Reinforcement Learning for LLMs

Search-R1 是一个具体例子:模型在推理过程中进行多轮搜索,训练围绕这些交互轨迹展开,并使用结果奖励。Search-R1

这让我想追问:模型什么时候应该搜索,什么时候应该继续阅读已有证据,什么时候应该停止?在自己的项目里,这些问题可以先通过日志和对照评测研究,之后再考虑训练。

我会把“修改提示词”“调整工具实现”和“训练模型策略”分别记录,避免把不同类型的改进混在一起。当前阶段的目标是建立任务与评测,还没有训练结论。

先定义怎样算完成任务

Agent 评测需要区分执行记录与环境中的最终结果。模型说自己完成了,并不等于任务已经完成;同一个任务也可能需要多次运行观察波动。Demystifying evals for AI agents

针对笔记检索,我计划先使用这些检查:

  • 回答中的关键事实能否由指定笔记支持。
  • 引用是否指向真实存在且相关的段落。
  • 没有足够证据时,是否说明信息不足。
  • 工具调用是否有效,是否发生重复检索或超出预算。

同时记录调用次数、耗时和 token 消耗。评测设置保持一致后,再比较固定检索流程与允许多轮决策的 Agent。一个很漂亮的回答可以作为展示案例,但不足以说明整个系统可靠。

从可检查的小项目开始

我准备先做一个学习笔记检索 Agent:在固定的 Markdown 笔记库中查找内容,打开相关段落,并输出带出处的回答。第一版只提供只读工具,不加入自动写文件、执行代码或无限浏览。

项目先做三个可比较的版本:直接回答、固定检索后回答、允许多轮检索的 Agent。遇到失败时,先追踪证据和动作,再提出一个可以验证的修改。

进入训练阶段后,还要解决轨迹如何采集、奖励如何计算等问题。verl 的 Agent Loop 提供了多轮 rollout 的接口,将交互输出用于奖励计算与训练,适合作为后续实现的参考。verl Agent Loop

训练是否稳定也值得单独研究。RAGEN 讨论了多轮 Agent 训练中的不稳定现象与奖励信号问题,提醒我不能只看模型跑通了一次任务。RAGEN

接下来怎样记录

论文阅读会写清作者要解决的问题、方法所需条件,以及我目前理解到哪里。项目文章会留下版本、配置、失败案例和复现步骤。学习复盘则记录哪些判断改变了,还有哪些问题需要下一次实验回答。

近期最想弄清楚的是:同一个任务下,多轮决策能带来多少收益,又会增加多少成本;训练得到的策略是否能适应没有见过的问题;最终答对时,中间过程是否仍存在值得修正的错误。

这些问题会成为后续文章的线索。先做出一个能检查过程的小系统,再逐步研究它如何学会更好的决策。

END OF NOTE✳
← 返回文章列表