你写过一个 AI 客服机器人吗?它收到用户消息后,要么直接调用 LLM 让它自由发挥,要么写一堆 if-else 把关键词硬编码进去。前者不可控——模型可能答非所问,甚至擅自承诺退款;后者又笨——新情况一来就得改代码。那有没有一种中间态:让模型在限定范围内做选择题,但又不至于被选项框死?Jev 这个模型就是想解决这个问题。它不是像 ChatGPT 那样直接生成文本,而是接收你提供的结构化状态和问题定义,输出规范的决策结果。这篇文章讲的就是怎么把它用对:状态该怎么给、请求该怎么组织、多个问题之间是什么关系,以及关键的——Choice 类问题怎么设计才不容易误导模型。
先说状态。Jev 用来做判断的信息叫 state,它支持三种格式:纯字符串(比如一条用户消息)、JSON 对象(包含订单号、账户状态、错误信息等字段)、或者一个上下文条目数组。比如你的客服应用要处理一个投诉,可以传这样一段状态:`customer_message` 是“我的支付失败了,但我被扣了两次款”,`account_status` 是“active”,`previous_contact` 是“无历史投诉”。Jev 就能基于这份数据回答你定义的问题。但注意,Jev 是纯文本模型,不接受图片、音频、视频。如果你的业务有这些输入,得先把里面的关键信息抽取成文字或结构化数据再送进去。这一步别偷懒,否则模型就是睁眼瞎。
请求的构造也很简单:一个请求由三部分组成——`model`(用哪个版本的 Jev)、`state`(要评估的信息)、`questions`(一个命名问题的映射)。每个问题有自己的 ID 和定义,比如你想要它判断客户的问题是账单类还是技术类,就设置一个 type 为 `choice` 的问题,instructions 写明“主要问题是什么”,再给 criteria 列出几个选项,例如 billing(支付失败、重复扣款、退款)、technical(应用报错、技术故障)、account(登录或账号管理问题)、other(其他类别)。同时你还可以在同一请求里加第二个问题,比如用 `noul` 类型问“这个客户需要后续跟进吗”,返回 yes/no。这就实现了**一次请求、多个决策**,避免了为每个问题单独调用模型的延迟和成本。
这里有个容易被忽略的要点:多个问题虽然在同一请求里,但它们是**并行独立评估**的——每个问题只看共享的 state,不会拿到其他问题的答案作为上下文。比如你让 AI agent 同时判断问题类型、严重程度、是否需要人工介入,重度问题不会知道类型分类的结果,升级问题也不知道严重度分数。为什么这个设计重要?因为如果你的业务流程是“当严重度达到 2 就升级给人工”,你不能指望模型把分类和分级自动串联,返回结果后你的应用代码必须自己去判断。文章给了一个例子:Scale 设 0=轻微, 1=中等, 2=严重,那么应用拿到分数后执行 `if severity >= 2: escalate_to_human()`。逻辑不在模型里,而在你的代码里。如果你真的需要后一个问题依赖前一个答案,那就另发一个请求,把前一个结果合并进新的 state。核心原则是把“评估单个问题”和“把多个答案组合成工作流”分离——前者交给模型,后者自己掌控。
最让我觉得有实操价值的是 Choice 问题设计。Choice 是从你给的选项里选一个,但如果选项没覆盖所有可能,模型会硬选一个,产生误导性分类。比如一个客户来问物流延迟,你的选项只有 billing、technical、account,模型可能随便归到某个类里,看似有结果,其实是错的。解决办法很简单:加一个 `other` 或 `none` 的兜底选项。真实世界的输入永远比预定义范围杂,没有兜底就是逼模型瞎编。另外,选项之间要互斥,比如 billing 和 account 都包含“订阅问题”,模型就分不清了。每个选项的描述要明确它覆盖什么、不覆盖什么,避免重叠。记住 Choice 只能从你给的列表里选,它不会自动扩充新类别。
除了 Choice,Jev 还有 Score(打分,定义有序刻度)和 Noul(是/否判断)。整篇文章其实在教你怎么把模型嵌入到决策流程里,而不是让它自由生成。这对做 Agent 或工作流自动化的开发者特别有用:你想让 LLM 做分类、打分、门控(比如内容审核、路由分发、优先级判断),但又不想把业务规则全塞进 prompt 里——Jev 这种结构化输出就是不错的选择。用的时候注意:明确状态里有哪些字段,问题之间尽量独立,需要串联就分步调用,Choice 一定要留兜底,上线前拿标注好的样例测一遍。另外作者也在文末提醒:即使指令清晰、选项明确,模型也可能犯错,持续监控真实输入的质量,别迷信一次配置就永远正确。这套思路可以直接迁移到你自己的 LLM 应用的决策模块设计上,不局限于 Jev 这个模型。











内容与图片版权归原作者所有 · 原文: https://dev.to/rijultp/jev-can-make-decisions-but-how-do-you-work-with-it-3p2h