Jev:不是聊天机器人, 而是一个智能 if 语句

文章来源声明: 原文作者:汉堡大王9527; 来源站点:掘金; 原文链接:https://juejin.cn/post/7688159506153095209; 本文基于上述来源整理/加工,觅优补充点评,仅供技术学习交流。版权归原作者所有。
觅优短评

Jev 把决策从生成式模型中剥离,做成廉价、可组合的软件原语。价值在于让 AI 沉入每个 if 语句,适合 agent 路由、置信度门控与高频决策循环;但不适合需要文本生成或深度推理的场景。

2026 年 9 月 15 日,TypeSafe AI 带着 4000 万美元种子轮融资从隐身状态亮相,发布了第一个"System One"模型——Jev。它不写文本、不写代码,只做一件事:帮你做决策。本文深度解析它的原理、用法和真实案例。

Jev 是什么?一句话说清楚

Jev 是一个智能 if 语句

普通代码用 if (order.total > 100) 做分支——当条件是计算机能计算的数值时没问题。但如果条件是一个"判断"呢?比如"这条客服消息是不是在生气?""这封邮件是关于账单的吗?""这 12 个按钮里该点哪个继续结账?"

这些判断传统方案要么手写规则(脆弱),要么训练分类器(需要标注数据),要么让 LLM 返回结构化输出(慢、贵、可能幻觉)。

Jev 给了第四种选择:你定义可能的答案,模型返回每个答案的概率分布,你的代码直接分支。不生成文本,不解析,不幻觉。

image.png

Jev 的工作方式:输入状态 + 类型化问题 → 输出选择、评分和概率

核心定位

Jev 来自旧金山的 TypeSafe AI 实验室,2026 年 9 月 15 日以 4000 万美元种子轮融资从隐身状态亮相。TypeSafe 将其称为 System One 模型——一个专为在软件内部做快速决策而设计的新模型类别,而不是为了跟人聊天。

名字的由来:Jevons 悖论 + Kahneman 双系统

两个小知识点,帮你建立对 Jev 的心智模型:

System One:卡尼曼的快与慢

System One 出自丹尼尔·卡尼曼的《思考,快与慢》。System 1 是大脑快速、直觉的判断——不加思索就能做出的决定。System 2 是缓慢、深思熟虑的推理。在 TypeSafe 的框架里,Jev 负责 System 1 类型的任务(快速直觉判断),而推理模型负责 System 2 类型的任务(深度推理) $TRAE_REF

Jev:Jevons 悖论

Jev 以经济学家威廉·斯坦利·杰文斯(William Stanley Jevons)命名。杰文斯提出了著名的"杰文斯悖论":当蒸汽机效率提高时,煤炭消耗不降反增——因为更便宜的能源创造了新的用途。TypeSafe 的押注是:智能也遵循同样的曲线——当一次决策的成本远低于一美分时,你会把决策放到那些你从不会调用 LLM 的地方 $TRAE_REF

这个命名很巧妙

本质上 TypeSafe 在说:Jev 不是要替代 LLM,而是要打开一个全新的"廉价决策"市场。就像便宜的 CPU 催生了嵌入式计算一样,便宜的决策模型会让 AI 消失在每一个 if 语句里。

和 ChatGPT / Cursor / Claude Code 有什么不同?

主流 AI 工具都把生成式模型放在体验的中心。你给模型一个宽泛的请求,它产出新的东西。Jev 完全不同——它不接受开放式目标,不调用工具,不编辑文件,不运行 agent 循环 $TRAE_REF

工具你给它什么它返回什么角色
**ChatGPT**提示词 / 对话生成的回复通用助手
**Cursor**编程任务 + 仓库文件编辑、命令、测试编辑器 + 编程 Agent
**Claude Code**指令 + 本地工具工具调用、编辑、终端结果终端编程 Agent
**Jev**状态 + 类型化问题选择、评分、概率软件内部的决策原语

关键区别:Jev 可以嵌入到这些工具里,而不是替代它们。比如一个编程 agent 可以在运行 shell 命令前,先问 Jev 这条命令是只读的、可逆的、还是破坏性的。一个 agent 路由器可以用 Jev 决定哪个模型接任务 $TRAE_REF

三大原语:Choice / Score / Noul

TypeSafe 暴露了三个"AI 原语"——类似于软件原语,它们是模块化、可组合、结构化的。每个原语是一种不同的"问题"类型,返回不同形状的答案 $TRAE_REF

Choice:从列表中选一个

