企业管理 · Verified Case

企业管理行业:HL-20 飞行仿真模型语义审查与六态判据治理

企业研发部门用 Dyad Agent 这类 AI 建模工具从 prompt 全自动生成六自由度飞行仿真模型(NASA HL-20 升力体),但编译产物把一切物理量压成普通实数:HL20Aero_definition.jl 的 Units 列对每个参数都写「--」,量纲、单位制、坐标系、符号约定、物理身份编译后全部不可见。飞行仿真的接口天然混用单位制(动力学 SI、气动与控制器英制),换算错一次整条 Mach 或力矩链就偏一个系数;Xcg 与 XRP 量纲相同数值接近、用错的是身份;舵偏取绝对值使奇函数项丢符号;规格 §7 与 §8 对同一个量差一个安全项——这些缺陷自动化测试天然看不见,而仓库的测试集实际是空的(0 个基线、testset 体为空、快照自举恒真)。企业启动飞行模型语义审查 AI 应用建设,构建 HL-20 飞行仿真语义本体与实例图谱,由 22 条判据规则(SWRL + SHACL-SPARQL + AI 判读)按六态纪律审查模型与规格,产出带 file:line 证据、带分级、带撤回留痕的审查报告。

关联本体 NASA HL-20 飞行仿真语义本体

案例背景

企业研发部门用 Dyad Agent 这类 AI 建模工具从 prompt 全自动生成六自由度飞行仿真模型(NASA HL-20 升力体),但编译产物把一切物理量压成普通实数:HL20Aero_definition.jl 的 Units 列对每个参数都写「--」,量纲、单位制、坐标系、符号约定、物理身份编译后全部不可见。飞行仿真的接口天然混用单位制(动力学 SI、气动与控制器英制),换算错一次整条 Mach 或力矩链就偏一个系数;Xcg 与 XRP 量纲相同数值接近、用错的是身份;舵偏取绝对值使奇函数项丢符号;规格 §7 与 §8 对同一个量差一个安全项——这些缺陷自动化测试天然看不见,而仓库的测试集实际是空的(0 个基线、testset 体为空、快照自举恒真)。企业启动飞行模型语义审查 AI 应用建设,构建 HL-20 飞行仿真语义本体与实例图谱,由 22 条判据规则(SWRL + SHACL-SPARQL + AI 判读)按六态纪律审查模型与规格,产出带 file:line 证据、带分级、带撤回留痕的审查报告。

案例描述

为 NASA HL-20 六自由度飞行仿真模型构建 88 类 / 43 对象属性 / 55 数据属性、4177 条三元组的飞行仿真语义本体,新增坐标系与帧、接口契约与单位边界两层(10 接口契约、4 换算边界、7 换算因子、3 坐标系、4 符号约定、8 物理身份),配套 4 条 SWRL 规则、12 个 SHACL 形状与 22 条判据规则(阈值全由个体供给)。审查按六态如实报告:SHACL 命中 2(声速 m/s 与 ft/s 双口径比值 0.3048、规格五场景实现侧全缺)、未命中 1(Xcg/XRP 已评估 13 个目标确实无缺陷)、空转 4、数据缺口 9、AI 判读 6(5 条因实现对象缺失记不适用、DOC-01 直接判读发现规格 §7/§8 对 hob 的定义相差 +0.01)。产出 9 条发现(ERROR 2 / WARN 2 / INFO 5,含 1 条撤回):覆盖度落差(承诺 18 构件实现 0)、测试集为零与快照自举、声速双口径、abs_drud 使 CY/CN/CR 奇函数项丢符号、右舷相减与权威 DML 相加相反(open 如实待仲裁)、hob=100 超气动表断点 [0.2, 2.5] 等;正控样本 12 条形状全命中、干净样本 0 误报,撤回的 Xcg/XRP 误报沉淀为 coDeclaredInSpecWith 条件层修正。

飞行模型重建「帧与单位边界」语义

为 NASA HL-20 升力体六自由度飞行仿真(Dyad Agent 从两个 prompt 全自动生成)建立 88 类 / 43 对象属性 / 55 数据属性 / 4177 条三元组的语义本体,并新增制动案例没有的两层:坐标系与帧(CoordinateFrame / SignConvention / QuaternionConvention)与单位边界及接口契约(InterfaceContract ×10 / ConversionBoundary ×4 / ConversionFactor ×7)——飞行仿真的缺陷大头不在「某个数写错」,而在约定(帧、序、符号)与边界(SI↔英制)上。

