触发条件
当用户的意图是「评测/测试/检查某个 openyida 技能的质量」时触发。典型表述:
- "评测一下 yida-dashboard 技能"
- "帮我跑一下 skill eval"
- "检查这个技能的质量"
- "这个技能能不能准出?"
- "评估 yida-report 技能"
- "测试下路由准确率"
前置条件
- 确认目标技能名称(如
yida-dashboard)。若用户未指定,列出可用技能供选择:bashls yida-skills/skills/ - 确认 Node.js 版本 ≥ 18:
bash
node --version - 确认依赖已安装:
bash
npm install
工作流
Step 1 — 快速评测(默认,无副作用)
大多数情况使用 pipeline 模式,它会自动串联所有评测步骤:
bashnode scripts/eval/pipeline.js --skill <技能名>
该命令自动执行以下全部步骤:
- 静态校验(文档规范性 + 可维护性)
- 路由测试(命中率 + 混淆对)
- 安全合规检查
- 覆盖度分析
- 10 维度综合评分 + 加权总分
- 准出门槛判定 + 自动优化建议
产物目录:project/.cache/eval/pipeline/<run-id>/
读取结果:
bashcat project/.cache/eval/pipeline/*/pipeline-report.json | tail -1
Step 2 — 解读结果
从 pipeline-report.json 中提取关键信息,向用户报告:
- Pipeline 状态:
status字段(pass / fail / warn) - 各步骤结果:
steps[]数组的 step / status / score / detail - 总分:
scorecard.overall(0-100 分) - 准出判定:
scorecard.gate(pass = 可准出,fail = 不可准出) - 硬门槛详情:
scorecard.hardGates中每项的状态 - 优化建议:
suggestions[]中按 priority 排序的改进项
Step 3 — 深度评测(可选,用户要求时)
如果用户要求更深度的评测(如 A/B 对比、JUnit 报告):
bash# A/B 基线对比(with_skill vs without_skill) node scripts/eval/runner.js --mode baseline --skill <技能名> --format junit # 单独维度评测 node scripts/eval/runner.js --mode doc-quality --skill <技能名> node scripts/eval/runner.js --mode comprehensive --skill <技能名>
Step 4 — Web 控制台(可选)
如果用户希望在浏览器中查看评测结果:
bashnpm run eval:dashboard
然后打开 http://127.0.0.1:4500 查看控制台。
Step 5 — 输出评测报告
向用户呈现结构化报告:
## 技能评测报告:<技能名> ### Pipeline 状态:<PASS/FAIL/WARN> | 步骤 | 状态 | 分数 | 详情 | |------|------|------|------| | 静态校验 | ✔/✗ | xx | ... | | 路由测试 | ✔/✗ | xx% | ... | | 安全合规 | ✔/✗ | xx | ... | | 覆盖度 | ✔/✗ | xx% | ... | | 综合评分 | ✔/✗ | xx/100 | ... | | 准出判定 | ✔/✗ | - | ... | ### 评分卡(10 维度) | 维度 | 得分 | 权重 | 加权得分 | |------|------|------|----------| | 规范性 | xx | 10% | x.x | | 可维护性 | xx | 5% | x.x | | 路由准确率 | xx | 15% | x.x | | ... | ... | ... | ... | | **总分** | **xx** | | | ### 准出门槛 | 门槛 | 要求 | 实际 | 状态 | |------|------|------|------| | 触发准确率 | ≥ 85% | xx% | ✔/✗ | | 步骤完成率 | = 100% | xx% | ✔/✗ | | 功能测试通过率 | ≥ 95% | xx% | ✔/✗ | | 输出格式正确率 | ≥ 85% | xx% | ✔/✗ | | 安全合规 | 0 failures | xx | ✔/✗ | ### 优化建议(前 3 条) 1. [blocker/critical/high] ... 2. ... 3. ...
可用评测模式
| 模式 | 命令 | 说明 |
|---|---|---|
| pipeline | --mode pipeline | 全自动闭环(推荐) |
| doc-quality | --mode doc-quality | 文档规范性 |
| routing | --mode routing | 路由准确率 |
| safety | --mode safety | 安全合规 |
| coverage | --mode coverage | 覆盖度 |
| comprehensive | --mode comprehensive | 10 维度评分 |
| baseline | --mode baseline | A/B 基线对比 |
| e2e | --mode e2e | 端到端基线(需 OPENYIDA_E2E=1) |
| generate | --mode generate | 真实生成(需 OPENYIDA_E2E=1) |
WHEN NOT
- 不处理应用搭建、页面开发、数据管理等开发任务
- 不处理非 openyida 技能的评测
- 不修改技能文件——仅读取和评测(除非用户明确要求根据建议修改)
- 不执行需要真实宜搭资源的评测(e2e / generate),除非用户明确要求
- 不与
yida-dashboard、yida-report、yida-create-process等搭建类技能混淆


