2026 Jev 工程实践工作手册 · 第二章 第 3 页 / 共 12 页 · 返回目录
SECTION Ⅱ

决策原语:Choice、Score 与 Noul

Choice, Score, and Noul
Decision Primitives · 决策原语
原版式注:双栏页,阅读顺序为左栏 → 右栏;章节字母按栏编号,本页出现两个 G 节,保留原编号。

A.Choice(单选)Choice

Choice 适用于「声明选项中应恰有一个胜出」的场景。设计重点不在选项标签,而在选项描述:每个判据必须说明,什么样的证据能把该结果与相邻结果区分开。像 researchwritereview 这样的标签方便代码处理,但描述才赋予它们含义。

只要现实中可能存在清单之外的状态,封闭菜单就需要一个逃逸出口(escape hatch)。没有 noneotherstopescalate,概率质量就会被强行分配到「最不差」的选项上——结果在类型层面合法,在运行层面却可能是错的。逃逸结果保住了不确定性,也给执行框架留下一条安全路径。

Choice 适合工作器路由、模型选择、队列分派、从当前界面控件集合中挑选、选择重试策略,以及决定哪个检索候选得以幸存;它不适合发明菜单中未声明的标识符、URL、数字或名字。

伪代码 · Score 原语示例(原文保留英文)
Score(criteria: [
  "no direct support"
  "partial support, important gaps"
  "strong support from independent sources"
]) -> ordered value + interpolation
返回有序量表值;相邻等级之间可插值。

B.Score(评分)Score

当决策处于一个有序语义量表上时,使用 Score。量表等级应当是文字描述,而不是含义模糊的数字。例如证据质量量表可以从「无直接支持」推进到「部分支持但存在重要缺口」,再到「来自多个独立来源的强支持」。

输出可以落在等级之间,但插值不会把有序量表变成精确测量。1.6 只是两个描述之间的一个位置——它并不自动意味着「80% 好」「1.6 倍优」,也不意味着可以跨契约直接比较。

G.量表设计Rubric Design

量表等级应描述证据的可观测差异,而非情绪强度。相邻等级必须存在有意义的分界。如果人类评审者对样本归类都无法保持一致,就不能指望 Jev 仅凭描述学到一个稳定的次序。

三到五个区分良好的等级优于更多。等级过多会制造精确的假象,同时降低评审间一致性。把等级描述原样保留在回执(receipt)中,后续分析才能区分「模型行为变化」与「契约变化」。

C.Noul(是/否概率)Noul

Noul 表示一个是或否的概率。接近 1 意味着「很可能是」;接近 0 意味着「很可能否」;接近 0.5 意味着现有证据不足以做出有信心的区分——它表示「中等严重性」或「部分许可」。有序的风险类别应当使用 Score,而不是 Noul。

伪代码 · Noul 原语示例(原文保留英文)
Noul(
  "Is this proposed action purely read-only?"
) -> probability near 0 or 1
问:「这个拟议动作是否纯只读?」返回接近 0 或 1 的概率。

Noul 适合完成度检查、审批通过可能性、证据充分性、请求是否含糊,以及拟议动作是否存在外部副作用。应用仍须自行决定:哪些概率区间触发自动化、补充证据,或人工审查。

D.选择纪律Selection Discipline

答案形态原语设计要求
唯一胜者Choice描述每个选项;加逃逸出口
有序质量Score定义文字锚点;避免虚假精度
是或否Noul解读的是不确定性,而非严重程度
未知自由字符串非 Jev使用抽取或生成
精确算术非 Jev使用确定性代码
表 Ⅱ 原语选择始于声明的答案形态。
Table II. Primitive selection starts from the declared answer shape.

E.类型安全不等于正确Type Safety Is Not Truth

Jev 保证答案符合声明的输出类型,但不保证所选的合法答案在语义上正确。错误的证据、过期的选项、含糊的判据或不完整的菜单,都可能产出一个类型层面完全合法、结果却错误的选择。

因此生产系统需要代表性样本、置信度阈值、确定性检查、决策回执与审查路径。类型安全消除了解析与 schema 故障,但不会消除对「决策含义」的测试需求。

F.原语组合Primitive Composition

原语之间可以组合。路由器可以在同一次调用中用 Choice 问「下一个工作器」、用 Score 问「紧急度」、用 Noul 问「审批通过的可能性」——前提是它们考察同一份状态快照。若后一个问题依赖前一个答案产生的新证据,就不能在同一次请求中链式串联(见第 Ⅵ 章)。

G.原语反模式Primitive Anti-Patterns

不要把多标签问题塞进 Choice——如果多个选项可以同时为真;不要在类别无序时使用 Score;不要把 Noul 的概率解读成严重程度量表。每一种错配都会产出看似合理、却被应用按错误语义读取的数字。

当所需输出无法干净地映射到单一原语时,拆分问题。一个风险工作流可以是:Noul 判断「是否存在外部副作用」,Score 评估「后果有多严重」,Choice 选择「允许的路由」。

← 上一页Ⅰ · 为什么需要决策层