【构建工业级Agent Skills】04 盲测与进化:如何让 AI 自己证明“新版本比老版本强”? 大家好我是Tony Bai。欢迎来到微专栏 《打破黑盒用工程思维构建工业级 Agent Skills》的第四讲。在上一讲中我们建立了一条“自动评估流水线Automated Eval Pipeline”。我们通过编写带有鉴别性的断言Assertions并利用 Grader 裁判智能体和benchmark.json把原本玄学的“感觉还行”变成了冷酷无情的量化指标通过率、耗时、Token 税。但是有了量化指标就万事大吉了吗假设你的go-context-auditor技能在第一次 Benchmark 测试中通过率只有 60%。你看着那 40% 失败的测试用例陷入了沉思。在传统的 Prompt 调试阶段你通常会怎么做你可能会打开SKILL.md在失败的步骤后面加上一句声嘶力竭的ALWAYS REMEMBER TO CHECK THIS!!!务必记得检查这个。然后你跑了一遍测试发现通过率涨到了 65%。你觉得“修改有效”就提交了代码。这种“打地鼠式Whack-a-mole”的修改是 AI 工程化中最危险的反模式Anti-pattern之一。你可能只是为了迎合这几个失败的测试用例而进行了“过度拟合Overfitting”。你随手加进去的冗余指令可能悄悄破坏了其他原本正常的逻辑增加了认知负载甚至让技能在面对未知场景时变得更加脆弱。真正的工业级 Agentic SE不允许这种拍脑袋的修改。我们必须回答一个核心的科学问题你凭什么证明你的 V2 版本从“全局和结构”上真的比 V1 版本更好今天我们将深入skill-creator最令人惊叹的特性盲测对比系统Blind Comparison System。我们将从上帝视角剖析skill-creator是如何引入“盲测裁判Blind Comparator”和“复盘分析师Post-hoc Analyzer”这两个独立智能体在剥离一切人类偏见的情况下实现Agent Skill 的“自我进化”的。进化的基石消除人类的“确认偏误”在讲盲测系统之前我们先来做一个思想实验。你刚刚花了一个小时精雕细琢地重构了SKILL.md把冗长的文本提炼成了清晰的步骤还增加了一个 Python 验证脚本。这叫 V2 版本。你把 V1 和 V2 分别跑了一遍测试拿着两份输出结果。此时如果让你来评判哪个更好你心里绝对会倾向于 V2。因为那是你的心血你潜意识里希望它赢。这种现象在心理学上叫“确认偏误Confirmation Bias”。更有意思的是如果你把两个版本的代码发给大模型比如让 Claude 自己评判并告诉它“A 是旧版本B 是我刚刚精心优化过的新版本请评价哪个更好。” 大模型也会“逢场作戏”顺着你的意愿强行找出 B 的优点来夸奖一番。当评价体系本身被污染时迭代就失去了意义。事实上如果你让Claude Code帮你改进Skill它同样会建立一个v2版本以及iteration-2的测试# tree . ├── iteration-1 │ ├── benchmark.json │ ├── benchmark.md │ ├── eval-0 │ │ ├── eval_metadata.json │ │ ├── with_skill │ │ │ ├── grading.json │ │ │ ├── outputs │ │ │ │ └── report.md │ │ │ └── timing.json │ │ └── without_skill │ │ ├── grading.json │ │ ├── outputs │ │ │ └── report.md │ │ └── timing.json │ ├── eval-1 │ │ ├── eval_metadata.json │ │ ├── with_skill │ │ │ ├── grading.json │ │ │ ├── outputs │ │ │ │ └── report.md │ │ │ └── timing.json │ │ └── without_skill │ │ ├── grading.json │ │ ├── outputs │ │ │ └── report.md │ │ └── timing.json │ └── eval-2 │ ├── eval_metadata.json │ ├── with_skill │ │ ├── grading.json │ │ ├── outputs │ │ │ └── report.md │ │ └── timing.json │ └── without_skill │ ├── grading.json │ ├── outputs │ │ └── report.md │ └── timing.json └── iteration-2 ├── benchmark.json ├── eval-0 │ ├── with_skill │ │ └── outputs │ │ └── report.md │ └── without_skill │ └── outputs │ └── report.md ├── eval-1 │ ├── with_skill │ │ └── outputs │ │ └── report.md │ └── without_skill │ └── outputs │ └── report.md └── eval-2 ├── with_skill │ └── outputs │ └── report.md └── without_skill └── outputs └── report.md并将两个版本的评估(eval)结果做对比(如下图)你也可以参考这个结果。