Jev 是什么:TypeSafe 的 System One 决策模型
如果你正在搜「Jev 是什么」,这节课开头先把答案说清楚:Jev 是 TypeSafe 的旗舰模型,也是第一个 System One 模型——你交给它一份材料(state)和一组类型化问题(questions),它返回代码能直接用的结构化答案和概率,不生成任何文本。
这节课先把它和 GPT、Claude 这类 LLM 彻底分清,再带你零代码实测一次。
学完你能做什么
- 用一句话说清 Jev 是什么、它和 GPT / Claude 这类 LLM 的本质区别
- 说清「System One」这个名字的来历,以及它擅长与不擅长的事
- 不写一行代码,在官方 Playground 里完成一次真实的 Jev 调用
- 分清 Choice / Score / Noul 三种题型各自回答什么问题
- 判断自己的场景(分类、打分、是非判断)适不适合用 Jev
你现在的困境
- 「让 ChatGPT 判断工单该给哪个组,输出 JSON」——它一会儿包 markdown 代码围栏,一会儿把字段名拼错,解析代码比业务逻辑还长
- 模型嘴上说「非常确定」,但代码里没法写 if:把握 0.55 和 0.99 应该走不同分支,文本回答里看不出区别
- 听说了 Jev,但搞不清它和 GPT、Claude 是不是一类东西:能不能填进 Claude Code 当模型用?
什么时候用这一招
当你需要:
- 程序拿到一个可依赖的判断:把内容分到固定选项、按你定义的量表打分、判断一句话是真是假
- 判断自带「把握多大」:概率和 confidence 直接进代码,决定自动执行还是转人工
而且不想:
- 再解析 LLM 的自由文本输出,为格式不稳定反复调 prompt
- 把「感觉挺确定」当成工程依据
🎒 开始前的准备
- 读完 快速起步导读,知道本阶段的路线
- 一个现代浏览器(本课全程用官方 Playground,不装任何东西)
- 一个能登录 console.typesafe.ai 的 TypeSafe 账号(还没有的话,注册与 API Key 那课 5 分钟带你搞定)
核心思路
一次请求长什么样。 Jev 的每次调用都是同一个形状:一份 state(要判断的内容:字符串、JSON 对象或文本数组)加一组 questions(类型化问题),返回每个问题一个类型化答案,附带概率,部分题型还有 confidence。所有问题对同一份 state 并行、独立评估,加题几乎不增加响应时间。
「System One」这名字哪来的。 官方借用了《思考,快与慢》里 Kahneman 的 System 1(快思考):这类模型专做「快而聚焦的判断」——一个知识渊博的人拿着对的材料,几秒钟就能拍板的那种结论。Jev 是 TypeSafe 的旗舰模型,也是第一个 System One 模型。
和 LLM 的区别,一张表说清。
| LLM(GPT、Claude…) | Jev(System One 模型) | |
|---|---|---|
| 为谁优化 | 生成给人读的文本 | 做代码能直接用的决策 |
| 输出 | 自由文本,想要 JSON 得靠 prompt 约束 | 类型化答案 + 概率,部分题型带 confidence |
| 概率可信吗 | 不校准,「我很确定」只是措辞 | 按真实结果校准训练,概率反映不确定性 |
| 会解释推理吗 | 会长篇解释 | 不会:不写回复、不产代码、不解释推理 |
| 典型用法 | 聊天、写作、代码补全 | 路由、分类、打分、护栏、是非判断 |
三种题型(官方叫 primitives,原语)。
| 题型 | 回答什么 | 返回 |
|---|---|---|
| Choice | 从固定选项里挑一个,比如工单分给 billing / technical / sales | choice、每个选项的 probabilities、confidence |
| Score | 按你定义的量表打分,比如客户沮丧度三档 | score(可落在两档之间)、probabilities、confidence |
| Noul | 一句话是真是假,比如「这条消息要求退款」 | noul:0–1 的概率 |
(第四种题型 Box 用来在图里定位东西,放在 Box 与图像 课单独讲。)
怎么调用。 用官方 SDK(Python / JavaScript),或直接请求 POST https://api.typesafe.ai/v1/systemone;请求里的 model 字段选模型,官方示例都用 jev-latest——这也是 SDK 的默认值,当前指向最新的稳定版 Jev 1.14。
拼进真实流程长什么样。 官方给的退款例子:把客户消息、相关交易记录、退款政策打包成一份 state;一次请求问三个独立问题——是否要求了退款、证据是否指向重复扣款、政策是否支持退款;代码把三个答案和确定性检查组合,决定自动处理还是转人工。
它不是什么,同样重要。 Jev 不是 Claude Code、Cursor、Copilot 背后那种模型——它不流式生成文本、不调用工具、不编辑文件,也没有任何 model: "jev-latest" 配置能把 coding agent 换成 Jev 驱动。正确姿势是反过来:让 coding agent 照常干活,写「调用 Jev 的代码」。
⚠️ 中文内容注意
英语是 Jev 的主要训练语言,准确度最好;其他语言(包括中文)能用,但官方明确说准确度不如英语。中文场景上线前,先用自己的数据测,并重点关注 confidence。
跟我做
(本课全程在官方 Playground 里完成:不装 SDK、不写代码,先建立体感。)
第 1 步:打开官方 Playground,贴入你的第一份 state
为什么:Jev 的一切调用都是「state + 问题」,Playground 让你零代码看到完整过程。
打开 console.typesafe.ai/playground 并登录,把下面这段官方示例工单贴进 state 输入区:
Our API integration started returning 500 errors on every request about 20 minutes ago, and we can't process any customer orders until this is fixed.你应该看到:state 区出现这段文本。它就是 Jev 要判断的材料——真实项目里可以是字符串、JSON 对象或文本数组。
第 2 步:加一个 Noul 问题,看 Jev 怎么回答是非
为什么:Noul 是非题最能体现 Jev 的输出形态——不是一段话,是一个概率。
在问题区添加这个问题(ID 自己取,这里用官方示例的 is_urgent):
{
"is_urgent": {
"type": "noul",
"instructions": "The message conveys urgency or time-sensitivity"
}
}你应该看到:答案是一个 0 到 1 之间的数字,官方示例里这条工单得到 0.99——非常紧急。实际数值可能随 Jev 版本变化。
- 我拿到的是一个 0–1 之间的概率,而不是一段文字
第 3 步:一次请求混搭三题,彻底搞清 Jev 是什么
为什么:一次请求多题并行评估,是 Jev 的核心工作方式,也是后面 并行提问、组合打分 这些玩法的基础。
再加两个问题,和第 2 步的 is_urgent 合在同一次请求里:
{
"department": {
"type": "choice",
"instructions": "Which team should handle this",
"criteria": {
"billing": "Payment or subscription issues",
"technical": "Bugs or integration problems",
"sales": "Pricing or account questions"
}
},
"frustration": {
"type": "score",
"instructions": "How frustrated the customer appears",
"criteria": [
"Calm, just stating facts",
"Frustrated but civil",
"Very angry, strong language"
]
}
}你应该看到:三个答案同时返回——
department:选中technical,附每个选项的概率和 confidencefrustration:一个 0–2 之间的分数,官方示例是 0.67,落在「平静陈述」和「沮丧但克制」两档之间is_urgent:仍是那个概率,官方示例 0.99
官方代码示例打印的就是这三行(实际数值可能随 Jev 版本变化):
technical
0.67
0.99- 三个答案一次返回,不需要发三次请求
检查点 ✅
- 我能说出 Jev 一次请求的两样输入:state 和 questions
- 我知道 Jev 不生成文本——返回的是类型化答案、概率,部分题型还有 confidence
- 我在 Playground 里亲手拿到了一个 0–1 之间的概率
- 我知道 Jev 不能替换 Claude Code / Cursor 背后的模型
- 我能说出三种题型:Choice 挑选项、Score 打分、Noul 判是非
踩坑提醒
❌ 把 jev-latest 填进 Claude Code 当模型用
Jev 不流式生成文本、不调用工具、不编辑文件,coding agent 依赖的这三样它一样都不做。正确做法:让 coding agent 写调用 Jev 的代码;想让它更懂 TypeSafe API,可以装官方 agent skill(与 Claude Code 配合 课会讲)。
❌ 期待 Jev 解释「为什么」
它的回答就是类型化的值和概率,没有推理过程。要更细的判断,就把大问题拆成多个小问题在代码里组合——比如「给这个创业计划整体打分」,拆成市场规模、技术可行性、差异化三个 Score,自己加权。
❌ 中文场景不测试直接上线
英语才是 Jev 准确度最好的语言,中文能用但准确度较低。先用自己的数据测,重点盯 confidence,动作越大的场景阈值定得越保守。
进阶技巧(可选)
两个题型都像时怎么选:选「代码能直接行动」的那个。Choice 对应现成的分支路径,Score 对应一个阈值判断,Noul 对应一个 if。
Noul 的 0.5 是五五开,不是「中等」:想量「程度」(比如 Python 熟练度),用定义好档位的 Score;Noul 只做干净的是非判断,条件要写得能一锤定音。
本课小结
✅ 现在你能回答「Jev 是什么」了:TypeSafe 的旗舰模型、第一个 System One 决策模型——输入 state 和类型化问题,输出结构化答案、概率和(部分题型的)confidence,不生成文本。
✅ 你知道了它和 LLM 的分工:LLM 负责生成,Jev 负责判断。它进不了 Claude Code 的模型栏,但能进你写的每一行业务代码。
✅ 你在 Playground 里完成了一次真实调用,见到了官方示例答案 technical / 0.67 / 0.99。
关键配置字段回顾:
| 字段 | 推荐值 | 说明 |
|---|---|---|
state | 字符串 / JSON 对象 / 文本数组 | 要判断的材料,一次请求里所有问题共用 |
questions | Choice / Score / Noul 混搭 | 每题 = 自取的 ID + type + instructions + criteria(Choice / Score 必填,Noul 可省) |
model | jev-latest | SDK 默认别名,当前指向 Jev 1.14(jev-1.14.0) |
| 端点 | POST https://api.typesafe.ai/v1/systemone | 请求头带 Authorization: Bearer <你的API Key> |
下一课预告
概念清楚了,下一课去拿钥匙:注册与 API Key:5 分钟拿到 TypeSafe 钥匙。
你会学到:
- TypeSafe 控制台在哪里、API Key 在哪一页生成
- 为什么官方建议把 Key 存进环境变量
TYPESAFE_API_KEY - 速率限制在控制台哪里查,超限会返回什么