Jev 是专用于 Agent 快速决策层的小模型,在意图分类(SNIPS 97.9%)、Shell 命令风险检测(98.2% 安全放过率)、工具路由等场景表现出色,适合替代 LLM 处理高频窄决策。
测试模型:jev-1.13.0 · 日期:2026 年 9 月 · 代码及原始结果:github.com/Aitejiu/jev-harness-lab
一次黑盒工程评估:10 个公开数据集、约 22,500 次 API 调用、52.2M 输入 tokens、总成本 $2.19。
Jev 是 TypeSafe AI 的"System One"决策模型。你向它发送一个状态加上类型化问题;它返回带概率和置信度的类型化答案。它从不生成文本——每次调用约花费 $0.00004,耗时 0.3s。这使其成为智能体 harness"快思考层"的候选者:智能体每轮都要做出的大量窄决策。
我花了几天时间测量它在哪些场景真正有效。
适用(可直接用于 harness):
不适用(负面结果):
两个工程教训比基准更有价值:
对于模糊语义判断,正交分解 + 代码组合优于单问题提示(shell-gate 假阳性从 14.5% 降至 1.8%)。
对于多标签决策,先让选项竞争,再让 noul 验证——多技能路由从 9.0% 提升到 81.0% 的 R@1。
模型给出经过校准的局部判断;代码掌控控制流。
POST https://api.typesafe.ai/v1/systemone
Authorization: Bearer $TYPESAFE_API_KEY
{
"state": "...", # string | object | array, text only
"model": "jev-latest",
"questions": { "..." : Question }
}
已知限制,均在测试中验证:
choice 上限 255 个选项——超过则需拆分为多个阶段。
state + questions 共享约 32k tokens;大型语料库须先检索。
仅支持文本;英语优先(中日韩语准确率下降)。
价格参考:$42 / 十亿输入 tokens。
每个实验遵循相同流程(eval/ 在仓库中):加载数据集 → 构建 state/questions → 并发调用 + JSONL 缓存 → 阈值扫描、覆盖率曲线、校准和成本。
指标定义很重要,这里明确说明:
阈值扫描——将返回的概率视为分数;报告各阈值下的 precision/recall/F1/FPR。
置信度门控曲线——noul 没有 confidence 字段,因此用 max(p, 1-p) 代理确定性;报告覆盖率与覆盖率内的准确率。
条件 Hit@1(SkillRet)——gold 候选在短列表中且 Jev 选中的查询比例;将选择器与检索解耦。
成本——输入 tokens × $42/B(输出 token 计费若有会略增成本)。
数据集:InjecAgent、neuralchemy prompt-injection、综合工具输出 injection、BEIR SciFact、SNIPS、Banking77、MetaTool ToolE、BFCL v3、SkillRet、SkillRetBench、RouterBench、Who&When,外加 130 条命令的 shell 风险集。
真实数据:17 个用户工具 × 62 条攻击者指令(InjecAgent)。
按攻击类型(t=0.5):数据泄露 98.5% 召回率,直接危害 80.6%;良性样本平均分 0.03。
门控:确定性 ≥ 0.90 自动处理 41.1% 的流量,且达到 100% 准确率。
成本:1,105 次调用 $0.0213;P50 0.30s。
综合工具输出(注入包装在 WebFetch/Read/GitHub/Email 结果中):t=0.5,P 97.1 / R 85.0 / FPR 4.9%。漏检为编码绕过(Cyrillic 同形字、代码片段伪装)。
需注意的数据集(neuralchemy,942 条):标签包含"有害内容请求",而我的判断标准未要求此项——t=0.5 时召回率降至 55.1%,纯属任务定义不匹配。另注:0–0.1 分数段仍包含 16.6% 的恶意样本。低分不是安全保证。
60 条查询 × 15 个候选;Jev 对每个(查询,文档)对打 0–3 分,然后重排序。
平均分:相关 2.38 vs 不相关 0.65。$0.028 / 900 对,P50 0.31s。
MetaTool 对比:论文在同一"相似选项"子任务上报告 ChatGPT 达 69.1%(不同精确设置——作为量级参考)。错误集中在近似重复工具:描述需要明确的 not_for 边界。
设计:四个正交 noul 问题(破坏性 / 触及秘密 / 数据外泄 / 不可逆)+ 将其组合为 deny/review/allow 的代码。
v1 漏掉了可用性危害(fork 炸弹、重启、防火墙锁闭),直到判断标准明确包含它们。分解的收益体现在假阳性上:14.5% → 1.8%。
任务:给定请求加函数列表,是否应调用任何函数?1,140 个样本。
典型失败模式:"技术上可能"被误认为"语义上意图"(通用的 requests.get 被判为相关)。
目标:不再向主模型注入整个技能目录。用一次快速判断路由每个请求,只加载胜者。
SkillRet(6,006 个技能,300 条查询)——将选择器与检索解耦:
SkillRetBench(501 个技能,官方基准,5 个设置的宏平均):
架构迭代是值得关注的部分(多技能组合 R@1):
v2 失败是因为每个候选的 noul 分数没有竞争:一切围绕 0.5 聚集(top-10 平均 0.56),合并排序后是噪声。v3 修复了这个问题:分块 choice 产生 15 个有真实概率分布的候选,然后一次请求用 15 个 noul 问题验证集合成员。先竞争,再验证。
成本:hybrid 方案 $0.650 / 500 条查询(P50 2.07s);生产形态的"BM25 top-50 + Jev" $0.072 / 500 条查询,P50 0.33s(R@1 54.8%)。
模型难度路由(RouterBench,825 个样本):路由决策准确率 51.3%——无信号;分数偏向"小模型能处理"(中位数 0.11)。中文子集 14.6% vs 英文 57.7%。预测哪个模型会失败不是自然语言属性。
轨迹失败归因(Who&When,184 条轨迹 × 8 步):步级 AUROC 0.560,top-1 定位 16.3%(随机基线 12.5%)。标签要求"从未被纠正"——跨步因果,超出 System One 模型的适用形态。
在相同候选列表上(SkillRouter 论文,约 80K 池,top-20):
论文自己的结论:LLM-as-judge 基线"不具备竞争力"。让通用 LLM 直接排序输给专用重排序器。Jev,零样本且未经训练,在 conditional 指标下与微调重排序器处于同一量级(池大小和指标不同——作为量级参考,非对照实验)。
SkillRet 论文另一个值得记住的发现:当第一阶段检索器很强时,开箱即用的重排序器可能帮倒忙(nDCG@10 从 83.5 降至 74–78)。如果你把 Jev 接在强embedding检索器上,重新测量边际收益。
判断标准就是决策边界。把"压力"和"合理升级"合并为一个问题,你会得到模糊的 0.47;拆开后得到 0.04 / 0.96。
正交分解 + 代码组合优于一个巧妙的提示。Shell 门控假阳性 14.5% → 1.8%;工具相关性 59.5% → 77.0%。
高分可靠;低分不安全。注入数据中,所有 ≥0.1 的样本 90%+ 是恶意——但 0–0.1 段仍包含 16.6% 恶意。保留人工审核带。
置信度 ≠ 正确性。高置信度意味着模型确信它正确应用了你的定义——包括你的错误(我见过置信度 1.0 的错误路由)。
多标签:先竞争,再验证(第 3.6 节)。
尊重能力边界。只问文本中局部可观察的模式——不问模型能力(51%),不问跨步因果(AUROC 0.56)。
两个集成随本工作发布:
MCP server(三个工具:scan_injection、bash_risk、rank_candidates):
uvx jev-mcp # PyPI;或:uvx --from git+https://github.com/Aitejiu/jev-harness-lab jev-mcp
Agent skill(技能路由,只加载胜者):
npx skills add Aitejiu/jev-harness-lab --skill jev-skill-router
两者均需 TYPESAFE_API_KEY。
git clone https://github.com/Aitejiu/jev-harness-lab
cd jev-harness-lab
uv venv --python 3.12 .venv
uv pip install -r requirements.txt
echo "TYPESAFE_API_KEY=<your-key>" > .env
.venv/bin/python eval/run_injecagent.py --concurrency 6 # 注入检测
.venv/bin/python eval/run_rerank.py --queries 60 # 重排序
.venv/bin/python eval/run_bash.py --variant v2 # shell 门控
.venv/bin/python eval/run_skillretbench.py --variant hybrid --per-setting 100
所有原始结果提交在 eval/results/ 下;加 --report-only 从缓存重新生成报告。数据集公开,按 eval/README.md 分别下载。
单一模型版本(jev-1.13.0);升级后重新运行。
部分数据集为采样或手工构建(130 条 shell 命令、121 条综合注入、60 条 SciFact 查询)——可能存在选择偏差。
阈值是参考值;在你自己的数据上校准(用覆盖率–准确率曲线)。
成本估算仅含输入 token。
英语优先;CJK 任务需要专门验证。
SkillRetBench 的 NaiveLLM/SADO 基线按数据集作者的设定模拟。
如果你构建智能体基础设施,想交流 harness 中决策模型的经验,仓库 issues 开放——或在 X 上找我。22,500 次调用成本 $2.19;教训比 tokens 便宜。