review-verdict-revise-verify:语义也需要一道闸门

简介: 本文提出“语义闸口”理念:在AI生成Web UI的流程中,将负载安全逻辑从模型移至确定性编排,通过模式库、契约库与验证工具集三层Harness,锁住语义边界——确保“意思不漂移、样式可演进”,实现端到端可信。(239字)

Wu 等(2026)在论文审查领域做了一个闭环系统:

review → verdict → revise → verify

论文提交后,先审查、再裁决、再修订、再验证——四轮之后才允许进入下一环节。

这个闭环的核心设计,不是让 AI 自由裁量。

而是把**"负载承载的安全逻辑"从模型手里拿走,放到确定性编排**中。


一、审查可以交给 Agent,但裁决不能

审查可以交给 Agent。

判断可以交给 Agent。

修复也可以交给 Agent。


但——

什么时候停止?
什么时候阻断?
什么绝对不能改?


这些由硬逻辑说了算。

不由模型说了算。


这意味着:概率性生成的不确定性,被确定性规则锁在边界之内。Agent 在边界里面发挥理解力,边界本身不容谈判。


二、Code-Text-Code 的启示

《Specification-Based Code-Text-Code Reengineering》在代码层验证了一件事:

在转换链条中插入一层受控的规范层,把意思和语法解耦。

源代码和目标代码的语法完全不同,但中性文本规范把"意思"固定下来——无论怎么转换,意思不会漂移。


我在语义层做同样的事。

设计意图 → 语义契约 → Agent 生成 Web UI


设计意图是设计师脑子里的"这个场景下不能做什么":

  • 删除账户必须是红色空心
  • 必须二次确认
  • 文案必须说明不可恢复

Agent 生成 Web UI 时,样式可以变,框架可以变,但语义必须先被规范锁住。


两者都在做同一件事:在生成之前,先把意思固定下来。

论文用自然语言规范来解耦代码语法和代码语义。我用 YAML 语义契约来解耦 Web UI 样式和 Web UI 语义。


样式可以变,但语义必须被规范锁住。

不能变的(硬逻辑)

可以变的(AI Agent)

Critical 不能变成严重

文案措辞可以微调

删除不能变成确认

按钮大小可以调整

四种错误不能共用同一种红色

动画效果可以替换


三、Agent = Model + Harness

阿里云原生在拆解 Agent 底座时,给了一个等式:

Agent = Model + Harness

Model 是大脑。Harness 是缰绳。


没有 Harness 的 Agent 是脱缰的——它能跑,但不知道往哪跑,更不知道什么不能跑。

这比"安全对齐"更诚实。安全对齐试图让模型"自己知道什么该做、什么不该做",但概率性生成的不确定性决定了,模型不可能 100% 自律。


Harness 不依赖模型的自律。它在外部给模型套上一层规矩——

你不需要懂为什么,你只需要按规矩执行。


Harness 的核心是约束基建。规矩必须:

  • 可审计——写了什么、什么时候改的、谁改的,有迹可循
  • 可进化——业务变了,规矩跟着变,版本化管理,Diff 可见


阿里云在业务逻辑层和数据层做了这件事。

但当 Agent 的输出流向 Web UI 时,约束链断了。


四、约束链的断层

想象一条流水线:

数据层定义了字段语义
业务层定义了规则语义
策略层定义了模型标签语义
Agent 生成了一段文案、一个按钮、一个错误提示
用户看到了


数据层有约束:status_code=500 → "服务器错误"

业务层有约束:"服务器错误" → 值班员立即响应

策略层有约束:"Critical" → 情绪权重最高


但到生成 Web UI 这一步,约束链断了。


Agent 把 status_code=500 渲染成界面时,可能写成:

  • "Something went wrong"(语义降级)
  • 按钮做成蓝色实心(样式错误)
  • 四种错误全部用红色(分级缺失)

后端的规矩再严密,语义层没有约束,等于零。

这不是前端的锅。前端按设计稿实现了,设计稿按规范画了,但规范写在文档里,Agent 生成内容时没读。


Agent 按概率生成,每次输出的文案、颜色、样式可能不同——语义在生成过程中漂移了。

约束链止于业务逻辑层,语义层是空白。

这是端到端可信的缺口。


五、语义闸口:在转换链条中插入受控的规范层

这个解耦方法在语义层有三个实现环节。

发现意思在哪里可能跑偏——模式库

不是截图记笔记。

是按组件类型做结构化归档:

组件类型

语义属性

典型漂移

Alert

type: success/info/warning/error

多种错误共用红色

Button

type + danger + ghost

高危操作做成普通样式

Modal

type: confirm/info/success/error

拒绝和终止混为一谈

Progress

status: wait/process/finish/error

阶段标签模糊

当 Agent 生成的输出与组件手册中的语义定义出现偏差时,记录为模式。


把意思写成机器能懂的规矩——契约库

规矩不是写在文档里让人读。

是写在代码里让机器执行。

# contract/ACT-001.yaml
组件: Button
组件手册依据:
  Props:
    - type: primary / default / dashed / link / text
    - danger: true / false
    - ghost: true / false
绝对不能碰的红线:
  - 禁止: semantic_domain=destructive 时,type 不是 primary 或 danger=false
  - 禁止: 缺少 Modal.confirm 二次确认
颜色背后的意思:
  destructive_action:
    组件手册映射:
      Button: { type: "primary", danger: true, ghost: true }
      Modal: { type: "confirm", okType: "danger" }

删除按钮的 type 必须是 primarydanger 必须是 trueghost 必须是 true——这些不是建议,是约束。

契约买的不是"生成能力",是**"可审查性"**。


