☰
本体模型+大模型:AI原生应用落地的三层架构与工程实践
2026/10/28 8:42:10 网站建设 项目流程

1. 从“堆模型”到“搭骨架”:这个架构构想到底在解什么题

过去一年我一直在做AI应用落地,最深的感受是:大模型真正难用的点不是“模型不够强”,而是“业务不买账”。你拿GPT-4级别的大模型去对接一个质检流程、一个设备运维流程,它能答得头头是道,但它输出的字段对不上你的数据库,它给出的结论没法通过业务校验,它自己改了主意两次答案还不一样。这时候老板问一句“这个东西我敢不敢拿去用?”我经常被问住。

所以才有了“本体模型+AI大模型驱动的AI原生应用架构”这个构想。简单说:本体模型负责“确定性”,大模型负责“灵活性”,AI原生应用负责把两者粘合成一个可落地、可验证、可迭代的系统。本体模型不只是知识图谱,它是一套业务语义骨架,定义清楚“设备”“缺陷”“检测项”“结果”这些实体以及它们之间的关系、约束、规则。大模型在这个骨架里做语义理解、信息抽取、推理补全和自然交互,但不能随意突破骨架的边界。AI原生应用则围绕这两者重新设计前端交互、任务编排、工具调用和反馈闭环,而不是把大模型当成一个独立问答机器人挂到网站角落。

这篇文章写给两类人。一类是正在做大模型应用但没有被业务认可的技术负责人,另一类是已经接触过RAG、Agent、微调这些概念但觉得“每个技术点都懂,拼起来就不会”的工程师。我会把这个架构从设计思路一直拆到代码骨架、部署取舍和踩坑现场,所有内容都基于我实际做过的工业AI检测、服装质量检测这类项目经验,能直接拿去做参考,不是纯概念堆砌。

需要明确的是:这不是银弹,也替代不了传统软件架构。它是给“想让大模型真正进入生产流程”的人一套分层思路——哪些交给本体,哪些交给大模型,哪些靠自己写代码钉死。

2. 架构全景:三层一闭环,本体管边界,模型管理解

2.1 分层设计:本体层、模型层、应用层各干各的活

我落地这个架构时习惯分成三层加一个闭环,不要上来就想搞大平台,先把边界划清楚。

本体与数据层是地基,包含本体Schema、业务实体、数据接入和规则引擎。这一层解决“业务里到底有哪些概念、它们怎么关联、有哪些硬性约束”的问题。比如在服装检测场景里,Need知道“成衣”“面料”“色差”“缝制缺陷”“检验标准”“处理动作”这些实体,知道“色差属于外观缺陷”“外观缺陷会导致检验不通过”“检验不通过需要走返修还是报废”这些关系和规则。这些内容全部是相对稳定的,用JSON Schema、OWL或者关系表都能表达,不一定要上重型知识图谱平台。

大模型与推理层是能力中枢,包含模型路由、提示词编排、工具调用、多模态理解、结果校验。这一层解决“把自然语言、图像、异构数据变成结构化信息”的问题。比如质检员说“这批袖口褶皱比较多”,大模型要能从这句话里抽出“缺陷类型=褶皱”“部位=袖口”“等级=较严重”等结构化字段,再映射回本体定义好的枚举和约束。

AI原生应用层是交互和业务入口,包含智能体工作流、任务编排、页面交互、权限体系。这层不是传统CRUD系统,而是围绕“人机协同比对”来设计的。比如同一个页面里,系统自动过一遍质检图像返回候选缺陷列表,人在页面上确认、修改、补充,每次修改都回流到数据层更新规则。

闭环则是指“线上日志采集—评测集沉淀—模型/本体迭代”的反馈路径。没有这个闭环,前两层早晚僵化。

我见过很多团队把RAG挂上去、Agent跑通了就宣布“AI原生”,结果过两个月就发现:问答生成没问题,但数据对不上、流程不敢信。原因就是少了本体这一层——大模型需要业务骨架,就像人需要骨骼才能站住。

