--- title: "[Milky] 为您整理《OpenAI:Skill的自动评分器怎么搭》笔记 | BV1HWd6BsEmG" source: "milky@4ueo.com" date: 2026-06-09 21:17 tags: [milky, bilibili, notes] email_id: 1995 --- Milky 为您整理了《OpenAI:Skill的自动评分器怎么搭》| BV1HWd6BsEmG 笔记。 OpenAI Skill 自动评分器构建指南 一、为什么需要评分器 当更新一个 Skill 并执行完成后,表面结果正常不代表真的变好了。核心问题是: Skill 是否真的完成了预期任务? 修改是否引入了新的问题(回归)? 如何在不同版本之间进行性能比较? 评分器的职责就是回答这些问题,让 Skill 的质量变化可衡量、可追踪。 二、运行轨迹记录 2.1 什么是运行轨迹 评分的前提是有东西可以打分。OpenAI 的做法是使用 CodeExec JSON 记录 Skill 的完整执行过程。 2.2 配置方式 `json { "code_exec": true // 启用后输出结构化执行记录 } ` 2.3 记录内容 启用后,Skill 每执行一步都会输出结构化记录,包括: 跑了什么命令 创建了什么文件 执行顺序 时间戳 2.4 关键特性 | 特性 | 说明 | |------|------| | 完整性 | 记录完整执行流程,而非日志摘要 | | 可解析性 | 结构化数据,可被程序直接读取 | | 可调试性 | 失败时可精确定位到具体哪一步出错 | 没有运行轨迹,评分器只能看最终产物,无法分析执行过程。 三、评分器类型 3.1 确定性检查(Deterministic Checks) 3.1.1 原理 纯代码规则驱动的检查,不用大模型,写死判断逻辑,程序直接对着运行轨迹核对。 3.1.2 典型检查项 ` 有没有执行 npm install 有没有创建 package.json 命令执行顺序是否符合预期 是否在指定目录执行操作 ` 3.1.3 核心特性 | 特性 | 说明 | |------|------| | 确定性 | 同样行为每次判断结果一致,没有模糊地带 | | 可调试 | 一旦失败,打开记录文件即可看到从哪一步开始偏离 | 3.1.4 局限性 确定性检查能回答"基础动作做了没有",但无法回答"做出来的东西是不是你想要的样子"。 3.2 评分细则检查(Rubric-based Checks) 3.2.1 原理 使用 LLM 作为裁判,读取仓库内容,按预定义的评分细则输出结构化打分结果。 3.2.2 适用场景 很多 Skill 的验收标准本来就是软性规则,例如: 代码结构是否干净 组件组织是否符合团队约定 样式配置是否按既定风格落地 命名规范是否遵循 3.2.3 评分细则的拆解方法 把模糊的质量标准拆成若干个可独立判断的维度: | 模糊标准 | 拆解后的维度 | |----------|--------------| | 代码质量好 | 组件是否按功能分目录 | | | 是否有未使用的引用 | | | 样式类名是否遵循命名约定 | | | 配置项是否集中管理 | 3.2.4 关键要求:锁定输出格式 必须提前定义输出模板,规定模型必须输出哪些字段: `json { "passed": true/false, "total_score": 85, "dimensions": [ { "name": "component_organization", "score": 90, "reason": "组件按功能正确分目录" }, { "name": "unused_imports", "score": 70, "reason": "发现3处未使用的import" } ] } ` 3.2.5 为什么必须锁死格式 | 自由输出 | 锁死格式 | |----------|----------| | 每次措辞不同 | 格式统一 | | 无法跨版本比较 | 结果可量化 | | 无法进自动化流程 | 可直接集成 CI/CD | | 输出是"审稿意见" | 输出是"评估数据" | 四、评分器组合策略 4.1 分工明确 ` 确定性检查 ──→ 抓底线(基础动作有没有发生) 评分细则检查 ──→ 抓质量(做出来的东西像不像你要的) 输出格式锁定 ──→ 防飘移(每次评分结果一致) ` 4.2 集成到流水线 这套组合设计之初就面向 持续集成(CI): 不再依赖工程师手动触发测试 成为持续运行的回归守门员 Skill 每次更新都会自动验证 五、6 类扩展检查 在基础评分器之上,可按需叠加以下检查: 5.1 命令数与循环检测 ` 检查运行记录里执行了多少条命令 ` 目的:检测行为退化 案例:如果一个 Skill 以前 6 步能完成,现在要 18 步,表面上任务还是完成了,但系统正在变差。 5.2 消耗量追踪 ` 记录每次运行消耗的 token 数量 ` 目的:防止 Skill 越来越臃肿 每次执行越来越贵 每次执行越来越慢 5.3 构建检查 `bash skill 完成后直接执行构建命令 npm run build ` 目的:端到端验证 很多项目表面完成,构建就露馅 成本低,应该默认开启 5.4 运行时冒烟检查 `bash 启动开发服务器 npm run dev 发送测试请求 curl http://localhost:3000/api/health ` 目的:验证服务是否真正可用 注意:这类检查更慢,按风险等级决定是否每次都执行。 5.5 仓库清洁度检查 ` 检查任务完成后是否出现不该有的文件 ` 目的:确保系统没有被"弄脏" 5.6 权限回归检查 ` 验证 skill 是否还能在最小权限下正常工作 ` 目的:防止权限漂移 某次改动后悄悄开始依赖更高权限 权限漂移在自动化后会变成结构性风险 5.7 扩展策略 ` 原文建议:先加快速检查,再按风险叠加慢检查 不是一次全上,是按需扩展 ` | 检查类型 | 速度 | 建议频率 | |----------|------|----------| | 命令数检测 | 快 | 每次 | | 消耗量追踪 | 快 | 每次 | | 仓库清洁度 | 快 | 每次 | | 构建检查 | 中 | 每次 | | 运行时冒烟 | 慢 | 按风险 | | 权限回归 | 慢 | 定期 | 六、5 条核心原则 原则一:量真正重要的东西 Don't measure for the sake of measuring. First, think about what you'd actually care about if it got worse. 不要为了有指标而有指标,先想清楚什么变差了,你会真的在意。 原则二:先写清晰可检查的定义 If the success criteria are fuzzy, the evaluation will be too. 验收标准模糊,评估就没有意义。先把"什么叫做对"写成可执行的判断。 原则三:把评估扎在真实行为上 Record the full execution trace and write deterministic checks around the actual actions taken. 记录 Skill 的完整运行轨迹,围绕实际执行的动作写确定性检查。 原则四:规则不够时,再让模型补上 Use rubric-based evals to handle quality judgments that rules can't cover, not as a replacement. 用评分细则处理规则覆盖不了的质量判断,顺序不能反。确定性检查在前,LLM 评分在后。 原则五:让真实失败去驱动样本增长 Every time you manually fix something, turn it into a test case. 每次手动修复都是一个信号,把它变成测试用例,让 Skill 持续把这件事做对。 七、整体流程图 ` ┌─────────────────────────────────────────────────────────┐ │ Skill 执行 │ └─────────────────┬───────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ CodeExec JSON 记录运行轨迹 │ └─────────────────┬───────────────────────────────────────┘ ▼ ┌───────┴───────┐ ▼ ▼ ┌───────────────┐ ┌─────────────────┐ │ 确定性检查 │ │ 评分细则检查 │ │ (规则驱动) │ │ (LLM 裁判) │ └───────┬───────┘ └────────┬────────┘ ▼ ▼ └────────┬─────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ 结构化评估结果(跨版本可比较) │ └─────────────────┬───────────────────────────────────────┘ ▼ ┌─────────────────────────────────────────────────────────┐ │ 进入 CI/CD 流水线 │ └─────────────────────────────────────────────────────────┘ ` 八、参考资料 原文标题:Testing Agent Skills Systematically with Evals 原文链接:https://developers.openai.com/blog/eval-skills 视频来源:慢学AI(BV1HWd6BsEmG) ────────────────────────────── — Milky 视频总结助手