发布日期:2026-09-24 | 基于 Jev 1.13.0 与 TypeSafe 官方文档

Jev 是 TypeSafe AI 于 2026 年 9 月 15 日发布的首个"System One 决策模型",它不生成文本,而是接收非结构化状态后直接返回带校准概率的类型化判断,官方称端到端响应 70 至 500 毫秒。把 Jev 接入 Codex 的核心价值,是让编码智能体把"这段代码算不算有风险""该路由到哪个模块"这类重复判断交给一个又快又便宜的模型,自己专注推理和写代码。本文给出三条可落地的接入路径:一条命令完成的 MCP 服务器注册、面向浏览器与通用场景的 Skill 安装、以及直接在项目里调用官方 SDK,并附上完整的请求响应格式、三种问题类型的选择方法、密钥与计费路由的配置要点,以及接入后如何验证是否真正生效。


Jev 是什么,为什么要接入 Codex

Jev 是一个只输出类型化判断的决策模型,输入是程序状态,输出是概率、选项和分数,而不是需要解析的自然语言。TypeSafe 在发布文章中将其描述为"前沿智能的函数调用:非结构化状态进,类型化概率决策出"。

它与常规大模型的差别集中在输出侧:

维度

常规大模型

Jev

输出形式

字符串,需解析和校验

类型安全的结构化值

采样方式

逐 token 顺序生成

所有问题并行返回

置信度

倾向过度自信

校准概率,置信度高即准确率高

响应时间

秒级

官方称 70 至 500 毫秒

计费

输入输出分别计费

仅按输入计费,输出免费

对 Codex 这类编码智能体来说,接入 Jev 解决的是一个具体痛点:智能体需要做判断时,通常是让大模型写一段话再猜它的意思。"这看起来比较紧急"这样的回答无法用于分支判断,也分不清模型是笃定还是在猜。Jev 返回的是可以直接与阈值比较的数字。

独立开发者的实测给出了量化参考。Jev Browser Use 项目作者称在自家工作流中浏览器操作快了约 5 至 10 倍;另一位开发者在博客中记录,用 Jev 替换一个智能体分类循环后速度提升 7 倍。Simon Willison 在 9 月 21 日的文章中总结其适用面:任何能表述为分类的任务,包括垃圾识别、打标签、排序和重排。

需要注意其已知短板。TypeSafe 官方的 jaggedness 文档列出 Jev 1.13 在数字、日期和对抗性内容上表现较弱。Simon Willison 也提出了可解释性的批评,认为它比常规大模型"更进一步退回黑盒",因为只返回一个浮点数,无法说明判断依据。

三种接入方式怎么选

接入 Codex 共有三条路径,按配置成本从低到高排列。

方式

适合场景

配置成本

是否需写代码

MCP 服务器

希望 Codex 在任意对话中随时调用判断能力

一条命令

Agent Skill

希望 Codex 自动识别哪些活该交给 Jev,或做浏览器操作

一条命令

官方 SDK

在项目代码中固化判断逻辑,纳入 CI 或业务流程

需写代码

三者可以叠加使用,互不冲突。通常的组合是先装 MCP 打通调用链路,再按需装 Skill 提升自动化程度,最后把稳定下来的判断逻辑用 SDK 固化进代码。

方式一:通过 MCP 服务器接入

MCP 是接入 Codex 最快的方式,安装脚本会自动探测本机的 Codex 并完成注册。

第一步:获取 API 密钥

在 TypeSafe 控制台 console.typesafe.ai 注册并创建密钥。如果已有 OpenRouter 账号,也可以用 OpenRouter 的密钥走另一条计费路由,两者不通用。

第二步:安装 MCP 服务器

社区维护的 typesafe-mcp 是一个 Go 编写的单文件二进制,不依赖 Node 或 Python 运行时。在 macOS 或 Linux 执行:

curl -fsSL https://raw.githubusercontent.com/itsmostafa/typesafe-mcp/main/install.sh | sh

也可以用 Go 工具链安装:

go install github.com/itsmostafa/typesafe-mcp/cmd/evaluate@latest

第三步:注册到 Codex

TYPESAFE_API_KEY=你的密钥 evaluate setup mcp

这条命令会探测 PATH 上的 codex 命令并完成注册,同时也会注册到 Claude Code 和 Claude Desktop(如已安装)。注册时它会把所有 TYPESAFE_ 开头的环境变量复制进客户端配置,因为 MCP 客户端启动服务器时不会继承 shell 环境。更换密钥后需要重新执行这条命令。

若要走 OpenRouter 路由,改为设置 OPENROUTER_API_KEY。两个密钥同时存在时 TYPESAFE_API_KEY 优先,这样一个遗留的 OpenRouter 密钥不会把账单悄悄转移。