2.2 为什么是“本体+大模型”而不是“大模型单干”

一个很自然的疑问:现在大模型知识面这么广,RAG又能外挂企业文档,为什么还要另建一套本体模型?

我的答案是三个字:不可信。大模型在生成式任务上非常强,但在约束满足任务上有先天短板——它不擅长精确枚举、不擅长字段级校验、不擅长保证两次输出结构一致。

本体模型解决的就是这个“不可信”缺口。它做的事情很老旧但很可靠:定义概念、关系、约束、规则。当大模型抽取出“袖口褶皱”时,本体会告诉它:褶皱这个缺陷类型的严重程度只有“轻微、中等、严重”三档,输出不能出现“有点严重”这种模糊值;褶皱实体必须关联到某个检验批次,没有批次信息的缺陷记录无效。系统可以通过校验规则把模型的自由输出锁进业务的已知边界。

另一个原因是可解释性和可审计性。工业AI检测领域最怕的不是AI不够聪明,而是AI给出结论但没有依据。本体模型天然提供了推理路径:这个缺陷是哪个检测项命中的、命中规则是什么、置信度是多少、是否满足出厂标准。每一步都可以回溯,这在传统大模型黑盒输出里做不到。

所以我的判断是:大模型负责“宽口径的语义理解”,本体负责“窄口径的业务约束”,二者互补。目标是达到“自由但有边界”的状态——表达上自由,逻辑上受控。

2.3 最小可用架构长什么样

很多团队一听到“本体+知识图谱+Agent”就以为要先搭个超大规模中台。实际上一个最小可用版本,三个服务加一个数据库就够:

  • 本体服务(Schema + 校验规则 + 查询接口),可以就是一个Python服务读JSON文件
  • 模型网关(统一封装LLM调用、多模型路由、流式输出),兼容OpenAI接口即可
  • Agent执行引擎(任务解析、工具调用、状态管理),用自己代码或LangGraph都可以
  • 业务库(存放抽取出的结构化结果和审计日志),Postgres就够

我先把这个骨架搭出来给业务方演示,看到效果之后再逐步加知识图谱、分布式任务调度和评测平台。记住一个原则:先让业务能跑通,再让系统变聪明。

3. 核心模块实操拆解:本体先行、模型接入、Agent编排一个都不能少

3.1 本体模型怎么建:从业务对象到Schema落地

做本体建模最容易犯的错是追求“绝对完备”——想把企业所有业务概念都建模出来,结果项目推不动。我的做法是从一个具体业务痛点开始,比如服装外观质检,列出最小实体集合。

第一步,画实体关系草图。不需要工具,白板上画出:检验批次、成衣单品、缺陷类型、缺陷部位、严重程度、检验结果、处理动作,以及它们的关系。这就是一个本体雏形。

第二步,转成机器可读的Schema。我不会第一优先上OWL,太重量级;先用JSON Schema或者一份规范化的YAML,配合枚举、必填、条件约束,足够支撑大部分业务校验。举个例子:

{ "Defect": { "required": ["defectCode", "defectType", "part", "severity"], "properties": { "defectCode": { "type": "string", "pattern": "^DF-\\d{4}$" }, "defectType": { "type": "string", "enum": ["stain", "wrinkle", "hole", "colourDiff", "seamDefect", "other"] }, "part": { "type": "string", "enum": ["collar", "sleeve", "body", "hem", "button", "other"] }, "severity": { "type": "string", "enum": ["minor", "medium", "severe"] }, "batchId": { "type": "string", "description": "关联的检验批次,不能为空" } } }, "InspectionBatch": { "required": ["batchId", "modelCode", "inspectionDate", "inspector"], "properties": { "batchId": {"type": "string"}, "status": { "type": "string", "enum": ["pending", "passed", "rejected", "repaired"] } } }, "rule:DefectReject": { "description": "严重缺陷或特定部位缺陷直接判退", "condition": "defect.severity == 'severe' OR (defect.part == 'button' AND defect.defectType == 'missing')", "action": "set InspectionBatch.status = 'rejected'" } }

