很多团队做 Agent 做到一定阶段,都会卡在同一件事上:“能跑起来”不难,难的是“持续变好”。
- 你改了提示词,效果似乎好了,但两天后又飘了;你很难解释“为什么变好/变差”。
- 你加了一个工具或新步骤,线上成功率掉了;你只能靠日志和直觉排查。
- 你想训练(SFT/RL)提升能力,但数据从哪里来?怎么把线上真实交互变成可训练的样本?
Agent Lightning 试图把这条链路系统化:把 Agent 的执行过程(LLM 调用、工具调用、奖励信号等)统一采集成结构化轨迹(spans),集中存储,然后用训练/优化算法消费这些轨迹,把“更好的资源”(提示词/权重等)再发布回去,形成持续改进闭环。
本文会先解释它“到底在解决什么问题”,再给一条从易到难的上手路线,最后讲清楚如何把它用到真实业务里。
Agent Lightning 是什么?一段话理解
如果你把 Agent 看成一个“执行器”,那 Agent Lightning 更像一个“改进工厂”:
- 输入:Agent 的真实执行轨迹(trace/spans)与奖励(reward)
- 处理:把轨迹转成可训练/可优化的数据(如 prompt/response/reward 的 triplets)
- 输出:更新后的资源(更好的提示词、微调后的模型权重等),并提供机制把它们再用于下一轮执行
它的关键点不是“又一个 Agent 框架”,而是:
- 框架无关(framework-agnostic):你用 LangChain/AutoGen/OpenAI SDK/自研都行,核心是把执行过程标准化成可消费的轨迹。
- 把 observability 变成优化入口:不是只有监控面板,而是把 trace 直接喂给 APO/SFT/RL 等算法。
核心概念:Rollout / Span / Triplet
从 deepwiki 页面 的架构描述来看,可以用三件事把 Agent Lightning 的数据流串起来:
- Rollout:一次任务执行实例(可以有重试 attempts),有状态(running/succeeded/failed 等)。
- Span:轨迹里的“一个操作”,比如一次 LLM 调用、一次工具调用、一次 reward 事件。Span 既能表达层级(parent/child),也能表达时序(sequence_id)。
- Triplet:训练算法更容易吃的数据形态:把轨迹中的 LLM 调用与 reward 关联,得到
prompt / response / reward(或者类似结构)。
你可以把它理解为:
Rollout 是“这件事做了没”,Span 是“怎么做的”,Triplet 是“怎么学的”。
架构一眼看懂:Store 是中枢
Agent Lightning 的体系里,LightningStore 是核心中枢(见 deepwiki 页面 的 Store/Architecture 章节):它负责存放 rollouts、spans、resources,并协调 worker/runner。
围绕 Store,常见链路是:
- 提交任务:Trainer/上游把任务 enqueue 成 rollout
- 执行任务:Runner/Worker dequeue rollout 并运行你的 Agent
- 采集轨迹:通过 tracer 或代理,把 LLM/tool/reward 变成 spans 写入 store
- 取回轨迹:训练侧 query spans,转成 triplets
- 训练/优化:APO/SFT/VERL 消费 triplets,产出资源
- 发布资源:把新 prompt/新权重发布回 store,下一轮执行挂载 resources_id
这套结构的优势是:执行与改进解耦。你的 Agent 继续“照常跑”,系统在背后把数据收集齐、加工好,再做系统化的改进。
从易到难的上手路线(推荐顺序)
下面这条路线尽量遵循“先可观测、再可控、最后可训练”的原则:每一步都能独立产出价值,不需要一上来就做 RL。
第 0 阶段:先把目标说清楚(不写代码也该先做)
在接入任何“优化系统”之前,建议先明确三件事:
- 成功标准:成功率/完成时长/人工接管率/用户满意度(至少选 1-2 个主指标)
- 任务分层:哪些任务适合先优化提示词?哪些需要工具/检索?哪些可能需要训练?
- 奖励信号:你能拿到什么 reward?(显式评分、规则校验、是否成功、是否被人工接管、是否触发某个业务事件等)
没有这三件事,很容易把“采集了很多 traces”变成“堆了一堆无用数据”。
第 1 阶段(最容易):只做轨迹采集 + 可视化排障
目标:让你能回答“Agent 到底怎么做的、卡在哪、为什么失败”,并能复现典型失败案例。
实践要点:
- 只接入 trace:先把 LLM 调用和工具调用的 spans 打通,reward 可以先不做。
- 用 dashboard/查询定位问题:把一次失败 rollout 的 span 树拉出来看,一眼就能发现:
- 是提示词没约束导致跑偏?
- 是工具调用参数不对?
- 是模型输出解析失败?
- 是某一步超时/重试导致状态混乱?
这一步最大的价值是:把“调试 Agent”从猜测变成证据。
第 2 阶段(仍然很容易):补上 reward,把“评估”跑起来
目标:从“看得到过程”升级为“量得出好坏”。
你可以从最便宜、最稳的 reward 开始:
- 规则/校验型 reward:输出是否符合 JSON schema、是否命中关键字段、是否通过单元规则(例如 SQL 是否可执行、API 请求是否成功)
- 业务事件型 reward:是否下单成功、是否完成工单、是否触发转人工
- 轻量 LLM-as-judge(谨慎用):对答案做打分/偏好比较,但要控成本和稳定性
有了 reward,才谈得上后续的 APO/SFT/RL:否则你只是在“更努力地优化”,但不知道优化对不对。
第 3 阶段(性价比很高):先做 APO —— 自动化提示词优化
目标:用系统化方式替代“手动改 prompt + 凭感觉回归”。
为什么建议先 APO?
- 改动成本低:不需要训练权重,迭代速度快。
- 风险小:回滚就是切回旧 prompt 资源。
- 对很多业务足够有效:尤其是工具编排、格式约束、错误恢复、澄清提问等。
做法上就是:用轨迹转成“可评价的样本”,让算法根据 reward/偏好对 prompt 模板迭代,然后把新 prompt 发布为资源供线上挂载(见 deepwiki 页面 对资源发布与 APO 的描述)。
第 4 阶段(中等难度):SFT —— 用真实交互做监督微调
目标:把“你已经知道什么样的回答更好”固化进模型参数,减少提示词复杂度、提升稳定性。
推荐在下面场景用 SFT:
- 你有大量高质量示例(人工标注/人工接管后的正确操作/规则可验证的成功轨迹)。
- 你希望模型在某类任务上形成“肌肉记忆”(比如结构化输出、领域术语、特定风格)。
注意:SFT 的数据质量和分布非常关键。Agent Lightning 的价值在于:它能让你从 spans 中提炼训练样本,并追溯样本来自哪些线上 rollouts,方便清洗与回溯。
第 5 阶段(最难也最强):VERL / PPO 类 RL —— 强化学习闭环
目标:在 reward 可定义、任务可重复采样的前提下,用 RL 做更深层的策略改进。
适合 RL 的典型任务:
- 多步规划/搜索/工具链决策(不仅是“回答得像不像”,而是“做得对不对”)
- reward 稀疏但可度量(完成/不完成、收益大小、成本大小)
不适合 RL 的情况(建议先别碰):
- reward 噪声大且不可解释
- 任务分布变化快、线上反馈闭环不稳定
- 你还没把 trace/reward 的基础设施跑稳
怎么把它用到真实业务?给一个“能落地”的闭环模板
以“企业客服/工单助手”举例,你可以把落地拆成 4 个长期运行的环节:
1) 线上执行:每次对话都是一次 rollout
- 每个用户问题(或一个会话片段)创建 rollout
- Runner 执行你的 Agent(检索、调用工单系统 API、生成回复)
- 全程通过 tracer/代理记录 spans
2) 离线评估:把主指标跑成报表
- 成功率(是否解决/是否生成有效工单)
- 转人工率
- 平均处理时间
- 关键合规校验(是否泄露敏感信息、是否越权)
这些指标可以直接从 rollout 状态 + spans/业务事件里聚合出来。
3) 优化策略:先 APO,后 SFT,再考虑 RL
- APO:优先解决“提示词层面的问题”
- 让模型更会澄清问题
- 让工具调用更稳(参数、重试、失败恢复)
- 让输出格式更易解析
- SFT:当你积累了大量高质量处理样本后,把“稳定写法”固化进模型
- RL:当你能稳定得到 reward 且多步决策是瓶颈时,再上
4) 灰度发布:把资源当版本管理
Agent Lightning 的一个很实用的工程点是“资源发布/引用”:把新 prompt/新权重作为 resources_id 发布,并在执行时绑定使用。
这让你能做到:
- A/B 测试不同资源版本
- 快速回滚
- 清晰追踪“哪次上线导致指标波动”
常见坑与建议(越早规避越省钱)
- 只采集不评估:没有 reward/指标闭环,traces 很快就变成“漂亮但无用的瀑布图”。
- reward 过于依赖主观打分:尽量从规则/业务事件中挖可验证信号;LLM-as-judge 适合作辅助,而不是唯一来源。
- 数据污染与分布漂移:线上数据会变,要保留版本、时间窗、场景标签,训练/优化要可追溯。
- 过早上 RL:先把可观测性、评估、APO 跑稳,通常能解决 60% 的问题,而且回报更快。
结语
Agent Lightning 的核心价值可以概括为一句话:让 Agent 的“执行证据”成为“可训练资产”,用工程化闭环替代拍脑袋调参。
如果你现在正处在“Agent 能跑但不稳、调试靠经验、优化靠玄学”的阶段,最推荐的切入方式是:先把 traces 跑起来,再补 reward,把评估闭环立住,然后从 APO 开始做持续改进。
进一步阅读: