smevals:用于评估模型、提示词与执行框架的小型评测工具

Simon Willison2026-08-02 05:05

概览

smevals 是一个用于运行小型评测套件的工具,目标是帮助回答不同模型在特定任务上的能力问题。它可以针对不同模型配置运行同一组任务,并根据预先定义的检查规则对结果进行评分。

这个工具适用于评估:

  • 不同模型的输出能力
  • 不同系统提示词的效果
  • 不同模型参数组合
  • 不同 agent harness 或执行框架

基本使用方式

官方给出的快速流程可以概括为两步:

  1. 让编码 agent 运行以下命令,了解工具用法:
uvx smevals docs
  1. 然后让它帮你构建一个 eval suite。

一个 eval 通常表现为一个目录,目录中包含若干 YAML 文件。创建完成后,可以用下面的方式针对多个模型运行:

uvx smevals run path-to-eval/ -m gpt-5.5 -m claude-opus-4.6

运行与评分分离

smevals 将“运行任务”和“评分结果”分成两个阶段。

运行完成后,可以使用已定义的检查规则进行评分:

uvx smevals grade path-to-eval/

随后可以启动本地 Web 服务查看结果:

uvx smevals serve path-to-eval/

也可以使用:

uvx smevals build

将报告构建为静态 HTML,便于托管到任意静态站点环境中。

示例中还展示了一个用于评估模型写俳句能力的评测套件,检查模型是否能够准确回复三行非空文本。报告界面包含排行榜、近期运行记录、近期评分、标签通过率、测试提示词以及评分器细节等信息。

核心概念

smevals 对评测流程做了一组术语定义:

  • eval:一组挑战集合,用来回答关于模型能力的问题。例如:某个模型生成 SVG 的能力如何?
  • task:eval 中的具体挑战。例如:“生成一张鹈鹕骑自行车的 SVG”。
  • config:运行 eval 时使用的配置。每个 config 通常指定一个待评估模型,也可以包含系统提示词、模型参数或 agent harness 等设置。
  • run:记录某个 config 执行某个 task 时发生了什么。
  • runner:执行 run 的脚本。
  • grader:用于评估一个或多个 run 的组件,会产出 grade。
  • grade:评分结果。
  • check:grader 执行的一系列检查,可以是简单规则,例如检查输出中是否包含某个字符串,或验证输出是否为合法 XML。
  • checker:更复杂的自定义检查脚本,也可以调用其他模型来判断某次运行结果。

为什么值得关注

模型评测在实际应用中往往不只是比较“哪个模型更强”,还需要比较提示词、参数、执行框架和任务设计的组合效果。smevals 的特点是将这些变量放入统一的评测结构中,并提供运行、评分和报告生成流程。

它更适合小规模、针对性强的评测场景,例如:

  • 验证某个模型是否适合特定产品任务
  • 比较多个提示词版本的稳定性
  • 检查模型输出是否满足格式约束
  • 为 agent 工作流设计回归测试
  • 用可复现方式记录模型配置表现

对于需要频繁试验模型、提示词和 agent harness 的团队来说,这类轻量评测工具可以帮助把主观体验转化为更可追踪的实验流程。

评论

请登录后发表观点

暂无数据