D1-AIAgent全链路流程

背景

最近芯片最近芯片真的太火了,周末跟同学聊天,他正在从事芯片的产业,上海一家上市公司,沟通完薪资之后以及整个前景之后,让我有心中羡慕起了嫉妒恨。

他也是出于为我好的劝告,建议我可以尽可能地往芯片方面去转。我也是之前也是Java,后面公司的业务转向AI Agent,我也开始学了Python以及Agent相关的一些开发,目前是在做这块业务。

我梳理完全链路介绍如下,可以说是非常复杂了。

AIAgent全链路流程

▼
markdown
复制代码
┌─────────────────────────────────────────────────────────────────────┐ │ 【用户层】 Prompt / API 调用 │ └───────────────────────────────┬─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ 【Agent 应用层】 │ │ 工具调用、RAG、Prompt 拼装、多轮编排 │ │ 输出:标准化推理 HTTP 请求(OpenAI-compatible API) │ └───────────────────────────────┬─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ 【大模型网关层】 │ │ 鉴权、限流、日志、路由转发;只做请求级转发,不触碰模型执行 │ └───────────────────────────────┬─────────────────────────────────────┘ ↓ ┌─────────────────────────────────────────────────────────────────────┐ │ 【vLLM 推理引擎核心】(硬件无关) │ │ Scheduler / Continuous Batching / Prefill-Decode 调度 │ │ KV Cache Pool / PagedAttention / Prefix Caching │ │ 产出:待执行的模型前向请求(InputBatch + BlockTable + 采样参数) │ └───────────────────────────────┬─────────────────────────────────────┘ ↓ Executor → Worker → ModelRunner(硬件插件官方扩展点) ┌─────────────────────────────────────────────────────────────────────┐ │ 【硬件适配层】 ← 原图缺失;NPU 与 GPU 形态不同 │ │ │ │ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ │ │ 昇腾路径:vllm-ascend │ │ GPU 路径:vLLM 内建 │ │ │ │(独立外部插件,需单独安装) │ │ CudaPlatform │ │ │ │ │ │(vllm/platforms/cuda.py) │ │ │ │ NPUPlatform │ │ │ │ │ │ NPUWorker │ │ GPUWorker(v1/worker/) │ │ │ │ NPUModelRunner │ │ GPUModelRunner │ │ │ │ 👉【Transformer在这里执行】 │ │ 👉【Transformer在这里执行】 │ │ │ │ ACLGraphWrapper │ │ CUDA Graph │ │ │ │ 【仅Decode阶段启用静态图】 │ │ 【仅Decode阶段启用静态图】 │ │ │ └─────────────┬───────────────┘ └─────────────┬───────────────┘ │ └────────────────┼──────────────────────────────────┼─────────────────┘ ↓ torch_npu / ACL 接口 ↓ CUDA Runtime / cuDNN ┌─────────────────────────────────────────────────────────────────────┐ │ 【底层运行时软件栈】 │ │ │ │ ┌─────────────────────────────┐ ┌─────────────────────────────┐ │ │ │ CANN 软件栈 │ │ CUDA 软件栈 │ │ │ │ GE / ATC(图编译与优化) │ │ CUDA Runtime │ │ │ │ ↓ │ │ cuDNN / cuBLAS │ │ │ │ AOL/OPP 算子库(AscendC) │ │ NCCL │ │ │ │ ↓ │ │ │ │ │ │ ACL Runtime(任务下发/显存) │ │ │ │ │ └─────────────┬───────────────┘ └─────────────┬───────────────┘ │ └────────────────┼──────────────────────────────────┼─────────────────┘ ↓ Driver / 固件 ↓ NVIDIA Driver ┌─────────────────────────────────────────────────────────────────────┐ │ 【硬件】 昇腾 AI Core(AIC/AIV) │ NVIDIA SM │ └───────────────────────────────┬─────────────────────────────────────┘ ↓ 结果原路回流 ┌─────────────────────────────────────────────────────────────────────┐ │ 回流:硬件 → Driver → Runtime → 适配层 → vLLM 采样新 Token │ │ → 循环 Decode 直到结束 → 网关 → Agent → 用户 │ └─────────────────────────────────────────────────────────────────────┘

在经过两天的调研以及采访相关从业人员之后,我大概率是会放弃,因为这条业务线的沉没成本太高了。

有几个特别难的门槛:

  1. 公司内部转岗只能转到CANN算子这个岗位去,不可能直接让你去做硬件的,因为跟以往工作经历可以说是毫无关联。然而这个岗位在问过人之后,也很容易被大模型替代。大模型现在写算子的水平,可以参考看一下Deepseek研究员那篇文章。大模型写得会比很多资深研究员还好;
  2. 学习曲线太陡峭了。问了好几个人,光上手,要成为一个成熟的开发,就需要1~2年;
  3. 公司内部转岗会非常困难,因为我们部门也非常缺人,让我们领导同意放人几乎不可能;
0个评论
点击登录,快来和大家讨论吧~
表情
图片
暂无评论
王保保
下载 APP