OpenAI Decisions API 和 TypeSafe 的 Jev 做的是同一件事:发送一段输入和一组问题,拿回带概率的类型化答案而不是需要解析的文本,并且都只为输入 token 付费。Decisions 每 100 万输入 token 0.10 美元,处于公测阶段,接受文本和图片,运行在 GPT-6 Luna 上。Jev 每 100 万输入 token 0.042 美元,需通过 TypeSafe 控制台账号才能早期访问,仅支持文本,单请求上限 64k token。
基础内容可以先看「Decisions API 是什么」和「如何使用 Jev」。本文逐行对比两者,然后把它们接进同一个 Apifox 项目,用同一条置信度规则约束。
AI Coding 交流群
如果你也在用 AI 写代码,或者正在研究 Cursor、Claude Code 这些工具,欢迎加入以下交流群。群里平时会聊一些 AI 编程的实际用法、开发工作流,还有各种新工具和新玩法。
逐项对比
每个单元格都来自参考链接中的厂商页面。
| OpenAI Decisions API | TypeSafe Jev | |
|---|---|---|
| 接口 | POST /v1/decisions |
POST /v1/systemone |
| 模型 | 仅 gpt-6-luna |
jev-1.13.0(jev-latest) |
| 状态 | 公测,“GA 预计在未来几周内” | 早期访问(发布公告),直接访问需控制台账号 |
| 输入 | 文本 + 图片(base64 data URL;参考另列出公开 URL) | 仅文本,单请求 64k |
| 问题类型 | predicate / choice(2 到 255 个选项)/ score |
noul / choice / score |
| questions 形状 | 数组,可选 name |
以 id 为键的对象 |
| 输出字段 | probability;choice 或 score + probabilities + confidence;refusal |
noul;choice 或 score + confidence + probabilities |
| 价格 | $0.10 每 100 万输入,无输出费用 | $0.042 每 100 万输入,无输出费用 |
| 缓存 | 暂无(OpenAI 论坛) | 未公布 |
| 速率限制 | 按组织的限制页面 | 100K TPS / 80 RPS,动态调整 |
| 速度口径 | “比 Responses API 快约 10 倍”(OpenAI) | 端到端 70 到 500 ms(TypeSafe) |
| 数据 | 符合条件的客户可用 ZDR + HIPAA;美/欧数据驻留 | 企业版 ZDR;不用请求内容训练 |
Decisions 是一个接口而不是模型;它运行在 GPT-6 Luna 上。Jev 是 TypeSafe 的“System One 模型”,用 RLCD 训练以返回经过校准的决策,不是通用 LLM。
同一个工单分派请求的两种写法
一条客服工单进来,你要一个部门,外加一个“客户是否想要退款”的判断。先看 Decisions:questions 是数组,每项带 type、instructions 和可选的 name,API 会原样回显 name。
curl https://api.openai.com/v1/decisions \
-H "Authorization: Bearer $OPENAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "gpt-6-luna",
"input": "I was charged twice for my order.",
"questions": [
{
"type": "choice",
"name": "department",
"instructions": "Which team should handle this ticket?",
"choices": [
{"value": "billing", "description": "Charges, refunds"},
{"value": "technical", "description": "Bugs, errors"},
{"value": "other"}
]
},
{
"type": "predicate",
"name": "wants_refund",
"instructions": "Is the customer asking for money back?"
}
]
}'
再看 Jev:输入字段是 state,questions 是以你自定义 id 为键的对象,choice 用 criteria 映射选项到描述,是/否类型叫 noul。
curl https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "I was charged twice for my order.",
"questions": {
"department": {
"type": "choice",
"instructions": "Which team should handle this ticket?",
"criteria": {
"billing": "Charges, refunds",
"technical": "Bugs, errors",
"other": "Anything else"
}
},
"wants_refund": {
"type": "noul",
"instructions": "Is the customer asking for money back?"
}
}
}'
返回内容
Decisions 返回 model、answers 和 usage。答案按提问顺序返回,各自带 name;各选项的概率是对象数组。注意 output_tokens: 0。
{
"model": "gpt-6-luna",
"answers": [
{
"type": "choice",
"name": "department",
"choice": "billing",
"probabilities": [
{"value": "billing", "probability": 0.95},
{"value": "technical", "probability": 0.02},
{"value": "other", "probability": 0.03}
],
"confidence": 0.93
},
{"type": "predicate", "name": "wants_refund", "probability": 0.95}
],
"usage": {
"input_tokens": 42,
"input_tokens_details": {"cached_tokens": 0, "cache_write_tokens": 0},
"output_tokens": 0,
"output_tokens_details": {"reasoning_tokens": 0},
"total_tokens": 42
}
}
Jev 返回 model(带版本号的 id)、以问题 id 为键的 answers 对象,以及带 input_tokens 和 output_tokens 的 usage。你读 answers.department.choice、它的 confidence、按选项名为键的 probabilities,以及 answers.wants_refund.noul。只有 OpenAI 一侧可能对单个问题返回 refusal,其他问题照常给答案。
每百万的价格,以及一百万条工单的成本
OpenAI 的口径:使用 gpt-6-luna 时输入每 100 万 token 0.10 美元,不收缓存读、缓存写或输出 token 费用。TypeSafe 列出的是每 100 万输入 token 0.042 美元,输出免费。
按一条 500 token、带上述两个问题的工单计算:
- Decisions:500 / 1,000,000 x $0.10 = $0.00005 每次请求。一百万条工单 = $50。
- Jev:500 / 1,000,000 x $0.042 = $0.000021 每次请求。一百万条工单 = $21。
OpenAI 一侧有两个倍率:长上下文输入(超过 272K token)为 2 倍,即每 100 万 0.20 美元(由定价页推算);区域处理加收 10%。/v1/decisions 没有文档化的 Batch、Flex 或 Fast 档位;据 OpenAI 论坛,目前也没有提示词缓存,尽管 usage 带有 cached_tokens 和 cache_write_tokens 字段。Jev 对缓存没有任何公开信息。
输入:一边能看图,一边只有文本
Decisions 接受字符串或混合 input_text 与 input_image 的用户消息数组。指南要求图片必须是内联 base64 data URL;API 参考另列出公开 HTTP(S) URL、每请求最多 128 张,把 base64 当安全路径,托管 URL 先测再依赖。file_id、文件和音频不支持。
Jev 只支持文本:字符串、JSON 对象或文本数组,按 TypeSafe 模型页的说法没有图片、音频或视频输入。OpenAI 论坛上 sam.saffron 说得很直接:图像理解是 Jev 目前不支持的。如果你的决策依赖一张照片,只有 Decisions 能看它。
上下文与速率限制
Jev 公布了单请求 64k token 上限,其中 state 加最长的问题占 32k,并称状态只摄取一次、所有问题并行评估。其模型页列出每秒 100K token、每秒 80 次请求并动态调整,超限返回 429。这些数字自九月以来变过,请以线上页面为准。
OpenAI 没有公布上下文窗口数字,也没有 Decisions 专属速率限制;Luna 的 1,050,000 token 窗口是模型页数字,不是接口数字。请查看 Settings > Organization > Limits(速率限制指南);我们的「速率限制超限指南」覆盖两边的 429 处理。
状态与访问方式
Decisions 于 2026-10-06 进入公测,据公告对所有开发者开放;指南称 OpenAI 预计 GA 在“未来几周内”,没有具体日期。
据 TypeSafe 的发布文章,Jev 处于早期访问,提到有候补名单,直接访问 api.typesafe.ai 需要一个 TypeSafe 控制台账号;「如何访问 Jev」梳理了各条路径,「Jev API key」覆盖密钥创建。第二条路径是 Vercel AI Gateway:Jev 在上面叫 typesafe-ai/jev,通过 AI SDK(7.0.105 或更高)的 experimental_evaluate 调用,见 Vercel 更新日志;Vercel 的评估文档说明它不暴露在 Gateway 的 OpenAI 兼容端点上,且那里的是/否类型叫 boolean,返回 true 的概率。
数据管控
OpenAI 表示符合条件的客户可将 Decisions 用于零数据保留(ZDR)和 HIPAA 场景,美国和欧洲(EEA 加瑞士)支持数据驻留与区域处理;数据管控页补充 /v1/decisions 的滥用监测日志默认保留最长 30 天。TypeSafe 表示 Jev 不用客户请求或响应做训练,向企业客户提供 ZDR,且所有账户跑同一套权重。
两家都没有公布准确率或校准数据;OpenAI 的指南让你基于自己的标注样本设阈值,这条对 Jev 同样适用。
速度,以及怎么选
OpenAI 称 Decisions 比 Responses API 快约 10 倍,但没有公布绝对延迟数字;OpenAI 论坛有开发者反馈慢速网络下图片输入的决策约 0.8 秒返回。TypeSafe 给 Jev 的口径是端到端 70 到 500 ms。两者不是可比测量,请在自己的工单上分别计时。
输入包含图片、你已经在 OpenAI 生态想要一把钥匙一张账单、或者需要 OpenAI BAA 下的 HIPAA 覆盖时,选 Decisions。输入是文本、单 token 价格在你的量级下很重要、或者你已经在用 Vercel AI Gateway 时,选 Jev。
两边同时跑几周是合理的:用同一批标注集给两者打分,留下阈值曲线更好的那个,另一个留作兜底。如果你真正的问题是 Decisions 和 Structured Outputs 标签之间怎么选,见「Decisions 与 Responses 对比」;如果两家都不符合你的数据策略,也有「开源 Jev 替代品」可选。
在一个 Apifox 项目里测试两者
两个环境。创建 OpenAI(放 OPENAI_API_KEY)和 TypeSafe(放 TYPESAFE_API_KEY),值都放在本地字段里,这样永远不会同步给团队(「环境与私密变量」讲了作用域)。
两条保存好的请求。POST https://api.openai.com/v1/decisions,Bearer {{OPENAI_API_KEY}},用上面的第一个请求体;POST https://api.typesafe.ai/v1/systemone,Bearer {{TYPESAFE_API_KEY}},用第二个。
一条断言规则,用两次。业务规则:置信度高于 0.8 自动分派工单,低于则进人工复审队列。Decisions 请求上断言状态 200、$.answers[0].choice 等于 billing、$.answers[0].confidence 大于 0.8、$.usage.output_tokens 等于 0。Jev 请求上断言 $.answers.department.choice 等于 billing、$.answers.department.confidence 大于 0.8。
一个数据驱动场景。把二十条带期望部门的标注工单放进 CSV,作为测试场景跑两个请求,看哪个 API 在模糊样本上的置信度跌破 0.8。这就是你定阈值的方式,也能在工单错分之前抓住模型变更。
两种形状都 mock。把一个 Decisions 响应和一个 Jev 响应保存为 mock,前端就能对着稳定的 answers 数组和 answers 对象开发;「mock 条件响应」可以按需返回低置信度用例,演练复审队列分支。
接入 CI。用 Apifox CLI(apidog run 配 cli 或 junit 报告器)在每次部署时跑场景,GA 时的字段变更或 jev-latest 升级会让构建变红,而不是让支持队列遭殃。下载 Apifox 来搭建这套流程。
常见问题
Jev 是像 GPT-6 Luna 那样的 LLM 吗?不是。TypeSafe 把 Jev 描述为用 RLCD 训练、返回校准决策的 System One 模型;它不生成文本。Decisions 是通用模型 Luna 上的一个接口。
OpenAI 是为了应对 Jev 才做了 Decisions API 吗?OpenAI 的页面没有这么说,我们也不做此断言。两者实现的是同一个想法:带概率的类型化答案、按输入计费。
哪个更便宜?Jev:每 100 万输入 token 0.042 美元对 0.10 美元;一百万条 500 token 工单,21 美元对 50 美元。
两者都能按我的 JSON schema 返回吗?都不能。它们返回固定的答案形状;要抽取字段或书面说明,请在 Responses API 上用 Structured Outputs。
下一步
用同一条工单把上面两条 curl 发出去,都保存进 Apifox,各加上 0.8 置信度断言。然后换成你自己的二十条工单,看哪个 API 更常越过你的阈值。「使用指南」里有 Python 和 JavaScript 版本。
开发必备:API 全流程管理神器 Apifox
介绍完上文的内容,我想额外介绍一个对开发者同样重要的效率工具 —— Apifox。作为一个集 API 文档、调试、设计、测试、Mock、自动化测试于一体的工具,Apifox 是目前提升研发效率的首选。
如果你正在开发项目,不妨试试其极其友好的界面设计,它完全兼容 Postman 和 Swagger 数据格式,导入数据非常方便,,即使是新手也能很快上手,点击这里即可注册使用。

值得一提的是,除了个人和常规团队使用,针对有高安全合规要求、或需要在内网环境协作的企业,Apifox 还提供了深度定制的私有化部署方案。
获取专属报价与部署方案
详细的私有化部署系统架构与安全白皮书
针对您公司规模的专属报价单
免费的 1v1 专属产品演示 (Demo) 机会