
传统 IT 系统建立在"数据—逻辑—表现"的三层架构之上。这一架构在本质上是一种 单一本体论——所有实体、关系、操作都被压缩进同一个关系模型,由同一个运行时承载。这在确定性业务中工作良好,但面对 LLM 带来的不确定性时暴露出三个结构性缺陷:
传统系统的知识散落在数据库记录、代码注释、文档中,没有形式化的知识表示层。LLM 接入后,"知识从哪来、如何被检索、如何被验证"成为空谈。
传统系统的"设计"发生在编译期,"运行"发生在部署后。LLM 要求在运行时动态生成新的系统产物,传统架构没有"生成时"这个运行时阶段。
传统系统的运营(审批、协作、审计)是代码固化的业务逻辑,不是可插拔的人机交互层。LLM 需要"人的意志"的介入点,但传统架构没有这个插槽。
本体论(Ontology)源自哲学——研究"存在"的本质和分类。在信息科学中,Gruber(1993)给出了被广泛接受的定义:
本体论是对共享概念化(conceptualization)的形式化、显式化规范说明。
一个本体由五个要素构成:
要素 | 含义 | 在系统中的体现 |
|---|---|---|
类(Class) | 实体类型 | 组件类型、流程类型、知识类型 |
个体(Instance) | 具体实体 | 某个 FormLayout、某个审批流 |
属性(Property) | 实体的特征 | 组件尺寸、流程状态、文档元数据 |
关系(Relation) | 实体间的关联 | 包含、依赖、生成、审批 |
公理(Axiom) | 约束与规则 | 路由条件、Guard 阈值、校验规则 |
AI 原生系统的核心挑战,不是"把 LLM 接进来",而是 在同一套骨架中容纳三种不同性质的本体,并让它们可以相互引用、相互喂养。
三位一体 | workMode | 本体类型 | 回答的问题 | 核心命题 |
|---|---|---|---|---|
📕 知识 | chat | 描述性本体 | "What is"——领域是什么 | 知识是对现实的形式化描述 |
⚙️ 设计/开发 | architect | 生成性本体 | "What could be"——系统可以是什么 | 设计是对可能产物的规范生成 |
🔄 运营 | business | 程序性本体 | "What happens"——系统如何运转 | 运营是对行为的协同治理 |

图 1:三种本体论分类对比 | 描述性本体(知识)· 生成性本体(设计)· 程序性本体(运营)
描述性本体是对领域知识的形式化表达,包括概念体系、分类框架、实体关系、实例数据。在 OODER 中,它的核心载体是 6 个场景组(scene-group)知识层:
📕 关键设计决策
CHAT 是降级默认值(normalize(null) → "chat")。从本体论角度看,这意味着 描述性本体是系统的基础层——当系统无法确定一个意图属于生成性本体还是程序性本体时,它退回到描述性本体,先"理解"再"行动"。这不只是技术默认值,而是一个本体论承诺:知识是另外两种本体的前提。
生成性本体是对系统可产物的规范表达,包括组件结构、生成规则、变换逻辑、校验标准。它的核心是 四分离(Four Separation)——对 UI 组件的本体论分解:

图 2:四分离架构 —— 对 UI 组件的本体论分解,四个正交的分类轴
这四层不是物理分层,而是 本体论上的分类轴——任何 UI 组件都可以在这四个轴上投影。LLM 在生成组件时,不是自由发挥,而是按照这四个本体维度填充属性。
程序性本体是对系统行为与治理的形式化表达,包括流程编排、路由规则、决策节点、人机协同契约。它的核心机制是 HUMAN 一等公民:
🔄 HUMAN 不是"异常处理",而是第一类实体
每个 HUMAN 节点都有明确的契约(requiredInputs → producedOutputs)、超时策略(timeoutBehavior)、委托路径(H2A/H2H/H2T)和回退目标(returnTargets)。这意味着人的意志在系统本体中有一个 显式的位置,而不是被当作"特殊 case"塞进代码逻辑。
三种本体覆盖了不同维度的系统行为,但它们必须在一个统一的入口处被"对齐"和"路由"。这就是 元本体(Meta-Ontology)——关于本体选择的本体。OODER 的 intent-dispatch 流程就是这个元本体。

