你写过一个 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 这个模型。

Cover image for Jev Can Make Decisions. But How Do You Work With It?
Cover image for Jev Can Make Decisions. But How Do You Work With It?

Rijul Rajesh
Rijul Rajesh

LiveReview Banner
LiveReview Banner

pic
pic

suppdevbot profile image
suppdevbot profile image

DEV Community
DEV Community
阅读原文 → 返回 AI 技术文档

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