22 条规则六态分档不虚报

22 条判据规则按六态如实拆分报告:SHACL 命中 2(违规 6 条:声速双口径、五场景全缺)、未命中 1(Xcg/XRP 已评估 13 个目标确实无缺陷)、空转 4、数据缺口 9、AI 判读 6(5 条因实现对象缺失记「不适用」、DOC-01 直接判读并发现规格内部 hob 定义不一致)——「未命中」与「空转」含义相反,绝不可混。

撤回也是证据:判据前提核验在环

9 条发现(ERROR 2 / WARN 2 / INFO 5)全部带 file:line 证据,含 1 条撤回:前两轮报 Xcg(0.555)/XRP(0.54) 身份碰撞,第三轮复核规格本就并列声明为两个量(§6 还要求算 dxcg = Xcg − XRP),撤回并把「排除规格并列声明」做进规则条件层——「报过又撤回」正是前提核验在起作用的可信度证据。

项目案例

客户面对的问题

Dyad/ModelingToolkit 编译产物把一切物理量压成 ::Real,HL20Aero_definition.jl 的 Units 列对每个参数都写「--」,连名字里带 _ft 的 CBAR_ft 也不例外——量纲、单位、坐标系、符号约定编译后全部不可见

飞行仿真接口天然混用单位制:规格明说动力学用 SI、气动与控制器用英制,换算只允许发生在组件边界——但哪条信号流跨界、边界系数是多少,代码里无从查起

同一物理量的「身份」会骗人:Xcg(重心 0.555)与 XRP(力矩参考点 0.54)量纲相同数值接近,用错的是身份不是数值;判据若不排除规格本就并列声明的量,就会产生习惯性误报

声速以两种单位口径并存:CSV 表 340.278 m/s 与 shared_utils.jl 的 1116.398 ft/s(比值恰为 0.3048),当前无消费方故潜伏——一旦被误用,Mach 计算整体偏差 3.28 倍

自动化测试天然看不见约定类缺陷:舵偏取绝对值使 CY/CN/CR 三个奇函数项丢符号、右舷项相减与权威 DML 相加结构相反、规格 §7 与 §8 对 hob 的定义相差一个 +0.01 安全项——这些「测试通过」的模型照样带着缺陷

验证体系空洞:.ref 基线 0 个、@testset 体为空、test_internals.jl 在无基线时把当前运行写成基线(快照自举)——此后「全部测试通过」恒真,无任何证据价值

项目案例

使用本体前后的变化

使用本体前使用本体后
模型就是 Dyad Agent 生成的 .dyad 与编译产物,Units 列全是「--」,帧与单位约定只存在于规格文档和注释里HL-20 模型进入 88 类本体:10 份接口契约声明「动力学 SI / 气动与控制器英制」、4 个换算边界与 7 个换算因子个体、3 个坐标系(NED 惯性系 / 机体系)、4 条符号约定(alt = −pos_3 等)、8 个物理身份(含互斥的 Xcg/XRP),阈值一律以本体个体供给不入公理
审查报告只有「检查通过/未通过」两态:形状没执行、目标类没实例、谓词整体缺失,在报告里都长一个样22 条判据规则逐条标注形式化方式(SWRL 4 / SHACL-SPARQL 12 / AI-JUDGMENT 6)并按六态报告:命中 2、未命中 1、空转 4、数据缺口 9、不适用 5、直接判读 1——什么都没验证的与评估过无缺陷的分得清清楚楚
推理脚本报错时兜底默认值被当成结论写进报告,「没跑成」被悄悄写成「不一致」或「通过」判据执行体每轮依本体意图对当前图结构重新生成、不照抄参考件;HermiT 因缺 Java 不可用时如实声明,SWRL 4 条改用前置谓词计数做机械替代,并拒绝把「引擎没跑起来」的兜底 consistent:false 读成「本体不一致」
「命中」被直接当缺陷转抄进报告,误报靠人眼逐次排除,换个审查者就再犯一遍前提核验拦下误报并沉淀为规则:Xcg/XRP 碰撞命中被复核撤回,hl:coDeclaredInSpecWith 进入 IDN-01 条件层与形状 FILTER NOT EXISTS,从此该类误报在规则层面消失,不依赖判读者记性
零命中既可能是没缺陷,也可能是形状根本不会报警,「覆盖率」无从谈起判据自验证成体系:12 条形状喂正控样本全部命中(总违规 16)、干净样本 0 误报,证明「未命中 1」是真无缺陷而非空洞通过;正控里 SCN-01 命中 5 恰与实现落差对应
HL-20 模型语义审查流程HL-20 六自由度模型经语义抽取进入本体与实例图谱(4177 条三元组),22 条判据规则按形式化方式分流执行并按六态报告:SHACL 命中 2 / 未命中 1 / 空转 4 / 数据缺口 9,AI 判读 6 条中 5 条因实现对象缺失记不适用、DOC-01 直接判读发现规格漂移;产出 9 条发现(含 1 条撤回)。
正在生成关系图…
判据六态与结论边界六态是这套审查的可信度底线:命中(评估到违规)与未命中(已评估 M 个目标、确实无缺陷)是真结论;空转(目标类零个体)与数据缺口(谓词整体缺失)是什么都没验证,必须单列;AI 判读区分「对象缺失不适用」与「形状不表达直接判读」。
正在生成关系图…
项目案例

