如何用 Jev
驱动 GTM 自动化

分步指南 · 出品: parrot

Jev 是什么?

Jev 是 TypeSafe 推出的决策模型。
交给它一个 JSON 状态和带类型的提问(选择、是/否、打分),不到一秒就能拿回概率。

鹦鹉AI 通过数据目录把数据交给它:X、LinkedIn、邮箱验证、人物与公司数据补全。

开始使用 parrot查看自动化配方

快速上手 Jev 101

jev 是什么

jev 输出概率,不生成文本

问对话模型,它会一个 token 接一个 token 地写出答案,你的代码还得把它读出来。问 jev,你列出的每个选项会同时得到一个概率,总和为一。同一条消息,同一个问题:

数字就是答案。你的代码拿它和阈值比较;无需解析,也不会凭空冒出你列表之外的选项。

状态"大约 20 分钟前,我们的 API 集成开始对所有请求返回 500 错误,在修复之前无法处理任何客户订单。"问题这该由哪个团队处理:billing、technical 还是 sales?
对话模型
0.0 s
正在写…
jev
technical1.00
billing0.00
sales0.00
0.38 s
0 个输出 token · 置信度 1.00 · $0.000018
jev 是什么

比最便宜的 LLM 还快得多、便宜得多

我们把同样的三个客服问题分别发给 jev 和最便宜的对话模型 GPT-5.6 Luna,并用真实客服工单把输入从 2k 填充到 200k token。两者都能跑的区间里,jev 便宜 5 到 6 倍、快 5 到 7 倍,而且因为它从不生成文本,耗时几乎不随输入增长。

jev 大约到 30k token 就到上限,再长就要拆分状态。Luna 的耗时主要花在写出约 80 个输出 token 上,所以无论发多少,都在 2 到 4 秒。TypeSafe 自己的工作流演示给出的数字高得多(快 193.6 倍、便宜 444.6 倍);这里是我们自己的实测。

每次调用成本
2k1.7×
8k5.8×
16k5.8×
32k5.7×
每次调用耗时
2k7.0×
8k5.9×
16k6.1×
32k4.5×
jevGPT-5.6 Luna
输入 jevGPT-5.6 Luna
2k$0.00007550.39 s$0.00012992.74 s
8k$0.00022480.40 s$0.00130712.35 s
16k$0.00041220.40 s$0.00237912.46 s
32k$0.00080310.51 s$0.00459532.29 s
34k超出上限$0.00803713.59 s
100k超出上限$0.02336563.03 s
200k超出上限$0.04671473.89 s
来自公开数据集的真实英文客服工单 · 成本按 OpenRouter 计费口径 · 单次运行
jev 是什么

jev 能做什么,不能做什么

它是裁判,不是写手。左边每一项都是带类型的提问;右边每一项都需要能生成文本的模型,所以两者要搭配使用。

能
+选一个动作在你给出的选项里选,每个都带概率 · 往下有游戏演示
+分类billing 0.99 · technical 0.01 · account 0.00
+打分 / 排序368 人,42.8 秒,$0.013
+回答是或否jailbreak 0.99,一次调用判断四类风险
+按置信度路由代码里两个阈值,无需重跑
+直接读你的 JSON行、表、元素列表、工单历史
+速度是对话模型的 5 到 7 倍还便宜 5 到 6 倍,我们的实测 · 每百万次决策约 $20
不能
−写句子LLM 负责写,jev 逐字段校验
−解释自己概率分布就是解释:记日志
−写代码它能评判代码:高风险改动、需要评审
−一步步推理你把步骤写成问题,它一次性全部作答
−读超过约 30k token拆分状态,或先摘要再评判摘要
−抓取任何数据那是 parrot 的事:先从目录取数,再由 jev 决策
−记住上一次调用每个请求都无状态:把历史放进状态里
实时决策

实时决策:游戏循环

一局游戏的输入永远只有那么几个。把它写成一道 choice 题、按键就是选项,jev 就能每个 tick 返回一个分布:无需解析,不会编出选项之外的动作,快到足以放进循环里。

一段小型横版卷轴游戏的七个 tick,每个都由 jev 依据游戏状态实时判定:位置、弹药、深坑、出口。每次决策约 0.35 秒、$0.00002。上面那场对比里,对话模型写一句「我会按跳跃」要 2.7 秒。

GAME每个 tick:状态进,动作出
动作集合 · 固定
LEFT
RIGHT
JUMP
SHOOT
实时决策

实时决策:自己会选版的页面

快到能在页面加载时做出的决策。Bryant Chou 的 Ploy 读取站点转化数据和补全后的访客信息,按受众分群形成假设;页面加载时,jev 为该访客选出页面每个区块的文案与设计,随后追踪结果并改进假设。

他的数字:选择耗时 25 ms,对 LCP 没有实质影响。每个区块都是在你写好的变体里做选择,所以不会现场生成,也不会出现跑偏品牌的内容。

