Jev 是首款专注决策的模型,70-500ms 内返回带概率的分类结果,无法产生幻觉(输出必在预设选项内),$0.042/M 输入tokens。
看看大多数生产应用中调用 AI 的方式,你会发现一个有趣的现象:很多调用其实根本不是在写任何东西。
它们在做判断。这张工单紧急吗?归哪个团队处理?这条输入是垃圾信息吗?这份草稿可以发布了吗?
对于每一个这样的需求,我们把输入发送给一个完整的对话模型,好言好语让它回复 JSON,解析答案,然后祈祷它遵守了格式。这套流程能跑,但慢、贵,而且当你其实只需要一个词的时候,多少有点滑稽。
这正是 Jev 要填补的空白。
Jev 是 TypeSafe AI 的第一款模型。它不生成文本,返回的是带类型的决策和概率。
可以把它想象成一个理解语义的 if 语句。
一个请求里的每个问题并行运行,耗时大约 70 到 500 毫秒,每百万输入 token 收费 $0.042。输出免费。
「不会幻觉」意味着它无法回答你给出的选项之外的内容,但它仍然可能出错。
TypeSafe AI 由 Diogo Almeida 创立,他曾是 OpenAI 的研究员,也是 ChatGPT 背后 InstructGPT 论文的合著者。他们把 Jev 称为 System One 模型,取自 Kahneman 的《思考,快与慢》:快速的、直觉式的判断,而非冗长的推理链条。
你向它发送一个状态(待判断的输入)和一组问题,每个问题都附带你接受的答案。它返回每个问题一个带类型的答案:
没有废话,没有「当然可以!以下是您的分类。」
普通代码在它能计算的条件上分支。一旦条件变成了判断,它就歇菜了:
if (message.toLowerCase().includes('refund')) {
routeTo('billing')
}
这能捕获「I want a refund」,但漏掉「I got billed again after cancelling.」。你不断添加关键词,直到没人愿意碰这条规则。
Jev 读完整条消息,告诉你它有多确定。你的代码仍然做最终决策。
使用 JavaScript SDK(npm install @typesafe-ai/sdk,Node 20+,仅服务端):
import { choice, noul, score, TypeSafeClient } from '@typesafe-ai/sdk'
const client = new TypeSafeClient() // reads TYPESAFE_API_KEY
const message =
"Got billed again even though I cancelled last week. Kinda annoyed, can someone sort this out?"
const { answers } = await client.systemOne({
state: { message },
questions: {
team: choice('Which team should handle `message`?', {
billing: 'Charges, invoices, refunds, cancellations',
technical: 'Bugs, errors, login or integration problems',
sales: 'Pricing questions, upgrades, new accounts',
other: null,
}),
unwanted_charge: noul('Does `message` complain about a charge the customer did not expect?'),
frustration: score('How frustrated is the author of `message`?', [
'Calm, just reporting something',
'Annoyed but polite',
'Angry or threatening to cancel',
]),
},
})
const { team, unwanted_charge, frustration } = answers
if (team.confidence < 0.6) return sendToHuman(message)
if (team.choice === 'billing' && unwanted_charge.noul > 0.8) {
return openBillingCase(message, {
priority: frustration.score > 1.5 ? 'high' : 'normal',
})
}
return routeTo(team.choice, message)
team.choice 只能是你在定义时指定的四个标签之一,在 TypeScript 里这是带类型的。三个问题一次调用全部完成。注意我问的是「意外收费」,而不是「退款」,因为 Jev 严格按字面意思理解问题,而客户从未提过退款二字。
用置信度当调节阀。TypeSafe 训练 Jev 时追求校准性:当它说 90% 的时候,它应该在约 90% 的情况下是对的。所以高置信度自动执行,中间地带请求确认,低置信度转给人工。根据错误答案的代价来设定阈值。
一次问完所有问题。问题针对同一输入并行运行,每多问一个只花它自己的 token。把所有可能用到的判断都提前问好,让代码选择用哪些答案。TypeSafe 把这称为「推测式展开」(speculative fan-out)。
开发者:请求路由、选便宜还是贵的模型、Agent 运行 shell 命令前的护栏、「这个任务完成了吗」的检查、日志分诊。
SaaS 创始人:工单分诊、线索评分、反馈中的流失信号、垃圾内容和滥用审核。
内容团队:这份草稿是否符合我们的风格规范、标题和文章是否匹配、属于哪个主题集群。
范式:LLM 写,Jev 检查和分类,你的代码决策。
TypeSafe 发布了他们自己的失败模式列表,这点我很喜欢:
Choice 总是返回一个有效选项,但它仍然可能是错的。
它回答的是你写的那个问题,而不是你本来想问的那个。
不支持数学、计数或日期。这些在代码里做。
输入噪声大时会损害准确性,对抗性文本可以影响结果。
只处理文本,且无法写作。
标题里说的是最高快 194 倍、最高便宜 445 倍,这是 TypeSafe 自己的评测结果,且他们说这是高估值,所以当作天花板看待。不过定价很容易核对:约 50M token(10 万张工单,每张约 500 tokens),大约 $2.10。
真正重要的是每个正确处理任务的成本。重试和额外的人工审核会蚕食节省的部分。
一个有趣的细节:名字来源于 William Stanley Jevons,他的悖论指出,当某样东西变便宜了,我们会用得多得多。TypeSafe 的赌注是:一旦一次决策只需要几分钱,你就开始到处放一个。
挑一个你现在还在用关键词规则或正则表达式处理、但一直修个没完的判断。
在 TypeSafe Playground 里用你自己的数据试试。
在当前逻辑旁边用 Jev 做影子模式跑一两周。
调整问题和阈值,然后只把低风险路径自动化。
发稿时,TypeSafe 因需求过大暂停了新注册,但 Jev 也可以通过 Vercel AI Gateway 访问:typesafe-ai/jev。
我不认为 Jev 会取代我们已经在用的那些模型。我认为它接管的是我们一直在笨拙地交给它们的那些细小的决策。
你应用中有一个判断,现在还在用关键词规则或完整的 LLM 调用来处理,其实它只需要一个是与非——那是哪一个?