跳到正文
缓存
返回

TypeSafe AI 与 Jev:一种面向软件决策的 AI 模型

大语言模型很擅长写东西,却不一定擅长成为软件系统里的一个稳定零件。

当程序只是想知道“一封邮件应该分到哪个队列”“这条消息有没有退款诉求”“这次操作风险有多高”时,常见做法仍然是让大语言模型生成一段文字或 JSON,再由程序解析、校验和重试。TypeSafe AI 选择了另一条路线:不让模型生成文字,而是让模型直接返回一个受类型约束的判断。

这个模型叫 Jev。TypeSafe AI 将其称为第一个 System One 模型。

Jev 是什么

Jev 是一个通过 API 提供的文本判断模型。一次请求由两部分组成:

模型不会写回复、解释理由或生成代码,只会针对每个问题返回固定结构的答案和概率。TypeSafe AI 当前提供三种问题类型:

多个问题可以共享同一份 state,由模型并行判断。程序拿到的不是一段需要继续解释的自然语言,而是可以直接用于条件分支、排序和路由的值。详细定义可以查看 TypeSafe AI 的原语文档。

可以把两类模型的差别简化成这样:

通用 LLM:输入 → 生成文字或 JSON → 解析和校验 → 执行动作

Jev:状态 + 预定义问题 → 类型固定的答案和概率 → 执行动作

因此,Jev 并不是另一个聊天机器人,也不是通用 LLM 的完整替代品。它更像一个能理解自然语言的分类器、评分器和路由器。

一个更直观的说法是:Jev 是一个聪明的 if 语句。普通代码可以判断 order.total > 100,却很难直接判断“这条消息是否愤怒”“这个请求该交给哪个部门”。Jev 被放在这些需要语义理解、但答案范围明确的分支条件里。

它填补了哪块空白

在 Jev 之前,软件通常用三种办法处理这类判断:

Jev 位于它们之间:像 LLM 一样理解运行时提供的自然语言和问题,又像分类器一样,只在预先定义的答案空间中返回概率。它不是产品界面,也不接管整个 Agent 循环,而是隐藏在应用内部的一次判断调用。

这种位置也解释了它与 Agent 的关系。编程 Agent 仍然负责读代码、调用工具和完成任务;Jev 可以在执行命令前判断它是只读、可撤销还是破坏性的,或者在多个模型与子 Agent 之间选择下一条路径。模型负责判断,权限、动作和后果仍由代码控制。

类型安全不等于判断永远正确

TypeSafe AI 使用“零幻觉”描述 Jev,理解这句话的边界很重要。

如果一个 Choice 只允许 billing、technical 和 other,Jev 不会突然返回第四个不存在的部门。从接口层面看,它确实消除了自由文本模型常见的格式错误、无效枚举值和 JSON 修复问题。

但模型仍然可能在三个合法选项里选错一个。它解决的是输出结构的确定性,而不是语义判断永远正确。

Jev 会为 Choice 和 Score 返回完整概率分布及一个 confidence 值,Noul 则直接返回“是”的概率。置信度的价值在于让程序设计不同的处理路径:

高置信度、低风险 → 自动处理
中等置信度       → 补充信息或交给更强模型
低置信度或高风险 → 人工审核

这些概率是统计意义上的校准结果,并不保证单次预测正确。官方也建议从保守阈值开始,用自己的业务数据进行测试和调整,具体可参考 置信度说明。

三种原语还有几个容易忽略的细节:

具体限制和响应字段见 Choice 文档 与 Score 文档。

适合放在哪些地方

Jev 最适合答案空间有限、需要大量重复执行的快速判断,例如:

它不适合生成文章、回复、摘要和代码,也不适合开放式问答与复杂规划。当前版本只接受文本、JSON 对象和文本数组,不支持图片、音频或视频。

官方公开的 Jev 1.13 已知局限 还包括:

这些限制也说明了一种更合适的分工:能由代码精确计算的事情继续交给代码,开放式生成与复杂推理交给通用 LLM,Jev 只负责其中边界明确但需要语言理解的判断。

一次把独立问题问完

Jev 有一个与常见 LLM 工作流不同的设计习惯:只要多个问题依赖同一份 state,就尽量放在一次请求中并行计算,即使其中一些答案最后可能用不上。TypeSafe 将这种模式称为 speculative fan-out。

例如客服分诊可以同时询问所属部门、退款诉求、Bug 严重程度、复现步骤和用户情绪。如果工单最终被判断为功能建议,代码直接忽略 Bug 严重程度即可。这样做会增加各问题自身的少量 token,但不需要反复发送相同的长 state。

官方当前展示的一个特定长文档实验中,13 个问题合并请求比 13 次独立顺序请求便宜 11.5 倍、快 9.6 倍,答案没有发生实质变化。这个倍数高度依赖共享状态的长度和对比方式,不能当成所有工作流的固定收益;真正值得采用的是“共享状态只发送一次”的设计原则。并行问题说明

只有后一个问题确实依赖前一个答案时,才需要第二次请求,例如先选出候选文档,再读取候选全文进行判断。如果问题本来就能针对原始状态提出,应优先在第一次请求中一起完成。

价格、速度与当前成熟度

截至 2026 年 9 月,公开模型为 Jev 1.13。官方标价是每百万输入 token 0.042 美元,输出免费;单次请求总上下文上限为 64K token,其中 state 加最长问题不得超过 32K。公开限流为每秒 25 万 token 和每分钟 1,200 个请求,但官方说明这些限制仍可能动态调整。模型与价格页面 提供了最新数值。

TypeSafe AI 在官网给出的最高对比结果是速度提高 193.6 倍、成本降低 444.6 倍。不过这些数字来自公司自己的特定工作流评测,不应该直接外推到所有任务。

一项在 Jev 发布后进行的 第三方小规模测试 得出了更温和的结果:Jev 在测试任务中确实比几个小型通用模型更快、更便宜,准确率与其中的小模型接近,但没有超过参与比较的更强模型。由于产品和外部评测都刚刚出现,这些结果更适合作为线索,而不是最终结论。

Jev 于 2026 年 9 月 15 日正式发布。产品上线时间很短,SDK、服务容量、模型行为和生态仍在快速变化。生产环境最好固定具体版本,例如 jev-1.13.0,而不是始终跟随 jev-latest。移动别名升级后,同一请求的答案和置信度分布可能改变。

TypeSafe AI 同期宣布获得由 DCVC 领投的 4000 万美元种子轮融资。DCVC 的公告 能说明团队有资金继续建设模型和推理基础设施,但融资规模本身不能证明模型准确或服务已经成熟。

数据如何处理

TypeSafe AI 表示不会使用客户输入训练或微调模型,也不会把输入披露给服务提供商以外的第三方。但普通账户的 隐私政策 没有承诺统一的即时删除期限,只表示会在提供服务或业务所需的合理期限内保留数据。服务在美国托管和处理。

零数据保留是企业客户可申请的选项。涉及个人信息、商业机密或受监管数据时,应在接入前确认具体合同、数据处理协议和保留策略,而不能只依据“不用于训练”这一项承诺。

用 Python 调用 Jev

先在 TypeSafe Console 创建 API Key,然后安装官方 Python SDK:

pip install typesafe-sdk
export TYPESAFE_API_KEY="你的密钥"

官方包名是 typesafe-sdk,不是 typesafe-ai。后者在 PyPI 上是第三方创建的重定向包。

下面的例子同时判断工单所属部门、是否要求退款以及紧急程度:

from typesafe_sdk import Choice, Noul, Score, TypeSafeClient

ticket = {
    "message": "我被重复扣款了,请尽快退款。",
    "customer_tier": "standard",
}