你定义选项列表。Jev 返回选中的选项、每个选项的概率和置信度。路由、agent、游戏的主力——答案空间永远是合法的,不需要解析,不会幻觉。

返回:choice + probabilities + confidence

Score:按标准评分

你定义有序等级(比如 trivial / normal / critical)。Jev 返回等级、每个等级的概率和置信度。把模糊判断变成你的代码可以分支的无数字决策。

返回:score + legend + probabilities + confidence

Noul:这个陈述为真吗?

你断言一个陈述。Jev 返回该陈述为真的概率(0-1 之间的浮点数)。审核、验证、护栏——"这个 diff 真的修复了 bug 吗?"——一个问题,一个校准概率。

返回:noul (0-1 概率)

三个原语可以在一次调用中混合

所有三种问题类型可以在同一个 API 调用中混合使用。每个问题针对同一状态并行、独立地评估。增加问题几乎不改变响应时间。每个问题独立评估,所以增加更多问题不会产生上下文衰减 $TRAE_REF

API 调用实战

下面是一个完整的请求/响应示例,来自赞助表单提交的场景 $TRAE_REF

json · 请求示例

<span>{</span>
  <span>"model"</span><span>:</span> <span>"jev-latest"</span><span>,</span>
  <span>"state"</span><span>:</span> <span>{</span>
    <span>"opportunity"</span><span>:</span> <span>"link"</span><span>,</span>
    <span>"name"</span><span>:</span> <span>"Managed Postgres"</span><span>,</span>
    <span>"description"</span><span>:</span> <span>"We make a managed PostgreSQL hosting product and would like to sponsor the newsletter in October."</span>
  <span>}</span><span>,</span>
  <span>"questions"</span><span>:</span> <span>{</span>
    <span>"is_sponsor_inquiry"</span><span>:</span> <span>{</span>
      <span>"type"</span><span>:</span> <span>"noul"</span><span>,</span>
      <span>"instructions"</span><span>:</span> <span>"Does `description` ask to sponsor the site or newsletter?"</span>
    <span>}</span><span>,</span>
    <span>"product_category"</span><span>:</span> <span>{</span>
      <span>"type"</span><span>:</span> <span>"choice"</span><span>,</span>
      <span>"instructions"</span><span>:</span> <span>"What kind of product is described by `name` and `description`?"</span><span>,</span>
      <span>"criteria"</span><span>:</span> <span>{</span>
        <span>"dev_tool"</span><span>:</span> <span>"Developer tools, hosting, APIs, SaaS for developers"</span><span>,</span>
        <span>"course"</span><span>:</span> <span>"Courses, books, or training"</span><span>,</span>
        <span>"unrelated"</span><span>:</span> <span>"Anything not aimed at developers"</span>
      <span>}</span>
    <span>}</span><span>,</span>
    <span>"message_quality"</span><span>:</span> <span>{</span>
      <span>"type"</span><span>:</span> <span>"score"</span><span>,</span>
      <span>"instructions"</span><span>:</span> <span>"How specific is the request?"</span><span>,</span>
      <span>"criteria"</span><span>:</span> <span>[</span>
        <span>"Generic template, no reference to this site"</span><span>,</span>
        <span>"Mentions the site but no concrete ask"</span><span>,</span>
        <span>"Concrete ask with a timeframe or product named"</span>
      <span>]</span>
    <span>}</span>
  <span>}</span>
<span>}</span>

json · 响应示例

{
  <span>"model"</span>: <span>"jev-1.13.0"</span>,
  <span>"answers"</span>: {
    <span>"is_sponsor_inquiry"</span>: { <span>"type"</span>: <span>"noul"</span>, <span>"noul"</span>: <span>0.99</span> },
    <span>"product_category"</span>: {
      <span>"type"</span>: <span>"choice"</span>,
      <span>"choice"</span>: <span>"dev_tool"</span>,
      <span>"probabilities"</span>: { <span>"dev_tool"</span>: <span>0.97</span>, <span>"course"</span>: <span>0.01</span>, <span>"unrelated"</span>: <span>0.02</span> },
      <span>"confidence"</span>: <span>0.95</span>
    },
    <span>"message_quality"</span>: {
      <span>"type"</span>: <span>"score"</span>,
      <span>"score"</span>: <span>1.9</span>,
      legend<span>": {
        "</span><span>0</span><span>": "</span>Generic <span>template</span>, no reference to <span>this</span> site<span>",
        "</span><span>1</span><span>": "</span>Mentions the site but no concrete ask<span>",
        "</span><span>2</span><span>": "</span>Concrete ask with a timeframe <span>or</span> product named<span>"
      },
      "</span>probabilities<span>": { "</span><span>0</span><span>": 0.0, "</span><span>1</span><span>": 0.1, "</span><span>2</span><span>": 0.9 },
      "</span>confidence<span>": 0.86
    }
  },
  "</span>usage<span>": { "</span>input_tokens<span>": 210, "</span>output_tokens<span>": 31 }
}
</span>

