# Trace To Training Data > Convierte trazas de evaluación y logs de producción en ejemplos SFT y pares de preferencia; útil ante trazas calificadas, rejection sampling o construcción de pares DPO. Fuente: https://skillsagentes.com/skills/wshobson/agents/trace-to-training-data Markdown: https://skillsagentes.com/skills/wshobson/agents/trace-to-training-data.md Repositorio: https://github.com/wshobson/agents Autor: wshobson Licencia: MIT Actualizado: hace 2 meses Coste de contexto: 69 tok instalada, 1.6k tok al activarse, 3.5k tok con todos los archivos del bundle Bundle: 2 archivos, 14 KB Permisos que pide: ninguno declarado ## Instalación Un skill son archivos markdown: los mismos archivos valen para cualquier agente y lo único que cambia es el directorio de destino, es decir la bandera `--agent`. Añade `-g` para instalarlo en todos los proyectos de la máquina. ```bash # Claude Code npx -y skills add wshobson/agents --skill trace-to-training-data --agent claude-code # Cursor npx -y skills add wshobson/agents --skill trace-to-training-data --agent cursor # Codex npx -y skills add wshobson/agents --skill trace-to-training-data --agent codex # Gemini CLI npx -y skills add wshobson/agents --skill trace-to-training-data --agent gemini # Windsurf npx -y skills add wshobson/agents --skill trace-to-training-data --agent windsurf # Cline npx -y skills add wshobson/agents --skill trace-to-training-data --agent cline ``` ## Qué hace - Convierte trazas evaluadas y logs de producción en ejemplos SFT y pares de preferencia (DPO) - Selecciona la fracción de mayor reward entre las trayectorias exitosas para SFT - Construye pares DPO desde trayectorias pass/fail de la misma tarea usando selección μ−2σ - Aplica masking a nivel de paso en trayectorias multi-paso en lugar de descartarlas enteras - Escanea y redacta secretos/PII y evita que los goldens de eval se filtren al dataset de entrenamiento ## Cuándo usarla - Existen trazas calificadas o ejemplos de fallo que deben convertirse en datos de entrenamiento - Se está aplicando rejection sampling a las salidas del modelo - Se están construyendo pares DPO a partir de runs exitosos y fallidos ## Cuándo no - Una traza no tiene verdict ni reward todavía — hay que enviarla de vuelta a eval-harness-first en lugar de etiquetarla aquí ## Qué la activa - "Convierte estas trazas evaluadas de runs/results.json en ejemplos SFT" - "Genera pares DPO a partir de las trayectorias pass y fail de esta tarea" - "Aplica rejection sampling a estas salidas del modelo para curar el dataset" ## Antes de instalar - Requiere trazas ya calificadas por eval-harness-first, con eval/goldens.jsonl y runs//results.json existentes. ## Archivos - SKILL.md — 6 KB - references/conversion-recipes.md — 8 KB ## SKILL.md Reproducido tal cual desde wshobson/agents bajo MIT. Esta sección es el documento original y está en inglés. # Trace To Training Data This skill assumes `eval-harness-first` already graded the traces being converted here — goldens, graders, and `runs//results.json` all exist before conversion starts. This is the flywheel edge that skill names in its own flow: "the same labeled traces become the training set." Conversion happens here; grading already happened upstream. **Input:** graded traces — `eval/goldens.jsonl` plus `runs//results.json`, each row carrying a `task_id`, a `verdict` from the grader, and a `reward` when the task supports a scalar score (judge score, execution partial-credit, or an RLVR verifier): ```json {"task_id": "t-042", "trace_id": "t-042-a3", "messages": [{"role": "user", "content": "..."}], "verdict": "pass", "reward": 0.91, "grader": "exact_match"} ``` **Output format:** rows shaped exactly like `dataset-curation`'s Format Selection table — SFT `messages` rows or DPO `prompt`/`chosen`/`rejected` pairs — so this skill's output is that skill's input with no reshaping step in between. ## The Principle The eval harness already did the labeling work: every trace in `results.json` carries a verdict, and often a reward, before this skill ever touches it. Converting a graded trace into a training row is mechanical — pick a shape from `dataset-curation`'s table, map fields, write JSONL. **Curation is the work that remains** — which traces clear a quality bar, which pairs are informative, and which rows must never enter the training set at all. Treat any conversion step that requires re-judging a trace as a sign the harness is missing a grader, not a gap this skill should paper over. A trace with no verdict or reward isn't convertible yet — route it back to `eval-harness-first` first, don't hand-label it here to unblock conversion. ## SFT From Traces - **Keep the top-reward fraction of successful trajectories**, not every passing one. Rank passing traces by reward and take a fraction (the Agent-lightning pattern) rather than every trace that merely cleared the pass bar — a trace that barely passed is a weaker SFT signal than one that scored well above threshold. - **Expert-corrected failures become gold SFT examples directly** (the Langfuse pattern) — when a human edits a failing trace's output into a correct one, that correction needs no reward threshold; a human already validated it. Route corrections straight into the SFT set. - **Step-level masking beats whole-trajectory discard for multi-step traces.** When only some steps in a multi-step trajectory are bad, mask the loss on the bad steps and keep the good ones, rather than discarding the whole trajectory. SRFT reports 32.2% vs. 30.9% on SWE-bench for step-level critic masking over trajectory discard — a real, if modest, gap from the finer-grained cut. ## Preference Pairs From Traces - **Build pairs from passing-vs-failing trajectories on the SAME task**, never from unrelated best- and worst-scoring traces pulled across different tasks — cross-task pairs teach the model to prefer one task over another, not one response over another. - **Select the rejected member at μ−2σ of the reward distribution for that task, never the absolute minimum.** `preference-optimization`'s Pair Construction section owns the full selection formula; this skill supplies the graded trajectories it consumes. - **Judge-scored delta selection cuts pair volume without cutting signal.** Score each candidate pair by chosen-minus-rejected judge delta and keep only the highest-delta subset — the top 5k of a 16.5k candidate pool matched the full pool's downstream result. Build the full candidate set first, then filter by delta; don't cap generation at 5k up front. ## Hygiene - **Scan for secrets and PII before any row ships, and redact what's found.** Traces sourced from production logs can carry credentials, API keys, tokens, or customer data — run a secret/PII scan over every SFT and DPO row and redact matches; conversion fails closed (the row is dropped, not shipped with the raw content) if sensitive fields remain after redaction. Never commit secrets. - **Eval goldens must never leak into training data.** Hold every `eval/goldens.jsonl` ID out of every converted SFT and DPO set — a trace that also appears as a golden trains on the exact item the checkpoint gets graded against later, silently inflating every subsequent eval run. - **Dedup against the training set**, not just within the newly converted rows — exact-match or embedding-similarity, matching `dataset-curation`'s dedup method field, run against whatever training data already exists before this batch merges in. - **Provenance goes into the dataset card.** Every converted row must trace back to its source `run_id` and `trace_id` — `dataset-curation`'s Provenance field checks for exactly this link back to `trace-to-training-data` output; a row with no traceable source isn't ready to merge. ## Related Skills - `eval-harness-first` — produces the graded traces this skill converts; a trace with no verdict or reward isn't convertible yet, route it back there before conversion. - `dataset-curation` — owns the target formats and the dataset card this skill's provenance data feeds; converted rows must match its Format Selection table field names exactly, not an approximation of them. - `preference-optimization` — consumes the DPO pairs this skill builds and owns the full μ−2σ rejection-selection formula referenced above. Worked JSONL-to-JSONL conversions — graded trace to SFT row, trace pair to DPO pair, correction to SFT row, the rejection-sampling loop, and the goldens-holdout check — live in `references/conversion-recipes.md`. ## Dónde encaja - Categoría: [Datos y analítica](https://skillsagentes.com/categorias/datos-analitica.md) — Consulta, limpia y visualiza datos sin salir del agente. - Creador: [wshobson](https://skillsagentes.com/creators/wshobson.md) — 183 skills en el directorio - [Todas las skills](https://skillsagentes.com/skills.md) - [Ranking de instalaciones](https://skillsagentes.com/ranking.md) --- Skills Agentes · [Índice de páginas en markdown](https://skillsagentes.com/sitemap.md) · [Inicio](https://skillsagentes.com/index.md)