图 3:意图分发流程 —— 元本体论的三步操作:本体对齐 → 本体实例化 → 本体切换
意图分发中的 HUMAN/CONFIRM 节点不是普通的"确认对话框",它在本体论上对应 本体论承诺(Ontological Commitment, Gruber 1993)。当系统将一个意图映射到某一种本体时,它做出了一个不可逆的承诺——后续所有推理、生成、决策都将在这个本体的框架内进行。用户对意图的确认,就是对这个承诺的背书。
本体 | 阶段模式 | 变异说明 |
|---|---|---|
描述性本体(CHAT) | 对话 → END | 退化为单阶段(chat 是"理解"的极端简化) |
生成性本体(ARCHITECT) | 理解 → 设计 → 集成 | 完整三阶段,含架构师协同设计 + 最终审批 |
程序性本体(BUSINESS) | 理解 → 设计 → 集成 | 完整三阶段,无架构师设计,无最终审批 |

图 4:OODER 三模式体系结构总览 —— 元本体层 → 三层本体 → 通用基础设施层
维度 | 描述性本体(CHAT) | 生成性本体(ARCHITECT) | 程序性本体(BUSINESS) |
|---|---|---|---|
核心问题 | What is | What could be | What happens |
本体形态 | 分类体系 + 实例数据 | 生成规则 + 变换逻辑 | 流程编排 + 路由 + 决策 |
核心产物 | 知识文档、检索结果 | .cls 组件、.java 代码 | 流程表单、审批记录 |
生命周期 | 持久化(知识库) | 生成 → 校验 → 部署 | 执行 → 监控 → 归档 |
LLM 角色 | 检索器 + 摘要器 | 生成器 + 协同推理 | 编排器 + 决策辅助 |
HUMAN 角色 | 内容消费 + 反馈 | 意图确认 + 最终审批 | 决策 + 审批 + 协作 |
Guard 严格度 | 宽松(maxLlmRounds=50) | 严格(maxLlmRounds=100) | 中等(maxLlmRounds=100) |
阶段数 | 1(对话) | 3(理解→设计→集成) | 3(理解→设计→集成) |
采用"本体 → 功能域 → 功能点"的三层分解方法:
📚
批量上传引导(knowledge-init-pipeline)、DocView 批量转换、导游培训知识库(4场景专业知识库)
场景组知识检索(6个scene-group RAG路由)、知识绑定查询、相似度检索(threshold=0.7)
通用对话(chat-pipeline → GeneralChatScene)、垂直领域问答、降级兜底(chat作为降级默认值)
流程级绑定(每条流程的knowledgeBindings)、阶段级绑定(INTENT/ENTITY/DESIGN/QUALITY/INTEGRATE层)、作用域控制(scopeKeys)
多Agent HARNESS模式:architect_agent(方案生成)↔ reviewer_agent(方案评审),交替推理直到共识(consensusThreshold=0.85)
FourSeparationEnhancedStep:视图层/工具层/分页层/数据层 → genJson → .cls + .java(NlpBuildComponentTool)
llm-fallback-subflow:LLM兜底 + 质量校验 + 数据飞轮持久化;human_final_approval:HUMAN/APPROVAL 节点
DBFirst / DesignerFirst / ChartFirst / SvgPaperFirst 四种入口策略,按建模起点分叉
bpm-scene:ProcessDef 设计、Activity 编排、Route 配置、回退机制、会签机制
business-integrate-subflow:配置管理、组件生成事件(BROADCAST)、流程结束
form-creation-guide:HUMAN 节点引导选择(上传模板/描述构建/直接开始),路由到对应子流程
专利审查(patent-review-scene):形式审查 + 实质审查,知识库驱动
共享子流程 | 被引用方 | 功能 | 复用方式 |
|---|---|---|---|
understand-subflow | architect + business | 意图分类 + RAG路由 + 实体提取 + 附件解析 | contextInherit=true |
component-generate-subflow | architect + business | 组件类型降级 + 管线分发 + 场景路由 + 配置生成 | contextInherit=true |
llm-fallback-subflow | architect + business | LLM兜底 + 质量校验 + 数据飞轮持久化 | 各自独立 |
architect-pipeline 生成组件
↓
component_generated 事件(BROADCAST)
↓
bpm-scene(订阅)→ 流程定义更新可用组件列表
page-debug-scene(订阅)→ 页面调试工具可测试新生成的组件三种本体共享的通用基础设施包括 6 大模块:流程引擎、六层上下文模型、FC-Loop 与 HUMAN 一等公民、Guard 防护体系、知识绑定、数据飞轮。
流程引擎是三种本体的 统一执行骨架。无论哪种本体,其实例化都通过同一条路径:ProcessDefinition → ProcessInstance → ActivityInstance → ActivityDispatcher。

