Jev AI 完整教程:三种决策模式详解,接入 Codex 完整流程
Jev AI 完整教程:详解 Choice、Noul、Score 三种决策模式,演示 Playground、API Key 与 TypeSafe Skill 配置,以及接入 Codex 筛选 Gmail 邮件的完整流程。
Jev AI 是什么
Jev AI 是 TypeSafe AI 于 2026 年 9 月发布的 AI 模型,属于 System One Model(系统一模型)。 与 GPT、Claude 等通用大语言模型不同,Jev 不负责聊天、写文章或生成代码,而是专门针对输入的信息,快速完成分类、评分和判断,并返回结构化结果。
例如,你向普通 AI 提问:「我收到一封邮件,帮我看看这封邮件是否重要,需不需要回复?」 普通 AI 可以阅读邮件、分析内容,再通过文字给出建议。而 Jev 可以直接返回判断结果:
邮件类型:工作邮件
是否需要回复:
是:98%
否:2%
处理优先级:高
官方资料:Jev 官方介绍
在 Playground 体验三种判断
| 模式 | 回答什么 | 如何读结果 |
|---|---|---|
| Choice | 选哪个 | 返回选项及各选项概率,总和为 100%;本例预期偏向 A |
| Noul | 是否成立 | 返回“是”的概率;例如 0.98 表示模型判断需要回复的概率为 98% |
| Score | 程度多高 | 按等级位置进行概率加权;这里低、中、高对应 0、1、2,越接近 2,优先级越高 |
从 官网 进入 API Console,登录后打开 Playground。核心输入有两部分:State 是待判断的材料和背景,Questions 是问题与判断标准。State 可以是字符串、对象或数组,下面用 JSON 对象方便复制。State 文档
以面试邮件为例,把下面内容放入 State:
{
"发件人": "HR <hr@company.com>",
"主题": "面试时间确认",
"正文": "您好,您的面试安排在明天下午3点,请于今天回复确认是否能够参加。"
}
Questions 只设置一个 Choice 问题,判断邮件类型:
{
"category": {
"type": "choice",
"instructions": "这封邮件属于哪种类型?",
"criteria": {
"A": "工作或求职邮件",
"B": "私人往来",
"C": "广告促销",
"D": "其他通知",
"E": "其他或信息不足"
}
}
}
Jev 返回结构示例(按官方 API展示 answers 部分,省略模型版本和用量字段;以下数值为模拟数据,并非实际调用结果):
{
"answers": {
"category": {
"type": "choice",
"choice": "A",
"probabilities": {
"A": 1.0,
"B": 0.0,
"C": 0.0,
"D": 0.0,
"E": 0.0
},
"confidence": 1.0
}
}
}
翻译过来其实就是:
{
"邮件类型": "工作或求职邮件",
"各类型的判断概率": {
"工作或求职邮件": "100%",
"私人往来": "0%",
"广告促销": "0%",
"其他通知": "0%",
"其他或信息不足": "0%"
},
"置信度": "100%(反映选项概率的集中程度,不代表正确率)"
}
三种问题可以放在同一次请求中,独立判断同一份 State,彼此不会读取对方的答案。
{
"背景": "女朋友想聊工作中的烦心事,男朋友一直在玩游戏。",
"聊天记录": [
"女朋友:今天工作好烦啊。",
"男朋友:嗯嗯。",
"女朋友:算了,你忙吧,我不打扰你了。"
]
}
对应 Questions:
{
"dissatisfied": {
"type": "noul",
"instructions": "结合聊天背景,女朋友是否在表达不满?"
},
"degree": {
"type": "score",
"instructions": "判断女朋友表达不满的程度。",
"criteria": ["没有明显不满", "有些失落或不满,但表达克制", "明确表达强烈愤怒或指责"]
},
"intent": {
"type": "choice",
"instructions": "结合上下文,女朋友最后一句话最可能表达什么?",
"criteria": {
"A": "感觉被忽视,希望得到认真倾听",
"B": "理解对方忙碌,希望对方继续做自己的事",
"C": "单纯想结束聊天",
"D": "信息不足,无法判断"
}
}
}
Jev 返回结构示例(同样仅展示 answers,数值为模拟数据):
{
"answers": {
"dissatisfied": {
"type": "noul",
"noul": 0.87
},
"degree": {
"type": "score",
"score": 1.05,
"legend": {
"0": "没有明显不满",
"1": "有些失落或不满,但表达克制",
"2": "明确表达强烈愤怒或指责"
},
"probabilities": { "0": 0.0, "1": 0.95, "2": 0.05 },
"confidence": 0.92
},
"intent": {
"type": "choice",
"choice": "A",
"probabilities": { "A": 0.76, "B": 0.12, "C": 0.08, "D": 0.04 },
"confidence": 0.68
}
}
}
翻译过来就是:
{
"是否表达不满": {
"是": "87%",
"否": "13%"
},
"不满程度": {
"最可能的程度": "有些失落或不满,但表达克制",
"评分": "1.05 / 2",
"各程度的判断概率": {
"没有明显不满": "0%",
"有些失落或不满,但表达克制": "95%",
"明确表达强烈愤怒或指责": "5%"
},
"置信度": "92%"
},
"最可能的潜台词": "感觉被忽视,希望得到认真倾听",
"各潜台词的判断概率": {
"感觉被忽视,希望得到认真倾听": "76%",
"理解对方忙碌,希望对方继续做自己的事": "12%",
"单纯想结束聊天": "8%",
"信息不足,无法判断": "4%"
},
"潜台词判断的置信度": "68%(反映选项概率的集中程度,不代表正确率)"
}
这个示例表示:模型判断表达不满的概率为 87%,不满程度接近“有些失落但表达克制”,并将 76% 的选项概率分配给“感觉被忽视,希望得到认真倾听”。
将同样的方法用于客服,就可以同时判断“是否投诉、情绪强度、应该转给哪个部门”。
用 Skill 和 API Key 接入智能体
TypeSafe 官方 Skill 是给智能体的使用说明,指导它设计问题、查阅文档和编写调用代码。安装 Skill 不等于安装模型,也不代表免费获得 API 调用额度。
在终端安装,按提示选择 Codex 或其他智能体;默认安装到当前项目,加入 -g 则安装到用户级目录:
npx skills add typesafe-ai/skills --skill typesafe-ai -g
也可以让智能体根据仓库说明完成安装。
为本机所有智能体全局安装这个skill:https://github.com/typesafe-ai/skills
在 TypeSafe 控制台的 API Keys 中创建密钥,将下面的“我的key”替换为自己的 API Key,在终端执行:
echo 'export TYPESAFE_API_KEY="我的key"' >> ~/.zshrc && source ~/.zshrc
这会把环境变量配置追加到 ~/.zshrc,并在当前终端立即加载;之后读取该文件的 zsh 会话也会加载。
官方 SDK 默认从 TYPESAFE_API_KEY 读取密钥,因此通常无需修改 Skill 或每次重复解释变量名。先在智能体中检查:
检查实际执行 API 调用的环境中,TYPESAFE_API_KEY 是否存在且非空。
只报告是否可用,不输出密钥,不修改配置,不调用 API。
Codex 案例:筛选最近 30 封 Gmail 邮件
前提是智能体已连接 Gmail、安装 TypeSafe Skill,并能访问 API Key。Gmail 工具负责读取邮件,Jev 负责分类评分,智能体负责整理表格。下面的提示词可直接使用;执行时,邮件内容会发送给 TypeSafe 进行判断。
使用 $typesafe-ai,读取我 Gmail 收件箱中最新的 30 封邮件,让 Jev AI 按高、中、低优先级做一次初筛。
用中文表格展示结果、高中低各自的判断概率和原邮件链接,按优先级排序,并告诉我本次筛选的耗时。
允许将必要的邮件内容发送给 TypeSafe,但不要修改邮件。
这次实验中,Jev API 执行约 1.19 秒,整个任务约 1 分 40 秒。
实际应用中,把分类和初筛交给 Jev,把复杂分析和回复写作交给大模型;低把握的结果留待复核。中文案例也应先用自己的样本测试,官方目前说明中文等非英语输入的准确性低于英语。
实际使用场景
| 使用场景 | Jev 负责什么 | 后续如何处理 |
|---|---|---|
| 邮件自动分类 | 判断邮件类型、是否需要回复、处理优先级 | 自动分类,重要邮件交给 AI 起草回复 |
| 情侣聊天分析 | 根据聊天记录判断可能的沟通意图 | 交给 GPT 生成回复建议 |
| 客服自动分流 | 判断用户是在咨询、投诉,还是申请退款 | 分配到不同客服或处理流程 |
| 商品评价分析 | 判断评论涉及质量、价格、续航还是其他问题 | 筛选相关评论,交给 AI 总结优缺点 |
| AI Agent 任务分流 | 判断用户的需求属于搜索、编程、写作还是其他任务 | 调用对应的智能体或工具 |
| 浏览器自动化 | 根据当前页面状态,判断下一步应该点击哪个按钮 | 由浏览器工具执行实际操作 |
| 新闻与信息筛选 | 判断文章主题、相关性和内容价值 | 过滤无关信息,将重要内容交给大模型深入分析 |
| 文件自动整理 | 判断文件类型、主题和所属项目 | 自动分类、归档,或交给相应智能体处理 |
| 智能体任务检查 | 根据任务要求和执行记录,判断是否存在明显遗漏 | 触发进一步检查或人工确认 |