> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# AutoSynthData：把 Agent 的失败变成训练数据，企业级合成数据流水线
- URL: https://www.hubwiz.com/blog/autosynthdata-enterprise-agent-training-data/
- Published: 2026-10-15T09:39:54.000Z
- Updated: 2026-10-15T09:39:54.000Z
- Description: 合成数据的难点不是"生成得像"，而是"可执行、够真实、能被可靠判定、还刚好卡在模型能力边界上"。AutoSynthData 先用诊断任务找出目标模型的失败模式，用更强教师刻画解法，蒸馏出不含原始提示的能力规格卡，再并行生成核心任务（target）并扩增变体（multiply），逐个过正向/负向验证与批评修复，最后做批级覆盖度审查。EnterpriseOps Gym 实测：Hybrid 的 Pass@1 相对提升 35%，ITSM 从 18.77% 升到 27.18%。
- Author: admin
- Tags: 合成数据, Agent 训练, 后训练, ServiceNow, 企业 Agent

**一句话结论**：企业要的是**在自己环境里**干得好的 Agent——而环境是由**它用的系统、遵守的规则、数据的状态**共同塑造的。一个模型可能**泛化能力很强**，却在**某个具体环境**里卡住：某个工作流总是做不好、某组工具总是误用、某条约束总是不遵守。难点在于**把这些弱点变成训练数据**：单个失败只能说明一件事，而要训练模型，你需要**大量在相似能力上、但情境各异的新任务**，它们还必须**在该环境里可完成、像真人会提的需求、并且有可靠的成功判定**。ServiceNow CoreAI 的 **AutoSynthData** 做的就是这件事：用**目标模型的失败 + 更强教师的成功**来决定"接下来该学什么"，然后**生成并验证**新的训练任务，并让课程随着模型进步**持续向仍感困难的地方迁移**。

本文完整编译自 Hugging Face 博客《AutoSynthData: Generating Training Data for Enterprise Agents》（2026-10-02，ServiceNow CoreAI 团队），并做中文整理。

---

## 一、什么才算一个"有用的 Agent 任务"

一个 **Agent 环境（agentic environment）** 定义了 Agent 所处的世界：它**能观察和修改的状态**、**能调用的工具与 API**、以及它的动作**带来的状态转移**。

任务是在这个环境里被**实例化**的。作者用了这样一个抽象：

```
task = (system specification, user prompt, verifier)

```

### 系统规格（System specification）

系统规格定义 Agent 运作时的**约束**，包括**系统指令、环境策略**，以及在适用时的**任务级初始化**——比如某个**给定种子的数据库状态**，或**一组知识文章**。

规格必须与环境的**工具、状态与受支持动作兼容**；它的指令应当**清晰**，并**避免为了人为制造难度而引入的任意约束**。

### 面向 Agent 的任务（Agent-facing task）

用户提示（user prompt）指定**用户希望 Agent 完成什么**，以及任何**用户级约束**。一个生成出来的任务应当满足三个性质：

- **可行性（Feasibility）**：在当前环境里，**至少存在一条轨迹**能在遵守系统规格的前提下满足用户提示。这排除了那些**依赖不可用工具、不可访问知识、不可能的状态转移、或被策略禁止的动作**的任务；
- **真实性（Realism）**：用户提示应当**像用户在目标环境里真的会问的东西**。**可执行行为的空间通常远大于真实工作流的空间**；
- **难度（Difficulty）**：用于训练时，任务应当**暴露当前 Agent 的弱点**。**已经被稳定解决的任务提供不了多少新的训练信号**。因此有用的区域是那些**可行、真实，但尚未被稳定解决**的任务。

### 验证器（Verifier）

验证器决定**产生的轨迹是否成功完成了任务**。它应当满足三个性质：

- **一致性（Consistency）**：与用户提示、系统规格、以及任务特定的环境状态**保持一致**；
- **可靠性/健全性（Soundness）**：应当**拒绝**那些未满足任务、或违反相关约束的轨迹；
- **完备性（Completeness）**：应当**接受有效的解法**，而不是只认某一条参考轨迹。

