其他
已有带 verdict/reward 的评估轨迹时…
当已有评分/奖励的评估轨迹或生产日志失败样例,需要转成 SFT 示例或偏好对时,用这套流程做机械转换、筛选、去重和防泄漏。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 48/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 55/100 ×0.15
适用场景
已有带 verdict/reward 的通用
解决思路
- 读取输入:`eval/goldens.jsonl` 加 `runs/<run-id>/results.json`;每行应包含 `task_id`、`trace_id`、`messages`、来自 grader 的 `verdict`,以及任务支持标量分数时的 `reward`(judge score、执行部分分或 RLVR verifier)。
- 按 `dataset-curation` 的 Format Selection 表输出:SFT 写成 `messages` 行,DPO 写成 `prompt`/`chosen`/`rejected` 对;字段名必须精确匹配,中间不要再做 reshape。
- 把转换视为机械映射;真正剩下的是 curation:决定哪些轨迹过质量门槛、哪些 pair 有信息量、哪些行绝不能进入训练集。
- 如果某一步转换需要重新判断轨迹,说明 harness 缺少 grader,不要在本技能里兜底;没有 `verdict` 或 `reward` 的轨迹不可转换,先回到 `eval-harness-first`,不要手工标注来解阻。
- SFT:保留成功轨迹中奖励最高的一小部分,而不是所有 passing 轨迹;按 reward 对 passing traces 排序后取 top fraction(Agent-lightning 模式)。
- SFT:专家修正后的失败轨迹直接作为 gold SFT 示例(Langfuse 模式);人工把失败 trace 的输出改成正确输出后,无需 reward 阈值,直接进入 SFT 集。
- SFT:多步轨迹优先用 step-level masking,而不是整条轨迹丢弃;只对坏步骤 mask loss,保留好步骤。SRFT 在 SWE-bench 上报告 step-level critic masking 32.2% vs. trajectory discard 30.9%。
- DPO:只在同一 task 的 passing-vs-failing 轨迹之间构造 pair;绝不从不同 task 拉不相关的最好和最差轨迹配对,否则模型学到偏好某个任务,而不是偏好某个回答。
- DPO:rejected 成员选该 task reward 分布的 μ−2σ,不要选绝对最小值;完整选择公式由 `preference-optimization` 的 Pair Construction 负责,本技能只提供它消费的已评分轨迹。
- DPO:用 judge-scored delta selection 在不减信号的前提下减少 pair 数量;对每个候选 pair 计算 chosen-minus-rejected judge delta,只保留最高 delta 的子集——16.5k 候选中的 top 5k 可匹配全池下游结果。先建完整候选集,再按 delta 过滤;不要一开始就把生成限制在 5k。
- Hygiene:任何行交付前扫描 secrets 和 PII 并 redact;来自生产日志的 trace 可能带凭证、API keys、tokens 或客户数据。若 redact 后仍残留敏感字段,转换 fail closed,丢弃该行而不是带原始内容交付。Never commit secrets。
- Hygiene:eval goldens 绝不能泄漏进训练数据;把每个 `eval/goldens.jsonl` ID 从所有转换后的 SFT/DPO 集中排除。若同一 trace 也作为 golden,会训练到 checkpoint 之后被评分的精确条目,推高后续 eval。
- Hygiene:不只在新转换行内去重,还要对已有训练集去重;使用 exact-match 或 embedding-similarity,匹配 `dataset-curation` 的 dedup method 字段,在本批合并前对现有训练数据运行去重。
- Hygiene:provenance 写入 dataset card;每行必须能追溯到源 `run_id` 和 `trace_id`,`dataset-curation` 的 Provenance 字段检查此链接。没有可追溯来源的行不能合并。
- 关联执行:用 `eval-harness-first` 产生已评分轨迹,用 `dataset-curation` 的目标格式和 dataset card,用 `preference-optimization` 消费 DPO pairs;具体 JSONL-to-JSONL 转换示例(graded trace 到 SFT row、trace pair 到 DPO pair、correction 到 SFT row、rejection-sampling loop、goldens-holdout check)在 `references/conversion-recipes.md`。
适用边界 · 注意事项
- 没有 `verdict` 或 `reward` 的轨迹不可转换;应先回到 `eval-harness-first` 评分,不要在本技能中手工标注。
- 不要从不同任务之间拉最好和最差轨迹构造偏好对。
- 未完成 secrets/PII 扫描与 redact、goldens holdout、与已有训练集去重、provenance 记录前,不要合并训练数据。