面向开发者的独立指南与社区
Jev 官方资料:typesafe.ai

Jev AI Model
从理解到实践。

Jev 是 TypeSafe 推出的首个 System One 模型,可根据输入返回预先定义类型的判断结果和概率。了解适用场景,以及如何通过 API 接入。

按任务选择

它和生成式模型有何不同?

TypeSafe 把 Jev 归为 System One 模型:它返回预设类型的选项与概率,而不是生成开放式文本。对照生成式模型和规则代码,看看各自适合什么任务。

比较维度Jev生成式 LLM规则代码
输出事先定义好的选项、评分和概率灵活的文本、代码或结构化输出由明确条件产生的确定性结果
速度针对低延迟决策优化;TypeSafe 在其测试中报告 70–500 毫秒取决于模型、提示词与输出长度对已知条件通常非常快
适用任务软件中反复出现的语义判断写作、复杂推理与开放任务边界清楚且稳定的条件
主要限制不能生成自由文本;类型正确的答案也可能判断错误灵活输出可能需要解析与验证遇到含义模糊的输入,规则难以覆盖所有情况
i

速度数据来自 TypeSafe 对特定结构化决策任务的测试,并非本站独立基准测试,也不是通用速度保证。 阅读测试方法

怎么选择

可选答案已经明确,但需要理解输入内容时,可以考虑 Jev;需要生成新内容时,选生成式模型;条件能明确写成代码时,直接用规则。

核心概念

为软件中的决策而设计。

Jev AI Model 会根据你提出的问题分析文本或结构化数据,返回代码可以直接处理的选项、评分和概率。下一步怎么做,仍由你的应用决定。

三步看懂 Jev AI Model流程示意 · 并非真实模型输出
01客户消息

“我的订阅被扣了两次费用,可以帮我处理吗?”

02问题与选项

应该交给哪个团队处理?

可选答案:账单 · 技术 · 销售
03结构化结果
账单团队Jev

示意概率 0.92

01

提供上下文

传入相关文本、JSON 数据或文本列表。Jev 目前不接收图片、音频和视频。

02

定义答案范围

事先定义可选答案,让模型返回选项、评分或“是”的概率。

03

由代码决定下一步

根据结果和置信度决定是自动分流、交给人工复核,还是执行其他操作。格式正确,也可能判断错误。

依据 TypeSafe 官方文档

适用场景

把具体判断交给模型。

Jev 适合处理应用里反复出现、答案范围明确的判断。以下是可尝试的用法,效果仍需用自己的数据验证。

01

客户支持

给客诉和商家反馈分类,评估紧急程度,再分配给对应团队;不确定的情况交给人工处理。

决策示例这是账单问题还是技术问题?
02

推荐与排序

根据用户表达的偏好筛选信息流,评估候选内容的相关性,再结合站内信号和业务规则排序。

决策示例这个候选内容与当前请求有多相关?
03

Agent 工作流

判断请求该交给哪个模型、工具或 Agent,是否需要搜索,以及结果是否足够完整、能否继续下一步。

决策示例这个请求需要交给专门模型吗?
04

内容安全

按明确规则检查消息、代码变更或工具调用;高风险或判断不确定时交由人工复核。

决策示例这条消息违反了这项规则吗?
GitHubjev-guard
05

游戏与模拟

根据当前游戏状态和一组合法动作,为 AI 对手或 NPC 选择下一步;规则校验和实际执行仍由游戏代码负责。

决策示例对手下一步该选择哪个合法动作?
06

个人自动化

按自己的规则整理邮件和通知、判断智能家居状态,或决定何时触发日常自动化。

决策示例这条通知值得现在打断我吗?
GitHubHA-Jev
开始使用

从一个具体判断开始。

先找出应用中已经存在的一项明确判断。定义可能的答案,再由代码决定如何使用结果。

01

选定一个判断

例如给工单分流,或评估某个候选内容的相关性。

02

定义选项

调用前写清楚输入内容、要问的问题和允许返回的答案。

03

处理不确定性

结合概率与置信度,决定执行、回退或人工复核。

接入示例

把 Jev 接入你的代码。

下面的服务端 TypeScript 示例通过 OpenRouter 向 Jev 1.13 发送一条客服消息和两个预先定义好答案形式的问题。API 密钥只放在服务端,结果交由应用代码处理。

免费体验 Jev
服务端 TypeScripttypesafe/jev-1.13
const apiKey = process.env.OPENROUTER_API_KEY;
if (!apiKey) throw new Error("Set OPENROUTER_API_KEY");

const response = await fetch("https://openrouter.ai/api/alpha/decisions", {
  method: "POST",
  headers: {
    Authorization: "Bearer " + apiKey,
    "Content-Type": "application/json"
  },
  body: JSON.stringify({
    model: "typesafe/jev-1.13",
    state: "My card was charged twice. Please help ASAP.",
    questions: {
      department: {
        type: "choice",
        instructions: "Which team should handle this?",
        criteria: {
          billing: "Payments and refunds",
          technical: "Bugs and integrations"
        }
      },
      urgent: {
        type: "noul",
        instructions: "Does this message need urgent attention?"
      }
    }
  })
});

if (!response.ok) throw new Error("Jev request failed: " + response.status);
const {answers} = await response.json();

if (answers.department.choice === "billing" && answers.urgent.noul > 0.8) {
  // Route to the billing review queue.
}
接口POST /api/alpha/decisions
输入state + questions
输出answers

读取结果

choice 给出负责的团队;noul 用 0 到 1 的数值表示“是”的倾向。再由你的代码结合业务规则完成分流。

投入生产前

上线前请用有代表性的工单测试,记录模型版本,并把结果不确定或出错代价高的情况交给人工复核。示例中的 0.8 只是演示阈值。