这些性质在训练中**直接影响结果**：**过于宽松的验证器会奖励错误行为，过于严苛的验证器会惩罚有效解法**。

## 二、总览：从失败到课程

给定一个环境和目标模型，AutoSynthData 生成由**系统规格、用户提示、验证器**三部分组成的训练任务。生成的任务**扎根于环境**，并被挑选出来**为当前模型提供有用的训练信号**。

![AutoSynthData 总览](https://www.hubwiz.com/blog/content/images/2026/10/img_f0b499ec8c7f637f832b40db0b9d5242.png)

*图 1：AutoSynthData 总览。*

流程是：先用**诊断任务**在环境中评估目标模型，找出它**难以完成**的任务模式；再由**更强的教师**帮助刻画**哪些任务可解、成功行为长什么样**；AutoSynthData 把这些**能力缺口**转成**新的可执行任务**，**在每个任务上于环境中做检查**，把**被接受的样本**用于**后训练**；评估更新后的模型，就能看出**哪些缺口还在**，并**引导下一轮生成**。

![从失败到课程的循环](https://www.hubwiz.com/blog/content/images/2026/10/img_87f6dc8a9bab4ac03ed1a5c4df0c4578.png)

*图 2：评估—蒸馏—生成—后训练—再评估的循环。*

## 三、从模型失败到一份课程

AutoSynthData 用**目标环境里的评估运行**来识别模型**接下来需要学什么**。在 EnterpriseOps Gym 实验里，作者同时在评估任务上跑**目标模型**和**更强的教师**，然后考察：

- 正在被测试的**能力**是什么；
- 涉及的**工具与工作流结构**；
- 目标模型**在哪里失败**、教师**如何成功**；
- **正确的最终状态**必须满足哪些性质；
- 哪些**维度可以变化**，同时仍保持正在测试的能力不变。

作者把这些发现**蒸馏成经过净化的能力规格卡（sanitized capability specification cards）**。**评估任务决定了模型该学什么，但生成器拿不到它们的原始提示、实体、轨迹或验证器细节**——它拿到的是**规格卡**，并用卡来创建**提示、状态与解法路径都不同**的新任务。

![能力规格卡的蒸馏](https://www.hubwiz.com/blog/content/images/2026/10/img_8bf44295ad1436397129674c987e9c21.png)

*图 3：从评估运行蒸馏出能力规格卡，生成器只看到卡片，看不到原始任务。*

## 四、生成与扩展任务

识别出能力缺口只告诉我们**教什么**，但训练需要**大量不同的任务**来演练它。AutoSynthData 用规格卡来生成这些任务。

假设目标模型在需要如下工作流的任务上卡住：

![一个需要多步工具调用的工作流示例](https://www.hubwiz.com/blog/content/images/2026/10/img_7d794faf80df798ff4151062fe615c45.png)

*图 4：一个目标模型表现不佳的工作流示例。*

生成器会创建**演练这一工作流**的新任务，并变化**实体、初始环境状态、工作流组合、工具组合、措辞与难度**。随后**更强的教师**为每个任务演示一条**成功轨迹**。对**监督微调（SFT）**而言，这些演示教会目标模型**如何在新情境里运用该能力**。

AutoSynthData 分**两个阶段**构建数据集：先生成并验证**核心样本**，再把它们扩展为**新颖变体**。

### Target（核心集）

**target 阶段**从能力规格出发，创建**核心训练样本**。多个 worker **并行**生成独立任务，做完一个就接下一个目标。每个候选都要经过**验证、执行、求解器评估与修复**才能被接受。产出的是一批**经过审查的样本**，围绕目标模型**需要学的东西**构建。

### Multiply（扩增）

**multiply 阶段**通过对**已被接受的核心样本**创建**新颖变体**来扩展数据集。每个变体都有**自己的用户请求、环境状态、实体配置、参考轨迹与验证器**，并且必须通过**同样的验证与执行检查**。一个关键约束是：**扩增样本不能再作为另一个扩增样本的种子**。这把扩展**锚定在已审查的核心集上**，**限制跨代漂移**。

### 实现细节

为了同时支持两个阶段，AutoSynthData 把**生成控制**与**环境相关执行**分离：一个**共享控制器**协调**生成、质量控制、覆盖度与数据集构建**；一个**适配器**负责**环境执行、任务与状态管理、参考回放、确定性验证、求解器执行与任务画像**。

**并行的核心生成 + 扩增**，共同构成了一条通往**训练规模数据集**的路径。而它们的价值取决于**施加在每个候选上的检查**：**任务必须可执行、解法必须有效、验证器必须能区分成功与失败**。

![生成与扩增的两阶段](https://www.hubwiz.com/blog/content/images/2026/10/img_38fbb6ab20cc4a9ed278167cec55db7d.png)

*图 5：target → multiply 的双阶段数据集构建。*

## 五、高质量的合成数据，不止于"生成"

生成一个**看似合理的请求**，并不足以产出有用的训练数据。一个任务可能在**目标环境里根本不可行**，它的参考解法**执行时会失败**，或者它的验证器**会奖励错误的最终状态**。AutoSynthData 在接受任务用于训练**之前**，会检查这些性质。

它在**两个层次**上审查质量：**单个候选必须通过验证，批次必须提供有用的覆盖度与多样性。**

### 样本级验证与修复

每个候选在进入训练数据集之前，都必须先过一道**质量控制回路**。首先是**求解器评估**来**衡量难度**。在本文所用配置里，作者偏好这样的任务：**目标模型在三次尝试中最多解出一次，而更强的求解器在三次中至少解出两次**。候选还要经过**正向与负向验证**，以及一个**有界的修复过程**。

![样本级的正向/负向验证与修复](https://www.hubwiz.com/blog/content/images/2026/10/img_6ebd27ecc155b5e7b117bd4f79867d1e.png)

*图 6：样本级质检回路。*

- **正向验证（Positive verification）**：问的是"**预期的解法能解出这个生成的任务吗？**"流水线在目标环境里**执行参考轨迹**，把得到的**状态**与候选的验证器对照。这会暴露**提示、初始状态、解法与成功判据之间的不一致**；
- **负向验证（Negative verification）**：问的是"**相关的错误结果会失败吗？**"例如，它可以**变异期望结果的一部分**，并确认那些状态**不再通过验证**。这能抓住那些**不要求预期行为、却仍然给成功**的弱验证器；
- **批评与修复（Critique and repair）**：失败的候选**不会被直接丢掉**，而是先送去**批评器**。批评器考察样本及其失败，寻找**不一致的状态、不可能的工作流、错误的任务构造、糟糕的参考轨迹、薄弱的验证器逻辑，或与目标能力不匹配**之处。批评结论**指导修复**，且**重试次数有固定上限**。

```
candidate
    ↓
failure
    ↓
critique / diagnosis
    ↓
targeted repair
    ↓
run the gates again
    ↓
accept or retry

```

修复后的任务**必须重新通过相关检查**。诊断的作用是**指导对现有候选的修复**，而不是要求**从头重新生成**。

通过这些检查让样本**有资格**用于训练，但**单个有效的样本仍可能组成一个重复、失衡的数据集**。因此 AutoSynthData 还要在**批次层面**审查生成。

### 批级审查

一个批次可能**过度代表**少数几个**简单任务族**、**漏掉某个能力**，或者把**过多生成预算**花在**低产出的模式**上。

一个**元审查（meta-review）**会考察每个批次里的**已接受样本、已拒绝样本与生成行为**，并追问：

- 哪些**任务族被过度代表**，哪些**能力维度缺失**？
- 是否**反复出现同类型的样本**？
- 是否有**特定目标持续生成失败**？
- 批评里是否出现**系统性问题**？
- 下一批次应当**改变哪些指导**？

控制器会**跟踪已接受数据集里的覆盖度**、**减少过度代表区域的生成**、并把更多工作**导向缺口**。当某个区域**反复产出劣质候选**时，批评与元审查会**引导生成策略的改变**。这些调整在**可用的生成预算与数据集规模要求**内，平衡**有用的学习信号、任务质量、覆盖度、多样性，以及低冗余**。

这两层反馈回路**同时改进任务与数据集**：**样本级检查指导候选修复，批级审查指导未来生成。**

## 六、推动训练前沿

**有用的训练分布会随着模型进步而变化。** AutoSynthData 把合成数据生成视为在**目标模型能力边界附近**进行的**任务搜索**：**难到足以暴露弱点，又可解到让教师能提供可靠演示。**

后训练之后，作者在**同一个环境**里评估更新后的模型。**它现在能稳定解决的任务，对下一轮训练就不那么有用了；而持续失败的地方，则指向仍需关注的能力。** 这些结果可以**指导下一轮生成**。

![能力前沿随模型进步而移动](https://www.hubwiz.com/blog/content/images/2026/10/img_88df9e44b650f2e6284f8fab5b9265f6.png)

*图 7：训练前沿随模型能力提升而移动。*

作者的实验聚焦 **SFT**，但**同一机制也可以支持强化学习（RL）**：生成**挑战当前策略**、并提供**可靠学习信号**的任务，训练，然后**随更新后的策略移动生成目标**。作者计划在 SFT 之外测试这条**移动的、难度校准的前沿**。

## 七、EnterpriseOps Gym 实验

作者用 **EnterpriseOps Gym** 来测试：这套方法能否在**有状态的企业环境**里改善模型。他们在 Gym 的 **Hybrid** 与 **ITSM** 环境中生成训练任务，在**被接受的样本**上微调目标模型，再评估所得 checkpoint。

### Hybrid

在 EnterpriseOps Gym 的 **Hybrid** 域上，**目标模型**是 [Gemma-4-26B-A4B-it](https://huggingface.co/google/gemma-4-26B-A4B-it?ref=hubwiz.com)，**教师**是 [Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B?ref=hubwiz.com)。

AutoSynthData 在**约 18 小时**内生成了 **2,000 个合成训练样本**。作者用它微调 Gemma，并在基准上评估得到的 checkpoint，**最佳 checkpoint 出现在第 5 个 epoch**。

**结果：**

- 合成 SFT 的 checkpoint 让 **mean Pass@1 提升 7.2 个百分点**，**相对提升 35%**；
- **验证器成功率从 63.01% 升到 68.55%**；
- 它**弥合了 Gemma 与参考模型之间原始 Pass@1 差距的 59%**。

![Hybrid 域上 Pass@1 与验证器成功率的提升](https://www.hubwiz.com/blog/content/images/2026/10/img_9aad29d0b46a07b16d8e0430527c7473.png)

*图 8：EnterpriseOps Gym Hybrid 上的结果。*

需要强调：**训练任务是从能力规格新生成的，生成器没有拿到原始评估任务**。这个结果证明了在**该实验所用环境**中的改善。

### ITSM

作者也把 AutoSynthData 应用到 EnterpriseOps Gym 的 **ITSM** 域，**目标模型**仍是 Gemma-4-26B-A4B-it，**教师**换成 [DeepSeek-V4.1-Flash](https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash?ref=hubwiz.com)。AutoSynthData 在 **66 小时**内生成了 **1,994 个合成训练样本**。

生成比后面那次 Hybrid 运行**慢得多**，主要因为 **ITSM 用的教师模型更大**，而且这次运行**早于后来提升吞吐的流水线优化**。

在 ITSM 上，**合成 SFT 把 mean Pass@1 从 18.77% 提到 27.18%**，说明这套方法在**第二个领域**同样有效。

![ITSM 域上 Pass@1 的提升](https://www.hubwiz.com/blog/content/images/2026/10/img_783ebd7bd74f512f4a2fd10dd7c6adec.png)

*图 9：EnterpriseOps Gym ITSM 上的结果。*

## 八、闭环

**最有用的训练任务，取决于环境，也取决于在其中工作的模型。** AutoSynthData 用**模型的失败**来决定**生成什么**，用**环境**来**验证新任务**，并把这些任务**提供给后训练**。EnterpriseOps Gym 的结果展示了这套方法在**受控环境**里的价值。当模型发生变化时，同一个流程可以**聚焦到仍然存在的缺口上**。

## 九、给企业 Agent 团队的启示

结合论文，几点判断值得记下：

- **"能力缺口"比"数据规模"更值得当起点**：从**目标模型在该环境里的失败模式**出发，而不是先堆一个通用指令集；
- **规格卡是正确的抽象层**：它把"该学什么"与"具体题目"解耦，既避免了**对评估集的记忆**，也让生成可以**规模化变化**；
- **验证器是这套流水线的真正瓶颈**：可行性、真实性、难度三者里，**难度靠求解器评估、真实性靠人审与模式约束、可行性靠环境执行**——**没有可靠的验证器，合成数据只会放大噪声**；
- **双层质检不可省**：样本级负责**正确性**，批级负责**覆盖度与多样性**；只有前者会得到**一批正确但重复**的样本；
- **课程要跟着模型移动**：训练分布**不是一次性确定的**，模型学会的东西会**立刻贬值**为训练信号；
- **SFT 只是起点**：作者明确指出**同一机制可扩展到 RL**，这很可能是后续企业 Agent 后训练的主战场。

对正在自建 Agent 的企业来说，这篇工作的价值不只是两个 benchmark 数字，而是**一套可复用的方法论**：**用失败定义课程、用规格卡抽象能力、用环境与验证器守住质量、用批级反馈控制覆盖度。**

---

## 参考来源

- Hugging Face / ServiceNow CoreAI：《AutoSynthData: Generating Training Data for Enterprise Agents》（2026-10-02）[https://huggingface.co/blog/ServiceNow-AI/autosynthdata](https://huggingface.co/blog/ServiceNow-AI/autosynthdata?ref=hubwiz.com)
- EnterpriseOps Gym 论文（Malay et al., 2026）：[https://arxiv.org/abs/2603.13594](https://arxiv.org/abs/2603.13594?ref=hubwiz.com)
- EnterpriseOps Gym 数据集：[https://huggingface.co/datasets/ServiceNow-AI/EnterpriseOps-Gym](https://huggingface.co/datasets/ServiceNow-AI/EnterpriseOps-Gym?ref=hubwiz.com)
- 目标模型 Gemma-4-26B-A4B-it：[https://huggingface.co/google/gemma-4-26B-A4B-it](https://huggingface.co/google/gemma-4-26B-A4B-it?ref=hubwiz.com)
- 教师模型 Qwen3.8-27B：[https://huggingface.co/Qwen/Qwen3.8-27B](https://huggingface.co/Qwen/Qwen3.8-27B?ref=hubwiz.com)
- 教师模型 DeepSeek-V4.1-Flash：[https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash](https://huggingface.co/deepseek-ai/DeepSeek-V4.1-Flash?ref=hubwiz.com)

## 延伸阅读（本站）

- [AI 基建 / 评测 / 安全完全指南](https://www.hubwiz.com/blog/ai-infra-stack/)
- [什么时候合成数据最有用](https://www.hubwiz.com/blog/when-is-synthetic-data-most-useful/)
- [LLM 后训练完全指南](https://www.hubwiz.com/blog/the-definitive-guide-to-llm-post-training/)
- [后训练革命：RL 是新的护城河](https://www.hubwiz.com/blog/post-training-revolution-rl-is-the-new-moat/)
- [LLM 训练数据调试指南](https://www.hubwiz.com/blog/llm-training-data-debugging-guide/)
- [Agent / MCP / 自动化完全指南](https://www.hubwiz.com/blog/agent-stack/)

本文由 汇智网 · Software 2.0 编译整理，转载请注明出处。