本体域与业务的关联

方案作用于哪些业务对象?

对象域

HL-20 升力体六自由度飞行仿真模型(气动 HL20Aero、刚体动力学、大气 1976、飞控与舵面混合器、五个验证场景的规格承诺)、参数与端口与连接方程、SI 与英制两套单位制及换算边界、坐标系(NED 惯性系 / 机体系)、符号约定与物理身份、判据规则与代码生成约束、审查发现与证据。

信息在哪里产生和流转?

系统与信息域

Dyad 仓库(.dyad 源码、编译产物 .jl、DML 气动数据表、CSV、规格与 prompt)经 extract_hl20.py 机械抽取为实例图:1 个实存组件、84 参数、64 条赋值方程、45 中间变量、34 条来源事实(含 18 个 Absent 缺失构件声明);本体合并共 4177 条三元组;发现以 Turtle 账本只追加不删、撤回保留原文。

判定依据是什么、由谁确认?

规则与标准域

22 条判据规则(UNIT / FRM / IDN / CAL / SCN / SIG / QTN / CON / CPL / AGG / ACT / DOC / COV / UNT)逐条标注条件、义务、形式化方式与严重级;9 条代码生成约束(含实测证据:HermiT 拒绝内建原子故算术判据走 SHACL、禁 UNION 跨分支引用外层变量等);阈值个体 5 个(换算因子容差 0.001、四元数范数 1e-6、机械能 1e-6、身份碰撞 0.05、适用域越界 0.0)。

结论如何给出、边界如何交代?

结论与边界域

结论按六态拆分(命中 / 未命中 / 空转 / 数据缺口 / 不适用 / 直接判读),发现按 ERROR / WARN / INFO 分级并带置信度与 file:line 证据;open 状态如实声明「证据不足以仲裁」(右舷相减);「引擎没跑起来」的兜底默认值不得读成一致性结论;规格侧与实现侧分开判,实现缺失时规格照判、不判缺陷也不判通过。

项目案例

4 个应用场景

场景 1

飞行模型的帧与单位边界语义重建

客户问题

HL-20 六自由度模型由 Dyad Agent 从两个 prompt 全自动生成,编译产物把一切物理量压成 ::Real;动力学用 SI、气动与控制器用英制的约定只写在规格里,跨界的换算错一次,整条 Mach 或力矩链就偏一个系数。

本体做法

构建飞行动力学专属本体:除模型结构外新增两层——坐标系与帧(CoordinateFrame / AxisRole / QuaternionConvention / SignConvention)与单位边界及接口契约(InterfaceContract / ConversionBoundary / ConversionFactor),把「换算只发生在组件边界」「alt = −pos_3」「Xcg 与 XRP 互斥」全部写成可推理约束;阈值一律以个体供给。

应用效果

编译期丢失的帧、单位边界、符号约定全部回到可推理图谱,且「哪个接口用哪套单位制」成为机器可核对契约。

输出内容
  • NASA HL-20 飞行仿真语义本体(88 类 / 43 对象属性 / 55 数据属性 / 4177 三元组)
  • 接口契约 ×10、换算边界 ×4、换算因子 ×7、坐标系 ×3、符号约定 ×4、物理身份 ×8
  • 实例图:1 组件 / 84 参数 / 64 赋值方程 / 34 来源事实(含 18 个缺失构件)
场景 2

覆盖度落差与快照自举的拆穿

客户问题

