AI Agent 工程课程

从物理资源到 AI 应用的五层位置图

一句话收获:先知道问题位于哪一层,再讨论模型、部署或应用方案。

这个场景在解决什么问题

这个场景要建立的是一张"纵向地图":从最底下的硬件,一路往上到最顶上的业务应用,中间每一层是干什么的、给上一层提供什么能力。

观察方式是"逐层点亮技术栈"——一层一层看它解决了什么问题、又向上交付了什么。它的价值在于:以后遇到问题,先别急着换模型、换机器,而是先定位"这到底是谁的锅、在哪一层"。位置找对了,方案才可能对。

先理清这条判断链(文字版)

判断一件事应该在哪一层解决,按下面这条链从上往下问、或从下往上排除:

  1. 先看最底层:这是 CPU、GPU、NPU 哪一类的计算负载?(第 1 步:计算资源)
  2. 再看硬件之上:驱动和计算生态(CUDA、CANN、ROCm、Metal)配得上吗?(第 2 步:驱动与计算生态)
  3. 再看再上一层:模型框架和推理服务能不能把模型加载起来、把能力变成接口?(第 3 步:模型框架与推理服务)
  4. 最后看最顶层:应用有没有把业务事实、权限、状态和验收组织起来?(第 4 步:应用与验收)

一句话串起来:先认硬件类型 → 再查驱动生态 → 再验模型服务和接口 → 最后独立验收业务。每一层只负责自己的事,问题只能在自己这一层解决,跳层归因就会乱。

逐层详解

第 1 步:计算资源

原文:CPU承担通用控制,GPU提供通用并行计算,NPU在支持的模型和工具链内提供专用加速。

白话:CPU 是"全能总指挥",什么都能干、逻辑控制最强;GPU 是"一群工人同时做加法",一次算一大堆简单题,靠人多取胜;NPU 是"专用小芯片",只做特定几类 AI 计算,但做得特别省电、特别快。三者是分工关系,不是"谁比谁高级"。

类比:像搬家团队——CPU 是包工头,负责调度、指挥、处理各种杂事;GPU 是一百个搬运工,人手多、适合搬大量箱子;NPU 是专门的叉车,只能搬托盘,但搬托盘又快又省力。谁厉害?得看这趟活是什么形态。

举例:你要跑一个千亿参数大模型的推理,里面大量矩阵乘法高度并行,这时 GPU 的并行算力是刚需;如果你只是做个规则判断、调几个接口、串一串流程,CPU 就够了;而手机端做人脸识别、语音唤醒,为了省电会用 NPU。

为什么重要:三类硬件是分工关系,不是简单的高低等级——别一上来就问"哪个最强",要先问"我的负载长什么样"。

怎么验证(证据点)

  • CPU:通用控制
  • GPU:并行计算
  • NPU:专用加速

别踩的坑(边界):硬件名称不能直接证明某个模型一定可运行——同样是"GPU 卡",驱动、显存、生态都可能不一样,光看型号名没用。

落地检查:判断硬件时先看负载类型和兼容链,而不是只看型号——先问"任务是什么计算形态",再问"驱动/框架支不支持这块设备"。

第 2 步:驱动与计算生态

原文:CUDA、CANN、ROCm、Metal 位于硬件与模型框架之间。

白话:光有硬件不行,还得有"翻译官"才能让上层软件用得上它。CUDA 是 NVIDIA 的生态,CANN 是华为昇腾的,ROCm 是 AMD 的,Metal 是苹果的。它们都坐在"硬件"和"模型框架"中间,负责让框架能真正把活儿派给设备。

类比:硬件是一台没装驱动的打印机,框架是你要打印的 Word 文档,中间这套生态就是"打印驱动 + 连接线"。设备在、文档在,但驱动没装对,就是打不出来。

举例:你买了块 NVIDIA 卡,模型框架(比如 PyTorch)要靠 CUDA 生态才能把计算下发到 GPU;换成昇腾芯片,就得走 CANN 生态。同一个模型,在 A 生态能跑,在 B 生态不一定能跑,缺的往往不是模型,而是中间的这层"桥"。

为什么重要:上层软件必须通过匹配的驱动和计算生态使用底层设备——没有匹配的桥,设备和软件之间是断的。

