三个数字及其来源
- ≥90%紧急邮件召回率,CI 下限
如果分类器的改动使合成门禁集上的紧急邮件召回率低于 90%,构建就会失败。
来源:eval-floors.ts - 95.5%Silent 精确率
在人工标注的真实邮件集上测得:Klorn 归入 Silent 的 22 封邮件中,有 21 封被标注为 silent。2026-08-26 运行三次,每次结果相同。
来源:eval/README.md - 0未经批准的操作
发送、永久删除以及转发到外部地址,都会等待批准,并记录一份与所发出内容哈希绑定的回执。你自己设置的自动回复规则也算作批准。
由代码强制执行:attention-floor.ts
不公布总体准确率。真实邮件集早于 Meeting 和 Info 分类:它的标注 只使用三个分类,因此无法为另外两个分类打分,需要按全部五个分类重新标注。在重新标注之前, 我们不会引用它的总体准确率。上面的 Silent 精确率来自同一个数据集, 也有同样的局限。
评测如何运行
仓库中的数据集
packages/api/eval/ 中有两个数据集。真实邮件集(real-eval-set.json)包含
53 封真实邮件,经人工标注并清除了个人数据。合成门禁集
(judge-eval-set.json)包含 56 封虚构邮件,不含任何个人数据。
运行器
在 packages/api 中,pnpm eval:real 用真实邮件集为分类器打分;
pnpm eval:judge 对合成集做同样的事。
CI 中的门禁
每个改动分类器的拉取请求,都会让模型跑一遍合成门禁集,并强制执行三项 下限:总体 80%、紧急邮件召回率 90%、Silent 精确率 90%。任何一项低于下限,运行即失败。 如果任务没有模型密钥(例如来自 fork 的拉取请求),会跳过并给出提示,而不是算作通过。
第二项检查不需要模型,每次 CI 测试都会运行:基于规则的快速路径和关键词兜底 在同一数据集上必须达到 70%;漏判的紧急邮件必须落入 Queue 而不是 Silent; 营销邮件绝不能被标为紧急。
真实邮件集也会在同样的拉取请求上打分,但仅作为报告。它的紧急分类只有 4 封已标注 邮件,太少,90% 的下限没有意义。
已于 2026-10-14 对照仓库核实。发现有误?告诉我们。