接口来源: OpenRouter · TypeSafe

LangChain · Python

把 Jev 放进 LangChain Agent 的 Harness

Harness 负责协调 Agent 的模型调用和工具执行。在需要做判断的节点,Jev 读取用户消息、待执行的工具调用或 Agent 状态,返回结构化结果;接下来如何分支由代码决定,开放式任务仍交给聊天模型。

ModelRouterMiddlewarebefore_agent → wrap_model_call

在运行开始前判断最新的用户请求,选定合适的模型,并在本次运行中沿用。选项、概率和置信度会保留在 Agent 状态里,供后续逻辑使用。

AutoModeMiddlewarewrap_tool_call

在指定工具执行前检查调用。如果 Jev 判断风险较高或授权不足,中间件会拦下调用并返回错误 ToolMessage;它不会自动发起人工审批。

TypeSafeClassifierChoice · Score · Noul

也可以在自定义中间件里加入自己的检查点:把 Agent 消息或状态交给 TypeSafeClassifier,用 Choice、Score 或 Noul 提问,再由代码决定分支或交给人工复核。

看懂请求与返回字段

请求里定义要判断的问题,响应会按问题名称返回结果。下面解释示例中用到的 JSON 字段。

请求字段

model
模型 ID。示例指定 Jev 1.13,避免调用版本不明确。
state
待判断的文本或结构化数据;这里是一条客服消息。
questions
按名称组织的多个问题;返回的 answers 会沿用这些名称。
type
答案形式:choice 从候选项中选择,noul 返回“是/否”判断对应的数值。
instructions
希望模型回答的具体问题或判断标准。
criteria
对 choice 而言,是允许返回的选项及每个选项的含义。

返回字段

answers
每个问题的结果,名称与请求中的 questions 对应。
choice
模型选中的选项键,也是概率最高的选项。
probabilities
各选项的概率分布,数值相加为 1。
confidence
根据概率分布计算的置信度;它不等于所选选项的概率。
noul
是非问题的 0 到 1 数值;越接近 1 越倾向于“是”。

结果符合字段格式,也可能判断错误。请用自己的样本验证,并按业务风险设置分流阈值。

项目库

System One.

Jev 是 TypeSafe 的模型。社区开发者也在用开源模型和接口探索快速、结构化的决策。这里可以比较它们的代码、实现方式与局限。

这些是社区独立项目,并非 Jev 官方版本。

System One 开发者指南 查看全部 GitHub 项目
开放数据与社区动态 在 GitHub 查看 Jev AI Radar
围绕 Jev AI Model

看看社区在讨论什么。

这里汇总了发布帖、官方 SDK 和独立解读视频的要点。先在本站了解背景,再按需查看原文。

X

TypeSafe 在 X 上发布产品动态和背景信息。这些内容代表团队自己的说法;实际开发前仍应核对官方文档。

查看原文

GitHub

官方 JavaScript 和 TypeScript SDK 提供 API 定义、示例和版本更新。想知道 Jev 的请求如何写成代码,可以从这里开始。

查看原文

Hacker News

发布帖讨论了决策模型适合哪些环节、如何评估,以及高置信度的错误结果该如何处理。这是开发者讨论,不能当作性能测试。

查看原文
ThursdAI · TypeSafe AI

TypeSafe 团队解读 Jev:从原理到现场演示

TypeSafe 的 Allie Laabs 在 ThursdAI 访谈中解释 System One 和 Choice、Score、Noul 三种输出。节目现场测试帖子分类、展示 Doom 演示,也讨论了 Jev 的局限。

查看原文
站内观看

视频解读:Jev AI Model 的结构化决策与使用边界

RepoChad 的独立视频梳理了输出格式、TypeSafe 的速度数据、示例演示和待验证的问题。点击播放后才会加载视频。

查看原文
Jev AI Model 背后的团队

让 AI 判断更容易接入软件。

TypeSafe AI 将 Jev 作为首个 System One 模型推出,目标是让快速、结构化的判断进入常规软件工作流。

创始人 Diogo Almeida 曾在 OpenAI 和 Google Brain 工作。根据 TypeSafe 的介绍,他参与的指令遵循和 RLHF 研究影响了 ChatGPT 背后的技术。

常见问题

几个常见问题。

Jev AI Model 是聊天机器人吗?

不是。Jev 返回的是按指定格式组织的判断结果和概率,不负责生成聊天回复或代码。

Jev AI 模型可以用于推荐吗?

它可以帮助评估候选内容的语义相关性或进行重排。完整推荐系统仍需候选召回、业务规则、效果评估和你自己的排序逻辑。

返回格式正确,判断就一定对吗?

不一定。格式约束不了判断本身。请用有代表性的数据测试,并在代码中处理不确定的结果。

从哪里学习使用 Jev AI Model?

可以从 TypeSafe 官方文档和 SDK 开始;OpenRouter 的模型页面也提供了通过其平台使用 Jev 的入口。

从一个问题开始

试着把一个判断接入应用。

先定义一个清楚的问题和答案范围,再由应用代码决定如何使用 Jev 的结果。

社区动态

用适合你的方式关注 Jev 生态。

通过持续更新的公开仓库,或偶尔发送的邮件精选,关注新的 Jev 项目、System One 社区模型和实际应用案例。

持续公开更新

Jev AI Radar

面向开发者、脚本和 AI Agent 的开源资料库,内容可读取、复用,也可追踪历史变化。

去 GitHub 点个 Star
低频人工精选

邮件订阅

不定期收到社区精选:值得关注的热门项目、实用代码示例和 Jev 应用案例。

提交邮箱即表示你同意接收 Jev AI Dev 不定期发送的邮件。