aboutJev
Jev的定义
Jev是TypeSafe AI推出的一种 System One模型。
与ChatGPT、Claude等传统LLM不同,Jev的核心目标不是:
生成自然语言文本
而是:
根据输入状态,对预先定义的问题进行结构化决策,并返回可以直接被程序使用的结果。
简单来说:
1 | 传统LLM: |
Jev:
1 | 输入状态 |
例如:
1 | 输入: |
这些结果可以直接被程序使用。
Jev的官方生态资料将其定位为面向软件的“System One”模型,通过 Choice、Score 和 Noul 等类型返回结构化判断,而不是生成普通文本。
为什么需要Jev?
传统LLM非常擅长:
- 写文章
- 写代码
- 总结
- 对话
- 推理
- 内容生成
但是很多软件任务实际上不需要“写一段话”。
例如:
1 | 这个工单应该交给哪个部门? |
真正需要的可能只是:
1 | 技术支持 |
又或者:
1 | 这个请求是否存在风险? |
真正需要:
1 | 0.91 |
而不是:
1 | 经过分析,我认为这个请求可能存在较高风险…… |
因此:
很多软件任务需要的不是生成,而是判断。
Jev就是针对这一类问题设计的。
LLM与Jev的区别
| 对比维度 | LLM | Jev |
|---|---|---|
| 核心能力 | 文本生成与推理 | 结构化决策 |
| 输出 | 自然语言 | Typed Decision |
| 输出格式 | 不固定 | 预先定义 |
| 是否生成长文本 | 可以 | 核心设计不是 |
| 适合人类阅读 | 是 | 主要面向程序 |
| 适合程序分支 | 需要额外解析 | 直接使用 |
| 典型任务 | 写作、代码、问答 | 分类、评分、判断 |
| 核心价值 | Generation | Decision |
因此可以简单理解:
1 | LLM: |
Jev的核心思想
传统:
1 | Input |
问题在于:
1 | LLM输出: |
程序还需要从文本中解析:
1 | 技术部门 |
而Jev:
1 | Input |
因此:
让模型输出本身就成为程序可以消费的数据。
Jev的三种核心输出
Jev目前主要围绕三种决策类型:
1 | Choice |
1. Choice
Choice用于:
从多个选项中选择一个。
例如:
1 | 问题: |
Jev返回:
1 | Choice: |
同时可以得到不同选项的概率分布。
例如:
1 | 售前 0.03 |
因此Choice非常适合:
- 分类
- 路由
- 意图识别
- 工具选择
- Agent任务分配
- 工单分类
2. Score
Score用于:
按照预先定义的标准,对输入进行等级评分。
例如:
1 | 问题: |
Jev可以输出:
1 | Score: |
或者结合概率信息:
1 | 1:0.01 |
因此Score适合:
- 风险等级
- 紧急程度
- 质量评价
- 优先级
- 满意度
- 严重程度
3. Noul
Noul可以理解为:
针对一个判断题输出0~1之间的概率。
例如:
1 | 问题: |
返回:
1 | 0.96 |
可以理解为:
1 | 这个判断成立的概率约为96% |
因此适合:
- 风险判断
- 是否满足条件
- 是否需要人工审核
- 是否触发某个流程
- 是否存在某种意图
例如:
1 | Noul: |
程序就可以:
1 | if result > 0.8: |
三种类型总结
| 类型 | 解决的问题 | 示例 |
|---|---|---|
| Choice | 选哪个? | 哪个部门处理? |
| Score | 有多严重? | 风险等级是多少? |
| Noul | 是不是? | 是否需要审核? |
可以记成:
1 | Choice |
Jev的基本工作流程
Jev的调用模式可以简单理解为:
1 | 准备State |
例如:
1 | State: |
Jev:
1 | refund = 0.98 |
程序:
1 | if request == refund: |
于是:
1 | Jev |
Jev与传统分类模型的区别
传统机器学习分类:
1 | 输入 |
Jev:
1 | 输入State |
Jev的特点之一是:
可以通过问题、选项和评价标准定义当前任务,而不是针对每一个新任务重新训练一个分类器。
因此它更接近:
1 | 通用决策模型 |
而不是:
1 | 单一分类模型 |
Jev与LLM的配合
Jev并不是一定要替代LLM。
更合理的方式通常是:
1 | 用户请求 |
例如一个客服Agent:
1 | 用户: |
Jev:
1 | 意图: |
LLM:
1 | 根据这些结果生成最终回复。 |
因此:
Jev负责判断,LLM负责表达。
Jev在Agent中的作用
Agent通常需要不断做决策:
1 | 用户请求 |
传统方式:
1 | 全部交给LLM |
而使用Jev:
1 | Agent |
因此Jev特别适合Agent中的:
- Tool Routing
- Intent Classification
- Risk Detection
- Guardrails
- Human Escalation
- Result Evaluation
- Task Routing
Jev + Harness
如果把前面介绍的Harness和Jev放在一起,可以看到两者承担的是不同职责。
1 | Agent |
更加完整:
1 | 用户 |
所以:
Harness解决“Agent怎么运行”。
Jev解决“某些任务应该怎么判断”。
Jev在RAG中的应用
Jev也可以与RAG结合。
传统RAG:
1 | Query |
加入Jev之后:
1 | Query |
例如:
1 | 问题: |
RAG召回:
1 | Document A |
Jev可以判断:
1 | A:相关 |
或者:
1 | A:0.92 |
然后程序:
1 | 保留A、C |
因此Jev可以承担:
分类、过滤、路由、评估等非生成任务。
Jev在代码Agent中的应用
例如Coding Agent收到:
1 | “帮我修复这个登录Bug。” |
Harness负责整个执行流程:
1 | 读取代码 |
Jev可以负责判断:
1 | 测试结果是否通过? |
或者:
1 | 当前错误是否与原始Bug有关? |
或者:
1 | 代码修改是否需要人工Review? |
例如:
1 | 测试结果 |
程序:
1 | if result > 0.9: |
这样可以形成:
1 | Harness |
Jev的优势
1. 输出结构化
传统LLM:
1 | “我认为这个问题属于技术支持部门。” |
Jev:
1 | { |
程序可以直接使用。
2. 更适合程序分支
例如:
1 | if decision == "refund": |
不需要从自然语言中解析结果。
3. 可以一次提出多个问题
例如:
1 | State: |
同时询问:
1 | Q1:主要意图? |
然后得到多个结构化判断。
这种设计非常适合Agent中的批量判断和路由场景。社区资料也将“一次状态、多问题”的调用方式作为Jev的重要使用模式。
Jev的局限
Jev并不是LLM的完全替代品。
它的核心定位是:
Decision,而不是 Generation。
例如:
适合Jev
1 | 这个请求属于什么类别? |
不适合只使用Jev
1 | 写一篇文章 |
这些任务依然更适合生成式LLM。
Jev + LLM + Harness
三者可以形成一个比较完整的Agent架构:
1 | User |
三者职责可以总结成:
| 组件 | 核心职责 |
|---|---|
| LLM | 理解、推理、生成 |
| Jev | 判断、分类、评分、路由 |
| Harness | 编排、执行、状态、权限、工具管理 |
因此可以理解为:
1 | LLM |
Jev的核心思想
如果只记住一句话:
LLM擅长生成内容,而Jev擅长把非结构化信息转化成程序可以直接使用的决策。
进一步:
1 | 传统AI: |
Jev:
1 | Input |
最终形成:
1 | 非结构化信息 |
这使Jev特别适合作为:
Agent、RAG、自动化工作流、风控系统、路由系统中的“决策层”。
相关英文翻译
• 状态 / 输入上下文:state
• 问题:question
• 选择:choice
• 评分:score
• 概率判断:noul
• 结构化决策:typed decision
• 分类:classification
• 路由:routing
• 人工介入:human escalation
• 决策模型:decision model
• 生成模型:generative model
• 智能体:agent
• 智能体运行时:agent runtime
• 工具调用:tool calling





