1.集成生态全景解析:构建企业级智能体系统的集成之道
2.长期记忆集成深度解析:让智能体真正“记住“用户
3.Agent 状态存储(AgentStateStore)深度解析:构建可恢复、可扩展的智能体运行时
4.RAG 知识库集成全攻略:从自建向量库到第三方平台,一篇讲透
5.技能仓库(Skill Repository)完全实战指南
6.协议集成全景解析:A2A、AG-UI、Agent Protocol 三大开放协议实战指南
7.集成 Higress AI 网关:智能体流量治理的生产级实战
8.深度集成 Nacos:智能体注册发现、技能管理与动态治理全实战
9.集成 Scheduler 调度器:让智能体“按时上班“的生产级定时调度实战
10.集成 Chat Completions Web:一行依赖让你的 Agent 变身 OpenAI 兼容服务
11.集成在线训练(Training):让你的 Agent 越用越聪明
一、引言:模型上线那天,就是它开始"退化"的那天
AI Agent 已全面进入生产运营阶段。在客服自动化、运维诊断、数据查询、业务流程编排等场景中,Agent 通过调用工具、规划任务、与用户多轮交互,展现出显著的生产力价值。
为适配特定业务需求,开发者普遍基于开源大语言模型(LLM),采用监督微调(SFT)、强化微调(RFT)等技术对 Agent 进行定制化优化,在推理成本、响应延迟与任务成功率之间寻求最佳平衡。
然而,模型一旦部署上线,其能力便趋于静态。
| 退化场景 | 具体表现 |
|---|---|
| 业务变化 | 产品上新、政策调整,Agent 无法适应新规则 |
| 工具演进 | 内部系统接口升级,Agent 调用方式过时 |
| 用户行为漂移 | 用户提问方式变化,Agent 理解准确率下降 |
| 竞争压力 | 新模型发布,旧模型性价比优势消失 |
| 长尾问题 | 训练数据未覆盖的边缘场景持续暴露 |
核心矛盾:传统"训练 → 部署 → 等下次训练"的离线模式,无法应对生产环境的持续变化。
AgentScope Java 的解法:通过 agentscope-extensions-training 插件,将Trinity-RFT强化微调框架深度集成到 Agent 运行时,构建一条高效、安全、可落地的端到端在线训练路径——让 Agent 边运行边进化。
二、什么是"在线训练"?
2.1 定义
在线训练(Online Training)是一种在生产环境的实时系统中,利用真实用户交互数据持续优化智能体(Agent)行为的训练范式。
与传统离线训练的核心区别:
| 维度 | 离线训练(传统) | 在线训练(AgentScope) |
|---|---|---|
| 数据来源 | 预先标注的静态数据集 | 生产环境实时交互轨迹 |
| 训练时机 | 开发阶段 / 定期批量 | 运行中持续进行 |
| 更新频率 | 周级 / 月级 | 小时级 / 天级 |
| 数据新鲜度 | 可能过时 | 始终反映最新业务 |
| 部署影响 | 需要停机或灰度切换 | 模型热更新,零停机 |
| 反馈闭环 | 人工标注 → 训练 → 评估 | 自动采集 → 训练 → 验证 → 上线 |
2.2 核心价值
传统模式: 训练数据(静态) → 模型训练 → 部署上线 → [能力固化] → 人工发现问题 → 重新训练 → 重新部署 在线训练模式: 部署上线 → 持续采集真实交互 → 自动训练优化 → 模型热更新 → [持续进化] ↑ │ └────────────────── 反馈闭环 ──────────────────────────────┘三、架构设计:三组件解耦式在线训练
3.1 核心架构
AgentScope Java 在线训练方案采用解耦式架构,将在线训练流程划分为三个独立组件,支持灵活部署与独立扩缩容:
┌─────────────────────────────────────────────────────────────────────┐ │ 生产环境(Agent 运行时) │ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ AgentScope Java Agent │ │ │ │ │ │ │ │ 用户请求 → ReAct 推理循环 → 工具调用 → 生成响应 → 返回用户 │ │ │ │ │ │ │ │ │ │ └──── ① DataCollector(数据采集器)──────────┘ │ │ │ │ │ │ │ │ └────────────────────┼──────────────────────────────────────────┘ │ └───────────────────────┼─────────────────────────────────────────────┘ │ 轨迹数据(异步写入) ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ ② TrajectoryStore(轨迹存储) │ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ • 对话历史(多轮 messages) │ │ │ │ • 工具调用记录(tool_name, input, output) │ │ │ │ • Agent 推理过程(思考链 / ReAct 步骤) │ │ │ │ • 用户反馈信号(点赞/点踩/评分/隐式信号) │ │ │ │ • 任务完成状态(成功/失败/超时) │ │ │ │ • 元数据(时间戳、模型版本、Agent 版本) │ │ │ └───────────────────────────────────────────────────────────────┘ │ └───────────────────────┬─────────────────────────────────────────────┘ │ 训练数据(批量读取) ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ ③ TrainingRunner(训练调度器) │ │ │ │ ┌───────────────────────────────────────────────────────────────┐ │ │ │ • 数据筛选与质量评估 │ │ │ │ • 训练任务编排(SFT / RFT / 蒸馏) │ │ │ │ • 调用 Trinity-RFT 执行分布式训练 │ │ │ │ • 模型评估与验证 │ │ │ │ • 模型热更新(推送新权重到推理服务) │ │ │ └───────────────────────────────────────────────────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘ │ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ Trinity-RFT 训练引擎(GPU 集群) │ │ │ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │ │ │ SFT │ │ PPO │ │ GRPO │ │ 知识蒸馏 │ │ │ │(监督微调) │ │(强化学习) │ │(组相对) │ │ (大模型→小模型) │ │ │ └──────────┘ └──────────┘ └──────────┘ └──────────────────┘ │ └─────────────────────────────────────────────────────────────────────┘3.2 三大组件职责
| 组件 | 职责 | 部署位置 |
| ① DataCollector | 嵌入 Agent 运行时,自动采集交互轨迹 | 与 Agent 同进程 / 同 Pod |
| ② TrajectoryStore | 持久化存储轨迹数据,支持查询与筛选 | 独立服务(数据库/对象存储) |
| ③ TrainingRunner | 调度训练任务,调用 Trinity-RFT,管理模型版本 | 独立 GPU 集群 / 训练平台 |
💡 设计哲学:三个组件完全解耦,可以独立部署、独立扩缩容、独立升级。数据采集不影响推理性能,训练不影响在线服务。
四、核心能力详解
4.1 自动化数据采集
数据采集、轨迹存储、训练调度等流程由框架自动完成,大幅降低工程复杂度。开发者无需手动编写数据管道代码。
采集内容
// 框架自动采集的数据结构(无需手动编码)publicclassAgentTrajectory{privateStringsessionId;// 会话标识privateStringagentName;// Agent 名称privateStringmodelVersion;// 模型版本privateList<Message>messages;// 完整对话历史privateList<ToolCall>toolCalls;// 工具调用记录privateList<ReasoningStep>steps;// ReAct 推理步骤privateFeedbackSignalfeedback;// 用户反馈privateTaskResultresult;// 任务完成状态privatelongtimestamp;// 时间戳privateMap<String,String>metadata;// 扩展元数据}反馈信号类型
| 信号类型 | 来源 | 说明 |
|---|---|---|
| 显式正反馈 | 用户点赞 / “有帮助” | 高质量正样本 |
| 显式负反馈 | 用户点踩 / “没帮助” | 高优先级优化目标 |
| 隐式正反馈 | 用户采纳建议 / 完成任务 | 中等强度正信号 |
| 隐式负反馈 | 用户重复提问 / 切换人工 | 中等强度负信号 |
| 任务结果 | 工具调用成功/失败 | 客观执行结果 |
| 评分 | 用户打分(1~5) | 连续值反馈 |
4.2 统一训练接口
底层深度集成Trinity-RFT(v0.4+),原生支持多种主流优化范式:
| 训练范式 | 说明 | 适用场景 |
|---|---|---|
| SFT(监督微调) | 基于高质量问答对进行有监督学习 | 新增能力 / 纠正错误 |
| PPO(近端策略优化) | 基于奖励模型的强化学习 | 优化对话策略 / 工具选择 |
| GRPO(组相对策略优化) | 无需额外奖励模型的强化学习 | 降低训练成本 |
| 知识蒸馏 | 大模型能力迁移到小模型 | 降低推理成本 |
💡 关键价值:开发者无需切换训练框架,亦无需深入分布式训练细节,即可使用前沿优化技术。
4.3 模型热更新
训练完成后,新模型权重通过热更新机制推送到推理服务,实现零停机切换:
训练完成 → 模型评估 → 通过验证 → 推送新权重 → 推理服务热加载 → 生效 ↓ 旧版本保留(支持秒级回滚)4.4 安全与质量保障
| 机制 | 说明 |
|---|---|
| 数据脱敏 | 采集前自动过滤敏感信息(手机号、身份证等) |
| 质量评估 | 训练数据经过自动化质量打分,低质数据自动过滤 |
| A/B 验证 | 新模型先灰度 5%~10% 流量,验证效果后全量切换 |
| 自动回滚 | 新模型效果指标下降时自动回滚到上一版本 |
| 训练隔离 | 训练在独立 GPU 集群执行,不影响在线推理 |
五、快速上手:集成在线训练插件
5.1 添加依赖
<!-- AgentScope Java 在线训练插件 --><dependency><groupId>io.agentscope</groupId><artifactId>agentscope-extensions-training</artifactId><version>${agentscope.version}</version></dependency>5.2 配置数据采集器
# application.ymlagentscope:training:enabled:true# 数据采集配置data-collector:# 采集策略collect-mode:full# full(全量)/ sampled(采样)sample-rate:0.1# 采样率 10%(生产环境推荐)# 存储后端store-type:oss# oss / local / databasestore-endpoint:oss-cn-hangzhou.aliyuncs.comstore-bucket:agent-trajectories# 脱敏配置desensitize:enabled:truepatterns:-"phone"-"id_card"-"email"# 训练调度配置training-runner:# Trinity-RFT 服务地址trinity-endpoint:http://trinity-rft-service:8080# 训练触发策略trigger:type:scheduled# scheduled / threshold / manualcron:"0 0 2 * * ?"# 每天凌晨 2 点# 或:数据量达到阈值时触发# type: threshold# min-samples: 1000# 训练算法algorithm:sft# sft / ppo / grpo / distillation# 基座模型base-model:qwen2.5-7b-instruct# 训练超参数hyperparams:learning-rate:2e-5batch-size:16epochs:3warmup-ratio:0.1# 模型更新配置model-update:auto-deploy:true# 训练完成后自动部署canary-ratio:0.05# 灰度 5% 流量rollback-on-degradation:true# 效果下降自动回滚evaluation-metrics:-task-success-rate-user-satisfaction-response-latency5.3 编程式配置(高级)
importio.agentscope.extensions.training.TrainingConfig;importio.agentscope.extensions.training.DataCollectorConfig;importio.agentscope.extensions.training.TrainingRunnerConfig;@ConfigurationpublicclassTrainingConfiguration{@BeanpublicTrainingConfigtrainingConfig(){returnTrainingConfig.builder()// 数据采集.dataCollector(DataCollectorConfig.builder().collectMode(CollectMode.SAMPLED).sampleRate(0.1).storeType(StoreType.OSS).desensitizeEnabled(true).build())// 训练调度.trainingRunner(TrainingRunnerConfig.builder().trinityEndpoint("http://trinity-rft:8080").algorithm(TrainingAlgorithm.SFT).baseModel("qwen2.5-7b-instruct").triggerCron("0 0 2 * * ?").build())// 模型更新.modelUpdate(ModelUpdateConfig.builder().autoDeploy(true).canaryRatio(0.05).rollbackOnDegradation(true).build()).build();}}5.4 自定义反馈信号采集
importio.agentscope.extensions.training.FeedbackCollector;importio.agentscope.extensions.training.FeedbackSignal;@RestController@RequestMapping("/feedback")publicclassFeedbackController{privatefinalFeedbackCollectorfeedbackCollector;@PostMapping("/rate")publicResponseEntity<Void>rateSession(@RequestParamStringsessionId,@RequestParamintscore){// 1~5 分// 采集用户评分作为训练信号feedbackCollector.collect(FeedbackSignal.builder().sessionId(sessionId).type(FeedbackType.USER_RATING).value(score).timestamp(System.currentTimeMillis()).build());returnResponseEntity.ok().build();}@PostMapping("/thumbs")publicResponseEntity<Void>thumbsUpDown(@RequestParamStringsessionId,@RequestParambooleanhelpful){feedbackCollector.collect(FeedbackSignal.builder().sessionId(sessionId).type(helpful?FeedbackType.POSITIVE:FeedbackType.NEGATIVE).build());returnResponseEntity.ok().build();}}六、Trinity-RFT:底层训练引擎
6.1 项目定位
Trinity-RFT是 AgentScope 团队开源的后训练框架(GitHub: agentscope-ai/Trinity-RFT),专为 Agentic 应用的强化学习训练设计。
| 特性 | 说明 |
|---|---|
| Agentic 原生 | 专为 Agent 场景设计(多轮对话、工具调用、任务规划) |
| 多算法支持 | SFT、PPO、GRPO、DPO、知识蒸馏 |
| 分布式训练 | 支持多机多卡大规模训练 |
| 数据管道 | 内置数据清洗、格式化、增强管道 |
| 评估框架 | 集成 OpenJudge 智能体模型评测 |
| 模型管理 | 版本管理、A/B 测试、灰度发布 |
6.2 支持的训练算法
┌─────────────────────────────────────────────────────────────────┐ │ Trinity-RFT 算法矩阵 │ ├─────────────────┬───────────────────────────────────────────────┤ │ SFT │ 基于高质量标注数据的有监督微调 │ │ │ 适用:新增能力、纠正明确错误 │ ├─────────────────┼───────────────────────────────────────────────┤ │ PPO │ 基于奖励模型的近端策略优化 │ │ │ 适用:优化对话策略、工具选择偏好 │ ├─────────────────┼───────────────────────────────────────────────┤ │ GRPO │ 组相对策略优化(无需额外奖励模型) │ │ │ 适用:降低训练成本、快速迭代 │ ├─────────────────┼───────────────────────────────────────────────┤ │ DPO │ 直接偏好优化 │ │ │ 适用:基于用户偏好对比数据优化 │ ├─────────────────┼───────────────────────────────────────────────┤ │ 知识蒸馏 │ 大模型 → 小模型能力迁移 │ │ │ 适用:降低推理成本、边缘部署 │ └─────────────────┴───────────────────────────────────────────────┘6.3 与 AgentScope 的集成方式
AgentScope Java Agent(生产运行时) │ │ ① 自动采集交互轨迹 ↓ TrajectoryStore(轨迹存储) │ │ ② 批量导出训练数据 ↓ TrainingRunner(训练调度) │ │ ③ 调用 Trinity-RFT API ↓ Trinity-RFT(GPU 集群) │ │ ④ 输出新模型权重 ↓ Model Registry(模型仓库) │ │ ⑤ 热更新推送 ↓ 推理服务(vLLM / TGI / 百炼) │ │ ⑥ Agent 自动使用新模型 ↓ AgentScope Java Agent(进化后)七、典型应用场景
7.1 智能客服持续优化
场景:电商客服 Agent 每天处理 10 万+ 对话 Week 1:Agent 上线,处理退换货问题准确率 82% ↓ 采集用户反馈(点赞/点踩/转人工率) Week 2:在线训练触发,使用 5000 条高质量轨迹 SFT ↓ 模型热更新 Week 3:退换货准确率提升至 89% ↓ 持续采集 Week 4:新政策上线(7天无理由改为15天),Agent 自动适应 ↓ 2天内通过在线训练学会新规则 Week 5:准确率稳定在 93%+7.2 运维 Agent 工具调用优化
场景:SRE Agent 负责告警诊断与自动修复 问题:Agent 经常选错诊断工具(该用 kubectl 时用了 docker) ↓ 在线训练: 1. 采集所有工具调用轨迹 2. 标记成功/失败的调用链 3. 使用 PPO 强化工具选择策略 4. 奖励函数:任务完成率 × 响应速度 ↓ 效果:工具选择准确率从 71% → 94%7.3 代码审查 Agent 蒸馏降本
场景:代码审查 Agent 使用 qwen-max(成本高) 目标:将能力蒸馏到 qwen-7b(成本降低 90%) 流程: 1. qwen-max 处理 10000 条代码审查任务 2. 采集完整推理轨迹 + 审查结论 3. 使用知识蒸馏训练 qwen-7b 4. 评估:审查准确率保持 95%+ 5. 灰度切换 → 全量上线 ↓ 成本:月均模型调用费用从 ¥50,000 降至 ¥5,0007.4 多轮对话策略优化
场景:旅行规划 Agent 需要多轮交互收集用户偏好 问题:Agent 经常一次性问太多问题,用户体验差 在线训练(GRPO): - 正样本:分 2~3 轮逐步收集,用户完成规划 - 负样本:一次问 5+ 个问题,用户放弃 - 奖励:用户完成率 + 交互轮次合理性 ↓ 效果:用户完成率从 62% → 85%八、与 AgentScope 生态的协同
8.1 与事件系统的联动
AgentScope Java 2.0 内置 28 种类型化事件,在线训练插件通过事件系统实现零侵入采集:
Agent 推理事件流: RUN_STARTED → TEXT_MESSAGE_CONTENT → TOOL_CALL_START → TOOL_CALL_END → TEXT_MESSAGE_CONTENT → RUN_FINISHED │ ↓ DataCollector 自动监听 轨迹数据自动写入 TrajectoryStore💡 关键:开发者无需在业务代码中手动埋点,事件系统自动完成数据采集。
8.2 与可观测体系的联动
在线训练指标 → OpenTelemetry → Grafana Dashboard 监控面板: ├─ 训练数据量趋势(每日新增轨迹数) ├─ 数据质量分布(高/中/低质量占比) ├─ 训练任务状态(排队/执行中/完成/失败) ├─ 模型版本历史(各版本效果对比) ├─ 灰度效果(新旧模型 A/B 指标) └─ 回滚记录(触发原因、恢复时间)8.3 与 Higress 网关的联动
Higress AI 网关 ├─ 记录每次模型调用的 Token 消耗 ├─ 标记请求使用的模型版本 ├─ 支持按模型版本分流(灰度) └─ 提供模型切换的流量控制 ↓ 在线训练产出的新模型 → 通过 Higress 灰度放量8.4 与 Nacos 的联动
Nacos Config Service ├─ 训练配置动态下发(学习率、批次大小等) ├─ 模型版本路由规则(灰度比例) └─ 训练开关(紧急停止训练)九、生产环境最佳实践
9.1 数据质量管控
| 策略 | 实现方式 | 目的 |
|---|---|---|
| 采样率控制 | 生产环境 5%~20% 采样 | 平衡数据量与存储成本 |
| 质量打分 | 自动评估轨迹完整性、反馈明确性 | 过滤低质数据 |
| 去重 | 语义相似度去重 | 避免过拟合 |
| 脱敏 | 正则 + NER 双重脱敏 | 合规要求 |
| 时间衰减 | 近期数据权重更高 | 适应业务变化 |
9.2 训练安全
训练前检查清单: □ 数据量 ≥ 最小阈值(避免过拟合) □ 数据质量评分 ≥ 阈值 □ 无敏感信息泄露 □ 基座模型版本正确 □ GPU 资源充足 □ 回滚方案就绪 训练中监控: □ Loss 曲线正常收敛 □ 验证集指标持续提升 □ 无 NaN / Inf 异常 □ 显存使用正常 训练后验证: □ 标准评测集通过率 ≥ 基线 □ 安全性测试通过(无有害输出) □ 延迟指标无退化 □ 灰度验证通过9.3 灰度发布策略
阶段 1:内部测试(0% 外部流量) └─ 使用标准评测集 + 人工抽检 阶段 2:小流量灰度(5% 流量) └─ 对比新旧模型:成功率、延迟、用户满意度 └─ 持续 24~48 小时 阶段 3:扩大灰度(20% → 50%) └─ 确认无退化后逐步放量 阶段 4:全量切换(100%) └─ 保留旧版本 7 天(支持秒级回滚)9.4 成本控制
| 成本项 | 优化策略 |
|---|---|
| 存储成本 | 采样采集 + 定期清理过期数据 |
| 训练成本 | 低峰期训练(凌晨)+ 竞价实例 |
| 评估成本 | 自动化评估替代人工 |
| 推理成本 | 蒸馏到小模型降低单次调用成本 |
9.5 训练频率建议
| 业务场景 | 建议频率 | 理由 |
|---|---|---|
| 高频客服(10万+/天) | 每日 | 数据充足,变化快 |
| 中频业务(1万/天) | 每周 | 数据积累需要时间 |
| 低频专业(1000/天) | 每两周~每月 | 避免过拟合 |
| 新上线初期 | 前两周每日 | 快速适应 |
十、与传统微调方案对比
| 维度 | 传统离线微调 | AgentScope 在线训练 |
|---|---|---|
| 数据准备 | 人工标注,周级准备 | 自动采集,零人工 |
| 训练触发 | 手动发起 | 自动调度(Cron/阈值) |
| 数据新鲜度 | 可能过时数周 | 始终 ≤ 24 小时 |
| 部署方式 | 手动替换模型文件 | 自动热更新 + 灰度 |
| 回滚能力 | 手动回退 | 自动检测 + 秒级回滚 |
| 工程复杂度 | 需要 MLOps 团队 | 框架内置,开箱即用 |
| 反馈闭环 | 月级 | 天级 / 小时级 |
| 适配语言 | 通常 Python | Java 原生(AgentScope) |
十一、选型决策:何时需要在线训练?
| 你的场景 | 是否需要在线训练 | 关键理由 |
|---|---|---|
| Agent 日活 < 100,业务稳定 | ❌ 暂不需要 | 数据量不足,手动优化即可 |
| Agent 日活 1000+,业务频繁变化 | ✅ 强烈推荐 | 持续适应业务变化 |
| 有明确的用户反馈机制 | ✅ 推荐 | 反馈信号是训练的黄金数据 |
| 使用开源模型(可微调) | ✅ 前提条件 | 需要模型权重可修改 |
| 使用闭源 API(如 GPT-4) | ❌ 不适用 | 无法修改模型权重 |
| 对成本敏感,想用大模型效果+小模型成本 | ✅ 推荐 | 知识蒸馏场景 |
| 需要快速迭代(周级→天级) | ✅ 强烈推荐 | 自动化闭环 |
十二、Roadmap:未来演进
根据 AgentScope Java 官方 Roadmap,在线训练能力的持续演进方向:
| 方向 | 说明 |
|---|---|
| GRPO 算法支持 | 无需额外奖励模型的强化学习,降低训练门槛 |
| 多 Agent 联合训练 | 多个协作 Agent 的联合策略优化 |
| 上下文工程联动 | 训练数据自动优化 Prompt / 上下文策略 |
| 联邦学习 | 多租户数据不出域的联合训练 |
| 自动数据增强 | 基于现有轨迹自动生成变体训练数据 |
| 训练效果自动归因 | 识别哪些数据/策略变化带来了效果提升 |
十三、总结
AgentScope Java 的在线训练集成,为智能体系统补上了"持续进化"的最后一块拼图:
| 价值维度 | 具体收益 |
|---|---|
| 持续优化 | Agent 从真实交互中学习,越用越聪明 |
| 零人工 | 数据采集、训练调度、模型部署全自动 |
| 安全可控 | 脱敏、灰度、自动回滚,生产级安全保障 |
| 算法丰富 | SFT / PPO / GRPO / 蒸馏,统一接口 |
| 工程简化 | 无需 MLOps 团队,框架内置全链路 |
| Java 原生 | 与 AgentScope Java 深度集成,无语言切换 |
一句话总结:
传统模式是"训练好了再上线",AgentScope 在线训练是"上线了继续训练"。这不是锦上添花,而是 Agent 从"能用"到"好用"到"持续好用"的必经之路。