JEV 场景方案
分流这件事的输出是一个枚举值加一个优先级,不是一段话。用生成模型做,你要写提示词约束它只输出这几个值,还要处理它偶尔发挥一下的情况;用 Jev,答案空间是你在调用里定义的,返回的就是那个枚举。
文中所有数字来自我们自己跑的 2,390 题实测,方法和局限见 实测报告。
一次拿到部门、紧急度和是否需要真人。
选项写清楚边界很重要。criteria 里每个选项的描述就是给模型的判据,写「支付、账单与退款」比只写「billing」准得多。
import { experimental_evaluate as evaluate } from 'ai';
const { answers } = await evaluate({
model: 'typesafe-ai/jev',
state, // 粘一条用户提交的工单
questions: {
dept: { type: 'choice', instructions: '这条工单应当分派给哪个团队?',
criteria: { logistics: '物流与发货', billing: '支付、账单与退款', technical: '产品功能故障', account: '账号与登录', other: '以上都不是' } },
urgency: { type: 'score', instructions: '这条工单的紧急程度如何?',
criteria: ['可以排队处理', '今天内回复', '几小时内回复', '立刻介入'] },
escalate: { type: 'boolean', instructions: '用户的情绪或诉求是否已经到了必须由真人接手的程度?' },
},
});把产品反馈自动分成 bug、需求、夸奖、抱怨、疑问,并判断要不要建 issue。
import { experimental_evaluate as evaluate } from 'ai';
const { answers } = await evaluate({
model: 'typesafe-ai/jev',
state, // 粘一条用户反馈
questions: {
type: { type: 'choice', instructions: '这条反馈属于哪一类?',
criteria: { bug: '报告了一个故障或错误', feature: '提出了新功能或改进需求', praise: '表达满意或称赞', complaint: '表达不满但没有具体问题', question: '在提问或求助' } },
actionable: { type: 'boolean', instructions: '这条反馈是否具体到足以直接建一条开发任务?' },
priority: { type: 'score', instructions: '如果要排期,这件事有多值得做?',
criteria: ['可以不做', '有空再说', '应该排期', '优先处理'] },
},
});从一段沟通记录里判断成交意向、客户规模和下一步动作。
import { experimental_evaluate as evaluate } from 'ai';
const { answers } = await evaluate({
model: 'typesafe-ai/jev',
state, // 粘一段线索或沟通记录
questions: {
intent: { type: 'boolean', instructions: '对方是否表达了明确的采购意向?' },
fit: { type: 'score', instructions: '这条线索和一款面向中型企业的 B2B 软件的匹配程度如何?',
criteria: ['完全不匹配', '勉强沾边', '比较匹配', '高度匹配'] },
next: { type: 'choice', instructions: '销售应当采取什么动作?',
criteria: { call: '立刻安排电话或上门', demo: '发送方案并约演示', nurture: '放进培育池定期触达', drop: '不值得跟进' } },
},
});实测四选一能到 88%,77 选 1 掉到 68%。建议控制在十个以内。类别多的时候做两级:先分大类,再在大类里分小类,两次调用加起来仍然比一次大模型调用便宜得多。
不需要训练。每个选项的描述就是判据,把边界写清楚比给例子更有效。
同一道题重复问 5 次、换 3 种问法,实测判断一次都没翻转,概率最大只差 0.09。做对比的 GPT-5.6 Terra 和 Luna 会把同一道题答反。
能做分类、打分、是/否,但抽取不行——Jev 不生成文本,它只在给定的答案空间里选。订单号这类信息还是用正则或让大模型抽。
这些项目的源码里都能找到真正调用 Jev 的那一行。更多项目见 awesome-jev-verified。
上面的问题是固定的。想写自己的判据、自己的选项、自己的打分档位,去 试验场 里随便改。
打开试验场