AI 生成的代码仓库最容易自欺:规格承诺 18 个构件实际只有 1 个;测试文件都在、全空,「五个场景全过了」的说法没有证据基础——无基线时测试恒真。

本体做法

抽取器把「缺失」也记为事实(hl:Absent_* ×18 入图),SCN-01 形状据此命中 5;对测试体系逐项机械复核(0 个 .ref、221 字节空测试文件、test_internals.jl 把当前运行写成基线的快照自举注释原文)——「全部测试通过」被明确判为无证据价值,任何物理自洽结论在建齐构件前不成立。

应用效果

「承诺建了什么 vs 实际有什么」「测试是否真有基线」被机械复核进图谱,AI 的一切审查都建立在如实的事实底座上。

输出内容
  • F-001 覆盖度落差(ERROR):prompt 承诺 18 个 .dyad,实现 0,实存 1(预置 HL20Aero)
  • F-002 测试集为零(ERROR):.ref 0 个、@testset 体为空、快照自举(test_internals.jl:196)
  • SCN-01 命中 5:规格 §11 五场景实现侧全缺
场景 3

口径、符号与规格漂移的证据化审查

客户问题

CSV 表的声速是 m/s、shared_utils.jl 算出来的是 ft/s,两者并存且当前没人消费——一旦被接进 Mach 链就偏 3.28 倍;舵偏取绝对值让三个奇函数项丢符号,测试够不着;规格 §7 与 §8 对同一个 hob 差一个安全项,后建模型的人不知道照哪份写。

本体做法

CAL-01 形状按「同物理量 + 单位制不同 + 数值比超容差」命中声速对(降为 INFO 因无消费方、如实标注潜伏);规格-代码漂移规则逐行比对(HL20_aero.dml 专为横航向三项做符号还原而预置件用 abs → WARN);DOC-01 直接判读 64 条赋值方程时顺带发现 hob 双定义;F-005 按 open 状态如实声明「此项未能判定」,本体 measuredEvidence 留痕。

应用效果

潜伏的口径炸弹被定位到行号:同一物理量两种单位制并存、奇函数项丢符号、规格内部两处定义打架,逐条定级并给出修正方向。

输出内容
  • F-003 声速双口径(INFO,潜伏):340.278 m/s 对 1116.398 ft/s,比值 0.3048,当前无消费方
  • F-004 舵偏符号丢失(WARN):abs_drud 六处自变量,CY/CN/CR 奇函数项不随舵反向;受评场景 DRUD=0 未激励
  • F-008 规格内部漂移(INFO):§7 hob=alt_ft/BSPAN 对 §8 hob=alt_ft/(BSPAN+0.01)
  • F-006 适用域越界(INFO):Scenario 2 的 hob=100 远超 GE 表断点 [0.2, 2.5],Flat 外推
  • F-005 右舷相减之疑(WARN,open):与权威 DML 相加结构相反,证据不足以仲裁、不强行定案
场景 4

六态纪律与撤回式可信度

客户问题

审查报告最危险的掺水方式是把「什么都没验证」混进「检查通过」:目标类零个体的空转、依赖谓词整体缺失的数据缺口、推理引擎没跑起来的兜底默认值,都可能被写成合格。

本体做法

validate_shapes.py 强制六态输出并明文禁止混报;HermiT 缺 Java 时如实声明不可用、SWRL 4 条改前置谓词计数替代并声明用了替代方法,拒绝把 errors 非空时的 consistent:false 读成任何结论;正控/干净样本自验证证明未命中的 IDN-01 是真无缺陷;F-000 撤回连同 hl:coDeclaredInSpecWith 的条件层修正一起进累计账本——「报过又撤回」成为流程可信度证据。

应用效果

审查结论自带可信度证明:哪条是评估过的真结论、哪条什么都没验证、哪条报过又撤回,报告里一目了然。

输出内容
  • 六态统计:命中 2(违规 6)/ 未命中 1 / 空转 4 / 数据缺口 9 / 不适用 5 / 直接判读 1 = 22
  • F-000 撤回记录:Xcg/XRP 碰撞撤回原因、依据行号与规则层修正全部保留在账本
  • 正控样本 12 条形状全命中(违规 16)、干净样本 0 误报
业务示意

一次「报过又撤回」:Xcg 与 XRP 的 0.015 之差

