本教程系统讲解 TypeSafe AI 发布的 Jev 决策模型:先建立对「System One 决策模型」这一全新模型类别的认知,再完成 API Key 申请、Python 环境搭建与项目连接,最后通过示例项目 jev-playground 对模型的三种决策原语、意图路由、置信度门控、投机扇出、局限边界与延迟成本逐项实测。全部测试均配有真实运行结果作参考,帮助你判断这款模型是否适合自己的业务场景。
前置教程
如想快速开始学习本教程,你可能需要先完成以下前置教程:
- TypeSafe AI 发布 Jev 决策模型深度分析(行业资讯),本教程的理论背景,建议先了解 Jev 的产品定位、技术口径与行业争议。
- 大语言模型LLM服务商Api服务调用教程,本教程延续其 API Key 管理与接口调用的一般方法。
- Python+FastAPI在Windows环境下创建一个基础后端服务教程,本教程的示例项目基于 Python 与 FastAPI,需要你掌握 conda 环境与依赖安装基础。
资源下载
- 示例项目 jev-playground 源码夸克网盘下载地址,包含命令行测试工具与网页测试台完整源码。
- TypeSafe AI 官网,产品介绍与等待名单入口。
- TypeSafe 官方文档,API 规格与 SDK 参考。
- TypeSafe 控制台,注册登录与 API Key 管理入口。
1. Jev 模型简介
1.1 什么是 System One 决策模型
Jev 是 TypeSafe AI 于 2026 年 9 月 15 日发布的首个「System One 模型」。它读取一段非结构化文本(称为 state)和一组运行时定义的类型化问题,返回带校准概率的结构化决策,全程不生成任何自由文本。官方将其定位表述为「前沿智能的函数调用:非结构化状态输入,类型化概率决策输出」。
与两类既有方案相比,Jev 的位置如下:
| 对照对象 | 差异 |
|---|---|
| 生成式 LLM(含 JSON mode) | LLM 逐 token 生成,可能产生无法通过校验的输出,自报概率未校准;Jev 输出结构由构造保证,概率以校准为目标训练 |
| 传统分类器 | 分类器需要标注数据训练、每个任务一个模型;Jev 无需训练数据,问题用自然语言在运行时定义 |
「System One」取自卡尼曼的「系统 1 / 系统 2」认知框架,对应快速直觉式判断;「Jev」取自经济学家杰文斯,官方借杰文斯悖论表达其判断:智能成本每下降一个量级,会解锁更多数量级的新用途。
1.2 三种决策原语
Jev 的能力面由三种问题原语构成,全部在一次请求中并行求值:
| 原语 | 含义 | 返回内容 |
|---|---|---|
| Noul | 是/否判断 | 「是」的概率(0-1),0.5 附近表示无法判断 |
| Choice | 从预定义选项中选择 | 所选选项、完整概率分布、置信度,选项上限 255 个 |
| Score | 有序程度评分 | 概率加权均值分数(可落在两档之间)与置信度,等级 2-10 级 |
一个典型的请求体如下:
{
"state": "你好,我上周升级到专业版之后被扣了两次费用,导出报表功能一直报 500 错误...",
"model": "jev-latest",
"questions": {
"is_refund_related": {
"type": "noul",
"instructions": "工单内容与退款或重复扣费有关"
},
"department": {
"type": "choice",
"instructions": "这封工单应该交给哪个团队处理",
"criteria": {
"billing": "付款、扣费、订阅费用问题",
"technical": "功能故障、报错、性能问题",
"other": null
}
}
}
}
对应的返回结构:
{
"model": "jev-1.13.0",
"answers": {
"is_refund_related": { "type": "noul", "noul": 0.96 },
"department": {
"type": "choice",
"choice": "technical",
"confidence": 0.49,
"probabilities": { "technical": 0.61, "billing": 0.22, "other": 0.09 }
}
},
"usage": { "input_tokens": 511, "output_tokens": 78 }
}
1.3 核心特性与能力边界
Jev 采用自研的 RLCD(面向校准决策的强化学习)训练,目标是让概率与实际结果吻合:标称 90% 概率的答案,在大量同类预测中的正确率应接近 90%。同一 state 下的所有问题相互独立、并行求值,state 的 tokens 在一次请求内只计一次,这是批量调用成本优势的来源。
「零幻觉」仅指结构层面:Jev 不可能生成不存在的字段或选项,类型错误率为 0 是构造性保证;它完全可能在给定选项内高置信度地选错,结构正确与事实正确需要分开看待。
校准是群体统计口径,标称 90% 只保证大量同类预测的正确率接近 90%,对任何单条预测都不构成保证,因此高风险操作必须搭配置信度门控与人工复核。
官方文档披露的主要局限:对否定词、限定词按字面执行;不做算术、计数与日期比较;Score 输出适用于阈值与排序而非幅度插值;state 中的对抗性文本可能引导答案;仅支持文本输入且完全不具备文本生成能力。
1.4 定价与性能口径
| 项目 | 官方口径 |
|---|---|
| 输入定价 | 0.042 美元/百万 tokens(42 美元/十亿 tokens) |
| 输出定价 | 免费 |
| 端到端延迟 | 70-500 毫秒(美国西海岸实测) |
| 官方对比倍数 | 较 LLM 最高快 193.6 倍、便宜 444.6 倍(官方自建工作流评测) |
| 速率限制 | 250k tokens/秒,1200 请求/分钟 |
| 当前版本 | jev-1.13.0(别名 jev-latest、jev-preview) |
官方已主动披露这些倍数取自收益区间的高端,评测工作流由官方团队构建,定价可持续性未经验证。把官方数字当作量级参考,具体决策以自有数据实测为准,这正是本教程测试项目的价值所在。
2. 获取 API Key
2.1 官方控制台(推荐)
- 访问 console.typesafe.ai 注册并登录。
- 进入 Keys 页面(console.typesafe.ai/keys),点击创建 API Key。
- 复制形如
apikey_开头的完整密钥,后续填入项目配置。
官方博客确认 early access 正在持续放量,将开发者尽快移出等待名单。
2.2 备选渠道
若官方控制台暂未开放注册,有两种替代路径:在 typesafe.ai 首页点击 Join Waitlist 排队等候;或经 Vercel AI Gateway 调用(模型标识 typesafe-ai/jev),适合已有 Vercel 账号的开发者,使用网关地址与网关密钥替换 config.py 中的对应配置即可。
3. 环境搭建与项目配置
3.1 下载项目并创建环境
从资源下载区获取 jev-playground.zip,解压后得到如下结构:
jev-playground/
├── main.py # 命令行测试工具,含 7 个子命令
├── web.py # 网页测试台后端(FastAPI)
├── jev_client.py # API 客户端,含限流退避重试
├── config.py # API Key 与接口配置
├── requirements.txt # 依赖清单
├── static/index.html # 网页测试台前端
└── data/ # 测试数据集(工单与局限用例)
按以下命令创建环境并安装依赖:
conda create -n jev python=3.10 -y
conda activate jev
cd jev-playground
pip install -r requirements.txt
依赖清单包含 httpx(API 调用)、fastapi 与 uvicorn(网页测试台)、certifi(证书库)。若习惯使用 uv 安装,部分 Windows 机器上 uv 会报 invalid peer certificate 证书错误,此时改用 pip install -r requirements.txt 即可。
3.2 填写配置
打开 config.py,将从控制台获取的 API Key 填入:
# Jev API 配置,直接赋值,不使用环境变量
API_KEY = "" # 从 https://console.typesafe.ai/keys 创建后填入
BASE_URL = "https://api.typesafe.ai"
MODEL = "jev-latest" # 当前指向 jev-1.13.0,如需固定版本可改为 jev-1.13.0
# 官方输入价(美元/百万 tokens),输出 tokens 免费,仅用于成本估算
PRICE_PER_M_INPUT_USD = 0.042
jev-latest 是可变别名,后续版本升级后行为可能变化;需要结果可复现的测试建议固定为 jev-1.13.0。
4. 连接测试
4.1 首次连通验证
运行以下命令验证 Key 有效性与可用模型:
python main.py models
返回如下内容说明连接成功:
{
"models": [
{ "name": "jev-latest", "description": "The latest iteration of TypeSafe's System One Model: Jev" },
{ "name": "jev-preview", "description": "A preview version of `jev-latest`: should be better in most ways" }
]
}
4.2 离线核对请求格式
所有子命令均支持 --dry-run 参数,只打印请求体、不实际调用,适合未填 Key 时先理解请求结构:
python main.py primitives --dry-run
整条调用链路如下:
Key 与地址配置] --> B[jev_client.py
构造请求与限流重试] B --> C[api.typesafe.ai
POST /v1/systemone] C --> D[answers
类型化决策与概率]
5. 命令行功能测试
5.1 primitives:三种决策原语
python main.py primitives
测试工单同时包含重复扣费、报错与退订威胁三类信号,实测输出(jev-1.13.0,511 输入 tokens):
[noul] is_refund_related = 0.96
[choice] department = technical confidence = 0.49
完整分布: technical 0.61 / billing 0.22 / other 0.09 / support 0.08
[score] anger = 2.00 confidence = 1.00
读法要点:noul 的 0.96 表示「与退款相关」的概率;choice 的置信度 0.49 偏低,因为工单横跨账单与技术两类,模型以分布如实反映模糊性,低置信度正好可用于触发人工复核;score 的 2.00 落在最高档「明显愤怒」,符合文中存在退订威胁的事实。
同一用例在网页测试台「原语实验室」中的效果,左侧编辑问题,右侧以条形图展示三种原语的返回:

5.2 route:意图路由
python main.py route
对 8 条带预期标签的工单逐一分类并统计准确率。实测参考:8 / 8 全部正确,多数工单置信度 1.00,单条耗时 650-1800 毫秒。意图分类是 Jev 的舒适区,适合放在客服系统、消息分发的第一层。

5.3 gate:置信度门控
python main.py gate
对 6 条命令做破坏性概率判断,按阈值分级:概率大于等于 0.9 拦截、0.5-0.9 转人工复核、低于 0.5 允许执行。实测中语义含糊的 rm -rf ./build/output 判为 0.77,正确落入「转人工复核」区间;rm -rf / 判为 0.97,触发「拦截」。

5.4 fanout:投机扇出
python main.py fanout
同一份 state 携带 13 个问题,对比一次批量请求与 13 次单问题串行请求。实测对比:
| 指标 | 批量(1 次请求) | 串行(13 次请求) | 倍率 |
|---|---|---|---|
| 端到端耗时 | 1006 ms | 13301 ms | 13.2x |
| 输入 tokens | 780 | 5316 | 6.8x |
| 估算成本 | 0.000033 美元 | 0.000223 美元 | 6.8x |
state 的 tokens 在批量模式下只计一次,这是成本差的来源。该结果与官方「批量便宜约 12.2 倍、快约 10 倍」的口径量级一致,使用时尽量把相关问题上合并为一次批量请求。