图 5:流程引擎生命周期 —— 双层架构 + 路由决策 + Guard 防护
维度 | 场景流程(SCENARIO_FLOW) | 子流程(SUB_PROCESS) |
|---|---|---|
生命周期 | 独立持久化 / 跨会话恢复 | 随父流程创建 / 销毁 |
上下文 | 独立 6 层上下文 | 继承父流程上下文 |
路由能力 | 支持 XOR/AND/LOOP/BACKWARD | 仅顺序执行 |
人工节点 | 可含 HUMAN | 禁止 HUMAN |
验证循环 | 支持 validationLoop(最多 3 次) | 无内部验证循环 |
可中断性 | 可独立暂停 / 恢复 | 不可独立中断 |
priority 降序排列condition 表达式priority=1, condition="" 的默认降级路由noMatchPolicy(WAIT / SKIP / RETRY / ESCALATE_HUMAN)
图 6:六层上下文模型 —— 静态层(长期记忆)+ 动态层(工作记忆)
{
"defaultLoadLevel": "standard",
"loadLevels": {
"standard": { "maxHistoryRounds": 10, "tokenBudget": 32000 },
"deepDesign": { "maxHistoryRounds": 20, "tokenBudget": 64000, "deepDesignMode": true }
}
}
图 7:FC-Loop(Function Calling Loop)—— LLM 工具调用的闭环
委托模式 | 缩写 | 含义 | 适用场景 |
|---|---|---|---|
转 Agent | H2A | 将审批委托给 AI Agent 执行 | 低风险决策 |
转人 | H2H | 将审批转给其他角色 | 缺席时替代审批 |
转任务 | H2T | 将审批转化为任务工单 | 需跨系统协作 |
流程级 Guard(ProcessLevel)
├── maxLlmRounds: 100 // 流程级 LLM 最大轮数
├── maxTotalTokens: 500000 // Token 总预算
├── maxBackwardCount: 3 // 最大回退次数
活动级 Guard(ActivityLevel)
├── maxLlmLoopCount: 3 // 活动级 LLM 循环次数
├── fcLoopMaxRounds: 5 // FC-Loop 最大轮数
├── maxTokensPerCall: 32000 // 单次调用 Token 上限
└── tokenBudgetPerActivity: 64000 // 活动级 Token 预算⚡ 默认降级路由 —— 防卡死最后防线
每个路由节点必须有默认降级路由(priority=1, condition=""),防止条件未命中时卡死。这是"流程不能卡死"的工程铁律。
knowledgeBindings 是连接流程与知识的桥梁,定义在每条流程的 definition.json 中:
{
"bindingId": "kb_architect-pipeline_understand",
"swimLaneId": "SG-UNDERSTAND",
"layer": "INTENT",
"scopeKeys": ["intentKeywords", "intentTypeMap", "sceneDispatch", "buildLevelKeywords"]
}即使是在代码生成管线 architect-pipeline 中,也绑定了 5 层知识:INTENT(意图识别)、ENTITY(实体识别)、DESIGN(设计生成)、QUALITY(质量校验)、INTEGRATE(集成编译)。知识不是被查询的数据库,而是参与每一次推理的上下文。

