上周我们还写了LLM 与 Jev 的区别一次讲清那篇科普,后台马上就有读者留言问:道理我明白了,可这个"只会做选择题的模型"到底怎么上手?这篇就是那篇文章的姊妹篇——一篇纯实操教程,从注册拿 Key,到 Python 三行代码调用,再到把它接进 Claude Code,每一步都给可以照抄的命令。你不需要懂机器学习,跟着敲就行。
一、开始之前:30 秒搞清 Jev 是什么
Jev 是初创公司 TypeSafe AI 在 2026 年 9 月 15 日发布的"System One(系统一)"决策模型,9 月 21 日起向所有人开放。它和大模型(LLM)的根本区别是一句话:LLM 是问答题,Jev 是选择题。
- 你给它一段"情况描述"(官方叫 state)+ 几个"问题"(questions),每个问题预先写好可选答案;
- 它不生成任何文字,只返回:选了哪个选项、每个选项的概率、以及一个置信度分数;
- 因为不用逐字生成,它端到端延迟低至 70~500 毫秒,输入每百万 Token 仅 0.042 美元,输出免费。
所以它的定位不是"陪你聊天",而是嵌在程序里做判断:工单该转给哪个部门?这条评论要不要人工复核?这个 PR 有没有安全风险?——这类"选项有限、要快、要便宜"的判断,一秒钟问几百次也不心疼。
二、第一步:注册账号,拿到 API Key
- 打开控制台 console.typesafe.ai,用邮箱注册登录(目前无需邀请码,之前排队 waitlist 的用户已全面放开)。
- 注册后官方会赠送一笔额度。按全面开放时的报道,约等于 5 美元、折合 1.2 亿输入 Token——因为输出免费、Jev 又几乎不消耗输出,这笔额度足够个人做几千上万次判断,具体以你控制台右上角显示为准。
- 进入控制台的 API Keys 页面,点创建,复制那串密钥。
- 把它存成环境变量,后面所有工具都自动读取:
# macOS / Linux(写进 ~/.zshrc 或 ~/.bashrc 可长期生效)
export TYPESAFE_API_KEY="sk-你的密钥"
# Windows PowerShell
setx TYPESAFE_API_KEY "sk-你的密钥"
安全提醒:密钥不要提交进 Git 仓库,也不要写死在代码里。让程序读环境变量是最低成本的保护。
开发文档在 docs.typesafe.ai,本文示例均可在其中对照。
三、不写代码:先在控制台里问一道题
官方控制台提供了在线试用入口,左侧填两个东西,右侧点运行:
- state(情况):
客户说:我被重复扣款了,订单号 A-104,请退款。 - questions(问题):加一个问题
department,选项填billing(账务)、sales(销售)、technical(技术)。
运行后右侧会返回结构化结果,形如:
{
"department": {
"type": "choice",
"choice": "billing",
"confidence": 0.8,
"probabilities": { "billing": 0.87, "sales": 0, "technical": 0.13 }
}
}
看到了吗——它没有说一句话,只是"举起牌子":87% 是账务问题。先在这里玩熟输入输出的感觉,再进代码环节,会顺畅很多。
四、Python 接入:三种"题型"就够了
安装官方 SDK 并调用,全程不到 20 行代码:
pip install typesafe-sdk
Jev 的问题只有三种类型,对应 SDK 里三个类:
| 题型 | 类名 | 用来问什么 | 返回什么 |
|---|---|---|---|
| 单选 | Choice | "A/B/C 选哪个" | 选项 + 每个选项的概率 |
| 判断 | Noul | "是 / 不是" | 真或假 + 置信度 |
| 打分 | Score | "0 到 2 分打几分" | 分数 + 落在各档的概率 |
把客服工单自动分流这个经典场景写成代码:
from typesafe_sdk import Choice, Noul, Score, TypeSafeClient
client = TypeSafeClient() # 自动读取 TYPESAFE_API_KEY 环境变量
response = client.system_one(
state="客户说:我被重复扣款了,订单号 A-104,请退款,这已经是第二次了!",
questions={
"department": Choice(
instructions="这张工单应该转给哪个部门?",
criteria={
"billing": "扣款、退款、账单类问题",
"sales": "询价、购买、续费意向",
"technical": "报错、功能故障、使用问题",
},
),
"is_urgent": Noul(instructions="是否需要当天内处理?"),
"frustration": Score(instructions="客户的愤怒程度,0=平静,2=暴怒"),
},
)
print(response.answers["department"].choice) # → billing
print(response.answers["is_urgent"].noul) # → True
print(response.answers["frustration"].score) # → 1.04
三个问题一次请求全部答完,实测延迟在几百毫秒级。这就是 Jev 的用法本质:把你要做的判断,定义成一组类型化的问题。
五、直接发 HTTP 请求:格式就这一屏
不想装 SDK?任何语言都能直接调 API。端点是 https://api.typesafe.ai/v1/systemone,模型名填 jev-latest:
curl https://api.typesafe.ai/v1/systemone \
-H "Authorization: Bearer $TYPESAFE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "jev-latest",
"state": "客户说:我被重复扣款了,订单号 A-104,请退款。",
"questions": {
"department": {
"type": "choice",
"instructions": "这张工单应该转给哪个部门?",
"criteria": {
"billing": "扣款、退款、账单类问题",
"sales": "询价、购买、续费意向",
"technical": "报错、功能故障、使用问题"
}
},
"is_urgent": { "type": "noul", "instructions": "是否需要当天内处理?" }
}
}'
响应里 answers 的结构和第三节控制台看到的一模一样。注意两点:它不是 OpenAI 兼容格式(没有 messages 数组),别指望把 LLM 的客户端代码改个 URL 就能用;返回的 answers 每个键下都带 type 字段,先判断类型再取值最稳。
六、把 Jev 接进 Claude Code:两条命令
这是国内开发者最关心的玩法——让编码智能体在需要"判断"的环节叫上 Jev,便宜的判断交给 Jev,复杂的生成留给主力模型。Claude Code 官方插件市场里已经有 TypeSafe 的 Skill:
claude plugin marketplace add typesafe-ai/skills
claude plugin install typesafe@typesafe-ai
装好后在对话里输入斜杠命令 /typesafe-ai,或者直接说"用 Jev 判断这段代码有没有注入风险",Claude 就会带着你定义好的选项去调 Jev,拿回概率化结论。其他支持 Skill 的编码智能体(Cursor、Qoder 等)可以用通用安装命令:
npx skills add typesafe-ai/skills --skill typesafe-ai -g
社区还出现了 llm-typesafe 这类第三方插件(Simon Willison 出品),把它接进 LLM CLI 工具链。另外 Jev 也已上架 Vercel AI Gateway 等第三方模型网关,习惯从网关统一管 Key 的团队可以在那里直接路由,第三方网关费率约 0.04 美元/百万输入 Token。
七、概率怎么用:置信度路由才是精髓
拿到 confidence: 0.8 之后怎么办?直接 if choice == "billing" 就完事了吗——不,Jev 的正确姿势是按置信度分流,这也是官方文档 Patterns 章节反复强调的:
ans = response.answers["department"]
if ans.confidence >= 0.85:
auto_route(ans.choice) # 高置信:直接执行
elif ans.confidence >= 0.6:
route_with_flag(ans.choice) # 中置信:执行但打上"待抽检"标记
else:
escalate_to_human() # 低置信:转人工或交给大模型再判一次
三条经验:风险越高的动作,阈值卡得越严(比如涉及退款就只接受 0.9 以上);低置信兜底可以升级问 LLM,形成"Jev 快筛 + LLM 精判"的漏斗,成本能降一个数量级;把 probabilities 整个存进日志,回头统计"置信度 0.7 档的实际错误率",阈值就能校准得越来越准。
八、新手必踩的坑
- 别指望它输出文字。它只会从你给的选项里选,想要解释请拿选项概率去问 LLM。
- 英文输入更稳。模型以英语优先训练,state 和 instructions 用中文能跑,但关键业务建议中英各测一轮对比稳定性。
- 不会算术、不擅长日期比较。"这两个日期谁早"这种题别给它,用代码判断。
- 选项设计决定成败:选项要互斥、要穷尽,拿不准就加一个
other兜底项,否则它会被迫在错误答案里"矬子里拔将军"。 - 喂结构化信息。state 里塞 JSON、字段名清晰,比一大段口语化描述准得多——它判断得准不准,取决于你喂给它的信息质量。
- 不能微调。想定制行为,只能改 instructions 措辞和选项定义。
- 只能"看"文本和 JSON,处理不了图片;网页若靠 Canvas 渲染,DOM 里没有文字信息,它也判断不了。
- 额度有期限,赠送的免费 Token 注意在控制台确认有效期,别等过期才发现没测完。
九、小结
上手 Jev 的完整路径其实就四步:console.typesafe.ai 注册拿 Key → 控制台里玩一道选择题找感觉 → pip install typesafe-sdk 跑通三种题型 → 用置信度路由把它嵌进真实业务。它不会取代大模型,但在"高频、便宜、要快"的判断环节,它是目前性价比最离谱的选择——毕竟输出免费这件事,LLM 阵营暂时没有跟进者。
延伸阅读:想了解它和 LLM 的原理差异,看这篇;想让 Agent 装上各种工具,我们的 MCP 动手教程是更好的起点。