这份JSON Schema就是本体的最小表达。大模型抽取出的任何数据都要经过它的校验,不通过就打回重抽或者标记人工复核。注意“rule:DefectReject”这种规则块,它是“流程刚性约束”的落点,初期可以手写,后续用规则引擎管理。

第三步,把Schema暴露给大模型提示词。让大模型在抽取前先读到这套Schema的描述和示例,然后再执行抽取。这一步效果非常明显,能把输出格式正确率从60%提到90%以上。

3.2 大模型接入层:模型网关的选型和多模型路由

模型层的作用是“不让上层应用直接绑死某一家模型”。我做的模型网关至少要支持:统一补全接口、多模型路由、上下文管理、结构化输出解析。

关于模型选型,我列一个当前我实测下来比较靠谱的组合基准:

模型类型典型代表(以能力描述为主)适用场景部署方式
通用旗舰对话模型能力最强的商用对话模型复杂推理、长文本理解、小样本学习云端API
中等性价比模型速度与质量均衡的中型模型批量抽取、日常问答、工具调用云端API / 本地
本地量化模型7B/14B开源模型量化版数据敏感场景、离线场景、成本敏感场景本地单机
专用视觉模型视觉基础模型或目标检测模型工业检测、图像理解、OCR边缘/服务器

我现在的做法是“路由式使用”:简单任务走快模型,复杂任务走强模型,涉及敏感数据强制走本地模型。路由不复杂,先按任务类型硬编码,后面可以引入一个轻量分类器做动态路由。

这里提醒一个坑:不要在一开始就追“多模态大模型万事通”。工业视觉检测目前最可靠的路径仍然是“专用视觉小模型出候选框 + 大模型做语义筛选和报告生成”,全交给一个大模型做目标检测,精度和延迟都很难达到产线要求。这也就是为什么热词里会有“工业AI检测用的是云联网还是单机的AI”这种问题——答案要看场景:数据不出厂的场景,视觉小模型+本地7B量化模型就够了;需要跨工厂对比分析的报告类任务,才值得把汇总数据上云。

3.3 AI原生应用层:从对话机器人到任务工作流

普通RAG系统是“提问—检索—回答”三连,AI原生应用则应该是“任务识别—多步分解—工具调用—校验回填—人机确认”的闭环。要做到这一点,就得有Agent的概念,但不是那种“给Agent一个目标它就自己乱跑”,而是“可控可中断可回退”。

我常用两个方案:LangGraph或者自己写状态机。我的建议是,如果团队对图编排不熟,先用最朴素的“步骤式状态机”思想写核心逻辑,后面再迁到LangGraph。

以一个设备故障报告生成为例,工作流可以这样定义:

  1. 用户输入:自然语言故障描述,例如“三号产线折弯机液压压力不稳,偶尔报警”
  2. Agent调用信息抽取工具,用本体Schema约束抽取出结构化故障信息(设备编号、故障现象、报警代码)
  3. Agent调用设备台账工具,查询三号产线折弯机的历史维保记录
  4. Agent调用知识库工具(RAG),匹配相似故障的处置方案
  5. 结果校验器检查:抽取的设备编号是否存在于台账中?报警代码是否为已知枚举?方案建议是否在允许的操作动作范围内?
  6. 生成一份格式化故障工单,推送给班长确认

这个流程里,Agent不是独立做决策,而是每一步都在本体规则的约束下调用工具。校验器是独立一环,不归大模型管,再强的模型输出也必须过校验器。

处理结果也不是一次性完事:班长在页面修改的地方会回流到样本库,成为后续模型微调或Prompt优化的原料。这个回填动作在传统“API包装型应用”里几乎没人做,但它是AI原生应用能不能持续变好的分水岭。

4. 阶段化落地路径:先让流程跑通,再谈DNA级改造

4.1 阶段一:本体Schema先行,先接一个最小大模型做抽取