with TypeSafeClient(model="jev-1.13.0") as client:
    result = client.system_one(
        state=ticket,
        questions={
            "department": Choice(
                instructions="哪个部门应该处理 `message`?",
                criteria={
                    "billing": "付款、扣款或退款问题",
                    "technical": "产品故障或技术问题",
                    "other": "以上均不符合",
                },
            ),
            "refund_requested": Noul(
                instructions="`message` 是否明确要求退款?",
            ),
            "urgency": Score(
                instructions="`message` 表达的紧急程度如何?",
                criteria=[
                    "不紧急,可以正常排队",
                    "比较紧急,希望尽快处理",
                    "非常紧急,需要立即处理",
                ],
            ),
        },
    )

department = result.answers["department"]

if department.confidence < 0.70:
    route_to_human(ticket)
elif department.choice == "billing":
    send_to_billing(ticket)
else:
    send_to_queue(department.choice, ticket)

任何语言也可以直接调用 POST https://api.typesafe.ai/v1/systemone。完整请求格式和错误响应见 HTTP API 文档。

直接调用接口时,常见错误包括密钥错误的 401、请求校验失败的 422、触发限流的 429,以及服务过载的 529。后两种情况应该执行有上限的指数退避重试;官方 SDK 的默认重试策略已经处理了它们。生产系统仍应设置超时、总重试预算和最终降级路径,避免服务过载时无限等待。

通过 Vercel AI Gateway 使用

Jev 也可以通过 Vercel AI Gateway 调用,模型 ID 是 typesafe-ai/jev。截至 2026 年 9 月 21 日,Gateway 提供三种接入方式:

这条路径适合已经使用 AI Gateway 的项目:调用记录、预算和其他模型可以放在同一个系统中管理,也能在支持的套餐中按请求开启 Zero Data Retention。需要注意,请求仍会经过 Vercel 和实际模型提供方;Gateway 的数据保留选项、套餐与价格也可能和 TypeSafe 直接 API 不同,接入前应分别核对。Vercel 接入说明

接入生产系统前怎么验证

一个类型正确的响应仍然可能是错误判断,所以 Jev 的接入重点不只是把 API 调通,还要验证它是否适合具体数据分布。

比较稳妥的流程是:

  1. 从真实业务抽取一批经过人工标注的数据;
  2. 先以影子模式运行,只记录结果,不改变原有业务流程;
  3. 分别统计准确率、误报、漏报,以及不同置信度区间的真实正确率;
  4. 在候选项中设置 other、unknown 或 needs_review;
  5. 对提示注入、否定句、混合语言、空字段和超长输入进行专项测试;
  6. 按动作风险设置不同阈值,而不是整个系统共用一个阈值;
  7. 记录模型版本、问题版本、完整概率和最终人工结果;
  8. 新模型发布后先回放验证集,再决定是否升级。

尤其是中文任务。官方说明英文是主要训练语言,其他语言虽然可以处理,但效果并不相同。中文工单或文档分类应建立独立验证集,不能直接套用英文任务的阈值。

怎样看待这种模型

TypeSafe AI 值得关注的地方,不只是速度或价格,而是它对 AI 软件接口的重新划分:模型不必包办整项任务,也不必总是生成文本。程序可以把一个工作流拆成许多小判断,把确定性规则写在代码里,再让专门模型处理需要语言理解的部分。

在这个意义上,Jev 更接近软件中的一个智能原语,而不是一个无所不包的智能代理。

目前最合适的使用方式,是把它当作一个快速、低成本、能够表达不确定性的判断组件。对于分类、路由和预筛选,它可能比调用通用 LLM 更自然;对于开放式生成、复杂推理和不可逆的高风险决策,则仍然需要其他模型、确定性规则和人工审核共同完成。


分享这篇文章:
编辑文章
下一篇
OpenAI 攻克了数学世纪难题?从一杯水读懂 Navier–Stokes 候选证明