如果你说的 JEV 是最近常见的 Jev 决策模型,它的用法可以一句话概括为:
把一段待判断的内容 state 发给它,再提前定义好问题 questions,它返回结构化答案,而不是自然语言。
它适合做什么
Jev 适合这类任务:
- 工单分流:该给技术、销售还是财务
- 风险判断:是否高风险
- 内容分类:属于哪一类
- 打分分级:严重程度、紧急程度、情绪强度
- Agent 路由:先判断,再决定是否调用更贵的大模型
它不适合:
- 写文案
- 聊天
- 总结文章
- 开放式推理输出长文本
基本调用思路
你要提供两部分:
-
state:要判断的原始内容
例如一条用户投诉、一段工单、一条告警
-
questions:你要问它什么,以及允许它怎么回答
常见题型一般有 3 种:
- noul:判断"是不是",返回一个概率
- choice:从若干选项里选一个
- score:按等级打分
最小示例
比如你有一条客服消息:
我的付款已经三天失败了,也没人回复,请尽快处理。
可以这样调用:
``json
{
"model": "@makers/jev",
"state": "我的付款已经三天失败了,也没人回复,请尽快处理。",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "这条消息是否需要紧急处理?"
},
"department": {
"type": "choice",
"instructions": "这条工单应该交给哪个团队?",
"criteria": {
"billing": "付款、发票、退款问题",
"technical": "系统故障、接口、异常问题",
"support": "一般客服咨询"
}
},
"severity": {
"type": "score",
"instructions": "问题严重程度如何?",
"criteria": [
"轻微,不影响使用",
"中等,有明显影响",
"严重,必须尽快处理"
]
}
}
}
`
返回结果通常不是一段话,而是类似:
json { "answers": { "is_urgent": { "noul": 0.94 }, "department": { "choice": "billing", "confidence": 0.89 }, "severity": { "score": 2, "confidence": 0.86 } } }
然后你的程序就可以直接根据结果做下一步动作。
使用步骤
- 准备 API Key
先在你所使用的平台申请密钥。不同接入平台不一样,但核心都类似:
- 创建 API Key
- 保存到环境变量
- 用 HTTP 请求调用接口
例如:
bash export TYPESAFE_API_KEY="your_api_key"
或平台自定义的 key 名称。
- 选对接口
Jev 通常不是走聊天接口,例如不是:
text /v1/chat/completions
而是走它自己的决策接口,常见会是这类:
- /v1/systemone
- /v1/decisions
具体取决于你接入的是哪个平台。
- 设计问题而不是写提示词散文
Jev 的关键不是"写很长 prompt",而是:
- 明确定义问题
- 明确定义可选答案
- 让输出可以被程序直接消费
比如不要写:
请帮我分析一下这个用户是不是很着急,并说明原因。
而要写成:
- 是否紧急
- 属于哪个部门
- 严重程度几级
这样最适合 Jev。
- 根据置信度做业务分流
一个很实用的模式是:
- 高置信度:自动执行
- 中置信度:进入人工复核
- 低置信度:交给更强的大模型或人工处理
例如:
python if result["department"]["confidence"] > 0.9: auto_route() else: send_to_human()
最佳实践
问题要封闭
Jev 最擅长"封闭答案空间"。
好例子:
- 是/否
- A/B/C 选一个
- 0/1/2/3 评级
不太好的例子:
- "请自由分析一下"
- "请总结原因"
- "请给改进建议"
选项描述要清晰
choice 的每个选项最好带解释,不要只给标签名。
不推荐:
json "billing": "", "technical": "", "other": ""
更推荐:
json "billing": "付款、退款、发票、扣费", "technical": "系统异常、接口报错、登录失败"
先做小样本验证
上线前,先拿 20 到 50 条真实数据测试:
- 总准确率
- 高置信度样本准确率
- 低置信度占比
如果高置信度和整体准确率差不多,说明阈值没有区分度,要重新调。
不要把它当聊天模型
Jev 的输出重点是:
- 选了什么
- 概率多少
- 置信度多少
不是生成自然语言解释。
最常见场景
你这类工作里,Jev 很适合放进业务流程中做"快速判断层":
- 工单系统:自动分类和优先级判断
- Agent 编排:先判断该走哪个子流程
- 风控审核:先打风险标签
- 内容审核:判断类别与升级级别
- 告警处理:判断严重性和是否升级
一个实用理解
可以把 Jev 理解成:
语义版的 if / else 引擎
传统代码:
python if "refund" in text: route = "billing"
Jev 版:
- 输入任意自然语言
- 返回最合适的业务选项
- 附带概率和置信度
- 能处理比关键词更复杂的语义判断
如果你想最快上手
你可以先做这 3 步:
- 找一个 Jev 接入平台,拿到 API Key
- 准备 10 条真实业务文本
- 先只问 1 个 choice 问题,比如"该路由到哪个部门"
跑通后,再加:
- noul:是否紧急
- score`:严重程度
这样最稳。
给你一个最实用的版本:用 Python 跑一个最小可用的 JEV 示例。
``python
import os
import requests
import json
API_KEY = os.getenv("TYPESAFE_API_KEY")
BASE_URL = "https://api.typesafe.ai/v1/systemone" # 以你的实际平台地址为准
payload = {
"model": "@makers/jev",
"state": "我的付款已经三天失败了,也没人回复,请尽快处理。",
"questions": {
"is_urgent": {
"type": "noul",
"instructions": "这条消息是否需要紧急处理?"
},
"department": {
"type": "choice",
"instructions": "这条工单应该交给哪个团队?",
"criteria": {
"billing": "付款、退款、发票、扣费问题",
"technical": "系统故障、接口异常、登录失败",
"support": "一般咨询、进度查询、非技术问题"
}
},
"severity": {
"type": "score",
"instructions": "问题严重程度如何?",
"criteria": [
"轻微,不影响主要使用",
"中等,有明显影响",
"严重,必须尽快处理"
]
}
}
}
headers = {
"Authorization": f"Bearer {API_KEY}",
"Content-Type": "application/json"
}
resp = requests.post(BASE_URL, headers=headers, json=payload, timeout=30)
resp.raise_for_status()
result = resp.json()
print(json.dumps(result, ensure_ascii=False, indent=2))
`
你重点看这 3 个地方:
-
state
放你要判断的原始文本
-
questions
定义你要它输出什么结构
-
criteria
把选项边界写清楚,效果会明显更稳
一个很常见的结果处理方式是:
`python
answers = result"answers"
urgent_prob = answers"is_urgent""noul"
department = answers"department""choice"
department_conf = answers"department""confidence"
severity = answers"severity""score"
print("是否紧急概率:", urgent_prob)
print("部门:", department)
print("部门置信度:", department_conf)
print("严重等级:", severity)
`
如果你要接业务流程,推荐这样分流:
`python
if department_conf >= 0.9:
print(f"自动路由到: {department}")
else:
print("进入人工复核")
``
如果你现在的场景是你工作里更常见的那种,我建议你直接从下面两个模板里选一个开始:
- 工单分流模板
- Agent 路由模板
如果你愿意,我下一条直接给你:
"JEV 工单分流生产级模板",可以直接改字段就用。