以下是基于论文《Scaling Agents via Continual Pre-training》对Agentic CPT数据构造、训练方法及效果的纯技术细节拆解。

这篇文章的方法,在相同sft数据的基础上,能提高6%的得分,说明持续预训练很有用。有时候sft效果不好,可能是因为没做cpt。


一、 数据构造方式

Agentic CPT的核心是合成两种类型的数据:一阶动作合成(FAS)高阶动作合成(HAS)。所有数据均在离线环境下生成,无需调用真实API,成本低廉,可大规模扩展。

1. 一阶动作合成 (FAS)

FAS的目标是零监督、低成本地生成海量基础智能体行为数据。它包含两个子模块:

a. 规划动作合成 (Planning Action Synthesis)

  • 输入: 一个复杂问题 Q
  • 过程: 使用LLM为问题 Q 生成 K 个不同的初步分析(Thought)和对应的第一步行动(Action),例如调用哪个工具或如何分解问题。
  • 输出格式:
    [问题 Q]
    Thought: [分析1]
    Action: [行动1,例如 Search("关键词")]
    ---
    Thought: [分析2]
    Action: [行动2]
    ---
    ... (共K个)
    
  • 关键技巧:
    • 拒绝采样: 使用另一个LLM作为裁判(LLM-as-Judge),评估生成的 ThoughtAction 是否能有效获取解决问题所需的知识,过滤掉低质量数据。
    • 多样性扩展: 为避免对单一问题过度重复,改为对 K风格不同但知识来源相同的问题生成规划数据,以覆盖更广的上下文。

b. 推理动作合成 (Reasoning Action Synthesis)

  • 输入: 一个复杂问题 Q 及其关联的知识点。
  • 过程: 强制LLM在不调用任何外部工具的情况下,分两步生成答案。
    1. 第一步: 将问题 Q 分解为若干子问题,并基于其内部知识给出初步答案 A1
    2. 第二步: 给出与问题 Q 关联的真实知识,要求LLM基于这些知识修正 A1 中的逻辑错误,生成最终答案 A2
  • 输出格式:
    [问题 Q]
    [关联知识 K1, K2, K3...]
    Step 1 (Speculation):
        Sub-Q1: [子问题1] -> A1_1: [初步答案1]
        Sub-Q2: [子问题2] -> A1_2: [初步答案2]
        Final Speculative Answer: [A1]
    Step 2 (Refinement with Ground Truth):
        [基于K1, K2, K3...对A1进行逻辑修正]
        Final Refined Answer: [A2]
    
  • 目的: 训练模型在信息完备后,进行逻辑推理和信息整合的能力。

FAS数据示例(中文转写):

  • 原始实体: 巴黎 (Paris)

  • 关联知识:

    1. 卢浮宫在2024年接待了870万游客,与2023年的890万游客数量持平,正值巴黎奥运会期间。
    2. 2023年,法国因臭虫爆发引发政治争议;巴黎在奥运会前推动行动,交通部长召集了交通运营商。
    3. 在2025年巴黎航展上,空客宣布了132架确认订单和最多106架的增购选择权。
  • 合成问题:

    在那个以其金字塔门面的博物馆在一场全球性体育庆典期间录得高个位数百万游客的城市所命名的两年一度的航空航天市场,且该城市在前一年因一场全市性的滋扰事件导致当局召集了交通运营商,请问是哪家买家下达了确认订单数量与选择权数量完全相等的完美平衡承诺?

  • 合成推理数据:

    问题: [上述问题]
    关联知识: [上述三条知识]
    第一步(推测):
        子问题1: 金字塔门面的博物馆是哪个? -> 初步答案: 埃及博物馆?不对,应该是巴黎的卢浮宫。
        子问题2: 全球性体育庆典指什么? -> 初步答案: 2024年巴黎奥运会。
        子问题3: 2023年的滋扰事件是什么? -> 初步答案: 可能是罢工或污染。
        初步综合答案: 问题指的是2025年巴黎航展。
    第二步(基于真实知识修正):
        修正1: 2023年的滋扰事件是电动滑板车问题,交通部长确实召开了会议。
        修正2: 在2025年巴黎航展上,利雅得航空订购了25架A350,另有25架选择权,是完美平衡的订单。
        最终修正答案: 利雅得航空 (Riyadh Air)
    
