约束显化:通过意图协议将 LLM 不可突破边界转化为机器可读契约
一合规输出✅ PASS选择合法输出左侧是编译后的 JSON Schema右侧是 LLM 的标准输出{ alert_level: P0, root_cause: CPU 使用率超过阈值导致服务响应延迟, confidence_score: 0.85 }结果四层推演全部通过红色 P0 告警卡片正常渲染。场景二同义词漂移❌ BLOCK选择同义词漂移LLM 用自然语言严重替代了标准语义令牌P0{ alert_level: 严重, root_cause: CPU 使用率超过阈值导致服务响应延迟, confidence_score: 0.85 }结果机器在毫秒级内识别出红线——alert_level不在枚举白名单[P0,P1,P2,P3]中。场景三复合违规❌ 3 条红线选择复合违规LLM 同时触发了三处偏差{ alert_level: 严重, root_cause: CPU, confidence_score: 1.5 }结果语义推演严重不在语义令牌白名单语法推演CPU长度不足 10 字符语法推演1.5超出置信度上限1.0这就是机器查清单与人查清单的本质区别人查设计师打开页面逐字阅读 LLM 生成的文案凭经验判断这里好像不太对耗时 5 分钟漏检率随疲劳度上升。机器查协议定义好边界任何输出进入系统前自动过安检多条红线毫秒级定位漏检率趋近于零。三、约束显化的物理形态三层 YAML 协议上面的在线演示不是凭空写的它来自intent-schema-compiler仓库中的 YAML 协议定义。仓库采用三层目录结构intent-schema-compiler/ ├── 语义层/ ← 定义这个世界应该有什么语义 │ ├── intent-schema.json # 意图契约不可变边界与合规动作 │ ├── semantic-tokens.yaml # 语义令牌业务语义 ↔ 系统标识 │ └── synonym-mapping.yaml # 同义词防火墙防 LLM 漂移 ├── 约束层/ ← 定义什么绝对不能做 │ ├── prompt-constraints.yaml # 输入侧Prompt 约束注入 │ ├── response-schema.yaml # 输出侧Response 安检门 │ └── human-ai-boundary.yaml # 权限侧人机边界划分 └── 验证层/ ← 定义怎么验证契约被遵守 ├── compilation-chain.md # 编译思维链从意图到约束的翻译逻辑 └── scenario-tests.yaml # 场景测试合规路径 偏差路径语义令牌——让红色携带业务语义传统 Design Token 只定义这个颜色是什么色值/* 传统 Token只有视觉属性 */ --color-danger: #D32F2F;语义令牌在此基础上增加了业务语义映射和LLM 约束# 语义层/semantic-tokens.yaml semantic_tokens: status.critical: canonical_id: ST-001 version: 1.0.0 immutable: true # 关键变更必须发新版本 description: 系统级故障需立即响应 visual_mapping: # 视觉层绑定 color_token: status.critical motion_token: pulse.red.urgent sound_token: alert.high llm_constraints: # LLM 层绑定 - 生成内容必须包含明确的故障定位信息 - 禁止提供未经验证的修复建议 - 必须附带人工升级路径 synonym_firewall: # 同义词防火墙 prohibited: - term: 严重 confidence_threshold: 0.95 allowed_contexts: [AW-001, AW-002]关键显化点这段 YAML 定义了status.critical不仅是一个红色更是一套完整的语义契约——当 LLM 在告警场景中看到status.critical时它知道必须包含故障定位信息禁止建议自动修复且不能用严重替代。约束契约——让高危操作成为协议自然语言规范通常这样写高危操作必须二次确认禁止 AI 直接执行修复禁止修改告警阈值。翻译成机器可读的约束契约# 约束层/human-ai-boundary.yaml human_ai_boundary: destructive-action: intent_id: IC-003 semantic_domain: transactional immutable_boundaries: - boundary_type: safety rule_ref: rules/safety/destructive.yaml violation_action: block # block / escalate / fallback human_mandatory: # 必须由人决策 - 是否触发自动修复 - 升级路径选择 ai_prohibited: # AI 绝对禁止 - 直接执行修复操作 - 修改告警阈值配置 - 关闭或忽略告警关键显化点violation_action: block不是建议是强制拦截声明ai_prohibited不是口头约定是机器可执行的权限矩阵immutable_boundaries不是文档章节是带版本引用的结构化数据场景测试——用代码证明规则有效约束显化的最后一环是可验证性。每条规则都必须附带怎么证明它有效的测试用例# 验证层/scenario-tests.yaml scenario_tests: - test_id: T-P0-001 test_name: P0 告警生成与校验闭环 intent_binding: AW-001 happy_path: input: { alert_source: CPU_USAGE, threshold_breach: 95 } expected: PASS edge_cases: - case: 同义词替代 mock_response: { alert_level: 严重 } expected_validation: BLOCK — 语义推演失败命中同义词黑名单 - case: 自动执行建议 mock_response: remediation: [{ action_type: automated, description: 自动修复 }] expected_validation: BLOCK — 安全推演失败 - case: 缺少人工确认 mock_response: alert_level: P0 human_confirmed: null expected_validation: BLOCK — 安全推演失败人机边界缺失四、引用闭环四层契约的编织关系单独看每个 YAML 文件只是静态配置。约束显化的真正威力在于它们通过引用形成闭环。闭环验证示例1. 意图契约引用语义令牌# intent-schema.json 片段 { intent_id: AW-001, semantic_tokens: [status.critical] # ← 引用 semantic-tokens.yaml }2. 语义令牌引用约束规则# semantic-tokens.yaml 片段 status.critical: llm_constraints: - 禁止提供未经验证的修复建议 # ← 引用约束层的安全边界3. 约束规则引用场景测试# human-ai-boundary.yaml 片段 immutable_boundaries: - boundary_type: safety rule_ref: rules/safety/destructive.yaml # ← 被 scenario-tests.yaml 测试覆盖4. 场景测试验证意图契约# scenario-tests.yaml intent_binding: AW-001 # ← 回到 intent-schema.json这个闭环意味着当你修改synonym-mapping.yaml中的一条同义词规则时影响面可以沿着引用链自动传导——哪些意图契约受影响、哪些场景测试需要更新、哪些下游编译产物需要重新生成。五、从约束显化到架构骨架intent-schema-compiler目前只是控制平面Control Plane——它存储意图、定义边界、提供显化载体。但它本身不执行编译、不拦截运行时、不采集观测。完整的 Schema-As-Code 体系需要数据平面的四个节点节点职责与约束显化的关系Compiler将 YAML 协议编译为各层可执行产物TS 类型、ESLint 规则、OpenAPI 扩展让显化的约束可编译Validator执行语法/语义/安全/美感四层推演安检让显化的约束可校验Runtime在组件渲染、API 调用、LLM Tool 执行时现场拦截让显化的约束可拦截Bridge采集运行时漂移事件反向修正 YAML 协议让显化的约束可进化约束显化是起点不是终点。当 YAML 协议被编译、被校验、被拦截、被观测时它才真正从静态文本变成动态电网。【配图控制平面-数据平面对照图。左侧小方块YAML 仓库右侧展开骨架Compiler → Validator → Runtime → Bridge用箭头标注编译产物校验事件拦截日志反哺 PR】六、结语显化是工程实践的前提设计规范的发展经历了三个阶段资产库阶段组件和 Token 是参考素材靠记忆复用文档阶段规则和约束写在文档里靠人工审查落地协议阶段意图和约束被形式化为机器可读格式靠系统自动编译和执行intent-schema-compiler是第三阶段的最小可行载体。它不复杂只是一个精心设计的 YAML 仓库。但它完成了最关键的一步让约束从隐性共识变为显性契约。当 LLM 的输出偏差以 YAML 形态被定义、被版本化、被校验时它获得了三种能力被看见新成员通过阅读代码就能理解业务规则被追踪每次规则变更都有完整的审计历史被执行为后续的编译、校验、拦截、观测提供了机器可读的事实源而那张在线 DEMO 中Found 3 error(s)的红色提示就是显化最好的证明——约束不再是文档里的文字而是系统里的安检门。Gap 期局限性声明v0.1.0本文所述意图协议目前处于架构推演与最小可行原型阶段。具体的协议模板、YAML 规范与编译逻辑将在下一篇中完整展开当前校验引擎为逻辑定义伪代码尚未接入生产级 LLM API 或 CI 流水线。关于作者魏雯10 年互联网设计经验。设计系统 / 体验工程 / AI 原生广州 / 深圳阿里妈妈5 年中台体验设计创意工具 → 规则引擎 → 设计提效华为3 年体验设计工程师设计系统 / 跨产品一致性 / 三维治理协议一致性→易用性→安全感/ 大模型 Agent 交互范式独立研发intent-schema-compiler设计意图的形式化约束编译框架将设计意图的不可变边界编译进 LLM 的输入约束与输出校验。欢迎私信联系请多指教。