内容提要
Jev是Typesafe推出的决策式推理引擎,不生成内容,仅输出有类型的判断。它提供Choice、Score、Noul三个原语,分别用于分类、评分和概率判断。核心优势是置信度分流机制,可将高置信度决策自动执行,低置信度转人工。Jev还支持批量并行判断、版本锁死与日志复盘,适用于结果验证、工单分流、线索打分等场景。
延伸解读
Jev与LLM的架构分工:判断与生成分离
文章强调Jev不生成内容,只输出有类型的决策,这与LLM的生成能力形成互补。传统架构中,LLM返回的自然语言需要代码解析,容易因格式错乱或解释性废话导致脆弱。Jev将决策收进引擎内部,返回结构化结果,使LLM专注于内容生成。这种四层分工(LLM生成、Jev判断、代码控制、人类兜底)降低了系统耦合,但要求开发者重新设计流程,将判断节点前置或嵌入关键路径。
置信度分流:从二元信任到三档路由
Jev每次判断附带置信度,支持按阈值分流:高于0.85自动执行,0.55-0.85人工复核,低于0.55强制转人工。这改变了传统全信机器或全信人的二元模式,让机器只做有把握的决策。文章指出,低置信度必须有兜底路由,否则等于把猜测当判断。阈值需根据业务数据调整,不能照搬推荐值。这一机制是Jev区别于直接调用LLM的核心价值,但依赖开发者编写兜底逻辑。
提示词与状态输入的极简原则
Jev的提示词写法反直觉:不要角色扮演、情境铺垫或礼貌用语,只需状态、原子问题和明确判定标准。判定标准应写成可验证的描述(如“技术组:出现功能报错”),而非标签名。一次调用只问一个问题,多问题需拆解后代码组合。状态输入要克制,只保留会改变判断的信息,因为输入变大会导致准确率漂移。极简状态还便于调试,能快速定位误判原因。
批量调用与版本锁死的工程实践
Jev支持一次调用并行判断多个维度,官方示例一次问13个维度而延迟几乎不涨,且输出token成本极低,建议能多问就多问。这与LLM按token计费的模式不同,改变了“能少调用就少调用”的习惯。上线前必须锁死版本号(如jev-1.13.0),避免引擎升级导致行为漂移。日志需记录模型版本、概率值、置信度、分流路径和业务结果,以便复盘校准阈值。这些实践将决策系统当作传统软件运维。
Q&A
Jev推理引擎是什么?它和普通大语言模型有什么本质区别?
Jev是Typesafe推出的决策式推理引擎,不生成内容,只输出有类型的判断。与直接调用大语言模型不同,Jev不写作文、不解释理由,只做决策,把决策变成像调用数据库一样确定的动作。
Jev的Choice、Score、Noul三个原语分别用在什么场景?
Choice用于从预设候选列表中选一个,适合分类;Score用于按定义好的评分标准打分,适合程度评估;Noul返回0到1之间的概率值,适合判断可能性。三者覆盖分类、评分和概率判断。
Jev的置信度分流机制是怎么工作的?阈值怎么设置?
每次Jev判断都附带置信度数值。推荐阈值:高于0.85直接自动执行,0.55到0.85升级人工复核,低于0.55强制转人工。阈值需根据真实业务数据调整,低置信度必须有兜底路由。
用Jev写提示词和用ChatGPT写提示词有什么不同?
Jev提示词只需状态、一个原子问题和明确判定标准,不要角色扮演、情境铺垫和礼貌用语。判定标准要写可验证的描述而非标签,且一次调用只问一个问题,多问题必须拆成多次调用。
Jev在批量判断和成本上有什么优势?
Jev一次调用可并行判断多个维度,官方例子是一次判断13个维度,延迟几乎不涨,输出token成本极低。建议把可能用上的判断全部一次问出来,多问几个维度分摊到每个维度的成本反而更低。
Jev适合用在哪些实际工作流场景?
五个典型场景:通用结果验证器、客服工单智能分流、销售线索意向打分、大语言模型动态路由、海量数据集处理。这些场景都利用Jev做判断,把生成内容留给大语言模型。
Jev上线前为什么要锁死版本和记录日志?
大语言模型版本升级可能导致输出漂移,Jev要求开发阶段用jev-latest,上线必须锁死具体版本号如jev-1.13.0。日志至少记录模型版本ID、概率值、置信度、分流路径和业务结果,以便复盘校准阈值。
Jev应该部署在业务流程的什么位置?
Jev应嵌入业务流程内部,作为必经关卡,而非旁路辅助。三个位置:调用大语言模型之前判断链路、调用外部工具之前做权限把关、大语言模型输出之后做质检。