
搞AI工程最怕的不是没基础而是方向错了还使劲跑。我见过太多人一上来就啃Transformer源码结果连过拟合都没搞明白也见过科班出身的朋友简历上写着精通机器学习实际连数据泄露是什么都没听说过。这个ai-engineering-from-scratch的标题本质上是想回答一个问题一个普通人怎么用最扎实的路径从零开始进入AI工程这个领域并且真正具备动手交付AI系统的能力。这篇内容就是基于我在这个方向上的完整实践把从技术栈搭建、数学补课、项目实战到进入大模型应用开发的全链路掰开揉碎讲清楚。无论你是刚转行的程序员、在校学生还是已经在做业务开发想切入AI的工程师这套路线都能直接抄作业。1. 先搞清AI工程到底是什么再决定怎么上路1.1 从一次失败的面试说起前两年我面试过一个候选人简历写得非常漂亮训练过BERT、用过TensorFlow做过推荐系统还部署过模型服务。结果我问了一个很基础的问题训练集和测试集的分布不一致你会怎么处理他愣了半分钟回答不出来。这个场景特别典型也是我想说的核心问题AI工程不等于会调几个模型也不是跑通一个Notebook就完事。它是一整套系统化交付AI能力的方法论覆盖数据、训练、评估、部署、监控、迭代缺一环都不行。真正让我意识到这件事的是我自己带团队做第一个落地项目的时候。当时我们花了两周训练了一个效果不错的分类模型Accurancy到了93%大家都很兴奋。结果上线第一天就出了问题——线上实际数据的分布和训练数据差别很大模型预测完全乱套。我当时还不懂什么叫数据漂移也不知道要监控线上表现的衰减只能用最笨的办法把线上的样本拿回来人工标注连夜重新训练。那一周我基本没怎么睡觉但收获是巨大的我彻底明白了模型的训练只是AI工程链路上很小的一环真正决定成败的是从数据采集到部署运维的每一个环节。1.2 AI工程、数据科学、MLOps这三者到底是什么关系很多新手对AI工程这个名词是模糊的总觉得它是数据科学或者机器学习的另一个叫法。我直接用大白话拆一下边界这三者看着重叠实质上各有分工搞混了发力方向就偏了。数据科学的核心是分析。它解决的是发生了什么、为什么会发生的问题。数据科学家的工作重心在探索性分析、特征工程、假设检验上产出物通常是分析报告或者是验证结论不一定要交付一个长期运行的服务。AI工程的核心是交付和落地。它解决的是怎么把模型变成稳定可用的系统。AI工程师要做的不只是训练模型还要考虑数据管道怎么建、模型怎么上线、服务怎么保障稳定性、性能衰减了怎么更新、成本怎么控制。这些东西论文里不会教你学校里也不会系统讲。MLOps是AI工程中的一个子集或者说是方法论的沉淀。它把软件工程里的CI/CD理念搬到机器学习场景中强调的是自动化、可重复、可监控。简单说MLOps是AI工程的具体实操规范而AI工程是更大的范畴还包括模型设计、算法选型等偏算法层面的内容。我用一个生活化的类比帮助你理解。如果说AI项目是开一家餐厅数据科学家是研发新菜品的厨师AI工程师是负责整个餐厅运营的店长MLOps就是店长制定的标准化流程手册。厨师可以只关心菜好不好吃但店长必须关心食材供应链、顾客体验、出餐效率、成本控制。AI工程就是店长这个角色视角更全面要求也更高。1.3 为什么从零开始反而是一种优势很多人一提到from scratch就紧张觉得没有基础就是吃亏。我在这个方向上的实际体验恰恰相反从零开始进入AI工程反而更容易建立正确的体系。原因很简单AI工程的知识体系在最近两三年发生了巨大变化。早几年入行的人很多人的知识结构停留在手动特征工程和传统机器学习算法这个阶段用的还是老套的sklearn全家桶思维。而现在的AI工程已经快速转向大语言模型应用、RAG架构、Agent系统、模型评估自动化的方向。老手可能需要花很长时间去更新已有的认知框架甚至要克服我明明很懂机器学习为什么现在这套玩法变了的心理障碍。从零开始的人没有这个包袱。我可以直接从现代AI工程的完整链路入手一开始就习惯数据管道模型训练部署监控的整体视角而不是沉溺在单点技术里。这就像学编程一样直接学Python的人往往比从C语言转过来的人更容易写出简洁清晰的代码因为没有被指针和内存管理的思维定势束缚住。当然从零开始也有代价要在短时间内补上数学、编程、机器学习基础学习曲线确实陡。但只要路线正确这个阶段是可以加速通过的。我下面要讲的就是一套经过多人验证的加速路径。2. 从零起步的技术栈规划先搭地基再盖楼2.1 Python是入场券但绝不是全部所有AI工程的核心语言是Python这一点没什么悬念。但我要泼一盆冷水仅仅会写Python和会用几个库离AI工程还差得很远。我见过太多人Python基础停留在能跑通教程的水准一遇到实际的工程问题就卡住。你要做的是真正掌握这些基本功环境隔离会用venv或conda创建独立环境不要所有项目共用一套全局环境这是你后面被依赖冲突折磨到崩溃的最重要防线。包管理懂pip和requirements.txt能锁定版本知道什么时候该用poetry或uv这类更现代的依赖管理工具。调试能力会用pdb或IDE的断点调试会看traceback不要只会print大法。模型训练出了问题你需要的往往不是更多print而是快速定位到发生NaN或维度不匹配的地方。性能意识理解Python的GIL、列表和生成器的区别、NumPy向量化和for循环的性能差距。这在处理大数据集时直接影响你的开发效率。这只是基础中的基础。更关键的是你要把Python用到顺手的程度——看到一个新的库能快速读它的文档、理解API设计、在真实场景里把它整合进自己的代码。这种能力不是刷几个教程能练出来的唯一的途径是大量写真实项目。2.2 数学只需要学到够用不要陷入数学焦虑说到AI工程必备的数学太多人在这里吓退了。我承认数学是基础但我更想负责任地告诉你AI工程需要的数学比大多数人想象的要少得多深度也浅得多。你要做的不是成为数学家而是能看懂公式、能理解原理、能独立推导常见的机器学习算法。三个方向按优先级排个序线性代数是这个领域最重要的数学基础。你至少要熟练掌握矩阵乘法、转置、逆矩阵、特征值和特征向量理解向量空间和线性变换的含义。Transformer里的self-attention计算的是矩阵乘法卷积操作本质也是矩阵运算模型参数存储和更新更是在操作矩阵。这些概念不啃透后面看模型结构就像看天书。概率统计决定你能不能理解模型的不确定性。为什么交叉熵它可以做分类损失函数为什么过拟合发生的根本原因要从偏差方差分解的角度去理解什么是最大似然估计很多模型的训练目标本质都是最大化似然函数。你在做AB测试、评估模型效果时也要用到假设检验和置信区间。不需要会推导复杂的统计定理但要能理解核心概念并应用到实际问题里。微积分相对要求低一些重点掌握导数和链式法则这是反向传播的理论基础。梯度下降为什么能更新参数学习率太大为什么会震荡、太小为什么收敛慢把这两件事理解透你在调参时就不会全凭感觉。多元微积分里的偏导数和梯度概念也要懂实际训练时你面对的是高维空间里的梯度方向选择。我的建议是不要一上来就啃完整本《线性代数及其应用》或者《统计学习方法》。更高效的做法是以项目为驱动遇到不懂的数学概念专门去补那一小块。比如你在读Embedding的推导时不懂矩阵分解就花一天时间专门搞明白SVD和PCA的关系效果远好于脱离应用场景去死记硬背。2.3 机器学习算法先精后广重理解而非数量进入深度学习之前必须先打好传统机器学习的地基。这不只是历史遗留问题更关键的原因是现代深度学习体系里的很多核心思想都是从经典机器学习里继承和演变来的。我自己带人的时候有一条铁律没有用sklearn完整做过一个端到端项目的不要碰深度学习框架。核心算法按顺序掌握这些就够线性回归和逻辑回归理解损失函数、梯度下降、正则化L1/L2。逻辑回归尤其重要它是理解深度神经网络最后一层分类头的直接基础。决策树与随机森林理解特征重要性、信息增益、过拟合控制。在实际业务中表格数据的基线模型大部分时候用这些就够用了。SVM与K-Means了解核心思想即可不必深挖数学推导。它们面试会考但实际工程中用的频率不高。PCA与特征工程理解降维思想掌握处理类别特征、缺失值、异常值的标准流程。关键是学这些算法的时候不要满足于会用sklearn这个层面。你要能回答这几个问题这个算法的损失函数是什么参数更新怎么完成的它的假设是什么在什么场景下会失效这些问题搞清楚了你才算真正理解了这个算法而不是只会调用函数。2.4 深度学习框架PyTorch为主TensorFlow为辅框架选择上现在基本没什么悬念了。PyTorch已经事实性地成为深度学习研究和工业落地的主流标准HuggingFace生态、大模型微调工具、绝大多数论文的开源代码都基于PyTorch。我的建议是主攻PyTorchTensorFlow只需要了解即可不用深学。用PyTorch你要掌握几个核心能力这决定了你后续能不能做真正的AI工程自动求导和反向传播理解requires_grad、backward()、grad这几个核心概念明白张量运算和计算图的关系。Dataset和DataLoader学会封装数据管道处理batch、shuffle、num_workers并行加载。很多初学者在这里偷懒把整个数据集塞进内存一遇到大数据就崩。模型定义和训练循环熟练写nn.Module的子类理解forward函数的定义方式会手动写训练循环而不是只会调model.fit。这件事特别重要它决定了你能否灵活实现自定义的loss或训练逻辑。模型保存与加载弄明白state_dict、torch.save、torch.load的用法这是模型部署和落地的第一步。这里多说一句建议在掌握基础之后尽快接触PyTorch的官方教程和Lightning这样的高层封装框架。Lightning能帮你把训练逻辑和工程代码解耦减少样板代码让你把精力集中在模型本身。但注意不要过度依赖高层框架底层原理不懂出问题了会非常被动。3. 实操路线用四个阶段的项目打通全链路3.1 第一阶段完成一个端到端的传统机器学习项目理论学了再多不落地都是空中楼阁。第一个项目非常关键它决定你后续学习的信心也帮你在实战中把地基打牢。我的建议是做一个经典的表格数据分类或回归任务比如Kaggle的Titanic或房价预测但不要满足于他人的教程一定要自己完完整整走一遍全流程。这个阶段要刻意练习的核心环节有六个数据清洗处理缺失值、重复值、异常值理解为什么有些缺失值要删除、有些要填充、有些要单独做成一个特征。探索性数据分析EDA画分布图、相关性热力图理解各特征和目标变量的关系从数据中找线索。这一步很多新手直接跳过了直接开始建模这是最大的错误。特征工程做类别编码、数值标准化、特征组合。这个环节最考验经验也是传统机器学习领域最重要的能力之一。基线模型先用最简单的模型比如逻辑回归做一个基线记录下表现。不要一上来就上复杂模型因为你需要知道复杂模型到底值不值得。交叉验证与调参用交叉验证找到最优超参数注意区分验证集和测试集千万不要用测试集调参这是最致命的错误。结果分析与记录分析模型在哪些样本上出错了为什么出错然后想办法迭代。同时养成记录每次实验的习惯用表格或实验管理工具记录下每次用的参数、数据和结果。做完这个项目你手里就有一套完整的方法论了后面切换到深度学习和大模型其实都是在这个流程的不同环节替换工具而已。3.2 第二阶段深度学习实战从CNN到Transformer有了传统机器学习的底子第二阶段就进入深度学习了。我的建议是分两步走先用CNN做图像分类项目热热身然后直接切换到NLP场景学习Transformer因为Transformer已经成为现代AI的事实标准架构不只是NLP视觉和多模态也在用。第一步用PyTorch从零实现并训练一个CNN模型数据集用CIFAR-10或者一个小的图像分类数据集。为什么坚持从零实现而不是直接调PyTorch自带模型因为只有动手写过卷积层、池化层、全连接层的完整网络你才真正理解感受野、通道数、参数数量这些概念。做完这个你要能说清楚卷积核大小和层数怎么影响参数量和感受野为什么深度网络需要残差连接来缓解梯度消失。第二步进入Transformer的世界。这里不建议一上来就啃原生Transformer论文里那些复杂公式更好的切入路径是先跑通HuggingFace的transformers库用预训练模型做文本分类任务感受一下这个体系的便利性。比如用BERT做情感分析你可能要不了十行代码就能跑出一个不错的结果。然后带着为什么它能work这个问题去拆解Transformer的架构。Go deeper的时候重点搞懂这几个机制自注意力机制self-attention是怎么计算Query、Key、Value的为什么可以并行捕捉长程依赖多头注意力为什么要分成多个头位置编码解决的是什么问题预训练和微调的区别是什么。这个阶段不需要你自己从头训练一个大模型那是成本极高的事情但你一定要会用现成的模型做微调跑通完整的流程。3.3 第三阶段进入大模型应用开发掌握RAG和Agent做完前两个阶段你已经具备基础AI工程能力了。但在2025年的视角下还差最关键的一环大模型应用开发。这是目前工业界需求最大、机会最多的方向也是AI工程这个词今天主要指向的内容。不要被大模型这三个字吓到你不需要会训练大模型那通常是少数大公司或研究机构的事情。你真正需要掌握的是怎么把现成的大语言模型开源或闭源API集成到实际的业务系统里让模型在真实场景中稳定地解决具体问题。这个阶段最重要的三个技能是第一是RAG检索增强生成。企业私有知识库问答是目前落地最广泛的大模型应用。它的核心思路是先把企业文档切块、用Embedding模型转成向量存进向量数据库用户提问时先从向量库检索出相关片段再把这些片段作为上下文喂给大模型生成答案。这样做的好处显而易见不重训模型就能让模型知道企业内部知识还能降低幻觉。你要亲自动手搭一套RAG系统技术栈大概是LangChain或LlamaIndex做编排FAISS或Chroma做向量存储Ollama跑本地小模型或调OpenAI API做生成。第二是Agent智能体。Agent和普通对话的区别在于Agent可以调用外部工具、执行多步操作、根据中间结果动态调整计划。现在实际落地最多的场景包括自动写SQL查数据库、自动调用内部API完成操作、自动做市场调研并输出报告。你要学会用ReAct或Function Calling机制搭建简单的Agent理解工具调用、规划、记忆这些核心概念。第三是评估Evaluation。很多小团队死在模型回答时好时坏但说不清哪里坏。你要会构建评估集设计评估指标用LLM-as-a-judge方法对模型输出进行批量化评估。这个能力在真实的AI工程项目中越来越重要也最能体现工程素养。3.4 第四阶段模型部署与MLOps把系统送上生产环境训练好模型只是完成了工程的一半另一半是把模型部署到生产环境让它稳定服务。这也是AI工程和算法研究最本质的区别——算法研究员论文发表完就结束了AI工程师的工作才刚刚开始。这个阶段要掌握的关键技术栈包括模型导出与优化用ONNX或TensorRT导出优化后的模型减少推理延迟。尤其在生产环境对响应时间有苛刻要求时这个环节不可跳过。服务化封装用FastAPI把模型封装成REST API挂载到Docker容器里。你要处理好输入输出Schema、Batch推理、异步处理这些工程细节。推理落地与监控在线部署时要关注的服务指标包括延迟、吞吐量、错误率离线跑批时要关注模型输出的稳定性。这些指标不该等用户抱怨了才去看而要预设监控告警。CI/CD与自动重训把代码测试、模型训练、评估、部署做成自动化流水线当数据分布漂移或效果衰减时可以快速触发重训和发布新版本。如果之前全是开发经验没有一点运维基础这个阶段会有些吃力。但往好处想这恰恰是AI工程的核心竞争力所在——同时具备算法能力和工程能力的人在就业市场上极其稀缺。4. 大模型时代AI工程的能力模型已经变了4.1 核心变化从训练模型到编排模型如果你留意近几年AI工程岗位的技能要求变化会发现一个重要的趋势大量岗位的重心正在从训练模型转向编排模型。以前训练模型是重头戏工程师要花大量精力在数据标注、特征工程、调参、模型结构设计上。现在基础大模型已经足够强大多数业务场景不再需要你从零训练模型而是如何站在巨人的肩膀上用最省成本的方式让大模型解决自己的业务问题。这好比以前为了照明要自己发电现在只需要学会接上电网、选对合适的电器。这种转变对能力要求的影响非常大。以前重要的CV、NLP模型结构设计能力重要性相对下降现在更稀缺的能力变成了怎么设计好的提示词、怎么构建高质量的RAG管道、怎么设计可靠的Agent工作流、怎么做系统化的模型评估。4.2 RAG、Agent、评估新三件套的底层逻辑我在前面也提到了这三个概念这里展开讲讲它们之间的关系帮助你在体系上建立认知。RAG解决的是模型知识不足的问题。大模型的知识是训练数据里来的有截止日期也没有企业内部数据。RAG通过外部知识库给模型补上这一块相当于给一个博学的专家配了一个随时可查的档案柜。RAG发展到今天已经从最朴素的检索-拼接-生成演进到包含查询改写、重排序、多路召回、混合检索等复杂架构细节决定效果值得深入钻研。Agent解决的是模型只能动嘴不能动手的问题。LLM本身是一个文本生成器但加上Function Calling机制它就能调用工具、读写数据库、操作软件。斯坦福大学教授吴恩达在演讲里把Agent的四种设计模式总结为反思Reflection、工具使用Tool Use、规划Planning、多智能体协作Multi-Agent Collaboration。无论是哪种模式本质都是让模型在更大范围内完成一个完整的任务闭环。评估解决的是模型输出质量怎么量化的问题。大模型的应用中回答不再是非对即错质量评估变得非常困难。现在工业界主流做法是用一个更强的LLM来打分即LLM-as-a-judge配合人工标注少量数据集做校验。缺少这个环节AI应用就是盲人摸象上线全靠赌。这三者的关系可以说是一个完整AI应用的闭环RAG负责喂给模型相关知识Agent负责让模型行动评估负责确保模型做对。三者结合基本就是大模型应用工程的核心骨架了。4.3 别迷信提示词工程真正的门槛在上下文工程网络上到处是教你一句提示词让ChatGPT效率翻倍的内容但以我实际做项目的经验来看这严重误导了新手。提示词确实重要是入门必须掌握的基本功但它远不是解决问题的最关键部分。真正的工程难点是上下文工程Context Engineering。上下文工程指的是你如何设计和管理每次模型调用时的输入上下文让模型在有限的上下文窗口内获得最有效的信息。具体包括怎么把长文档切分成恰当的块怎么决定哪些内容进入上下文、哪些内容不进入怎么压缩和重排上下文信息怎么处理多轮对话的历史记录。听起来简单做起来全是细节。比如你用RAG的时候检索出来的片段是不是直接全部塞进上下文不是。要过滤、要重排、要控制长度不然既浪费token又会干扰模型判断。又比如做Agent的时候历史对话和工具返回的结果怎么管理直接决定Agent会不会忘记之前的推理步骤。这些能力只有通过大量真实项目的试错才能积累起来是AI工程的核心竞争力。5. 常见问题与避坑指南5.1 数学基础不好到底能不能学AI工程我的回答是能但有代价。代价就是你需要比别人多花一些时间在按需补课上。我自己大学学的是通信工程数学底子属于中等偏上但在学深度学习时也一度被矩阵求导折磨到怀疑人生。踩过坑之后我的建议是不要一上来就系统啃数学教材效率太低了而且容易劝退。更好的策略是带着问题学。比如你在学梯度下降时遇到学习率这个参数就停下来想清楚为什么学习率过大loss会发散过小会收敛慢用导数几何意义的角度去理解。你学到softmax的时候去查logistic回归和交叉熵损失的关系。你在读transformer论文遇到Q、K、V矩阵时去复习矩阵乘法的对应的物理含义。这种以点带面、按需补课的方式效率至少是系统啃教材的三倍以上而且由于每次学完马上能在代码里验证记忆也深刻得多。5.2 课程刷了一大堆还是不会做项目怎么办这个问题我遇到了太多次也是很多自学者的通病看视频觉得自己懂了一到自己动手就卡住。原因很简单看教程是被动输入而做项目是主动输出两者的难度差了好几个量级。你的大脑在被动接收信息时会产生我会了的错觉但真正编程时每一个细节都需要自己决策每一个bug都需要自己排查。破解方法只有一个立刻停止刷课去写代码哪怕写得一塌糊涂。把之前学过的内容从最简单的数据集划分、模型训练开始一行一行自己实现。遇到不会的允许查文档、允许看别人的代码但有两条铁律一是不能直接复制粘贴大段代码二是必须能用自己的话解释每一行代码的作用。坚持两周你会发现自己对知识的掌握程度产生了质变。5.3 GPU不够用本地电脑带不动大模型怎么办这是自学AI工程最高频的硬件焦虑。首先要纠正一个预期你学AI工程并不需要拥有一块顶级GPU更不需要在本机跑70B的大模型。大多数学习和实验场景用小模型和云服务就完全够了。我的实际配置方案是这样的本地电脑用CPU跑小规模的传统机器学习和轻量深度学习实验。遇到稍微大一点的模型训练任务用Google Colab的免费GPU或者Kaggle每周送的免费GPU时长Colab的T4足够训练大多数课程项目级别的模型了。到了大模型阶段本地用Ollama跑7B/8B级别的量化小模型完全没问题真正要调大API做生产级实验时按量计费也不贵。不要因为硬件纠结而停滞不前。我在没有GPU的笔记本上也用CPU跑通过完整的BERT微调流程虽然慢一点但关键是理解了整个链路。硬件永远不应该是你放弃学习的理由。5.4 传统机器学习白学了吗还需要系统学吗在ChatGPT发布之后这个问题被反复问起。我的观点很明确传统ML不但没白学而且越来越重要。有两个原因第一真实世界的工业场景里大量业务问题仍然是表格数据解决方案依然是XGBoost、LightGBM这类传统机器学习模型。深度学习和大模型在这些场景往往效果也不占优还贵得多。你去看各大公司的技术分享会发现大量业务金融风控、用户增长、搜索推荐的核心模型仍然是传统ML的天下。第二理解传统ML是理解深度学习和大模型的基石。你学会了偏差方差权衡才能理解为什么大模型也需要正则化和数据增强你理解了逻辑回归的损失函数才能理解为什么分类任务最后都用softmax加交叉熵你理解了特征工程的重要性才能理解为什么RAG里的文本切分质量和Embedding模型选择这么关键。传统ML的思想是渗透在AI工程的每一个角落的绕不开。所以不止要学还要认真学用心理解原理而不是学个API调用就跳过。打牢传统ML的底子是你未来在AI工程路上走得远不远的关键。最后分享一点个人的心得如果你真的打算走上AI工程这条路我最后想说的是别怕慢怕的是停。我见过太多人因为一两个技术点卡住就放弃也见过太多人学了一堆理论却从不动手。AI工程这个领域最大的门槛从来不是智商而是持续实践的毅力。你不需要比所有人都快只要保持每天都写一点代码、推进一点项目半年后再回头看你会发现自己已经超过了90%曾经和你一起出发的人。我踩过的坑、走过的弯路都在上面毫无保留地写出来了接下来就看你的行动了。