@bryantchou 在 X ↗
25 ms 每次页面加载对 LCP 没有实质影响每个区块、每个分群的文案与设计结果实时追踪视频与数据:@bryantchou
网页与电脑操作

网页与电脑操作

browser-use 的 jev-ultrafast 代理从不发送截图。它把页面读成带编号的元素表,然后向 jev 发一次请求:该执行哪个操作,以及每种操作各自的目标元素,全部一次答完;随后采用与操作匹配的那个目标。只有 TYPE_TEXT 这一步会调用小模型,而且只用来生成文本。

browser-use/jev-ultrafast ↗
jev-ultrafast 如何走一步 · 摘自其 README
                      one TypeSafe request
                     ┌───────────────────────────┐
page → element table → operation                 │
                     │ click_target              │
                     │ type_text_target          │
                     │ select_target, if present │
                     └─────────────┬─────────────┘
                        use the matching target
                                   │
                 CLICK [7] ────────┼──→ browser
             TYPE_TEXT [3] ────────┘
                       ↓
             small LLM → text → browser
7.07 秒,机票搜索全流程每个任务浏览器调用 1,092 → 101 次2.8 秒打开一篇维基百科文章1.9 秒酒店搜索并筛选jev-ultrafast README · 单次运行
自动化与数据

自动化:逐条判断,不靠抽样

每次不到一美分的零头、不到一秒,每个答案还带 confidence,业务逻辑就放回代码里;从前不值得动用前沿模型的任务,变成对每条记录都跑的规则。

borja 的 SEO 审计:内链不是写作,而是 8,790 次是/否判断——这个页面有真实理由链到那个页面吗,锚文本是否已经出现在正文里?左栏是 jev,右栏是 Claude Opus 5,同一批任务、同一套评分标准。下面的注册线索配方是同一形态。

@borjafat 在 X ↗
45.1 秒处理 586 个页面总计 $0.21放置 584 条链接,139 个页面拒绝Opus 5:21 个页面,$1.43每页便宜 ≈ 190 倍视频与数据:@borjafat
搜索

搜索模型:没人做过的筛选条件

说到搜索,通常意味着别人预先建好索引的那些筛选条件。用 jev,查询就是一句话,每条记录都按它来评判,于是你能按任何列里都没有的东西筛选和排序:建筑风格、翻新状态、真正拍板的人。不需要索引,不需要 embedding,也不需要向量列。

扫描数千条房源不到 20 秒$0.18筛选条件:建筑风格 · 翻新状态 · 距高速远近视频与数据:@venturetwins
怎么用

三类问题

jev 的每个问题都属于三种类型之一,一次调用可以发多个。每个问题返回的是完整分布而不是一个标签,所以「接近」和「确定」一眼就能区分。

choice 在你的选项里选一个,并告诉你差得有多近。noul 把是/否变成概率,边界模糊时两侧各有一套判断要点。score 是你的有序评分表上的位置:每一级的概率加上它们的加权平均。

三类都是我们实测得到的真实答案。

状态 · 一条客服咨询
"The export button double-charged my credits, so my invoice is wrong this month."
问题
"department": {
  "type": "choice",
  "instructions": "Which team should handle this?",
  "criteria": {
    "billing": {
      "what": "charges, invoices, credits, refunds",
      "examples": ["I was charged twice",
                   "Where is my refund?"] },
    "technical": {
      "what": "bugs, errors, integrations",
      "examples": ["The export is empty",
                   "API returns 500"] },
    "account": {
      "what": "login, password, profile",
      "examples": ["I can't log in"] }
  }
}
答案
billing0.99
technical0.01
account0.00
→ choice billing · confidence 0.99

客户要的是把发票改对,billing 下面的示例让这几乎确定。把选项缩回一行标签,就会有一成概率质量移到 technical,因为问题确实是 bug 引起的;加上 "focus": "route to whoever must fix the root cause",同一条消息又会翻过去,演示见下方「引导技巧」。路由策略就住在评分表里。

怎么用

按置信度路由

jev 交回概率,决策权在你的代码。TypeSafe 的护栏手册里,整套策略就是两个阈值加一张「风险 → 动作」的映射表。选一条消息,看它怎么走这棵树。

每条消息一次 jev 调用:四个风险 noul 加一个严重度评分,约 $0.00002。改一改那两个数字,同样的判定就会走不同的分支,无需重跑。

review_threshold = 0.35
action_threshold = 0.70
severity_block   = 2.0
action = { jailbreak: block, harmful: block,
           medical: review, self_harm: support }
用户消息
jev · 一次调用
怎么用

引导 jev 的技巧

没有 system prompt。你想写进 system prompt 的东西,全部放进问题本身;每一个接受文本的字段也都接受结构化写法:instructions、criteria 下的每个选项、评分表的每一级。jev 既读值,也读键名。

写法:同一个问题的三种写法。效果:同一条消息,只改 instructions;数字来自我们的 notebook,单次运行。

键名按内容命名,把引导写进值里。两个标签在日常语言里容易重叠时,给每个选项补上 what、not_for 和 examples。

