# Testing Agent Skills Systematically with Evals：系统化评估 Agent 技能的实践框架

> 原文链接：https://developers.openai.com/blog/eval-skills/
> 作者/来源：Dominik Kundel, Gabriel Chua / OpenAI
> 阅读日期：2026-04-02

## 一句话总结
提出一套 8 步实践框架，用于系统化地评估 Codex agent 的技能（skill），核心理念是将 eval 定义为"prompt → 捕获的运行轨迹 → 一组检查 → 可比较的分数"。

## 核心论点

文章的核心主张是：agent 技能的评估不应依赖主观判断，而应建立系统化的 eval 流程。作者提出了一个从"定义成功指标"到"战略性扩展"的 8 步框架，使得 agent skill 的开发和迭代有据可依。

这套方法论强调**先定义再构建**的原则——在实现 skill 之前，先确定四个维度的成功标准：outcome goals（任务完成）、process goals（正确的工具调用和步骤序列）、style goals（输出规范遵循）和 efficiency goals（最小化不必要操作）。这种前置指标定义的做法，避免了开发者在事后"补测试"时的盲区。

另一个重要论点是 eval 应该同时包含**确定性检查和定性评估**两个层次。确定性检查通过解析 JSONL event stream 验证具体行为（如"agent 是否执行了 `npm install`"），而定性评估则利用 model-assisted evaluation 对代码风格、架构模式等主观要素打分。两层评估互补，既保证了基本行为的正确性，又覆盖了难以用规则量化的质量维度。

## 关键概念

- **Skill**：由 `SKILL.md` 文件定义的 agent 能力模块，包含 YAML 元数据（名称、描述）和 Markdown 指令。名称和描述对 skill 的触发概率有重要影响。
- **JSONL Event Stream**：通过 `codex exec --json` 生成的结构化事件流，包含 `item.started` / `item.completed` 等事件，实现确定性评估的基础。
- **Deterministic Graders（确定性评分器）**：基于 JSONL trace 实现的客观检查，验证命令执行、文件创建、步骤序列等具体行为。
- **Rubric-Based Assessment（基于评分标准的评估）**：使用 `--output-schema` 约束 LLM 输出为结构化 JSON，对照预定义标准进行主观质量评估。
- **Prompt CSV**：小规模（10-20 条）的 prompt 测试集，包含显式触发、隐式触发、上下文变体和负样本四类场景，随实际失败案例有机增长。
- **Negative Controls（负样本控制）**：测试 skill 不应该被触发的场景，确保 skill 的触发条件精确，避免误触发。

## 实践建议
1. 在构建 skill 之前先定义成功指标，覆盖 outcome、process、style、efficiency 四个维度
2. 从 10-20 条 prompt 的小规模测试集开始，逐步根据生产环境中的失败案例扩展
3. 先实现确定性检查（命令执行验证等），再叠加 model-assisted 的定性评估
4. 手动触发 skill 以暴露隐含假设，包括触发条件、环境依赖和执行前提
5. 将 eval 纳入持续集成流程，使回归可发现、失败可解释
6. 随着 skill 成熟，逐步添加 token 预算监控、构建验证、运行时冒烟测试等深度检查

## 独到观点
文章最独特的贡献在于提供了一套**极其具体的、可直接落地的** eval 实践方案，包括代码示例、文件结构和 grading 脚本。与其他停留在方法论层面的 eval 文章不同，OpenAI 的这篇指南直接展示了如何用 `codex exec --json` 捕获执行轨迹并编写验证脚本。另一个亮点是将 skill 触发的精确性（包括隐式触发和负样本测试）纳入评估范围，这在其他 eval 文献中较少被强调。

## 与其他文章的关联
- 与 [Anthropic: Demystifying Evals](29-anthropic-demystifying-evals.md) 形成互补：Anthropic 侧重 eval 的整体方法论，OpenAI 侧重具体的技能级 eval 实践
- 与 [OpenHands: Evaluating Agent Skills](28-openhands-evaluating-skills.md) 主题直接相关，可对比两者在 skill evaluation 上的不同方法
- 确定性检查 + 定性评估的双层方法与 [LangChain: Evaluating Deep Agents](31-langchain-evaluating-deep-agents.md) 的 eval 策略相呼应
- Skill 的模块化设计理念与 [12-Factor Agents](25-humanlayer-12-factor-agents.md) 中"Small, Focused Agents"原则一致
- [Anthropic: Infrastructure Noise](30-anthropic-infrastructure-noise.md) 讨论的噪声问题正是 eval 设计中需要控制的干扰因素
