← [ BACK_TO_NOTES ]

Selection-Only Agent Output 与 Deterministic Rendering

把高风险 Agent 的模型权限收缩为“选择/分类结构化证据”,由应用根据可信证据确定性生成最终可持久化文本,从结构上消除有正确 provenance 但自由文本仍扩张 claim 的风险。

#concept #growing #ai #architecture #agent

[!info] related notes

Selection-Only Agent Output 与 Deterministic Rendering

一句话定义

Selection-Only Agent Output 是一种权限收缩设计:模型不直接撰写将要进入 durable state 的业务事实文本,而只返回有限的结构化选择,例如:

kind + evidence_ref

应用在验证这些选择后,再从可信 evidence snapshot 确定性渲染最终文本。

核心分工:

LLM
→ semantic selector / classifier

Application
→ evidence owner / validator / renderer / durable authority

它解决什么问题

很多系统做到 provenance 后会产生一个误解:

claim 有 evidence_ref
→ claim 就一定被 evidence 支持

其实不成立。

例如权威来源只有:

日常活动以久坐为主

模型引用了这条真实 evidence,却输出:

长期久坐可能对整体健康产生长期影响

这里:

evidence ref 正确 ✅
source 存在 ✅
模型 prose 超出来源 ❌

所以:

Provenance 证明“从哪里来”,不自动证明“你说的这句话完全由它推出”。

这就是 claim-level entailment 问题。

两种基本架构

自由文本架构

Evidence
→ LLM writes label / description / explanation
→ semantic entailment checker
→ persistence

优点是表达自由。

缺点是每个 durable claim 都需要继续证明自然语言没有越过证据。

Selection-Only 架构

Authoritative Evidence Catalog
        ↓
LLM selects:
kind + evidence_ref
        ↓
Deterministic validation
        ↓
Application renders exact source restatement
        ↓
Persistence

这里直接取消了模型对 durable prose 的作者权限。

为什么 Deterministic Rendering 更强

假设 evidence 是:

{
  "kind": "lifestyle.exercise",
  "value": "健身;频率:1-2"
}

模型只允许返回:

{
  "kind": "exercise_pattern",
  "evidence_ref": "body_state:fact:123"
}

应用验证通过后生成:

label       = 运动记录
description = 来源记录:健身;频率:1-2。

模型没有机会把它扩写成:

说明训练量不足
说明恢复能力较差
说明长期健康风险增加

所以这个模式不是“让另一个检查器判断模型有没有胡说”,而是:

从权限设计上让模型根本没有这个 durable writing capability。

Authority Minimization

这个设计可以理解成最小权限原则在 Agent 系统中的应用。

如果一个模型为了完成任务只需要决定:

这条 evidence 属于哪类 observation?
哪条 evidence 值得暴露为 candidate?

那么它不需要同时拥有:

自由写事实
自由定义严重程度
自由写健康结论
自由写 durable summary

权限越大,runtime 需要验证的表面积越大。

因此:

minimum model authority
→ smaller trust surface
→ easier deterministic validation

一个典型输出 Schema

class ObservationSelection(BaseModel):
    kind: Literal[
        "posture_alignment",
        "posture_asymmetry",
        "lifestyle_pattern",
        "exercise_pattern",
        "report_indicator",
        "anthropometry",
    ]
    evidence_ref: str

而不是:

class ObservationDraft(BaseModel):
    kind: str
    label: str
    description: str
    severity: str
    confidence: str
    body_region: str
    evidence_ref: str

只有真正需要模型自由判断、并且系统能够验证的字段,才应该留给模型。

Deterministic Rendering 不等于“所有文本都必须模板化”

这个模式适用于:

  • durable health facts;
  • 权限状态;
  • 金融/合规结果;
  • 自动化 side effect 参数;
  • 需要强审计的结构化业务状态。

而普通聊天解释、教学文本、低风险 summary 完全可以保留模型自由表达。

应该按 authority 划分:

Durable / action-authorizing representation
→ deterministic or strongly governed

User-facing explanation
→ semantic freedom may remain

不要为了可靠性把整个产品变成模板机器。

Selection-Only 与 Evidence Consistency 的协作

Evidence Consistency Contract 负责验证:

ref exists?
ref admissible?
source compatible?
kind compatible?
ref unique?

Selection-Only 继续缩小问题:

模型不再写 durable claim prose

组合后:

Model Selection
→ Evidence Contract
→ Deterministic Rendering
→ Durable State

这比:

Model prose
→ Model Judge checks model prose
→ Durable State

更容易形成硬不变量。

为什么不优先增加第二个 LLM Judge

如果问题是:

LLM A 可能把 evidence 扩写过头

一种方案是:

LLM A writes claim
→ LLM B judges entailment

但这只是把一个概率判断变成两个概率判断。

第二个 Judge 可以作为质量信号,但不应是能结构性消除风险时的第一选择。

如果产品允许 selection-only:

remove free-text authority

通常比:

add another probabilistic authority

更稳。

双重 Rendering 是否浪费

如果 Python 是模型运行层、Go 是 durable truth owner,可以:

Python
→ validate selection
→ render candidate

Go
→ rebuild catalog independently
→ revalidate selection
→ render again
→ persist

这里 Go 的二次 rendering 不是为了“多写一遍文案”,而是为了证明:

durable owner 不需要相信上游已经把文本渲染正确。

即使 Python 出 bug 或恶意返回额外 prose,Go 仍只根据 frozen evidence 生成自己的持久化结果。

什么时候不适合 Selection-Only

如果任务本身就是:

写一封邮件
总结一篇文章
解释一个概念

自由文本就是主要产物,不能简单取消。

这时应该使用:

  • evidence/faithfulness checks;
  • semantic evaluators;
  • citation correctness;
  • safety validation。

Selection-Only 最适合:

模型负责语义判断,但最终写入的是受治理的业务状态。

常见误区

  • 有 evidence_ref 就不需要控制文本:ref 正确仍可能发生 claim expansion。
  • Deterministic Rendering 会完全失去 AI 能力:AI 仍负责选择、分类、排序;只是不能自由改写 durable truth。
  • 再加一个 Judge 一定更安全:若能移除权限,结构性约束通常更强。
  • 前端显示文本也必须完全模板化:durable representation 与 user-facing explanation 可以分层。
  • Python 已验证,所以 Go 可以直接信文本:durable owner 最好独立验证自己真正要保存的内容。

最短记忆

不要问:
“怎么让模型更听话地写 durable facts?”

先问:
“它真的需要拥有写 durable facts 的权限吗?”

能把模型从 author 降为 selector 时,很多 grounding 问题会从“难以判断”变成“可确定验证”。

创建于 2026/9/1 更新于 2026/9/1
Digital Biome
Access

键盘导航

j / k / ↑ / ↓
选择对象
Enter / o
打开选择
/ 或 Ctrl+K
全站搜索
i / f / 1–4
筛选当前列表
g → h / l / p / t / a
首页 / 笔记 / 项目 / 工具 / About
r → 1–9
打开所选对象的关联
u
返回上一页
Esc
关闭浮层 / 取消命令;输入框内清空文本