OpenAI 技能评测框架深度分析:从凭感觉到拿证据
核心问题:"感觉变好了" vs "真的变好了"
迭代 Agent 技能时,最难的判断是:改动是"改进"还是"回归"?一个版本感觉更快,另一个似乎更稳定——然后一个回归悄悄溜进来:技能没有触发、跳过了必要步骤、留下了多余文件。
OpenAI 官方博客 "Testing Agent Skills Systematically with Evals" 提供了一个系统性的评测框架。以下是深度分析和 SkillsAgent 的应用建议。
四类目标框架
OpenAI 建议在编写技能之前,先将"成功"拆分为四类可测量的目标:
| 目标类型 | 核心问题 | 典型检查 |
|---|---|---|
| 结果(Outcome) | 任务完成了吗? | npm run dev 启动成功? |
| 过程(Process) | 执行了预期步骤吗? | 是否运行 npm install? |
| 风格(Style) | 输出符合规范吗? | Tailwind 类名 vs CSS modules? |
| 效率(Efficiency) | 有无浪费? | 命令循环?token 超标? |
四类目标覆盖了"结果→过程→质量→效率"的完整链路。
小数据集的力量
不需要大规模 benchmark。10-20 个精心设计的 prompt 就能发现回归问题。关键是覆盖四类触发场景:
- 显式调用 — "Use the $skill-name skill"(验证直接激活)
- 隐式触发 — 描述场景但不提技能名称(验证 name/description 质量)
- 上下文触发 — 加入真实世界上下文(验证泛化能力)
- 负向控制 — 相邻但不该触发该技能的请求(验证误触发)
双层评测机制
第一层:确定性检查(快速可解释)
使用 codex exec --json 捕获结构化事件流(JSONL),然后编写简单检查:
// 检查是否运行了 npm install
function checkRanNpmInstall(events) {
return events.some(e =>
e.item?.type === "command_execution" &&
e.item.command.includes("npm install")
);
}
// 检查 package.json 是否存在
function checkPackageJsonExists(dir) {
return existsSync(path.join(dir, "package.json"));
}
价值:每一步都可追溯,回归问题有精确解释。
第二层:Rubric 评分(模型辅助质量评估)
对于主观质量(代码风格、约定遵循度),使用 --output-schema 约束模型输出为结构化 JSON:
{
"overall_pass": boolean,
"score": 0-100,
"checks": [
{"id": "vite", "pass": true, "notes": "..."},
{"id": "tailwind", "pass": true, "notes": "..."}
]
}
价值:可量化、可比对、可追踪趋势。
核心洞察
1. 评测先行,技能后置。这是产品思维的工程化:先写"完成定义"(Definition of Done),再开始写技能。
2. 小数据集就能发现问题。10-20 个设计精良的 prompt,就能覆盖核心场景。随着遇到真实失败逐步扩充。
3. 双层互补。确定性检查回答"做了没?",Rubric 评分回答"做得对不对?"
4. 事件流是白盒调试的基石。JSONL 追踪将调试从"输出看起来不对"变为"第 3 步执行了错误的命令"。
在 SkillsAgent 的应用
SkillsAgent 目前有 45,000+ 技能。以下是 OpenAI 框架与平台六维评分的映射:
| SkillsAgent 维度 | OpenAI 目标 | 映射关系 |
|---|---|---|
| 实用性 (25%) | Outcome + Process | 任务完成度 + 步骤正确性 |
| 结构完整性 (15%) | Style | 输出规范遵循度 |
| 指令清晰度 (20%) | Process | 步骤可执行性 |
| 可复现性 (10%) | Outcome + Efficiency | 结果稳定性 + 无浪费 |
| 专业深度 (20%) | Style | 方法论深度 |
| 差异化 (10%) | Outcome | 独特价值交付 |
行动计划:
- 为 Top 5 角色场景(产品经理、AI/ML 工程师、全栈开发等)建立评测 prompt 集
- 实现 JSONL 事件流解析 + 确定性检查框架
- 集成 Rubric 评分,评估主观质量
- 目标:评分 ≥ 8.5 的技能自动通过评测
结论
从"凭感觉"到"拿证据",是技能开发最重要的进化。运行 Agent、记录行为、用小而精的检查项评分。一旦这个闭环建立,每次迭代都有据可依。