第四步:手动配置(自动注册失败时)

如果自动注册未找到 Codex,可以手动在 MCP 配置中添加:

{
  "mcpServers": {
    "evaluate": {
      "command": "/Users/你的用户名/.local/bin/evaluate",
      "args": ["mcp"],
      "env": { "TYPESAFE_API_KEY": "你的密钥" }
    }
  }
}

自定义部署地址时追加 TYPESAFE_BASE_URL 环境变量。若想跑本地开源替代模型,把该变量指向本地服务即可,密钥字段填任意非空值。

第五步:验证是否生效

新开一个 Codex 会话,直接用自然语言下达判断任务:

用 evaluate 判断这条工单是否紧急、应该由哪个团队处理:我的打款已经连续失败三天了。

Codex 会发出如下请求:

{
  "state": "我的打款已经连续失败三天了。",
  "questions": {
    "is_urgent": {"type": "noul", "instructions": "这条消息是否表达了紧急性?"},
    "department": {"type": "choice", "instructions": "该由哪个团队处理?",
      "criteria": {"billing": "支付、退款", "technical": "故障、宕机", "sales": "定价"}}
  }
}

返回结果形如:

{
  "answers": {
    "is_urgent": {"type": "noul", "noul": 0.95},
    "department": {"type": "choice", "choice": "billing", "confidence": 0.79,
      "probabilities": {"billing": 0.86, "technical": 0.14, "sales": 0.0}}
  }
}

能看到概率数字而非一段描述,说明接入成功。

方式二:通过 Agent Skill 接入

Skill 的价值在于教会 Codex"什么时候该用 Jev",而不只是提供一个可调用的工具。

官方 TypeSafe Skill

npx skills add typesafe-ai/skills --skill typesafe-ai

命令会提示选择目标智能体,选 Codex 即可。默认装到当前项目,加 -g 装到全局。这个 Skill 教智能体如何设计 Jev 请求、如何在三种问题类型之间取舍。斜杠命令 /typesafe:typesafe-ai 仅 Claude Code 支持,在 Codex 中用自然语言说"使用 TypeSafe skill"即可触发。

Jevify:自动识别可优化环节

Jevify 是 ThursdAI 社区维护的独立 Skill,它的定位是让智能体主动把批量语义判断交给 Jev,而不是自己逐条读完再推理。

npx skills add altryne/jevify --skill jevify -g -a codex -y

它有两个触发入口:处理大文档或嘈杂工具输出时自动触发,以及直接说"jevify 一下"让它检查现有工作流中哪些环节可以改用决策模型。

Jev Browser Use:浏览器操作提速

若 Codex 已连接 Computer Use 浏览器,这个 Skill 让 Jev 负责点击、滚动和导航,Codex 负责输入文本和最终校验。

npx skills add wy-coliney/jev-browser-use -g -a codex -y

前置条件是 Node.js 22 及以上、Codex 已连接 Chrome 或内置浏览器。安装后需配置密钥,写入 ~/.config/jev-browser-use/config.jsonenvFile 指定的文件。密钥类型必须与 provider 字段匹配,TypeSafe 密钥配 typesafe,OpenRouter 密钥配 openrouter

该项目也提供原生插件方式:

codex plugin marketplace add wy-coliney/jev-browser-use && codex plugin add jev-browser-use@jev-browser-use

插件与独立 Skill 二选一,同时装会造成指令重复。安装或更新后都需要新开一个 Codex 任务才能加载。

方式三:直接调用 SDK

把判断逻辑固化进项目代码时用 SDK。官方提供 Python 与 JavaScript 客户端,社区另有 Rust 实现。

uv add typesafe-sdk

设置环境变量 TYPESAFE_API_KEY 后:

from typesafe_sdk import Choice, TypeSafeClient

with TypeSafeClient() as client:
    response = client.system_one(
        state={"document": "我被重复扣款了,请尽快处理。"},
        questions={
            "category": Choice(
                instructions="这条工单属于什么类别?",
                criteria={"billing": None, "technical": None, "other": None},
            ),
        },
    )

print(response.choices["category"].choice)

底层 HTTP 接口为 POST https://api.typesafe.ai/v1/systemone,认证用 Authorization: Bearer 头,请求体必填 statemodelquestions 三个字段,modeljev-latest 即指向当前版本。响应会回显实际版本号,例如 jev-1.13.0

错误码方面,401 表示密钥缺失或错误,422 表示请求体校验失败且响应会指出具体字段,429 为限流,529 为服务过载。后两者应使用指数退避重试,官方 SDK 已内置该行为。

三种问题类型如何选

设计 Jev 请求时,先确定要问的是哪一类判断。

类型

提问形式

返回值

典型用途

noul