拿到结果后,你的代码做无聊的部分:

javascript · 分支逻辑

const { answers } = response<span>;</span>

if (answers.is_sponsor_inquiry.noul > 0.9 &&
    <span>answers.product_category.choice</span> === <span>'dev_tool'</span>) {
  sendRateCard(email)<span>;</span>
} else {
  queueForManualReply(email)<span>;</span>
}

三个关键细节

1. 没有生成的散文需要解析——API 直接返回结构化 JSON。
2. 每个答案都被限制在你提供的选项内——product_category 只能是 dev_toolcourseunrelated,模型无法发明第四种类别。
3. 三个问题在同一次调用中同时回答。增加第四个问题几乎不改变响应时间。

为什么快?为什么便宜?

image.png

Jev 的快和便宜不是偶然的,而是架构层面的根本不同 $TRAE_REF

1. 并行采样,不逐字生成

LLM 生成答案是一个 token 一个 token 地生成——返回 {"category": "billing", "urgent": true} 得逐个输出 token,每个都依赖前一个。Jev 的架构并行采样所有答案,每个问题独立评估,输出是你定义选项上的概率分布。

2. 不生成文本,几乎没有输出

LLM 即使约束为 JSON,仍然在生成字符串。Jev 从不生成自由格式字符串。输出是极小的结构化数据,所以 output tokens 是免费的——几乎没什么可计量的。

3. 用 RLCD 训练,不是 RLHF

聊天模型用 RLHF(人类反馈强化学习),奖励人类偏好的答案。Jev 用 TypeSafe 称之为 RLCD(Reinforcement Learning for Calibrated Decisions) 的方法训练,优化概率匹配实际结果。"校准"意味着:给 90% 概率的预测在多次统计中大约 90% 是对的 $TRAE_REF

指标Jev前沿 LLM
端到端延迟**70-500ms**3-329 秒
输入价格**$0.042/百万 token**0.200.20-10/百万 token
输出价格**免费**0.600.60-30/百万 token
答案形状错误率**0%(结构性保证)**有(生成可能中断)
训练方法RLCD(校准决策)RLHF(人类偏好)

TypeSafe 官方给出的对比数字是 "193.6 倍更快,444.6 倍更便宜" ,但公司自己也说这是在自己工作流评估的高端 $TRAE_REF

社区都在用 Jev 做什么?

Jev 早期访问开放后短短几天,JevMade 社区注册表已经收录了 745 个已验证实验,来自 651 位开发者 $TRAE_REF。几个有意思的案例:

image.png

实验方向描述
**浏览器控制**让 Claude 通过 Jev 驱动 Chrome,Jev 决定点哪个按钮
**游戏 AI**五子棋 AI:代码先把 225 个落点缩减到 ~40 个,Jev 做最终判断
**无人机控制**序列化状态 → 问一个问题 → 执行 → 重复的决策循环
**交易机器人**每 tick 做一个决策,Jev 的延迟让循环感觉是即时的
**SEO 工具**`jev-seo`:关键词研究、搜索意图分析
**Git 审计**审计 git diff,判断变更类型和风险
**表单路由**根据表单内容自动路由到正确的团队
**安全检查**`pkg-gate`:检查 npm 包是否安全

Vercel 官方模板:Jev + AI SDK 表单路由

Vercel 已经推出了官方模板,将 Jev 和 AI SDK 结合用于表单提交路由 $TRAE_REF

模板概览

三个表单用 Jev 按内容路由提交——Lead 表单路由到初创/增长/企业/销售团队,Contact 表单路由到账单/客服/通用,Issue 表单路由到前端/平台/基础设施/工程团队。

路由流程

  1. Zod 验证提交数据的字段
  2. Jev 用 AI SDK 的 experimental_evaluate 评估完整提交,选择一个允许的团队/专业组合
  3. 当 Jev 的置信度 ≥ 95% 时,应用接受 Jev 的选择
  4. 如果置信度低于 95%、缺失、无效或 Jev 失败,openai/gpt-5.6-luna-fast 独立评估同一提交
  5. 结果包含目的地、决策模型、Jev 统计信息、模型计时和邮件预览