怎么验证(证据点)

  • 设备可见
  • 驱动匹配
  • 运行库可加载

别踩的坑(边界):设备存在不等于计算生态已经可用——卡插上了、能识别到,不代表驱动和运行库已经配对成功、真能跑计算。

落地检查:故障定位要区分硬件不可见和运行库不兼容——先看设备能不能被系统看到,再看驱动和运行库版本是否匹配,两个是不同的问题。

第 3 步:模型框架与推理服务

原文:模型框架负责加载和计算,推理服务把能力变成可调用接口。

白话:模型框架(比如 PyTorch、vLLM 这类)负责"把模型文件吃进去、算出来";推理服务负责"把它包成一个别人能调的接口"。前者管算,后者管"怎么被调用"。

类比:模型框架像是厨房里的厨师,负责把食材(模型权重)做成菜(计算结果);推理服务像是餐厅的前台和出餐口,把做好的能力变成一个"下单就能拿到的服务"。

举例:你有一个开源模型文件,先在框架里把它加载、跑通一次推理;但这只是"厨师会做菜",业务系统要 7×24 小时调用,就需要推理服务把它变成一个 HTTP 接口,接受请求、返回结果。

为什么重要:模型文件只有进入兼容框架和服务,应用才能稳定调用——模型只是资产,服务才是能力。

怎么验证(证据点)

  • 模型可加载
  • 服务可启动
  • 请求可返回

别踩的坑(边界):服务返回不等于业务任务完成——接口能返回"一个回答",不代表这个回答在业务上是正确的、可用的。

落地检查:模型、框架和推理服务是三个不同对象——排查时别把"模型能加载""框架能算""服务能起"混成一件事,要分开确认。

第 4 步:应用与验收

原文:应用组织业务事实、权限、状态和验收,并调用下层模型服务。

白话:最顶层的应用,负责把"业务上到底要什么"组织清楚——谁有权看、现在是什么状态、怎么算完成,然后去调用下面的模型服务。它不亲自算模型,但它决定"这件事算不算做成"。

类比:下面四层是工厂和生产线,应用层是"下单系统 + 质检部门"。工厂能生产,但"这批货是不是客户要的、质量合不合格",得由下单和质检来定。

举例:一个客服自动回复系统,底层模型服务能流畅回答,但如果它没查当前订单状态、没核对用户权限、没留下"这单已解决"的验收记录,那业务上就还没完成。

为什么重要:最终业务成立条件位于应用与外部系统,而不在硬件指标中——GPU 跑得再快,业务错了就是错了。

怎么验证(证据点)

  • 业务对象明确
  • 权威状态可查
  • 验收证据存在

别踩的坑(边界):底层性能良好不能证明业务结果正确——跑得快和跑得对是两码事。

落地检查:技术栈最上层仍需独立业务验收——不能因为下面四层都正常,就默认业务结果对,一定要有独立的业务验收环节。

落地可行性小结

本场景涉及的技术栈:CPU、GPU、NPU;CUDA、CANN、ROCm、Metal;模型框架(如 PyTorch、vLLM);推理服务;应用系统。

真实落地怎么做:先明确负载类型选对硬件 → 再确认驱动和计算生态匹配 → 再把模型加载进框架、封装成推理服务 → 最后在应用层做独立的业务验收。

要检查什么:设备是否可见、驱动/运行库是否匹配、模型能否加载、服务能否启动、请求能否返回、业务验收证据是否齐全。

常见坑:一上来就比硬件型号,不看负载和兼容链;把"设备存在"当成"生态可用";把"接口有返回"当成"业务完成";跳过最上层的业务验收。

回顾

  • 五层是纵向分工:硬件 → 驱动生态 → 模型框架/推理服务 → 应用,每层只解决自己的问题。
  • 先定位问题在哪一层,再谈方案;跳层归因必乱。
  • 硬件是分工不是等级:CPU 通用控制、GPU 并行计算、NPU 专用加速。
  • CUDA/CANN/ROCm/Metal 是硬件与框架之间的"桥",设备存在≠生态可用。
  • 底层性能好 ≠ 业务结果对,最上层必须独立验收。