smevals:把「模型哪个更强」改成「哪套模型加 Harness 更适合这项工作」
smevals:把「模型哪个更强」改成「哪套模型加 Harness 更适合这项工作」
分类:tip · AI coding / 评测基础设施 时间:2026-07-31 发布,8 月 1 日仓库持续更新 信源:Simon Willison 与 Prime Radiant 博客;smevals GitHub 仓库
它解决的是一个很具体的浪费
前沿模型越来越强,价格也在往上走;本地模型和便宜模型则越来越多。团队真正想知道的,通常不是「排行榜第一是谁」,而是:在我这类任务、这个提示词、这套工具调用和这个 Agent Harness 下,哪个模型的单位成本最低、失败方式最少。
smevals 是一个 Python CLI,把评测拆成五个对象:eval 是一组挑战,task 是单个任务,config 记录模型与提示词等配置,run 保存一次实际运行,grade 则是对运行结果的评分。配置用 YAML 写,执行和评分分开;同一批运行结果可以换一个 grader 重新评测。
它怎么跑
一个最小评测目录大致包含 eval.yaml、tasks/、configs/、graders/、checkers/ 和一个 runner。命令可以这样串起来:
uvx smevals run . -g:执行任务并立即评分;uvx smevals grade . --regrade:更新评分规则后重评已有结果;uvx smevals report .:输出模型与配置的分数汇总;uvx smevals serve .:启动本地结果浏览器;uvx smevals build .:构建可托管的静态 HTML 报告。
llm CLI,也可以接 Codex、Pi 或自定义 Agent。Checker 既能做确定性检查,比如 XML 是否有效、输出是否包含某个字符串,也能调用另一个模型做裁判,并返回 score、metrics、tags、notes 等结构化结果。为什么它对 AI coding 有用
AI coding 的难点正在从「能不能生成一段代码」转向「能不能在仓库里完成任务、跑过测试、遵守权限、留下可审计产物」。因此真正应该评测的是配置组合:模型 + system prompt + 工具集 + Harness + 测试与回滚规则。
这与 Codex 的 Sol 规划、Luna 执行工作流正好接上:不要凭体感说「便宜模型够用了」,把相同任务交给不同模型和 Harness,记录运行产物,再用同一个 grader 比较。
边界也要说
smevals 不是现成的 SWE-bench 替代品,也不会自动替你设计高质量任务。评测任务可能太小,checker 可能奖励格式而不是正确性,LLM judge 还会引入偏差;不同运行之间的随机性、工具权限和数据泄漏也要自己控制。它的价值是把评测变成一个小而可复现的工程目录,而不是凭印象选模型。
原文与证据:
- https://simonwillison.net/2026/Jul/31/smevals
- https://primeradiant.com/blog/2026/smevals.html
- https://github.com/prime-radiant-inc/smevals
- https://github.com/prime-radiant-inc/smevals/commits/main