bash · 快速开始

<span># 克隆模板</span>
git <span>clone</span> https://github.com/vercel-labs/jev-ai-sdk-form-router.git
<span>cd</span> jev-ai-sdk-form-router

<span># 安装依赖</span>
pnpm install

<span># 配置环境变量</span>
<span>cp</span> .env.example .env.local
<span># 需要设置 AI_GATEWAY_API_KEY</span>

<span># 启动</span>
pnpm dev
<span># 打开 localhost:3000</span>

技术栈

Next.js 16 + React 19、AI SDK 7 + Vercel AI Gateway、shadcn/ui + Tailwind CSS 4、React Email + Resend。非常现代的全栈方案。

四大设计模式

从 745 个社区实验中,JevMade 总结了四个反复出现的设计模式 $TRAE_REF

每 tick 一个决策

游戏、无人机、交易机器人和浏览器 agent 都收敛到同一个循环:序列化状态 → 问一个决定性问题 → 执行 → 重复。Jev 的延迟让循环感觉是即时的——模型住在控制循环内部,而不是外部。

置信度作为门控

答案说"做什么";置信度说"是否行动"。最可靠的实验用置信度阈值来路由边缘案例到更慢的模型或人工——自动化有诚实的逃生舱。

在代码中缩小选择空间

开发者很少让 Jev 从所有选项中挑选。本地策略把 225 个五子棋落点缩减到 ~40 个;DOM 过滤器把页面变成元素表;代码缩小选项,Jev 在其中判断。

Jev 判断,LLM 说话

反复出现的分工:Jev 让每个决策廉价且即时,小 LLM 只在需要面向人类的字符串时才调用。决策和生成是分开的预算。

Jev 的局限性

必须知道的限制

1. 只读文本——状态可以是字符串、JSON 对象或 JSON 数组。图片、音频和视频暂不支持 $TRAE_REF
2. Token 预算有限——状态和所有问题共享约 64,000 token 预算,状态加最长单个问题需在约 32,000 token 以内。Choice 最多 255 个选项,Score 在 2-10 个等级之间。
3. 不能生成文本——不能写回复、生成代码、总结文档或解释推理。需要文本时还是需要 LLM。
4. 太新了——2026 年 9 月 15 日才开放早期访问,生态、最佳实践、长期稳定性都还在验证中。
5. 校准 ≠ 单次正确——"校准"是统计意义上的。给 90% 概率的预测在多次中约 90% 对,但任何单次预测仍可能错误。

我的思考:该不该关注?

Jev 的核心价值主张

  • 新类别 —— 不是更好的 LLM,而是全新的模型类别:"决策原语"
  • 极致便宜 —— $0.042/百万输入 token,输出免费。比 LLM 便宜 5-240 倍
  • 极致快速 —— 70-500ms 端到端,可以放进控制循环内部
  • 零幻觉 —— 答案被结构性限制在你定义的选项内,不可能返回非法值
  • 校准概率 —— 用 RLCD 训练,概率分布匹配实际结果,可信赖
  • 组合友好 —— 和 LLM 搭配:Jev 做决策,LLM 做生成

我的判断是:值得关注,但别急着 all in

一方面,"决策模型"确实切中了一个真实痛点——大量应用场景需要的不是文本生成,而是一个快速、廉价、可靠的判断。用 LLM 做分类又慢又贵还有幻觉风险,Jev 直接解决了这个问题。

另一方面,它才刚发布一周,生态、文档、最佳实践都还在早期。TypeSafe 自己也说官方数字是"高端天花板"而非"实际平均值"。

但有一个趋势是确定的:当决策的成本趋近于零,你会把决策放到那些你从不会想到用 AI 的地方。这才是 Jevons 悖论的真正含义——也是 Jev 这个名字想传达的东西。

参考资料

  • $TRAE_REF Flavio Copes — A deep dive into Jev, TypeSafe's System One model
  • $TRAE_REF TypeSafe 官方文档 — Introduction
  • $TRAE_REF JevMade — What people are making with Jev
  • $TRAE_REF Vercel — Jev x AI SDK Form Router
  • $TRAE_REF Vercel KB — How to classify, route, and score with Jev and AI SDK

Jev 代表的不只是一个新工具,而是一种新的思路:AI 不一定要做主角,它可以是代码里一个 70ms 返回的 if 语句。如果这个思路成立,未来软件里可能藏着成千上万个你看不见的决策——它们不是聊天机器人,而是默默在后台做判断的智能分支。觉得有帮助点个赞吧 👋