# 一、评测工具介绍

在微信小程序 AI 开发模式开发过程中,很多开发者会遇到 SKILLs 表现不符合预期、调试难度大、排查问题耗时久的痛点。 为帮助大家快速解决这一难题,推出 SKILLs 评测工具,可基于已生成的原子接口、原子组件,模拟真实用户对话完成效果评测,自动分析问题、提供优化建议并输出完整评测报告。

当前暂未开放小程序 AI 模式的代码提审。开发者可使用「评测 SKILLs」进行自测,自测结果不能用于审核。微信团队后续会发布评测提审工具及评测通过标准。

1. 开发者全流程示意图:

2. 评测报告示例:

# 二、核心价值

本评测工具可帮助解决这些痛点:

1. 高效省时: 选取多条测试用例;分批输出结果,避免长时等待
2. 模拟真实对话场景: 基于已生成的原子接口与组件,自动模拟用户交互过程,还原实际运行环境,发现问题

3. 问题精准定位: 评测完成后自动生成多维度评测报告,清晰呈现问题所在及优化方向,包含:通过率、缺陷及改进建议、接口覆盖率、文档质量、组件信息等|

# 三、使用方法

⚠️ 在使用「评测 SKILLs」(wxa-skills-eval)前,必须在微信开发者工具上进行设置:手动打开工具->设置->安全设置,将服务端口开启。

# 1. 安装 wxa-skill-eval

  1. 下载链接: wxa-skills-eval 0.1.17
  2. 下载后按说明安装到 Coding Agent(例如 CodeBuddy 等工具)的 SKILLs 目录,安装成功后即可在对话中通过自然语言触发。

# 2. 模型配置(配置.env)

评测工具需要模型资源来生成对话驱动测试,并且对对话轨迹质量(准确度、体验等)进行评测,因此需要配置模型资源,开发者自行选择模型资源,给 Coding Agent 发送模型配置格式为:

BASE_URL: <模型 url>
API_KEY:  <模型调用 key>
MODEL: <模型名字>

# 3. 添加自定义评测集(可选)

评测工具会根据开发者的实现来自动构造各种对话意图,但如果开发者想添加更贴近自己业务的测评,可以编写自定义评测集,在发起评测时添加,评测集格式示例:

{
  "cases": [
    { "intent": "我驾照现在还剩多少分?这个记分周期被扣了几分了?" },
    { "intent": "这个记分周期我已经被扣几分了?什么时候清零?" },
    { "intent": "我的驾照分什么时候清零?下个记分周期从哪天开始?" },
    { "intent": "我驾照啥时候到期?是不是快过期了,还能开车吗?" },
    { "intent": "帮我看下我驾照现在状态正常吗?有没有被扣留、吊销或注销?" }
  ]
}

按此内容保存成 Json 文件,然后在下方红框界面上添加。

# 4. 自定义 checklist(可选)

评测工具会根据意图来自动构造各种 checklist,但开发者有自己的需要,也支持自定义 checklist,在自定义评测集文件条目中上传,上传格式如下:

{
  "cases": [
    {
      "intent": "case1",
      "checklist": [
        {
          "evidence": "是否...",
          "scoring_criteria": {
            "1.0": "展示授权卡片/授权按钮引导用户完成连接,或明确说明账号已授权可继续使用。",
            "0.5": "提及需要授权但引导不完整,用户难以完成下一步操作。",
            "0.0": "无任何授权相关引导,或对话无响应/直接结束。"
          }
        }
      ]
    }
  ]
}

按此内容保存成 Json 文件,然后在下方红框界面上添加。

# 5. 进行评测

填写开发者工具路径及小程序项目目录,让 Coding Agent 进行评测。(如:使用 wxa-skill-eval 评测这个小程序,项目路径:/path/to/weather, 建议每个 SKILL 跑至少 30 条 case,以保证覆盖率,导出到 /path/to/eval_output

# 6. 评测中

拉起评测进度页面

# 7. 输出报告

运行完成后打开 <workdir>/eval_report.html,即可看到评测报告

# 四、过程展示

  1. 澄清需要评测
  2. 填写用于评测的模型配置
  3. 评测完成并产出报告
  4. 评测报告

【注意事项】

  1. 评测 SKILLs 需要开发者自行配置模型信息,开发者需在自己的 Coding Agent 中输入对应的模型配置信息,该信息微信团队不会获取。建议使用较高智能度、参数量较大的模型来进行评测,模型智能度越高,评测质量会越好。
  2. 建议开发者提前准备好需要跑评测的微信测试号,该微信测试号需要包含各类业务流程信息(如登录权限、业务数据等),建议提前使用该账号登录微信开发者工具。
  3. 「下单」「支付」「发票」等接口需特别关注,为避免真实资金损失,建议使用测试号进行测试,关闭免密支付等能力。
  4. 半屏页面、卡片最大化、卡片操作相关评测,暂未支持,我们会尽快支持相关能力上线。
  5. 评测 SKILLs 已支持开发者上传评测集,详见3.3。
  6. 评测 SKILLs 已支持支持自定义 checklist,详见3.4。
  7. 人脸识别类业务,需要开发者本人在开发者工具手动操作扫码识别(该动作会中断评测任务,完成人脸识别后可继续进行)。
  8. 图片(如 P 图)、文件操作类(如文件转化)类业务,如开发者配置的模型本身不支持对图形、文件类的分析,则无法评估效果。需要开发者自行在真机测试。
  9. 硬件类评测,如开发者的设备需要近场联网,建议将设备放在操作评测工具的电脑附近。
  10. 该评测 SKILLs 仅用于开发者自测。