图 8:数据飞轮闭环 —— 三位一体的循环喂养工程实现
数据飞轮是三种本体之间"循环喂养"的工程实现:
设计(ARCHITECT)→ 生成组件
↓
组件生成完成事件(BROADCAST)
↓
运营(BUSINESS)→ 使用组件,沉淀业务规则
↓
知识(CHAT)→ 沉淀为知识库内容
↓
知识绑定 → 约束下一次设计
↓
设计(ARCHITECT)→ 更精准的生成本体论要素 | 描述性本体(CHAT) | 生成性本体(ARCHITECT) | 程序性本体(BUSINESS) |
|---|---|---|---|
类(Class) | 知识分类(scene-group)、文档类型 | 组件类型(FormLayout/Grid/Tree/Chart/SVGPaper)、流程类型 | 活动类型(LLM_AGENT/HUMAN/SUB_PROCESS)、HUMAN 模式 |
个体(Instance) | 知识文档、知识条目、检索结果 | 生成的 .cls 组件、.java 代码、genJson | 流程实例、审批记录、决策记录 |
属性(Property) | 文档元数据、scopeKeys、similarityThreshold | moduleViewType、endpoints、consensusThreshold | state、totalRounds、maxLlmRounds、timeoutSeconds |
关系(Relation) | knowledgeBindings(流程→知识)、SG 步骤依赖 | 四分离关系(视图→工具→分页→数据)、subFlowDefId | transitions(源→目标+条件+优先级)、parentFlowId |
公理(Axiom) | 检索规则(相似度阈值)、分类规则(intentKeywords) | 生成规则(fourSeparationPlans)、降级规则(四层保护) | 路由条件(condition)、Guard 阈值、默认降级规则 |
本体论承诺 | 知识是降级默认值 | 生成产物需 HUMAN/APPROVAL | 运营完全对话驱动,无菜单 UI |
设计决策 | 本体论含义 |
|---|---|
CHAT 作为降级默认值 | 描述性本体是另外两种本体的前提——先"理解"再"行动" |
HUMAN/CONFIRM 在意图分发中 | 本体论承诺的显式化——用户确认系统对意图的分类 |
四分离(视图/工具/分页/数据) | 对 UI 组件的本体论分解——四个正交的分类轴 |
场景流程 vs 子流程 | 本体的分层——独立本体 vs 共享本体 |
六层上下文 | 认知框架的本体论分层——长期记忆 vs 工作记忆 |
Guard 防护 | 本体的安全边界——防止本体实例化失控 |
默认降级路由 | 本体的完备性公理——每个节点必须有出口 |
主题 | 文件 | 绝对路径 |
|---|---|---|
三模式枚举 | WorkMode.java | e:\gitee-ood\studio\scene-engine\src\main\java\net\ooder\scene\nlp\WorkMode.java |
流程定义ID | FlowDefId.java | e:\gitee-ood\studio\scene-engine\src\main\java\net\ooder\scene\flow\constant\FlowDefId.java |
流程注册表 | flow-registry.json | e:\gitee-ood\studio\data\skillflow-vfs\process-def\flow-registry.json |
设计师管线 | architect-pipeline/definition.json | e:\gitee-ood\studio\data\skillflow-vfs\process-def\architect-pipeline\definition.json |
业务管线 | business-pipeline/definition.json | e:\gitee-ood\studio\data\skillflow-vfs\process-def\business-pipeline\definition.json |
对话管线 | chat-pipeline/definition.json | e:\gitee-ood\studio\data\skillflow-vfs\process-def\chat-pipeline\definition.json |
意图分发 | intent-dispatch/definition.json | e:\gitee-ood\studio\data\skillflow-vfs\process-def\intent-dispatch\definition.json |
流程规范化 | ProcessDefNormalizer.java | e:\gitee-ood\studio\ooder-pro\src\main\java\net\ooder\studio\chat\flow\ProcessDefNormalizer.java |
FC-Loop 执行器 | FunctionCallingLoopExecutor.java | e:\gitee-ood\studio\ooder-pro\src\main\java\net\ooder\studio\chat\engine\FunctionCallingLoopExecutor.java |
四分离步骤 | FourSeparationEnhancedStep.java | e:\gitee-ood\studio\scene-engine\src\main\java\net\ooder\scene\nlp\step\FourSeparationEnhancedStep.java |
组件构建工具 | NlpBuildComponentTool.java | e:\gitee-ood\studio\ooder-pro\src\main\java\net\ooder\studio\chat\page\tool\NlpBuildComponentTool.java |
OODER Studio — 知识 / 设计 / 运营三位一体的 AI 原生技术体系
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。