5.5 limits:局限探针
python main.py limits
运行 6 个针对官方口径弱项的用例:字面化否定、计数、日期比较、算术依赖、间接表达、对抗文本引导。实测有两点值得注意:双重否定用例(「不是不好用」)模型给出了 0.17 的低概率,判断正确,说明 jev-1.13 对简单否定已比官方口径更稳健;而计数、算术、日期用例依然不可靠,验证了「此类运算应在代码层完成后把结论写入 state」的使用原则。

5.6 bench:延迟与成本基准
python main.py bench -n 10
对同一判断重复调用,输出最快、中位、均值、最慢延迟与单次成本。国内网络实测单次约 660-1600 毫秒,高于官方 70-500 毫秒的西海岸口径,差值主要来自跨境往返;每次调用约 324 输入 tokens,成本约 0.000014 美元,千次调用约 0.014 美元。

6. 网页测试台
命令行之外,示例项目还提供网页界面,启动后访问 http://127.0.0.1:8890:
python web.py
页面顶部为模型版本与定价信息,六个功能面板通过标签页切换:

六个面板与命令行子命令一一对应,并增加了可视化交互能力:
| 面板 | 对应子命令 | 交互能力 |
|---|---|---|
| 原语实验室 | primitives | 自由编辑 state 与三类问题,条形图展示概率分布 |
| 意图路由 | route | 单条分类、示例一键填充、全量测试准确率表格 |
| 置信度门控 | gate | 拦截/复核阈值滑块可调,三色仪表盘显示概率落点 |
| 批量对比 | fanout | 批量与串行的耗时、tokens、成本对比条 |
| 延迟基准 | bench | 每次调用延迟条形图与统计卡片 |
| 局限探针 | limits | 逐卡片运行用例,展示原始答案与观察点 |
前端为原生 JavaScript 单页实现,遵循统一的主题色与组件规范;你可以前往 jev-playground/static/index.html 查看完整的示例代码。
7. 落地建议:把 Jev 放进决策栈
综合官方文档与实测结果,Jev 适合承担语义判断类分支,与代码、LLM、人工按确定性程度分层协作:
确定性逻辑与运算] --> B[Jev 层
封闭集语义判断
约百毫秒级近零成本] B --> C[LLM 层
开放推理与内容生成] C --> D[人工层
低置信度复核与最终授权] style B fill:#e8f8f6,stroke:#16baaa,stroke-width:2px
三条落地建议:分类、路由、护栏、打分等高频低风险决策下沉到 Jev,推理与生成留在 LLM;不可逆操作与低置信度结果上升至人工;先用影子模式在生产流量旁路记录 Jev 的判断并与现有流程对照,校准阈值后再从低风险分支逐个切换。成本核算应以「单个被解决任务的总成本」为口径,同时计入上游预处理与模型版本升级带来的验证成本。
8. 总结
8.1 核心内容回顾
- Jev 是首个 System One 决策模型,输入非结构化文本,输出带校准概率的类型化决策,本身不生成文本
- 三种决策原语 Noul / Choice / Score 覆盖是与否、选哪个、多强烈的封闭集判断
- 「零幻觉」是结构保证,校准是群体口径,单条预测的正确性需要置信度门控与人工复核兜底
- 批量调用共享 state tokens,实测串行成本是批量的 6.8 倍、耗时的 13.2 倍
- 意图分类与置信度门控是其舒适区;算术、计数、日期比较应在代码层完成
8.2 常见问题与解答
问:请求返回 401 或 422 错误?
答:401 表示 API Key 无效,检查 config.py 中的 Key 是否完整复制;422 表示请求校验失败,检查问题的 type 是否为 noul / choice / score,choice 的 criteria 为对象、score 的 criteria 为字符串数组。
问:请求返回 429 或 529 错误?
答:分别是限流与服务过载,示例客户端已内置 1/2/4 秒退避重试;批量任务建议控制并发或降低调用频率。
问:启动或调用时出现 SSL_CERT_FILE 相关报错?
答:部分 Windows 的 conda 环境会把 SSL_CERT_FILE 指向不存在的路径,示例项目已在客户端显式使用 certifi 证书库规避;自写代码时同样建议 httpx 请求显式指定 verify=certifi.where()。
问:实测延迟为什么高于官方 70-500 毫秒?
答:官方口径在美国西海岸实测,国内访问含跨境网络往返,实测约 700-1100 毫秒属正常范围;对延迟敏感的业务可在应用层做异步调用或就近接入网关。
举手提问