改 Skill 的可重复流程 — 评测与轨迹驱动(孙成心)¶
Ch07.049 改 Skill 的可重复流程 — 评测与轨迹驱动(孙成心)¶
📊 Level ⭐⭐ | 8.4KB |
entities/skill-iteration-evaluation-trajectory-sunchengxin-2026.md
改 Skill 的可重复流程 — 评测与轨迹驱动(孙成心)¶
陈成(孙成心)2026-08-13 第 51 篇。解决"改 skill 越改越乱"问题:把改 SKILL.md 变成一套可重复的评测 + 轨迹回归流程。
核心方法论¶
- 写 skill(SKILL.md 工作手册)决定 agent 处理一类任务的上限,但迭代改 skill 缺乏反馈回路时必然退化
- 用评测(task 通过率/质量分)与轨迹(执行路径回放)构成回归基线,每次改动可验证、可回滚
- 属于 Skill 写作评测 方向的实践补充:不止于写 skill 规范,而是 skill 迭代的工程闭环
- 适用前提:任务输出能被客观判对错(结论收敛、有标准答案)——安全审计的二元输出天然满足,开放式任务不适用
- 架构原则:诊断/验证/回滚/黑名单全交给可复查的规则,LLM 只负责把诊断转写成 diff
与 Agent 评测闭环 和 Skill-Up 评测框架 同一主题域:skill 可评测可回归是 2026 年 agent 工程的核心收敛方向。
深度分析¶
越改越乱是结构性必然:缺少客观反馈信号¶
「打地鼠」不是巧合而是必然:skill 不可能一次性写对,只能一版版补,人工盯着既慢又顾此失彼——修好这个 case,弄坏之前能做对的几个。
真实数据证明「修复与回归总是一起发生」:63 个 case 上,Kimi 修复 10 个同时新增 6 个错误(净 +4),GLM 修复 9 新增 2(净 +7),DeepSeek 修复 6 新增 4(净 +2)——总分上涨会掩盖逐 case 的隐性回归。缺的不是更好的文本,而是客观信号回答「这次改得好不好」:二元结论与人工标注机械对照,算出 TP/FP/TN/FN。
评测 + 轨迹:把改手册变成回归闭环¶
输入只有两份数据:results.jsonl(case_id / ground_truth / pass_fail / failure_kind)与 sessions/ 操作日志,缺一样都无法闭环。评测还须跑在真实任务环境(同模型同工具链),防「实验室假象」带偏进化方向。
诊断 = 压缩 + 规则:trace_parser 把 10-50 万 token 的 session 压成约 100:1 的三层摘要,第三层「进度交叉验证」能抓 progress_mismatch(声称走了 STEP 3 但无证据)。根因靠联合归因:结果类型 × 流程异常交叉,只有交集才触发进化,同一根因覆盖 ≥30% 失败 case 才改。实测:进化前平均 80.6% → 86.8%,GLM 77.8%→88.9% 最好。
稳定性优先:LLM 只生成、规则做裁决¶
最反直觉的设计是诊断不用 LLM:实验显示 LLM 评判 skill 好坏接近随机、随 prompt/温度漂移,规则覆盖面有限但绝不漂移——「宁可少判,不要飘着判」。LLM 唯一职责是把诊断转写成 unified diff(输入压到 <10KB),diff 才能机器回滚。
LLM 输出过三重确定性过滤:taboo 黑名单预拦截(签名 = rule_id + 诊断方向)、结构检查(diff 三件套、≤80 行、禁新增标题)、反口号文本质量(步骤行必须含工具名或文件路径)。≤80 行 = skill 迭代的 learning rate:便于定位回归、防灾难性遗忘。验证用四层 gate:target(≥1 修复)/ guardrail(0 回归)/ holdout(每 5 轮 F1 掉 ≤1pp)/ verify(文本质量 ≥75),任何一层不过即丢弃;holdout 60/25/15 三路隔离防「背答案」。
收敛、回滚与数据怀疑:闭环的收尾机制¶
收敛与止损:F1 ≥ 0.95、连续 5 轮 gate 失败、SKILL.md 超 15KB、预算达——四信号任一满足即停;「连续没进展」加权计数,guardrail 回归权重 1.0 是 target 未改善(0.3)的 3 倍多;加权停滞超阈值自动回滚到历史最佳 holdout 版本,拦截累积负迁移;SKILL.md 过长触发精简模式只删不增。
数据怀疑与留痕:gt_auditor 用五信号加权算 GT 可疑度(≥0.5 标记),嫌疑 case 不排除出评测,但 patch 时告知 LLM 别迁就错标;版本管理「文件系统即数据库」:回滚 = 重指软链且写审计日志,taboo 黑名单跨版本共享、回滚不清空。局限:只能改「怎么做」不能改「做什么」、纯认知错误检测不到、F1 0.90+ 后边际递减——本质是「用工程纪律约束 LLM 的不确定性」,与 Agent 自我改进六层模型 同构。
实践启示¶
-
先过判据关:任务输出必须能客观判对错(结论收敛、有标准答案),开放式任务别上自进化。
-
双数据缺一不可:结果文件 + 操作轨迹一起收集,且评测跑在真实任务环境(同模型同工具链),防实验室假象。
-
规则裁决、LLM 只生成 diff:用「结果 × 流程」联合归因找根因,同一根因覆盖 ≥30% 失败 case 才动手;别让 LLM 直接评 skill 好坏。
-
小步快跑过四层 gate:单次 patch ≤80 行 unified diff;target / guardrail / holdout / verify 全过才接受,任何一层不过就丢弃。
-
留痕、回滚、止损、疑数据:taboo 黑名单跨版本共享、回滚不清空;软链回滚 + 审计日志防失忆;用 gt_auditor 甄别错标,别为迁就错标改歪 skill。
→ 原文存档