C1 · Skill 遵从 · 测试用例

对应框架维度:C1 Skill 遵从 状态:初稿 最后更新:2026-04-07


测试 Skill 说明

基于以下两个实际 skill 设计测试用例:

Skill 1: flight-selection

Skill 2: itinerary-planning


用例规范

每条用例包含以下字段:

字段 说明
ID 格式:C1-{维度缩写}-{序号}
维度 所属评测维度
Skill 测试的是哪个 skill
覆盖类型 完美匹配 / 部分覆盖 / 完全不覆盖
难度 简单 / 中等 / 困难
输入 用户消息 + 上下文
期望行为 agent 应该如何执行 skill
判定标准 Pass / Fail 的明确条件
评分方式 LLM-judge
Skill 配置 必须开启,列出需要的 skill

一、Skill 触发准确率(ST: Skill Triggering)

给定任务,是否命中了正确的 skill。

C1-ST-01 · 显式触发词命中


C1-ST-02 · 隐式场景触发


C1-ST-03 · 不应触发(边界识别)


C1-ST-04 · 两个 skill 应同时触发


C1-ST-05 · skill 边界识别(不应过度触发)


二、Skill 执行忠实度(SF: Skill Faithfulness)

执行结果是否符合 skill 规定的输出标准和约束。

C1-SF-01 · Step 0 阻断级检查(开口程)


C1-SF-02 · 日期弹性搜索规则(保持总时长)


C1-SF-03 · 廉航隐藏成本计算


C1-SF-04 · 输出契约完整性


C1-SF-05 · 通勤时间必须查地图


C1-SF-06 · Draft Proposal 用户确认流程


C1-SF-07 · 反模式检测(估算通勤时间)


三、Skill 边界识别(SB: Skill Boundary)

任务不在 skill 覆盖范围时,是否正确降级而非强行套用。

C1-SB-01 · 缺少前置条件(景点未确认)


C1-SB-02 · 超出 skill 范围的需求


C1-SB-03 · skill 内的能力边界(地图 API 限制)


四、Skill 冲突处理(SC: Skill Conflict)

用户意图与 skill 规范冲突时,处理是否合理。

C1-SC-01 · 用户要求违反 skill 原则


C1-SC-02 · 用户需求过于模糊无法执行 skill


五、多 Skill 编排(SM: Skill Multi-coordination)

同时触发多个 skill 时,是否正确组合执行。

C1-SM-01 · 两个 skill 的正确顺序


C1-SM-02 · 两个 skill 的信息传递


C1-SM-03 · skill 能力互补


六、Skill 执行流程完整性(SP: Skill Process)

是否严格遵循 skill 规定的执行步骤,不跳步、不简化。

C1-SP-01 · 偏好权重识别


C1-SP-02 · 基线搜索完整性(±1 天)


C1-SP-03 · ReAct 循环(搜索-分析-反思)


C1-SP-04 · 单向路线原则


七、多模态 Skill 执行(MM: Multimodal Skill)

Skill 如何处理多模态输入。

C1-MM-01 · Skill 处理图片输入


C1-MM-02 · 图片场景的 Skill 边界


C1-MM-03 · Skill 输出契约的多模态验证


评测执行说明

总用例数

维度 代号 用例数
Skill 触发准确率 ST 5
Skill 执行忠实度 SF 7
Skill 边界识别 SB 3
Skill 冲突处理 SC 1
多 Skill 编排 SM 3
Skill 执行流程完整性 SP 4
合计 23

Skill 覆盖类型分布

覆盖类型 数量 说明
完美匹配 15 任务完全在 skill 覆盖范围内
部分覆盖 4 任务只有一部分被 skill 覆盖,或缺少前置条件
完全不覆盖 1 没有相关 skill,测试不应触发
多 skill 3 同时涉及两个 skill 的协同

难度分布

难度 数量 占比
简单 1 4%
中等 8 35%
困难 14 61%

C1 是产品差异化核心,困难 case 占比高(61%)是合理的。

Skill 分布

Skill 单独测试 协同测试 合计
flight-selection 13 3 16
itinerary-planning 7 3 10

评分方式

方式 数量 说明
LLM-judge 21 需要对照 skill 规范判断执行忠实度
自动 + LLM-judge 2 部分可自动检查(如工具调用),部分需语义判断

关键评测点

C1 的评测重点在于验证 agent 是否:

  1. 理解 skill 的触发条件:显式关键词 vs 隐式场景,以及不应触发的边界
  2. 遵循 skill 的执行流程:不跳步(如开口程必须先走 Step 0)、不简化(如必须查地图不能估算)
  3. 满足 skill 的输出契约:输出包含 skill 规定的必需要素
  4. 识别 skill 的能力边界:什么能做、什么不能做、什么需要降级
  5. 遵守 skill 的反模式清单:不做 skill 明确禁止的事情

LLM-as-Judge Prompt 示例

评估 agent 是否忠实执行了 skill 规范。

【Skill 规范】
{完整 skill 定义,从 SKILL.md 读取}

【用户任务】
{用户消息}

【Agent 输出】
{agent 实际输出}

【评分维度】
1. 触发判断:是否应该触发该 skill?agent 的判断是否正确?(0-1)
2. 流程遵从:是否遵循了 skill 规定的执行步骤?有无跳步或简化?(0-2)
3. 约束遵守:是否遵守了 skill 的核心原则和约束?(0-1)
4. 输出完整:是否满足 skill 的输出契约?(0-1)
5. 反模式检查:是否违反了 skill 的反模式清单?有违反扣分。(0 或 -1)

总分:0-5 分
评分理由:[具体说明]

Judge 校准

每轮评测需对 judge 结果抽样 20% 人工复核(C1 比其他维度更需要人工校准):

后续迭代方向


附:Skill Schema 提取

基于现有两个 skill,总结出的隐式 Skill Schema 结构:

---
name: {skill_id}
description: {一句话说明}
compatibility: {依赖的工具/环境}
metadata:
  version: {版本号}
---

# {Skill 名称}

{角色定位描述}

## 核心原则
{3-6 条核心指导思想}

## 触发条件
{何时应该使用这个 skill}

## 执行流程
### Step 0/1/2...
{分步骤的详细操作指南}

## 输出契约
{输出必须包含哪些内容}

## 反模式
- ❌ {不应该做的事情列表}

建议:将此结构文档化为 SKILL_SCHEMA.md,作为所有 skill 的编写规范。