第一步老老实实做一件事:梳理业务实体和规则,输出Schema文档。不用建平台,就是一份JSON/YAML + 一份说明文档。然后接一个最小的大模型,做“自然语言/图像描述 → 结构化数据”的单点任务。

举个例子,在服装检测场景,我把产线上的检测记录表(Excel导出的杂乱文本)喂给大模型,让它抽取成规范化记录,再跑Schema校验。效果可以立竿见影:以前人工录入一份报表要20分钟,现在大模型抽取+人工复核只需要3分钟,而且因为有了Schema校验,字段规范性大幅提升。

这个阶段的建设要点:

  • 抽取出错时,不要直接改提示词就完事,要沉淀一条校验失败的case,形成“错误样本库”
  • Schema版本要管理,用Git管理,每次变更都要记录变更原因
  • 交替优化:先用规则校验发现是Schema定义不清晰还是模型理解不到位,再针对性调整

4.2 阶段二:加入工具调用和Agent,做多步任务

单点抽取跑通后,再上Agent工作流。这一步的关键不是“让Agent更聪明”,而是“让工具更完备”。你要给Agent准备的工具包括:信息抽取、数据库查询、文档检索、工单生成、规则校验、人机确认接口。

我先做了一个“工具清单”给Agent,不追求它自己理解业务全貌,而是每个工具对应一个清晰的操作:

  • extract_defect_info(text):抽取缺陷信息,受本体Schema约束
  • query_batch(batchId):查询检验批次信息
  • query_repair_plan(defectType, part):查询可用的处置方案
  • create_work_order(workOrderData):生成工单,经过Schema校验
  • confirm_with_human(workOrderData):暂停流程,等待人工确认

工具列表绝不能让Agent随意调用有副作用的功能,比如删除数据、修改批次状态,这类操作必须经过确认接口。这个也是安全底线。

4.3 阶段三:反馈闭环与知识更新

项目上线后半年,真正的挑战来了:业务变了,缺陷类型多了,老的Schema不适用了。这时候“知识更新机制”就变得要命。

我的做法是两周一次“Schema评审会”:从线上日志筛出校验失败率最高的几类数据,逐个判断是模型问题还是本体定义问题。如果是本体定义问题,就提交Schema变更;如果是模型问题,就把失败case加入Few-Shot示例或微调数据集。

还有一个容易被忽略的动作:定期用评测集跑回归。我维护一个约300条的评测集,覆盖典型抽取、边缘case、反例,每次升级模型或修改Schema都必须跑一遍,防止“修好一个case,弄坏一片case”。

5. 部署与资源选型:32G内存能跑什么、工业场景怎么取舍

5.1 什么时候必须本地部署

很多团队纠结“上云还是本地”。抛开成本和便利性,最核心的判断标准是数据合规和延迟。工业质检数据、设备运行数据通常属于企业敏感资产,不太可能随意传到第三方API。这种情况下,本地部署是唯一选择。

本地部署不等于非得架设复杂的GPU集群。以我的实测经验,一台32G内存的普通工作站,配合适量显存的GPU,已经能跑很多开源模型的量化版本。

5.2 32G内存与本地模型能力实测对照

这里整理一份我实际跑过的资源对照表,供做选型时参考:

模型规模量化方式显存需求内存需求适用场景体验评价
7B模型Q4_K_M (GGUF)6-8 GB约8-12 GB信息抽取、文本分类、结构化输出流畅,满足多数业务
7B模型FP1614-16 GB约16-20 GB要求更高的抽取质量较流畅,质量更好
14B模型Q4_K_M10-12 GB约16-24 GB复杂推理、长文本处理可用,生成速度中等
32B模型Q4_K_M20-24 GB约32-48 GB涉及复杂逻辑的重型任务勉强可跑,速度比较慢
72B模型Q4_K_M40-48 GB需64GB+一般不建议本地不是单机工作站玩的