这个陈述成立吗

0 到 1 的概率,无置信度字段

是非判断、告警触发、内容过滤

choice

属于哪一个选项

选中项、全选项概率分布、置信度

路由分发、标签分类、动作选择

score

在这个量表上处于什么位置

可落在档位之间的分数、档位说明、置信度

严重程度评级、相关性打分、排序

几个实用约束:choice 最多支持 255 个选项,超过时官方建议改用先打分再选择的两段式流程;score 的档位最少两级,接口最多接受 10 级;单次请求的问题数量没有文档化上限。

关键的性能特性是问题并行处理。一份 state 可以搭配多个问题一次提交,八个问题的耗时与一个问题相当。因此不要把判断拆成多次调用,应当合并到一次请求。批量场景下还可以用 items 字段一次传入最多 500 条记录,对每条问同样的问题,单条失败不影响其余记录。

在 Codex 里用自然语言下达任务时,问题设计的质量直接决定效果。官方 Skill 给出的原则是:判断要窄,state 要结构化,提供证据而非结论。社区也有专门的 linter 工具检查请求是否写得规范。

成本与计费

Jev 仅按输入 token 计费,输出免费。TypeSafe 发布文章按每百万输入 token 公布单价,输出侧标注为"便宜到不值得计量",具体报价见官方文档。Simon Willison 指出这个输入单价低于业界常见的超小模型档位。

这带来一个实践建议:既然单次调用成本极低,接入后应当大量跑评测而非凭感觉调参。Simon Willison 的说法是,跑几百上千条测试提示词的花费可以忽略,因此在 Jev 上做结构化实验比在常规大模型上更值得。

计费路由有两条,通过设置不同环境变量切换:走 TypeSafe 官方接口时账单记在 TypeSafe 账户,走 OpenRouter Decisions 端点时记在 OpenRouter 账户。国内开发者若两条路由访问都不便,也可以选择先用兼容的开源决策模型在本地验证流程,再决定是否接入云端服务;模型侧同样可以使用国内可直接访问的多模型推理平台,例如七牛云提供的 API 接入服务兼容主流 SDK 格式。

常见问题

Jev 能替代 Codex 里的主力模型吗? 不能,两者是互补关系。Jev 不生成文本、不写代码,只回答已定义好选项的判断题。正确的分工是让 Jev 处理高频重复的分类与打分,Codex 的主力模型负责理解需求、写代码和最终校验。社区项目 Jev Browser Use 的定位就是"Jev 点击,Codex 思考和验证"。

接入后 Codex 会自动使用 Jev 吗? 只装 MCP 服务器的话不会自动使用,需要在提示词中明确要求调用。若希望智能体主动识别适用场景,需要额外安装 Jevify 这类 Skill,它会教智能体把批量语义判断默认交给决策模型。注意 Skill 是否激活取决于宿主智能体,安装本身不会自动拦截工具输出。

没有 TypeSafe 密钥能先试吗? 可以。awesome-jev 仓库的示例脚本支持在无密钥状态下打印请求体而不实际调用接口,用于验证请求格式是否正确。此外社区有多个开源替代实现,例如基于 Qwen 3.5 构建的 Kev 提供 0.8B、4B、9B 三种规格的开放权重模型,可本地运行验证流程。

判断结果不可靠怎么办? 先看置信度。choicescore 都会返回 0 到 1 的置信度,应当设置阈值,低于阈值的交给人工或主力模型复核。typesafe-mcp 的命令行工具提供了 --mark-uncertain 参数来标记低置信结果。另外确认任务是否落在已知弱项上,官方 jaggedness 文档指出 Jev 1.13 在数字、日期和对抗性内容上表现较弱。

为什么问题的键名随便起也不影响结果? 因为键名不参与推理。官方接口文档明确说明,questions 的键由调用方自定,答案按相同键名返回,但键名本身不会发送给底层模型。判断依据完全来自 instructionscriteria 字段,因此语义要写在这两处,而不是指望键名传达意图。

总结

把 Jev 接入 Codex 有三条路径:MCP 服务器一条命令完成注册,适合快速打通;Agent Skill 让智能体学会主动识别适用场景,Jevify 和 Jev Browser Use 是当前最成熟的两个;官方 SDK 适合把稳定的判断逻辑写进项目代码。无论走哪条,核心都是把请求写好,即选对 noul、choice、score 三种类型,把多个问题合并到一次调用,并用返回的置信度设置人工复核阈值。本文所有配置命令与接口格式来自 TypeSafe 官方文档、官方 SDK 与各项目仓库说明,截至 2026 年 9 月 24 日模型版本为 Jev 1.13.0。该生态发布不足两周且更新频繁,具体命令请以各仓库最新说明为准。

参考资料与延伸阅读