AutoSynthData: Generating Training Data for Enterprise Agents
https://huggingface.co/blog/ServiceNow-AI/autosynthdata📌 ServiceNow用模型失敗打造企業Agent訓練資料
TL;DR:ServiceNow CoreAI推出AutoSynthData,拿目標模型的失敗和教師模型的成功之間的落差,自動生成可驗證的訓練任務。
企業要的agent不是「什麼都會一點」,而是要在自家系統、自家規則、自家資料狀態下把事情做對。問題是,一個失敗案例只告訴你模型哪裡不會,卻無法直接變成訓練資料——AutoSynthData就是為了解決這個轉換問題而生。
🤔 一個好的agentic任務要滿足三個條件
ServiceNow CoreAI團隊先定義了什麼叫「有用的agentic任務」:task = (system specification, user prompt, verifier)。其中user prompt要同時滿足可行性(環境中存在至少一條能完成任務的軌跡)、真實性(像是使用者真的會提出的請求,而不是為了刁難而硬湊的約束)、以及難度(要能曝露目前agent還不穩定解決的能力,已經解得很好的任務就沒有新的訓練訊號)。verifier則要具備一致性(符合user prompt、system specification與任務狀態)、嚴謹性(拒絕不符合任務或違反限制的軌跡)、以及完整性(接受任何有效解法,而不是只認一種標準答案)。
🧩 從模型失敗到能力規格卡,再到新任務
AutoSynthData的流程分三步:先讓目標模型與一個更強的教師模型在環境中跑診斷任務,觀察目標模型在哪些任務類型上失敗、教師模型又是怎麼成功的;接著把這些觀察整理成「能力規格卡(capability specification cards)」——值得注意的是,負責生成新任務的模組不會拿到原始的評估prompt、實體或verifier細節,只拿到這份經過消毒整理的規格卡,再據此創造出全新的prompt、環境狀態與解法路徑。最後把生成的任務丟進環境中驗證、執行、修補,通過的樣本才拿去做supervised fine-tuning。
資料集建構本身又拆成兩個階段:Target階段由多個worker平行生成核心樣本,每個候選任務都要經過驗證、執行、求解器評估與修補才會被接受;Multiply階段則針對已通過的target樣本做變體擴增,每個變體有自己的使用者請求、環境狀態、實體設定、參考軌跡與verifier,且規定「被multiply出來的樣本不能再拿去衍生下一代」,用這條規則限制跨代漂移。實作上則把生成控制邏輯(品質把關、覆蓋率、資料集組裝)和環境執行邏輯(任務狀態管理、軌跡重播、verifier、求解器執行)拆成controller與adapter兩層,方便套用到不同的企業環境。
💡 消毒規格卡是避免模型「背答案」的關鍵設計
這套流程裡最值得留意的設計,是生成器被刻意隔絕於原始評估任務之外,只靠抽象化後的能力規格卡來造題。這樣的分層讓新生成的任務不會變成原始評測集的變形題,而是真正針對「某種能力缺口」在不同情境下重新出題,某種程度上降低了訓練資料汙染評測集的風險。
🎯 實務啟示
如果你的團隊也在幫企業agent做post-training,這篇文章提供的task三元組定義(spec/prompt/verifier)與verifier的三個品質要求(consistency、soundness、completeness)值得直接拿來檢視自己手上的訓練資料生成流程:你的verifier是不是太鬆而獎勵了錯誤行為,或是太嚴而扼殺了合理但非標準的解法?
🔗 來源
- 標題:AutoSynthData: Generating Training Data for Enterprise Agents
- 作者/機構:Esakkivel Esakkiraja、Shruthan Radhakrishna、Denis Akhiyarov、Sagar Davasam(ServiceNow-AI)
- 連結:https://huggingface.co/blog/ServiceNow-AI/autosynthdata
#AgenticAI #SyntheticData #EnterpriseAI #ServiceNow #SFT #LLMTraining #AIAgents #DataGeneration #MachineLearning #ModelEvaluation
原始資料 HuggingFace Blog · 收集於 2026-10-02
摘要原文
Back to Articles AutoSynthData: Generating Training Data for Enterprise Agents Enterprise Article Published October 2, 2026 Upvote 24 +18 Esakkivel Esakkiraja esakkivel Follow ServiceNow-AI Shruthan Radhakrishna shruthan-r Follow ServiceNow-AI Denis Akhiyarov dtanow Follow ServiceNow-AI Sagar Davasam davasam Follow ServiceNow-AI Enterprises need agents that work well in their own environments. The work they ask these agents to do is shaped by the systems they use, the rules they follow, and the state of their data. A model may be broadly capable and still struggle with a particular environment: a workflow it handles poorly, a combination of tools it misuses, or a constraint it fails to respect. Those are the weaknesses an enterprise needs to improve. The difficulty is turning those weaknesses into training data. An individual failure tells us something, but training a model requires many new tasks that exercise the same capability in different situations. Those tasks must also be possible to complete in the environment, resemble work someone would actually request, and have a reliable way to check whether the agent succeeded. At ServiceNow CoreAI, we built AutoSynthData to turn those capability gaps into training data. It uses a target model’s failures and a stronger teacher’s successes to decide what the model should learn next, then generates and validates new tasks that exercise those capabilities. As the model improves, the curriculum shifts toward what it still finds difficult. We illustrate the pipeline with EnterpriseOps Gym ( Malay et al., 2026 ), using the released dataset . We begin by describing the environment an agent operates in and what makes a task useful for training. What makes a useful agentic task? An agentic environment defines the world in which an agent operates: the state it can observe and modify, the tools and APIs it can invoke, and the state transitions produced by its actions. A task is instantiated within this environment. We use the following abstraction: task = (system specification, user prompt, verifier) System specification The system specification defines the constraints under which the agent operates, including system instructions, environment policies, and, when applicable, task-specific initialization such as a seeded database state or a set of knowledge articles. The specification must be compatible with the environment’s tools, state, and supported actions. Its instructions should be clear and avoid arbitrary constraints introduced solely to manufacture difficulty. Agent-facing task The user prompt specifies what the user wants the agent to accomplish, together with any user-level constraints. A generated task should satisfy three properties. Feasibility. There should exist at least one trajectory in the current environment that satisfies the user prompt while respecting the system specification. This rules out tasks that depend on unavailable tools, inaccessible knowledge, impossible state transitions, or actions prohibited by policy. Realism. The user prompt should resemble something a user would plausibly ask in the target environment. The space of executable behaviors is usually much larger than the space of realistic workflows. Difficulty. For training, the task should expose a weakness of the current agent. Tasks that are already solved reliably provide little new training signal. The useful region is therefore tasks that are feasible and realistic, but not yet consistently solved. Verifier The verifier determines whether the resulting trajectory successfully completes the task. It should satisfy three properties. Consistency. It should agree with the user prompt, the system specification, and the task-specific environment state. Soundness. It should reject trajectories that fail to satisfy the task or violate relevant constraints. Completeness. It should accept valid solutions rather than encode one particular reference trajectory. These properties matter directly during training. A lax verifier can reward incorrect behavior, while an overly restrictive verifier can penalize valid solutions. Overview Given an environment and a target model, AutoSynthData generates training tasks consisting of a system specification, user prompt, and verifier. The generated tasks are grounded in the environment and selected to provide useful training signal for the current model. AutoSynthData first evaluates the target model in the environment using diagnostic tasks and identifies patterns in the tasks it struggles to complete. A stronger teacher helps characterize which of those tasks are solvable and what successful behavior looks like. AutoSynthData turns the resulting capability gaps into new executable tasks, checks each task in the environment, and uses accepted samples for post-training. Evaluating the updated model reveals which gaps remain and can guide the next round of generation. From model failures to a curriculum AutoSynthData uses evaluation runs in the target environment to identify what the model needs to learn next. In our EnterpriseOps Gym experiment, we run both the target model and a stronger teacher on the evaluation tasks. We examine those runs to identify: the capability being tested; the tools and workflow structure involved; where the target model fails and how the teacher succeeds; the properties that a correct final state must satisfy; the dimensions that can vary while preserving the capability being tested. We distill these findings into sanitized capability specification cards. The evaluation tasks guide what the model should learn, but the generator does not receive their original prompts, entities, trajectories, or verifier details. It receives the cards and uses them to create new tasks with different prompts, states, and solution paths. Generating and scaling tasks Identifying a capability gap tells us what to teach, but training requires many varied tasks that exercise it. AutoSynthData uses the specification card to generate those tasks. Suppose the target model struggles with tasks that require the following workflow: The generator creates new tasks that exercise this workflow, varying the entities, initial environment state, workflow composition, tool combinations, wording, and difficulty. The stronger teacher then demonstrates a successful trajectory for each task. For supervised fine-tuning (SFT), these demonstrations teach the target model how to apply the capability in new situations. AutoSynthData builds the dataset in two phases: first generating and validating core samples, then expanding them into novel variants. Target The target phase creates the core set of training samples from the capability specifications. Workers generate independent tasks in parallel, picking up a new target when they finish. Each candidate goes through validation, execution, solver evaluation, and repair before acceptance. The result is a batch of vetted examples built around what the target model needs to learn. Multiply The multiply phase expands the dataset by creating novel variants of accepted target samples. Each variant has its own user request, environment state, entity configuration, reference trajectory, and verifier, and must pass the same validation and execution checks. A multiplied sample cannot seed another multiplied sample. This anchors expansion to the vetted target set and limits drift across generations. Implementation details To support both phases, AutoSynthData separates generation control from environment-specific execution. A shared controller coordinates generation, quality control, coverage, and dataset construction, while an adapter handles environment execution, task and state management, reference replay, deterministic verification, solver execution, and task profiling. Together, parallel target generation and multiplication provide a path to training-scale datasets.
由 claude-code/sonnet 自動生成