所以那个“32G内存能装AI大模型吗”的问题可以正面回答:能,但建议搭配一块显存在12GB以上的GPU,跑7B-14B量级的量化模型,做抽取和工具调用类任务完全够用。如果完全没有GPU,纯CPU跑7B模型也能出结果,但速度会到分钟级,交互式场景体验很差。

5.3 工业检测和服装检测场景的架构取舍

工业AI检测这类场景,我的架构取舍建议是:产线边缘用小模型做实时检测,云端/中控用大模型做语义分析,本体模型做业务规则兜底。

具体来说,产线上用一个专门的目标检测模型(例如YOLO系)实时识别缺陷框,这是毫秒级任务,不适合用大模型。检测框和初步类别传到中控后,由一个大模型做第二步筛选和报告生成:它结合上下文描述缺陷的性质、可能的成因、需要的处理动作。“本体+规则”在这里的作用是:规定哪些缺陷组合必然判退、哪些需要人工复核、哪些允许放行,这些规则用代码和Schema表达,不依赖模型临场发挥。

这个三段式设计我已经在服装质检场景验证过,线上的准确率和召回靠小模型保住,业务规则的稳定执行靠本体制住,报告生成和跨部门沟通靠大模型撑起,整体效果比单一方案好一个数量级。

6. 常见问题与排查经验速查表

6.1 大模型输出撞上本体约束怎么办

最典型的问题是:模型输出了一个Schema里不存在的枚举值,或者漏填了必填字段。我的排查顺序是:

  1. 先看提示词里是否真的把Schema约束描述清楚了。很多人只是把JSON Schema原样塞给模型,没有配示例,效果很差。我会在提示词里加入2-3个“正确抽取输出”的示例,格式错误率能明显下降
  2. 再看校验失败的数据是不是集中在某类实体上。如果是“颜色”抽取总失败,就该检查是不是本体里颜色枚举定义得不够全
  3. 最后考虑用“重试+纠正”机制:校验失败时,把错误信息反馈给模型,让它自己根据报错修正输出,一般迭代一次就能纠正

6.2 上下文膨胀严重,怎么控制成本

Agent多步调用很容易把上下文塞满,尤其是塞进一整个设备台账文档,几轮对话后Token就爆了。我的办法是:

  • 给每个工具定义“返回字段白名单”,比如查询设备,只返回设备编号、名称、状态,不带十几页的维保日志
  • 使用“摘要记忆”:历史工具结果不全文保留,由模型生成一段压缩摘要存入上下文
  • 长文档走RAG分块检索,只取相关片段,而不是全量入库

6.3 Schema变更后旧数据怎么办

线上系统最怕改模型。我的方案是给每条数据打上Schema版本号,新老数据并存。校验器同时加载多个版本的校验规则,老数据用老版本校验,新数据用新版本,避免因为版本不兼容导致大量历史数据不可用。迁移时再写脚本把旧数据批量归一化到新Schema。

6.4 多模态和视觉AI怎么接进这个架构

很多人在热词里搜“GenAI与视觉AI”,其实就是想问视觉检测模型和大语言模型怎么协作。我的实践经验是:视觉AI负责“看”,GenAI负责“说”,本体负责“定规矩”。

具体流程是:检测模型输出检测框+类别+置信度,这些结构化信息转成JSON喂给大模型,大模型理解整个场景后生成自然语言报告或建议。本体作为中间层定义视觉AI输出的标准化格式,有效避免“检测模型输出一种格式、大模型又理解成另一种格式”的混乱。

架构落地的最后一点体会

我做了几个项目之后最大的心得是:AI原生应用这个词听起来很新,但真正能落地的组合往往是“老中带新”——本体模型是这个行业里积累了几十年的知识表达方法论,大模型是最新的交互和理解技术,AI原生应用是它们之间那个“让业务愿意用起来”的粘合层。别被“原生”两个字吓到,也别被“大模型万能”带偏。先找一条真实业务链路,用小模型打底、用本体立规矩、用大模型做理解,跑通一个小闭环,再慢慢扩展。这条路不会错。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询