2. 高阶动作合成 (HAS)

HAS旨在利用后训练阶段产生的、被丢弃或未充分利用的轨迹数据,将其转化为高质量的训练信号。失败轨迹(含错误推理)被保留并重构为“Incorrect”标签的训练样本,用于增强模型的决策鲁棒性。

  • 输入: 一条完整的、带有最终成功/失败标签 J 的智能体轨迹 T = {(S1, R1), (S2, R2), ..., (SK, RK)},其中 Sk 是第k步的思考与行动,Rk 是环境反馈。
  • 过程:
    1. 步骤级扩展: 对于轨迹中的每一步 Sk,以其上下文 Ck = (Q, S1, R1, ..., Sk-1, Rk-1) 为基础,使用LLM生成 N 个该步骤的备选行动 Ak = {S(1)k, S(2)k, ..., S(N)k}
    2. 构建决策空间: 将原始步骤 S(0)kN 个备选步骤合并,形成一个包含 N+1 个选项的集合 Ãk,并随机打乱顺序,记录原始步骤在其中的位置 nk
    3. 对比决策合成: 将整个轨迹重构为一个多选项决策过程。对于每一步,模型会看到所有选项,并被要求选择“我会选择选项 nk”,然后接收到真实的反馈 Rk,最后得到一个全局判断“我的决定是{正确/错误}”。
  • 输出格式:
    [问题 Q]
    步骤 1:
        选项 1: [备选行动1]
        选项 2: [备选行动2]
        选项 3: [原始行动]  <-- 假设nk=3
        我会选择选项 3。
        Observation: [真实反馈R1]
    步骤 2:
        选项 1: [备选行动1]
        选项 2: [原始行动]  <-- 假设nk=2
        选项 3: [备选行动3]
        我会选择选项 2。
        Observation: [真实反馈R2]
    ...
    我的决定是 正确。
    
  • 目的: 将“模仿整条轨迹”的学习目标,转变为“在每个步骤做出正确决策”的学习目标,极大地提高了数据利用效率和模型的决策能力。

二、 训练方法

论文采用两阶段渐进式训练策略,以高效吸收FAS和HAS数据。

  • 第一阶段 (Stage 1):

    • 数据: 主要使用FAS数据和较短的HAS数据。
    • 上下文长度: 32K tokens。
    • 目标: 让模型初步掌握工具调用模式和多步推理链。
    • 数据量: 约200B tokens。
  • 第二阶段 (Stage 2):

    • 数据: 专注于高质量、长上下文的HAS数据。
    • 上下文长度: 扩展到128K tokens。
    • 目标: 让模型深入理解复杂的动作空间和长距离规划策略。
    • 数据量: 约100B tokens。
  • 训练目标: 两个阶段均遵循标准的语言模型预训练目标,即下一个词预测(Next-Token Prediction),使用交叉熵损失函数。
    L = -∑ log P(xt+1 | x1, x2, ..., xt)


三、 效果提升

论文通过详尽的消融实验验证了Agentic CPT的有效性:

  1. 整体效果: 在相同的后训练(SFT)数据上,使用经过Agentic CPT的基座模型(AgentFounder-Base)比直接使用原始基座模型(Qwen3-Base)在多个基准测试上平均提升约 6%
  2. 两阶段策略: 仅进行第一阶段训练的模型,在 BrowseComp-enBrowseComp-zhGAIA 上的Pass@1平均得分为 31.4%, 34.3%, 69.9%。加入第二阶段后,得分提升至 35.5%, 37.2%, 72.8%平均提升3.3%。这证明了学习完整的长上下文数据比学习被截断的序列更有效。
  3. 数据类型贡献:
    • FAS数据: 贡献巨大,仅使用FAS数据就能带来显著性能提升,特别是在Pass@3指标上,表明它有效提升了模型的性能上限。
    • HAS数据: 作为补充,与FAS混合使用能带来稳定的小幅增益,证明其能提供互补的学习信号。
  4. Scaling Law: 模型性能随着Agentic CPT数据量的增加而持续提升,从0B到315B tokens,平均Pass@3得分从54.2%提升至62.2%,总增益达8.0%,且未出现饱和迹象,证明了该方法的强大可扩展性。
Logo

更多推荐