参数表相邻两行写着 Xcg = 0.555(重心位置)与 XRP = 0.54(力矩参考点)。\n\n它在哪里产生:两者都来自规格 hl20_spec.md §1,量纲相同(机体长度占比)、数值只差 0.015;§6 的力矩转移公式还要求算 dxcg = Xcg − XRP。判据 IDN-01 的设计意图就是抓「量纲相同、数值接近、身份互斥」的复制粘贴混淆——这两个数恰好全部命中。\n\n系统如何处理:前两轮把该命中报成 WARN 缺陷;第三轮做前提核验——规格 :19-20 本就给两者各自的专属名字与用途,:148 还要求计算二者之差,并列是规格的明确意图、数值接近是巧合。于是撤回 F-000(status=retracted 保留原文),并把「排除 hl:coDeclaredInSpecWith 的对」做进 IDN-01 条件层与形状 FILTER NOT EXISTS——本轮 IDN-01 变成「未命中(已评估 13 个目标)」,是评估过、确实无缺陷,不是被屏蔽。\n\n交付结果:撤回记录连同依据行号永久保留在 findings 账本(只追加不删);此类误报从此在规则层面消失,不依赖任何审查者的记性。\n\n业务影响:判据命中不等于缺陷——这套流程用一次「报过又撤回」证明了前提核验这一环真的在起作用,也让「未命中」第一次有了可信的含义。

项目案例

项目交付成果

本体资产

  • NASA HL-20 飞行仿真语义本体(OWL/RDF-XML,88 类 / 43 对象属性 / 55 数据属性,4177 条三元组)
  • 飞行领域专属两层:坐标系与帧(3 坐标系 / 4 符号约定 / 四元数约定)+ 接口契约与单位边界(10 契约 / 4 边界 / 7 因子)
  • 8 个物理身份个体(含互斥的 Xcg/XRP 与 coDeclaredInSpecWith 声明)

判据与约束资产

  • 22 条判据规则注册表(SWRL 4 / SHACL-SPARQL 12 / AI-JUDGMENT 6,逐条条件 + 义务 + 严重级)
  • 12 个 SHACL-SPARQL 形状(参考件 + 每轮按图结构重新生成的执行体)
  • 9 条代码生成约束(含 HermiT 内建原子实测证据)与 5 个阈值个体

验证与质量保障

  • 模型实例图谱(1 组件 / 84 参数 / 64 赋值方程 / 34 来源事实,含 18 个缺失构件声明)
  • 发现账本 9 条(ERROR 2 / WARN 2 / INFO 5,含 1 条撤回),逐条带 file:line 证据与置信度,只追加不删
  • 判据自验证包:正控样本 12 形状全命中、干净样本 0 误报、HermiT 替代方法声明

AI 应用与文档交付

  • HL-20 语义审查技能(9 步流程 + 六态纪律 + 冻结环境合法降级)与本体建/扩技能
  • 修复路线图:建齐 18 个承诺构件、补 .ref 基线、声速链统一 m/s 口径、CY/CN/CR 按 sign(DRUD) 还原符号、统一 hob 为 §8 口径
  • 中文审查看板(六段:被审对象 / 本体结构 / 规则分类 / 判据六态 / 发现清单含撤回 / 推理留痕)
项目案例

业务价值

看得懂

坐标系、符号约定、单位边界、物理身份、接口契约全部落在统一语义模型上,工程师看得懂类树与关系,飞行模型的约定不再只存在于规格文档里。

找得到

任一条发现都穿透到规格与源码的「文件:行号」与图谱事实个体;18 个缺失构件本身也是图谱节点,承诺与实现的落差可机械复核。

说得清

六态纪律保证「什么都没验证」绝不冒充「检查合格」;每条发现带规则编号、严重级与置信度;连撤回都留痕可查——报告的每个字都可复算。

做得动

发现直接给出修正方向:建齐构件、补基线、统一声速口径、按 sign(DRUD) 还原符号、修规格括号;open 状态的 F-005 明确「先确认表口径再动手」,避免越修越错。

可持续

撤回沉淀为规则(coDeclaredInSpecWith 进条件层),同类误报永不复发;冻结环境的降级写法全部留痕;本体只放领域知识与来源事实,模型演进规则零返工。

案例留言

围绕这个案例继续交流

公开展示审核通过的会员留言,帮助案例经验持续完善。

0 条公开留言
登录后参与留言案例留言仅面向已登录会员
0/1000
暂无公开留言

成为第一个围绕这个案例提出问题或分享复现经验的会员。