Jev 是一款 AI 模型,输入文本后,它会返回“选择项、评估值,或 Yes/No 的概率”。它不生成文章,适合在应用中反复进行咨询分流之类的判断。价格为每 100 万输入 token 0.042 美元,输出免费。
目录
1. Jev 是什么
TypeSafe 于 2026 年 9 月 15 日宣布 Jev 开放早期访问。它并非用于返回长篇解释的聊天工具,而是面向在应用中判断“应转交给哪个负责人”“与条件的符合程度如何”之类问题的场景。
其特点是返回值的形式是固定的。但是,形式正确的回答,判断仍可能出错。若把公告中“没有幻觉”的说法理解为对任何内容都能给出正确答案,就会用错。
TypeSafe 将 Jev 称为“System One model”。根据公告,这一名称是该公司借用心理学家丹尼尔·卡尼曼《思考,快与慢》中快速、直觉的“系统 1”与缓慢、深思熟虑的“系统 2”之分而取的,并非整个 AI 领域统一的性能等级。官方 System One 说明将其描述为:能够理解自然语言,并返回软件可直接处理的带类型判断的模型。
Jev 这一名称取自经济学家威廉·斯坦利·杰文斯,表达的是这样一种看法:随着智能成本下降,其用途会呈数量级增长,类似于“杰文斯悖论”——效率提升反而使需求增加(白领会被AI消灭吗)。
- state
- 用于判断的材料。文本或 JSON 格式的数据。可放入咨询正文、用户选择的项目、用于分类的背景信息等。
- questions
- 要判断什么。放入“应转交给哪个负责人”之类的问题,以及候选项与判定标准。
由于输出选项事先已确定,无需从“大概是技术负责人吧”之类的文字中提取分类名称。另一方面,它不适合撰写回复文、代码或较长的判断理由。若与生成式 AI 配合使用,分工是:由 Jev 判定处理去向,只有在需要文本的场合才交给生成模型。
让 LLM 用 JSON 回答,有什么不同?
以 JSON 形式接收结果本身并非 Jev 独有的特点。例如 Claude 也提供结构化输出,可按照 JSON Schema 约束输出。若你已用生成模型实现了分类,仅仅因为“格式固定”,并不需要替换。
Jev 专门返回选择、分级评估、二元判断及其对应的概率。若在判断之后还需生成说明或回复,就用生成模型;若需要从文本中反复选择候选项,Jev 也可作为比较对象;若需要严格计算金额或日期,则用普通代码。也就是这样划分工作。实际中较为可行的做法是:用相同的输入与判定标准,先比较准确性、等待时间和费用,再做选择。
2. Choice、Score 与 Noul 的区别
官方 Primitives 说明将问题类型分为以下三种。即使是相似的问题,也应根据所需的输出来选择。
Choice:选择候选项
准备无顺序的候选项,例如“账单”“技术”“其他”,并从中选出一个。
本文中的选择、概率、数量等数值仅为说明用的示例。
为应对不符合任何选项的输入,应包含“其他”或“判断材料不足”。候选项设得过窄,形式上虽然有效,但分类会与实际情况不符。
Score:按等级衡量
用于描述有顺序的 2 至 10 个等级。返回的值是按各等级概率计算的加权平均,因此可能是小数。
3 个等级的计算示例:假设概率分别为 10%、40%、50%
没有信息
0 × 0.1 = 0
部分可以判断
1 × 0.4 = 0.4
复现步骤已齐全
2 × 0.5 = 1.0
= 1.4
介于“部分可以判断”与“复现步骤已齐全”之间。应将其理解为所定义的 0 至 2 尺度上的数值,而非正确率。
计算方法来源:TypeSafe 的“Primitives”和“API reference”。
使用 Score 的值来判断是否超过阈值是没有问题的。但官方提醒,不要在等级之间插值,据此反推“1.4 意味着实际量大约是这些”之类的数值,因为 Jev 1.13 的等级作为数值的校准较弱(Jev 1.13 的已知弱点)。
Noul:Yes 的概率
提问时应明确条件,例如“正文中是否写明当前服务无法使用”。
0.5 时,Yes 与 No 的可能性相当
这并不表示“严重程度为中等”。要衡量严重程度,应使用已定义等级的 Score。
- 写明条件的位置
- 在
instructions中明确写出。用于标识问题的键不会传递给模型进行推理,因此不要只靠问题名称来传达意图。 - confidence 字段
- Choice 和 Score 有该字段,Noul 没有单独的字段。
3. 类型保证与判断准确性是两回事
TypeSafe 公告中强调的类型保证,是指将输出约束在所定义的候选项或数值范围内。若设置为把咨询分给账单负责人还是技术负责人,就不会用自由文本生成一个未指定的部门名称。但是,能否选对正确的部门,则是另一回事。
根据官方说明,Choice 与 Score 的 confidence 是将概率分布的集中程度概括为 0 至 1 之间单个数字的统计量。这只是默认指标,若不适合你的用途,可以根据同时返回的 probabilities 自行计算其他指标。
- 候选项势均力敌
- confidence 会变低。
- 集中于一个候选项
- confidence 会变高。
不要把它理解为“0.9,所以这一条有 90% 的概率正确”。概率校准是对大量预测整体进行评估的特性,并不能说明每一条的正误。
用法上,可以编写根据 confidence 分支的代码。官方 Confidence 页面给出了让用户从“查看余额”“批准待处理的提款”“支持”中选择请求之后的分支示例如下(摘录。注释由作者翻译)。
if confidence < 0.5:
# 模型确实拿不准。不要猜测
route_to_human(user_message)
elif action.choice == "check_balance":
# 影响小。显示其他画面也可以撤销
show_balance(account_id)
elif action.choice == "approve_transfer":
if confidence > 0.9:
# 影响大,且确信度高。确认后执行
confirm_then_execute(account_id)
else:
# 影响大,确信度中等。先确认
ask_user_to_confirm(account_id)
0.5 这一下限用于拦截模型明确表示拿不准的情况。在此基础上,对于批准提款这类难以撤销的操作,要求比只读操作更高的阈值。注意即使超过 0.9,代码也不会立即执行,而是先进行确认。高 confidence 并不能代替执行权限。
0.5 和 0.9 只是示例,并非统一推荐值。官方也指出,合适的值取决于领域以及模型在你的用途中的表现,并建议从保守的阈值开始,用自己的数据进行调整。
4. 用于咨询分流的示例
例如考虑这样一条咨询:“点击发票的下载按钮也没有反应”。如果因为有“发票”一词就分给账单负责人,就会漏掉界面故障。若让 Jev 判断,则先说明各团队的职责边界,再让其选择候选项。
按照官方 Quick start 和 API 规范编写,请求格式如下。准备好 API 密钥,然后将 JSON 发送到 POST https://api.typesafe.ai/v1/systemone。
{
"model": "jev-1.13.0",
"state": "点击发票的下载按钮也没有任何反应。",
"questions": {
"team": {
"type": "choice",
"instructions": "请选择与正文主要请求对应的负责人候选项。",
"criteria": {
"billing": "关于账单金额、支付方式或重复扣款的咨询。",
"technical": "界面操作、错误或功能无法使用的问题。",
"review": "多个请求混在一起,或决定由谁处理的信息不足。"
}
},
"service_unavailable": {
"type": "noul",
"instructions": "正文中是否报告某个界面或功能目前无法使用?"
}
}
}
发送请求与收到响应后的处理
在控制台获取 API 密钥,并在 HTTP 请求头中指定 Authorization: Bearer <API_KEY> 和 Content-Type: application/json。密钥应通过服务器端环境变量等方式管理,不要嵌入到公开的 HTML 或代码仓库中。
若要先确认连通性,可以直接粘贴官方 Quick start 中的 curl 示例进行测试。先把密钥放入环境变量 TYPESAFE_API_KEY 再执行。这是用 Noul 询问一条英文咨询是否“表示紧急”的示例。
curl -X POST https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d @- <<'EOF'
{
"state": "Hi, I've been trying to connect my Stripe account for 3 days and the integration keeps failing. I'm losing sales. Please help ASAP.",
"model": "jev-latest",
"questions": {
"urgency": {
"type": "noul",
"instructions": "Does this message express urgency?"
}
}
}
EOF
若要发送前面的中文示例,请将 <<'EOF' 与 EOF 之间的内容替换为该 JSON。若从代码中调用,或让辅助开发的智能体阅读规范,官方提供了以下入口。
- 从 Python 调用:
pip install typesafe-sdk(需要 Python 3.10 或更高版本)。SDK 客户端会读取环境变量TYPESAFE_API_KEY,默认调用jev-latest。 - 用 Claude Code 开发:
claude plugin marketplace add typesafe-ai/skills,然后执行claude plugin install typesafe@typesafe-ai。会安装一个官方技能,把问题的三种类型和设计模式交给编码智能体(Agent skill)。
回到前面的中文示例,需要读取的字段和用途见下面的图和表。Choice 用于查看负责人候选项,Noul 用于查看是否有无法使用的报告。
| 需读取的字段 | 示例值 / 含义 | 在应用中的用法 |
|---|---|---|
team.choice | technical(技术负责人) | 显示负责人候选项 |
team.probabilities | {"technical": 0.80, "billing": 0.15, "review": 0.05} | 查看各候选项之间的判断是否存在分歧 |
team.confidence | 由概率分布计算出的集中度 | 与根据自己的评估数据设定的条件对照 |
service_unavailable.noul | 0.85(评估为存在无法使用的报告) | 不要与严重程度混淆,作为确认项使用 |
各字段位于 answers 之下。还应准备好在候选项势均力敌、材料不足或无法获取回答时的待确认去向。类型依据:TypeSafe 的“API reference”。
- 401 与 422:修正设置或输入
- 401 表示密钥缺失或无效,422 表示输入格式校验失败。修正设置或正文后再重新发送。
- 429 与 529:等待后再重试
- 不要在短时间内反复重试,应逐步延长等待时间。官方 SDK 默认会自动进行此类重试。
HTTP 错误与低 confidence 是两回事。请不要将其当作回答值处理。依据为前文的 API 规范。
刚开始引入时,不必改变现有的分配方式,只需把人工确定的负责人与 Jev 的候选项并列对照即可。需要检查:即使出现“账单”一词,是否仍能判断为技术问题;多个请求混杂时能否转入 review;信息不足时是否没有武断下结论。发现错误后,添加到失败案例中,并检查候选项的说明是否有重叠。
在将其嵌入 AI智能体时,也要区分“负责判断的模型”“负责执行的工具”“允许执行的条件”,并将金额计算与权限确认保留在代码中。发生误判时,更容易查明错误出在哪一环。
TypeSafe 的官方文档中还提供了其他实现示例:LLM 应用的护栏、用 RAG 检索到的文档筛选、搜索结果重新排序、引用验证。即使用于护栏或文档筛选,下一节“诱导答案的输入”这一弱点依然存在(在输入和输出两端进行拦截的思路,请参阅什么是AI护栏)。
5. 不适合的工作与已知弱点
TypeSafe 公开了 Jev 1.13 的已知弱点。不要因为它“只做判断所以准确”,而应按如下方式划分工作。
| 被认为不擅长的条件 | 可能出现的问题 | 设计上的应对 |
|---|---|---|
| 计数、计算 | 混淆字数、件数或精确数值 | 用解析器或普通代码进行计算 |
| 比较日期 | 先后关系或是否在期限内的判断变得不稳定 | 提取所需要素,用日期类型进行比较 |
| 双重否定、迂回式提问 | 容易被字面而非意图牵着走 | 直接写明条件,并将多个判断分开 |
| 无关信息较多的输入 | 不必要的信息干扰判断 | 先检索、提取,只传入所需项目 |
| 诱导答案的输入 | 受正文中的指令,或主张“自己应如何分类”的句子影响 | 用包含诱导内容的失败案例进行评估,并单独管理执行权限 |
| instructions 与 criteria 不一致 | 问题文本与判定标准要求的内容不同时,可能导致混乱(例如:将 Noul 的 true 赋予“否”的含义会降低准确率) | 将 criteria 写成问题文本的延伸,并使两者的方向保持一致 |
| 自由文本生成 | 不适合回复、说明或代码生成 | 使用模板或生成模型 |
另外,分别询问的 Yes/No 概率未必满足数学上的关系。即使用两个 Noul 分别询问同一条件及其否定,合计也不一定为 1;Choice 的概率与 Noul 的概率也不能用同一阈值处理。改变问题的形式后,应重新评估,而不是直接沿用之前的调整值。
使用中文时的确认要点
6. 如何看懂价格、输入限制与速度
截至 2026 年 9 月 21 日确认时,TypeSafe 的 Models 页面列出的当前模型为 jev-1.13.0。2026 年 10 月 14 日,jev-1.14.0 也已发布(价格和上下文长度相同)。10 月 19 日确认时,别名 jev-latest(稳定版)指向 1.13,jev-preview 指向 1.14。别名会在新版本发布时切换,因此如果希望结果保持稳定,请指定带版本号的 ID。价格为每 100 万输入 token 0.042 美元,输出 token 免费。这不是按每次咨询收取的固定费用,而是根据包含 state 和 questions 的输入 token 数量而变化。作为规模参考,官方 Quick start 的响应示例(一条三句英语咨询,附三个问题)中,usage.input_tokens 显示为数百 token 左右。另外,TypeSafe 在发布公告中写道,目前无法证明这一价格并非依靠补贴,能否持续只能长期观察(其预计价格更可能下降而非上涨)。
64k 与 32k 的双重限制
条件 1:整个请求
最多 64k token
条件 2:state + 最长的问题
最多 32k token
两个条件都必须满足。这并不意味着可以把 64k 的正文原样放入 state。这是默认值;若在请求中添加 TypeSafe-Danger-Zone-Long-Context: true 请求头,两者都会提高到 262k token(价格相同,但官方说明会变慢且精度下降)。
输入仅限文本。图像、音频、视频无法直接传入,需先经其他处理转换为文字或结构化数据。
速率限制可能会变化
速率限制按组织设定,请在开发者控制台确认自己组织的上限(以 2026 年 10 月 19 日时的 Models 页面为准。此前页面上列出过固定数值)。单位为每秒 token 数和每秒请求数,超过任一项都会返回 429 Too Many Requests。官方 SDK 默认会以退避方式等待后重试,若响应中有 retry-after 请求头,则遵循该头的指示。若直接调用 HTTP API,则需自行编写重试逻辑,如前文所述,逐步延长等待时间后再重试。
官方注明,由于需求非常大,上限会被动态调整,可能在不另行通知的情况下变化。更高的上限可通过定制合同或企业合同获得。如果设计是一次性处理大量文本,请在着手时确认当时的数值,并预先决定遇到上限时的等待方式。
速度与成本,应在相同任务上比较
TypeSafe 在发布公告中称,从请求到返回结果的时间为 70ms 至 500ms。但该公司公开的评估主要是从位于美国西海岸(服务所在地)的公司笔记本电脑上运行的。
在与生成模型的比较中,它列出了“快 193.6 倍,便宜 444.6 倍”的数字。这来自该公司自行设计的工作流评估,TypeSafe 本身也认为这在实际可获得的改进中属于偏高的一端。它表示评估用的工作流并非为了对自己有利而挑选,也未纳入训练数据,但同时写明这些工作流由自家模型能力团队成员设计,因此可能存在偏差。请将两者都视为供应商自身的数字,并注意以下几点,在自己的工作中进行比较。
- 条件变化,结果也会变化:对比时应统一网络距离、输入长度、问题数量以及对比模型的设置。
- 不能用于与平时聊天的倍数比较:官方的比较中包含了从生成模型中提取概率分布的处理。
实际需要比较的项目
- 成本:API 单价 + 运营工作量
- 应包括预处理、重试和待确认的比例。即使分类便宜,若人工确认增加,整体工作量也不会减少。
- 速度:平均值 + 慢请求
- 确认在拥堵或响应缓慢时,工作是否会停滞。
7. 试用时需确认的事项
首先在 Playground 中测试问题的标准能否准确传达。官方 Quick start 中包含 Playground 以及获取 API 密钥并调用的步骤。由于目前处于早期访问阶段,请先登录后确认使用权限。
① 输入正文
若能够访问,将咨询文本输入到 Playground 中。
② 设置候选项
用 Choice 设定负责人候选项及其边界。
③ 变换表达方式进行比较
查看候选项与概率的变化。可在准备执行环境之前先行测试。
评估时需把握的四个要点
准备正确答案与边界。
除了人工确定负责人的示例,还应包括多个请求、过短的文本、否定句和诱导性文本。使用真实数据时,需确认相关内容是否允许发送到外部。
固定问题的判断标准。
写明各候选项的判定依据,并确定转入“其他”的条件。同时用与调整标准时所用示例不同的示例进行验证。
同时查看正确率与待确认的比例。
按每个阈值统计自动处理的条数以及其中的误判条数。同时标注待确认的数量,避免只展示较高的精度。
记录模型与问题。
保留模型 ID、输入类型、问题版本、响应以及处理时间,并比较变更前后的结果。
1 格 = 1 条。
自动处理率
80%
80 条 ÷ 全部 100 条
自动处理部分中的错误率
5%
误分类 4 条 ÷ 自动处理 80 条
交由人工确认
20 条
全部 100 条 − 自动处理 80 条
请三项一起看。仅凭 100 条并不能证明正式运行时的精度。
若要应用到自己的工作中
- 对大量文本重复做出候选项已确定的判断
- 将 Jev 作为比较候选。用自己的输入、标准和语言评估其准确性。
- 撰写回复、说明或代码等文本
- 使用生成模型或模板。
- 严格计算金额或日期
- 用普通代码处理。
本文基于 TypeSafe 的发布公告与官方文档(2026 年 9 月 21 日确认,10 月 19 日确认更新)。作者未实际运行 API,也未测量中文环境下的精度或实际等待时间。
FAQ
Q. Jev 能像 ChatGPT 一样对话吗?
A. 它并不是生成自由回复文本的模型。用途是输入文本,并获得按 Choice、Score、Noul 所定形式给出的判断。若需要回复或说明文本,可与生成模型或模板结合使用。
Q. 如果“没有幻觉”,那就不会出错吗?
A. 将输出约束在某种类型或候选项之内,与正确判断内容是两回事。官方也列出了计算、日期、无关信息较多的输入、诱导性文本等弱点。需要用自己的数据来衡量准确性。
Q. Noul 的 0.5 表示“中等”吗?
A. 它表示 Yes 与 No 的概率被评估为大致相当。这并不是表示严重程度或质量中间值的数值。若要衡量程度,可以考虑使用定义了带说明等级的 Score。
Q. 也能用中文吗?
A. 官方表示可以处理包含 CJK 字符的语言输入,但说明英语是主要训练语言,目前精度也以英语最佳。在用于业务之前,请先用中文评估数据进行验证。
Q. 也能用于图像或音频的判定吗?
A. 当前模型的输入仅为文本,无法直接传入图像或音频。若设计为传入其他处理所得的文字或结构化数据,则应连同该预处理的错误一并进行评估。