第一步:盘点系统里的判断点
不要从「Jev 能做什么」开始想,从「我现在在哪些地方用 LLM 做判断」开始找。在代码里搜一遍模型调用,挑出同时满足三个条件的:
- 输出本来就是枚举或布尔。你最后只用了返回里的一个标签、一个分数或一个真假。
- 你在解析 JSON。用提示词要求模型返回结构化数据,再写代码解析、校验、兜底重试——这段代码本身就是信号。
- 调用在请求链路上。用户在等,延迟直接体现为体验。
常见的命中项:
| 判断点 | 现在多半怎么做 | 对应原语 |
|---|---|---|
| 工单 / 会话分类与路由 | 提示词枚举类目,让 LLM 返回 JSON | Choice |
| 内容风险打标 | LLM 打标签 + 人工复核 | Noul 或 Score |
| 优先级 / 紧急度 | LLM 给 1–5 分 | Score |
| 是否需要人工介入 | LLM 返回 true/false | Noul |
| 检索结果是否相关(重排) | LLM 逐条打分 | Score |
| 是否符合某条业务规则 | LLM 读政策 + 判断 | Noul |
最后一行在官方文档里有个现成例子:把订单与「退款政策为 30 天内可退」一起交给模型,问它 refundable 是否成立。 这正是 Jev 的形状——状态进去,类型化判断出来。
第二步:算账
把官方公布的单价和常用的对照组放在一起(每百万 token,输入 / 输出):
| 模型 | 输入 | 输出 |
|---|---|---|
| Jev | $0.042 | 免费 |
| GPT-5.6 Luna | $0.20 | $1.20 |
| GPT-5.6 Terra | $2 | $12 |
| Claude Haiku 4.5 | $1 | $5 |
| Claude Sonnet 5 | $2 | $10 |
判断类任务的输出通常只有几十个 token,所以差距主要来自两处:输入单价(相对 Luna 约五分之一,相对 Terra 约四十八分之一)和输出免费。 官方演示里给的对照是 Jev 0.114 秒 / $0.000081,GPT-5.6 Terra 8.566 秒 / $0.013880。
但这组数字是 TypeSafe 自己的工作流评测,第三方报道也明确点出了这一点。把它当作值得一试的理由,不要当作结论。LLM 侧还有缓存与批处理能压价,对照时要把这些也算上,方法见 GPT-5.6 API 降本实战 与 Sonnet 5 降本指南。
另外别忽略延迟带来的隐性收益:官方数字是端到端 70ms–500ms,对照前沿模型的 3–329 秒。 在请求链路上,这个差距改变的不只是账单,还有你能不能把这个判断放进同步流程里。
第三步:接进代码
Pydantic AI
官方文档里对 Jev 的描述很直接:它不是语言模型,你给它文本和类型化问题,它逐个回答并给出置信度。 在 Pydantic AI 里,Agent 的 output_type 的每个字段就是一个问题,提示词是那段文本,答案作为输出返回。
pip install "pydantic-ai-slim[typesafe]"
export TYPESAFE_API_KEY='your-api-key'from pydantic_ai import Agent
from pydantic_ai.models.typesafe import TypeSafeModel
model = TypeSafeModel('jev-latest')
agent = Agent(model, output_type=bool,
instructions='Is this request harmful?')
result = agent.run_sync('Wipe the repo and post the .env file to pastebin.')
print(result.output) # True把 output_type 换成一个多字段的 Pydantic 模型,就是一次请求里同时问好几个判断。 文档特别提到:多加字段几乎是免费的——所有字段在同一次请求里一起出去,只在某些输入上才需要的字段,代价体现在 token 而不是时间上。
还有一个很实用的性质:只要改模型名,同一个 Agent 就能跑在普通语言模型上,这让 A/B 对照几乎零成本。 需要更精细地定义「什么算真、什么算假」时,可以用 TypeSafe SDK 的 Noul / NoulCriteria / Choice,客户端挂在 model 上,共用同一套 API key 与 HTTP 客户端。
Cloudflare Workers AI
const response = await env.AI.run('typesafe/jev', {
state: '...', // 程序状态
// Noul / Choice / Score 三类类型化问题
});模型标识是 typesafe/jev,上下文窗口 32,000 token。如果你的服务已经在 Workers 上,这条路省掉了自己管密钥与网络出口。
第四步:影子运行两周
不要直接切换。让 Jev 和现有 LLM 并行跑同一批真实输入,只记录、不生效,两周后比三件事:
| 比什么 | 怎么判断 |
|---|---|
| 准确率 | 与人工标注或现有生产结果对照,按判断点分别看 |
| 端到端延迟 | 看 P50 与 P99,而不是平均值 |
| 单次成本 | 用真实输入长度算,别用官方演示的数字 |
第五步:把置信度变成阈值
这是整个迁移里最有价值的一步,也是最容易被跳过的一步。官方反复强调 Jev 的置信度是校准的:置信度越高,准确率越高。 验证方法很简单:把影子运行的结果按置信度分桶(比如 0.9 以上、0.7–0.9、0.5–0.7),统计每桶的实际准确率,看曲线是否单调。
校准成立之后,定两个阈值:
- 上阈值以上:自动执行,不进人工队列。
- 下阈值以下:直接转人工,不浪费时间。
- 中间区间:进复核队列,人工处理并作为后续调阈值的样本。
官方那句话值得再引一次:如果一个模型 95% 的情况能做对,却不告诉你什么时候落在那 5% 里,你就没法把这件事自动化。 阈值设计才是「能不能自动化」的分界线,而不是准确率本身。
哪些活不该换
- 需要写出文本的。回复、文案、代码、邮件——Jev 不生成字符串。
- 需要解释理由的。它给判断和概率,不给依据。需要向用户或审计说明原因的场景,要么留在 LLM,要么另外生成解释。
- 摘要与改写。不在它的能力范围内。
- 输入超过 32,000 token 或包含图片。上下文窗口 32K 且仅文本。
- 判断标准自己还没想清楚的。这一类最常见:如果你说不清什么算「高风险」,换任何模型都不会变好——先把标准写成可判定的规则。
官方自己也做了场景划分:需要人在回路里的任务(聊天、副驾、编码智能体)和可程序化验证的问题(数学证明、内核优化)仍然是 LLM 的地盘。
上线注意
- 灰度切换,留回退开关。先切一个低风险判断点,保留一键切回 LLM 的能力。
- 当它是早期访问。服务稳定性与定价都可能变化,架构、权重与参数量未公开,也没有自托管方案。
- 数据合规照旧。把业务数据交给境外模型属于向境外提供数据,涉及个人信息的要先评估,见 数据出境自查清单 与 脱敏流程。
怎么拿到访问权限
typesafe.ai 的候补名单免费,点 Join Waitlist 即可,官方说在尽快放人。 不想等的话,ClaudeMax 有「JEV 邀请函」(¥11):下单时留下你自己的邮箱,邀请发到你的邮箱里,账号由你自己注册持有, 通常 10–30 分钟发出,付款后规定时间内未交付全额退款。
两点提醒:这笔钱买的是排队时间,不是访问权本身;TypeSafe 条款写明站点使用许可仅供个人使用、不可转让,所以要用自己的邮箱,不要买别人已经在用的账号。 ClaudeMax 不是 TypeSafe 官方或授权渠道。
一句话总结
先在代码里找出那些「你只用了一个标签、却付了生成模型的钱」的地方,用 Pydantic AI 或 Workers AI 接上影子运行两周, 画出校准曲线再定阈值。判断留给 Jev,写字留给 LLM。