1 · 字符串
"department": {
  "type": "choice",
  "instructions": "Which team should handle this?",
  "criteria": {
    "billing": "Charges, invoices, credits",
    "technical": "Bugs, errors, integrations"
  }
}
最小写法。每个字段一句话。
2 · 把 instructions 写成对象
"department": {
  "type": "choice",
  "instructions": {
    "question": "Which team should handle this?",
    "focus": "Route to whoever must fix
              the root cause."
  },
  "criteria": { … same as 1 … }
}
键名由你定:question、focus、context、read,都不是保留字;模型能看到名字和值。
3 · 选项写成评分细则
"criteria": {
  "billing": {
    "what": "charges, invoices, credits, refunds",
    "not_for": "a bug that caused a wrong charge",
    "examples": ["I was charged twice",
                 "Where is my refund?"] },
  "technical": {
    "what": "bugs, errors, integrations",
    "not_for": "a correct charge the customer
                disputes",
    "examples": ["The export is empty",
                 "API returns 500"] }
}
每个选项说明它覆盖什么、不覆盖什么、长什么样。评分级别也用同一形态,用 summary 和 signals。

游戏、浏览器与 SQL 演示是我们自己跑的,由 jev 实时判定。jev-ultrafast 与 pg-jev 的主要数字来自各自的 README。

Jev GTM 自动化配方

驱动方: parrot
观看讲解视频(14 分钟):Jev 是什么、怎么调用,以及下面三个配方。在 YouTube 打开

相关的 LinkedIn 帖子评论者→ Jev 筛选并打分→ parrot 数据补全

抓取围绕「Enrichment」的 LinkedIn 帖子
筛选并补全评论者
搭建这套工作流查看完整的线索名单运行:20 个已验证联系人,每个 $0.12 →

大家都在用 jev 做什么

公开展示的 jev 用例,引用作者本人的原话与数字。你也做过?发出来。

常见问题

jev 是什么?

jev 是 TypeSafe 的决策模型。你交给它一个 JSON 状态和带类型的提问(在选项中选择、把是/否表达为概率、按评分表打分),它在不到一秒内返回各个选项的概率。它不生成文本。

一次 jev 判定要多少钱?

jev 只按输入 token 计价,标价每百万 $0.042。对一条 X 帖子(含作者主页与前 20 条回复)做一次判定约 $0.0001;一条注册记录连同数据补全约 $0.00005。周围那些 parrot 数据调用比 jev 本身更贵。

jev 和让 GPT 或 Claude 返回 JSON 有什么不同?

对话模型要把答案写出来,所以要 2 到 4 秒,还要为输出 token 付费;同样三个问题,在我们的实测里贵 7 到 28 倍。jev 只读不写,每个答案都带完整概率分布和置信度,于是你可以设阈值、把不确定的情况转给人工,而不是去解析一个标签。

parrot 在其中做什么?

jev 自己取不了任何数据。parrot 是一个实时数据端点目录:X 与 LinkedIn 帖子、邮箱验证、人物与公司数据补全等等。parrot 构建状态,jev 据此决策,你的代码按数字行动。你自己的供应商密钥始终优先于 parrot 的,且不计费。

怎么调用 jev?

通过 Vercel AI Gateway:带上你的网关密钥,POST 到它的 evaluation-model 端点,模型 id 为 typesafe-ai/jev,请求体包含 state 与 questions。本页的提示词里有完整的请求头。jev 也在 OpenRouter 上提供,名称为 typesafe/jev-1.13。

页面上的演示是真的吗?

爆款帖子看板是每天对公开 X 帖子的真实运行,你粘贴的帖子会被实时分析。购买信号演示回放的是真实 LinkedIn 运行,所有邮箱地址都已替换。注册演示是为展示四个分群而构造的合成样本;流水线与价格是真实的。

怎么在 Claude Code、Codex、Hermes 或 OpenClaw 里使用 jev?

上面每个配方都有一颗 复制提示词 按钮。把它粘贴到你的代理里,它会用 parrot 准备好数据、写好流水线,并用你的密钥经 Vercel AI Gateway 调用 jev。没有密钥时,它会问你是先用同一接口下的自有判断起步、之后再切到 jev。

jev 能用来做销售线索挖掘吗?

能,把它放在付费的人物与邮箱查询之前当闸门。在一次线索名单运行里,jev 依据名单已有的字段评判了 48 家公司,21 家在产生任何付费查询前被剔除,通过的 27 家最终得到 20 个已验证联系人,计费 $2.33,每个 $0.12。上面的购买信号配方对你所在领域的 LinkedIn 帖子评论者做同样的事。

jev 最多能读多长的状态?

约 30k token。再长请求就会失败,所以要拆分长输入,或先用对话模型做摘要,再让 jev 逐字段校验摘要。

让 Jev 接上 4,000+ 数据源与工具

上面每个配方都只差一段提示词。parrot 把数据目录和账单交给你的代理;jev 给它无需解析文本、直接能用的答案。

开始使用 parrot浏览数据目录