最近读了 agentScope 团队的 CoD(Connect the Dots)论文——讲长生命周期 Agent 的 RL 训练 + 跨域泛化。这篇是速读 + 工程启示。

一、CoD 解决什么问题

传统 Agent 训练

1
2
3
4
5
6
7
训练:单任务 + 单环境 + 短序列

评估:测试场景 = 训练场景(过拟合)

真实部署:长生命周期 + 多环境 + 跨域

表现:训练场景 90%,真实场景 30%

CoD(Connect the Dots)

1
2
3
4
5
6
7
训练:长 rollout 序列

"求解任务"与"更新上下文"交替

学习"元能力":探索 + 学习 + 上下文更新

跨域泛化:训练域 + OOD 域都 work

关键洞察:不是学”怎么完成 X 任务”,是学”怎么在不同环境中学 X 任务“。

二、4 大 CoD 组件

2.1 算法层:长 rollout RL

1
2
3
4
5
6
7
8
9
10
11
12
13
class CoDAlgorithm:
def rollout(env, agent, max_steps=1000):
ctx = env.reset()

for step in range(max_steps):
# 1. 求解任务回合
task_result = agent.solve(ctx, env.current_task)

# 2. 更新上下文回合
ctx = agent.update_context(ctx, task_result, env.feedback())

# 3. 切换到下一个任务
env.next_task()

关键两步交替——先解决、再更新上下文、再解决下一个。

2.2 环境层:任务设计

1
2
3
4
5
6
7
8
任务池设计:
- 50 个领域(搜索 / 编程 / 客服 / 数据分析 / ...)
- 每领域 10 个任务
- 任务间有依赖(要前一个的输出做后一个的输入)

环境反馈:
- 真实反馈(耗时 / 成功率 / 错误信息)
- 不是"任务对错"二值

关键:任务有依赖 → “学到了”会影响后续任务。

2.3 训练目标:元能力

1
2
3
4
5
6
reward = (
0.4 * task_success_rate +
0.3 * context_update_efficiency +
0.2 * exploration_novelty +
0.1 * cross_task_transfer
)

不是:task success(1 个任务对错)
:4 维综合(任务成功 + 上下文更新效率 + 探索新颖性 + 跨任务迁移)

2.4 评估:跨域泛化

1
2
3
4
5
训练域:搜索 / 编程 / 客服(3 个域)
评估:
- 域内泛化:搜索 / 编程 / 客服(新任务)
- 跨域泛化:从未训练过的领域(如"文档写作")
- Ralph-loop 泛化:从 CoD 场景 → 持续改进循环场景

三、CoD 训练结果

指标 Baseline CoD 提升
域内任务成功率 70% 88% +18%
跨域任务成功率 25% 62% +37%
Ralph-loop 任务 30% 70% +40%
上下文更新效率 0.4 0.85 +112%

关键发现:跨域泛化提升 > 域内提升——元能力是真正可迁移的

四、agentScope 生态

1
2
3
4
5
6
7
8
9
10
11
12
13
agentScope / Trinity-RFT
- RL 训练框架
- 支持 CoD / Ralph-loop / 多 Agent
- 开源

agentscope-ai/Trinity-RFT
- 具体实现
- github.com/agentscope-ai/Trinity-RFT

agentscope-ai/agentScope
- Agent 框架
- 多 LLM 支持(GPT / Claude / Qwen / GLM)
- 中文友好

五、3 个核心开源仓库

5.1 Trinity-RFT(CoD 实现)

  • 链接github.com/agentscope-ai/Trinity-RFT/tree/research/cod
  • 功能:CoD 训练框架的代码实现
  • 用法
    1
    2
    3
    4
    git clone https://github.com/agentscope-ai/Trinity-RFT
    cd Trinity-RFT/research/cod
    pip install -r requirements.txt
    python train_cod.py --config=your_env.yaml

5.2 agentScope(Agent 框架)

5.3 ToolBench(工具调用评测)

六、5 条工程启示

6.1 训练 Agent 不能只看”任务对”

1
2
❌ 训练:单任务成功率
✅ 训练:跨任务元能力(探索 / 学习 / 迁移)

6.2 长序列训练需要”两步交替”

1
2
❌ 一条长 rollout 训到底
✅ 求解 + 上下文更新交替

6.3 评估要”跨域”

1
2
❌ 测试场景 = 训练场景
✅ 跨域 OOD 评估(看真实泛化能力)

6.4 中文 Agent 框架

1
2
3
4
5
英文框架:LangChain / LlamaIndex
中文优先:agentScope(蚂蚁 + 浙大)
- 中文文档
- 国内模型支持
- 国内 API 集成

6.5 RL 训练资源需求

1
2
3
4
5
6
单次 CoD 训练:8 卡 A100 × 3 天 = 约 1.5 万 token 成本
折算到 1k 任务:约 1.5 元 / 任务

vs LLM pretraining(千万级):
- CoD 训练便宜 1000 倍
- 个人开发者也能跑

七、5 条实践建议

7.1 跑通单 agent CoD 训练

1
2
3
4
5
# 改 CoD 的 env 为你的业务场景
class CustomerServiceEnv:
def reset(self): ...
def get_current_task(self): ...
def update_context(self, ctx, result): ...

7.2 用 CoD 训练 自己的垂直 agent

  • 选 1 个业务领域(客服 / 销售 / 运营)
  • 50-100 个任务
  • 用 Trinity-RFT 跑训练
  • 1-2 周可训出 1 个垂直 agent

7.3 关注”上下文更新”质量

1
2
3
4
5
6
# 不是所有上下文更新都有效
# 用 LLM-as-judge 评估"更新是否带来新信息"
def is_useful_update(old_ctx, new_ctx):
# 0 = 无用(重复信息)
# 1 = 高度有用(新洞察)
return llm_judge(old_ctx, new_ctx)

7.4 跨域泛化的工程化

  • 训练域:2-3 个(不要多)
  • 评估域:5-10 个(覆盖各种应用)
  • 看”OOD 提升”是否 > “域内提升”

7.5 关注 RFT(Reinforcement Fine-Tuning)

1
2
3
4
未来 1-2 年:
- LLM 训练范式从 SFT → RLHF → RFT
- 工具调用 Agent 训练范式从 SFT → CoD / Ralph-loop
- 跨域泛化是核心问题

八、本文 + 相关 Skill

  • 读 agentScope 论文前:先看 LangChain / AutoGen 入门
  • 跑 CoD 训练:需要 GPU(8 卡 A100 起)+ 数据准备
  • 应用场景:垂直 agent(客服 / 销售 / 运营)

九、3 条相关项目


agentScope / CoD 的真正价值让 Agent 训练从”任务成功”走向”元能力习得”。一个能在多个领域都学得好的 Agent,比一个只在特定领域学得好的 Agent 价值高 10 倍跨域泛化是 Agent 落地的最后一公里——CoD 是目前最实用的解法之一。