证明意思没有被跑偏——验证工具集

输入一段文案或 Web UI 描述,自动判断是否符合契约,给出通过/不通过。

不是人眼走查,是机器自动审查。

不是"感觉好多了",是有明确的测试标准和通过准则:

  • 单元测试:单组件语义合规性 → 准确率 ≥ 90%
  • 集成测试:多组件语义一致性 → 100% 匹配
  • 回归测试:规范迭代后兼容性 → 通过率 100%


三个环节叠加,形成语义层的 Harness:

发现漂移(模式库)
裁决契约(契约库)
修订生成(Prompt 注入)
验证锁定(验证工具集)

意思在生成之前被固定,样式在规范之内被允许漂移。

这才是端到端可信——从决策到呈现,每一层都有约束、每一层都可审计。


六、为什么现在必须做

以前 Web UI 是人画的。

设计师画什么,前端做什么,语义不会变。

现在 Web UI 是 Agent 生成的。

同一个需求,Agent 每次生成的文案、颜色、样式可能不同——语义一致性从"确定性"变成了"概率性"。


传统设计系统管的是像素级一致性:

  • 颜色
  • 字体
  • 间距


但 Agent 生成时,像素对了,语义可能错了:

像素对了

语义错了

颜色是红色

但四种错误全部用红色,没有分级

文案是中文

但 Critical 变成了严重,情绪降级

按钮有圆角

但删除做成了蓝色实心,没有二次确认

这些不是视觉回归能捕获的问题。

视觉回归检查"长什么样"。

语义闸口检查"意味着什么"。


Agent 时代,约束基建必须从业务逻辑层延伸到语义层。

否则后端的规矩再严密,Web UI 的语义没有闸口,用户看到的仍然是"意思跑偏了"的界面。


一句话

Agent = Model + Harness。

Harness 不能只套在业务逻辑层,必须延伸到语义层——从决策到呈现,每一层都有约束、每一层都可审计。

review-verdict-revise-verify 的闭环不是论文审查专属,是任何概率性生成系统的通用原则:负载承载的安全逻辑,必须放在确定性编排中。

语义也需要一道闸门。

相关文章
|
NoSQL Java 关系型数据库
【AgentScope Java新手村系列】(5)记忆与会话管理
记忆与会话管理 — AgentState 管理上下文窗口,AgentStateStore 持久化,RuntimeContext.sessionId 隔离多用户会话。
471 0
|
2月前
|
前端开发 安全 中间件
【AgentScope Java新手村系列】(14)人机交互
人机交互 — Permission 系统五种模式配合 ALLOW/DENY/ASK 规则,运行时 HITL 自动拦截与决策收集。
346 6
【AgentScope Java新手村系列】(14)人机交互
|
2月前
|
监控 中间件 API
【剪映小助手】音频时间线计算接口(Audio Timelines)
音频时间线计算接口用于草稿自动化中音视频时序分析,依赖requests、subprocess、Pydantic等模块,支持并发处理、流式下载与断点续传。含参数校验、错误重试及自动清理机制,OpenAPI为准。
197 12
|
2月前
|
JSON 前端开发 NoSQL
【AgentScope Java新手村系列】(11)中断与恢复
中断与恢复 — AgentStateStore 按 sessionId 持久化上下文,浏览器关闭后秒级恢复对话与 todo 状态。
301 1
|
2月前
|
前端开发 NoSQL Java
【AgentScope Java新手村系列】(9)SpringBoot集成
SpringBoot集成 — 工厂方法将 HarnessAgent 注册为单例 Bean,WebFlux 流式输出 streamEvents 到 SSE 端点。
346 3
|
2月前
|
Java 中间件 API
【AgentScope Java新手村系列】(10)实战-多Agent天气助手
实战-多Agent天气助手 — 文件驱动 subagent 实战,主 agent 自主编排天气查询、航班搜索、景点推荐三个子任务并行调研。
501 1
|
2月前
|
SQL 人工智能 安全
语义也需要一道闸门
AI生成内容常“语法正确,语义漂移”。本文指出:代码、数据、审查三层已验证需引入规范层——以中性文本、约束基建、确定性编排等方式锁住语义,防止概率性生成导致的意图失真。语义层亦需同样闸门:不是限制AI,而是为其能力划定可审计、可进化的边界。(239字)
语义也需要一道闸门
|
24天前
|
人工智能 前端开发 开发工具
契约库:让设计规范像代码一样管理
本文是Schema-As-Code阶段二的基础设施专题,详解如何将YAML语义契约构建为组织级契约库:通过Git版本管理、自动化编译、影响面分析与细粒度权限控制,让设计规范真正具备代码级可追溯、可同步、可验证能力。(239字)
|
3月前
|
存储 缓存 安全
大模型应用:大模型响应缓存技术完全指南:TTL 缓存装饰器的设计与落地.112
本文详解大模型应用中缓存装饰器的实战实现,直击响应慢、成本高两大痛点。从基础缓存出发,逐步升级为支持TTL过期、线程安全、LRU淘汰、异常防护及哈希键优化的生产级方案,显著提升响应速度、降低Token消耗、增强系统稳定性。
313 7
|
3月前
|
机器学习/深度学习 自然语言处理 算法
大模型应用:LDA线性判别分析+大模型:小数据驱动的语义增强分类实战.105
本文提出“LDA+大模型”小数据文本分类方案:用大模型(如BERT)生成高质量语义向量,再通过线性判别分析(LDA)降维并分类。兼顾语义理解与计算效率,仅需数百条标注数据即可实现高精度、低成本、易部署的文本分类,适用于意图识别、舆情分析等企业真实场景。
293 3

热门文章

最新文章