Jev 是什么?一句话说清楚
Jev 是一个智能 if 语句。
普通代码用 if (order.total > 100) 做分支——当条件是计算机能计算的数值时没问题。但如果条件是一个"判断"呢?比如"这条客服消息是不是在生气?""这封邮件是关于账单的吗?""这 12 个按钮里该点哪个继续结账?"
这些判断传统方案要么手写规则(脆弱),要么训练分类器(需要标注数据),要么让 LLM 返回结构化输出(慢、贵、可能幻觉)。
Jev 给了第四种选择:你定义可能的答案,模型返回每个答案的概率分布,你的代码直接分支。不生成文本,不解析,不幻觉。
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_tool、course 或 unrelated,模型无法发明第四种类别。
3. 三个问题在同一次调用中同时回答。增加第四个问题几乎不改变响应时间。
为什么快?为什么便宜?
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** | 10/百万 token |
| 输出价格 | **免费** | 30/百万 token |
| 答案形状错误率 | **0%(结构性保证)** | 有(生成可能中断) |
| 训练方法 | RLCD(校准决策) | RLHF(人类偏好) |
TypeSafe 官方给出的对比数字是 "193.6 倍更快,444.6 倍更便宜" ,但公司自己也说这是在自己工作流评估的高端 $TRAE_REF。
社区都在用 Jev 做什么?
Jev 早期访问开放后短短几天,JevMade 社区注册表已经收录了 745 个已验证实验,来自 651 位开发者 $TRAE_REF。几个有意思的案例:
| 实验方向 | 描述 |
|---|---|
| **浏览器控制** | 让 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 表单路由到前端/平台/基础设施/工程团队。
路由流程
- Zod 验证提交数据的字段
- Jev 用 AI SDK 的
experimental_evaluate评估完整提交,选择一个允许的团队/专业组合 - 当 Jev 的置信度 ≥ 95% 时,应用接受 Jev 的选择
- 如果置信度低于 95%、缺失、无效或 Jev 失败,
openai/gpt-5.6-luna-fast独立评估同一提交 - 结果包含目的地、决策模型、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 语句。如果这个思路成立,未来软件里可能藏着成千上万个你看不见的决策——它们不是聊天机器人,而是默默在后台做判断的智能分支。觉得有帮助点个赞吧 👋
Jev 把决策从生成式模型中剥离,做成廉价、可组合的软件原语。价值在于让 AI 沉入每个 if 语句,适合 agent 路由、置信度门控与高频决策循环;但不适合需要文本生成或深度推理的场景。