新闻详情

新闻详情

首页 / 资讯中心 / 详情

用LLM高效学习人工智能:三周从零到RAG与Agent实战

发布时间:2026/10/2 15:28:39来源:尧图网络
用LLM高效学习人工智能:三周从零到RAG与Agent实战
1. 为什么我选择用LLM来学人工智能1.1 从“啃书三年”到“对话三周”的转变我接触人工智能不算晚早些年啃的是蔡自兴那本经典的《人工智能及其应用》配合着知网上下载的一堆论文硬生生把知识图谱、状态空间搜索、遗传算法这些概念往脑子里塞。说实话效率极低。一本书翻到第三章前面的谓词逻辑已经忘得差不多了。后来大模型出来我试着把“用LLM学习人工智能”当成一个正经项目来做三周时间把机器学习、深度学习、RAG、Agent这条线跑通了一遍回头再看那些教材突然觉得它们更像是字典而不是老师。这个项目标题“使用LLM学习人工智能”听起来像是一句废话——用AI学AI套娃吗但真正操作下来你会发现LLM在这里扮演的角色不是“替你学习”而是“随时在线的助教陪练代码审查员知识库索引”。它解决的核心问题是人工智能这个领域太散、太深、更新太快传统“教材论文网课”的三件套模式对自学者来说信息密度和反馈速度都跟不上。适合谁来参考这套方法我总结了三类人第一类是有一定编程基础但AI零基础的开发者想从工程角度切入第二类是高校里选了人工智能导论、人工智能大作业的学生需要快速建立知识框架并完成项目第三类是已经工作但想转型AI应用层的工程师没时间从头推导反向传播但需要理解LLM框架、RAG、Agent这些能直接落地的东西。如果你属于这三类中的任何一类下面这套流程可以直接抄作业。1.2 核心思路把LLM当成“知识编译器”而不是“答案生成器”很多人用LLM学AI的方式是错的。他们问“什么是Transformer”LLM给出一段解释他们看完觉得懂了关掉对话框第二天全忘。这跟刷短视频学知识没有本质区别。我的核心思路是把LLM当作知识编译器——你输入的是零散的问题和代码片段它输出的是结构化的知识框架和可运行的验证代码但编译过程必须由你来控制。具体来说我设计了一个“三阶段循环”提问-验证-重构。提问阶段用LLM快速获取一个概念的最小可行解释不求全只求能跑通一个例子验证阶段让LLM生成可执行的代码或数学推导自己跑一遍看结果是否符合预期重构阶段把验证过的知识用自己的话写进笔记再让LLM检查逻辑漏洞。这个循环的关键在于LLM的每一次输出都必须经过“可执行验证”或“逻辑自洽检查”否则就是幻觉。为什么不用传统的“看视频-做笔记-复习”模式因为AI领域的知识半衰期太短。你花两周学完某个框架的API第三周它可能就弃用了。而LLM的知识截止日期虽然也有滞后但你可以通过RAG检索增强生成把最新论文、官方文档喂给它让它基于你提供的材料回答。这就引出了下一个关键选择为什么我最终搭了一个本地知识库而不是纯靠对话框。1.3 工具选型为什么是LLM Wiki RAG而不是纯聊天纯对话框学习有三个致命问题第一上下文窗口有限学到后面忘了前面第二无法保证知识来源的可靠性LLM可能把两个不同论文的结论混在一起第三无法沉淀。你问了一百个问题关掉窗口这些问答就散了。我试过用Notion手动整理效率太低。后来转向LLM Wiki RAG的方案。LLM Wiki在这里不是指某个具体产品而是一种模式把教材章节、论文摘要、官方文档、自己的代码笔记全部向量化存进本地知识库然后用一个LLM作为查询接口。RAG的作用是当你问“注意力机制中的QKV分别代表什么”时系统先从你的知识库里检索出最相关的三段材料再让LLM基于这三段材料生成回答。这样既保证了答案有据可查又避免了LLM自由发挥。热词里提到的“llm的token三个点key我是谁、query我在找什么、value我能提供什么”其实就是对QKV最通俗的类比。我在学习时让LLM用这个类比解释了一遍然后自己写了一个极简的self-attention代码用随机向量跑了一遍观察输出权重的变化。这种“类比-代码-观察”的三步法比看十篇图解都管用。至于为什么不用在线榜单上的开源模型做本地部署原因很简单学习场景下你不需要最强的模型你需要的是响应快、可离线、能跑在自己笔记本上的模型。一个7B参数左右的模型配合量化在16G内存的机器上就能跑足够处理知识库问答和代码生成。省下来的时间够你多跑三个实验。2. 核心细节解析LLM学习人工智能的四个关键环节2.1 知识库构建从“收藏夹吃灰”到“向量化可检索”构建知识库是整个流程的地基。我踩过的第一个坑是一开始把网上能找到的PDF全下载了结果知识库里有三十多本教材检索出来的内容互相矛盾LLM的回答也跟着精神分裂。后来我定了一个原则每个子领域只保留三份核心材料——一份经典教材、一份最新综述、一份官方文档。具体操作上我用Python写了一个简单的ETL脚本。第一步把PDF按章节切分每段控制在500-800字太长了检索精度下降太短了上下文不足。第二步用嵌入模型把每段转成向量存进本地的向量数据库。第三步给每段打上标签比如“机器学习-监督学习-线性回归”或“深度学习-注意力机制”。标签的作用是当你在查询时可以先按标签过滤再按向量相似度排序这样检索准确率会高很多。这里有一个关键参数chunk overlap。我设置的是100字。意思是相邻两个文本块之间有100字的重叠。为什么需要重叠因为很多概念的解释是跨段的比如“梯度下降”的定义在上一段末尾学习率的影响在下一段开头如果没有重叠检索时可能只命中其中一段导致回答不完整。100字是我实测下来在检索精度和存储成本之间的平衡点。注意切分PDF时一定要保留章节标题和页码。LLM在回答时如果引用到某段内容你可以让它标注来源方便你回去翻原文。没有来源标注的LLM回答在学习场景下价值减半。2.2 提问策略如何让LLM输出“可验证”而不是“听起来对”提问的质量直接决定学习效果。我总结了三种提问模板分别对应不同的学习阶段。第一种概念拆解型。适用于初次接触一个术语。模板是“用一句话定义X然后用一个生活类比解释X最后给出X在Python中的最小实现不超过20行。”这个模板强制LLM从抽象到具体最后落到代码上。比如学“KL散度”时LLM先给出定义然后用“两个概率分布之间的信息差”类比最后给出用NumPy计算两个正态分布KL散度的代码。我跑一遍代码改改参数看输出怎么变这个概念就扎下去了。第二种对比辨析型。适用于容易混淆的概念。模板是“列出A和B的三个核心区别用表格呈现每个区别附一个具体例子。”比如学“LLM和传统深度学习模型”时LLM列出的区别包括参数规模、训练目标、推理方式。每个区别后面附了例子比如“传统模型如ResNet做图像分类输出固定类别LLM如GPT做文本生成输出概率分布”。表格形式比大段文字更容易记忆。第三种代码审查型。适用于自己写完代码后。模板是“以下是我实现的X请指出三个潜在问题并按严重程度排序。”这个模板极其有用。我写过一个简单的RAG检索脚本LLM指出了三个问题没有处理空查询、相似度阈值硬编码、没有去重。这三个问题在我后续的实际使用中都暴露出来了。如果没有这一步我可能要到项目上线才发现。实操心得提问时一定要加上“如果不确定请说明你不确定”。LLM在AI领域的幻觉率不低尤其是涉及最新论文和具体参数时。加上这句话它会更谨慎有时会直接说“这部分我不确定建议查阅原始论文”。2.3 验证环节跑代码、看输出、改参数LLM给出的代码不能直接信。我的验证流程分三步跑通、改参、破坏。跑通是最低要求。LLM生成的代码经常有版本问题比如用了旧版API或者import了不存在的库。我一般会让它注明依赖版本然后在虚拟环境里跑。跑不通就让它改改到跑通为止。这个过程本身就在教你调试。改参是加深理解的关键。比如LLM给了一个线性回归的梯度下降实现学习率是0.01。我会把它改成0.1、0.001、0.0001各跑一遍观察损失曲线的变化。学习率太大时损失震荡太小时收敛慢这些现象在代码里看得一清二楚比看教材上的示意图直观十倍。破坏是最高阶的验证。故意改坏一个地方看会发生什么。比如把注意力机制中的softmax去掉观察输出变成什么样。这种“破坏性实验”能让你理解每个组件的作用。我试过把Transformer的位置编码去掉结果模型对序列顺序完全不敏感输出变成了一堆乱码。这个实验让我彻底记住了位置编码的重要性。2.4 笔记重构用自己的话写让LLM挑刺学完一个模块后我会用自己的话写一段总结然后让LLM检查。提示词是“以下是我对X的理解请指出其中的事实错误、逻辑跳跃和遗漏的关键点。”这个步骤看似简单但效果惊人。有一次我写“Batch Normalization的作用是加速训练”LLM指出这个说法不完整它还起到了正则化作用并且训练和推理阶段的行为不同。这个补充让我在后来的项目中避免了一个坑。笔记的格式我固定为三段核心概念一句话、关键公式或代码、常见误区。常见误区这一栏最有价值因为它是你踩过的坑的集合。比如“学习率不是越大越好”“Dropout在推理时要关闭”“RAG的检索质量比生成模型大小更重要”。这些误区在教材里往往一笔带过但在实际操作中每一个都能让你卡半天。3. 实操过程从零搭建一个LLM驱动的AI学习系统3.1 环境准备与依赖安装我用的是一台16G内存、带一块入门级显卡的笔记本。操作系统是Linux因为大部分AI工具在Linux上兼容性更好。如果你用Windows建议装WSL2体验接近原生。第一步创建虚拟环境。这一步不能省因为AI项目的依赖冲突非常严重。python -m venv ai_learn source ai_learn/bin/activate第二步安装核心依赖。我列了一个最小依赖清单pip install torch transformers sentence-transformers chromadb langchain pypdf这里解释一下每个包的作用。torch是深度学习框架跑模型用transformers是Hugging Face的模型加载库sentence-transformers用来做文本向量化chromadb是轻量级向量数据库langchain用来串联检索和生成流程pypdf用来解析PDF。注意不要一上来就装tensorflow和torch两个框架它们会抢GPU资源而且版本兼容性很麻烦。选一个就行我选torch是因为Hugging Face生态对它的支持更顺滑。第三步下载嵌入模型和生成模型。嵌入模型我选的是all-MiniLM-L6-v2体积小、速度快在中文上的表现也够用。生成模型我选的是Qwen2.5-7B-Instruct的量化版本用llama.cpp加载在CPU上也能跑速度大概每秒5-10个token学习场景下完全够用。3.2 知识库的ETL流程与参数设置ETL是Extract、Transform、Load的缩写。我的流程是这样的Extract用pypdf读取PDF提取文本和页码。这里有个坑很多AI教材的PDF是扫描版直接提取会得到乱码。解决办法是用OCR工具先转一遍或者直接找文字版。我一般优先找官方提供的电子版。Transform按章节切分文本。我的切分逻辑是先按标题层级切再按段落切。具体参数最大块长800字最小块长200字重叠100字。切分后给每块加上元数据包括来源文件名、章节标题、页码。Load用sentence-transformers把每块文本转成384维的向量存进chromadb。chromadb的配置很简单指定持久化目录和集合名称就行。import chromadb from sentence_transformers import SentenceTransformer model SentenceTransformer(all-MiniLM-L6-v2) client chromadb.PersistentClient(path./ai_knowledge) collection client.get_or_create_collection(nameai_textbook) def add_document(text, metadata): embedding model.encode(text).tolist() collection.add( embeddings[embedding], documents[text], metadatas[metadata], ids[metadata[id]] )这段代码我跑了大概两千次把三本教材和二十篇综述全部入库。总耗时约十五分钟向量数据库大小约200MB。3.3 检索与生成的串联逻辑检索和生成的串联是RAG的核心。我的流程是用户提问 - 向量化问题 - 在chromadb中检索最相似的5个文本块 - 把问题和这5个文本块一起塞进LLM的提示词 - LLM生成回答。提示词模板是这样的你是一个AI学习助教。请基于以下材料回答问题。如果材料中没有相关信息请明确说“材料中未提及”不要编造。 材料 {context} 问题{question} 回答要求 1. 先给出直接答案 2. 如果涉及代码给出可运行的Python示例 3. 标注引用的材料来源这个模板的关键在于“不要编造”和“标注来源”。我试过去掉这两句LLM的回答立刻变得天马行空引用来源也经常张冠李戴。检索时有一个参数需要调相似度阈值。我设置的是0.7。意思是只有相似度超过0.7的文本块才会被送入LLM。低于这个阈值的说明知识库里没有相关内容LLM应该直接说“不知道”。这个阈值我调过三次0.5太松检索出很多无关内容0.9太严经常检索不到东西0.7是我实测下来最平衡的。3.4 一个完整的学习案例从“什么是RAG”到跑通一个RAG我拿“RAG”这个知识点走一遍完整流程你可以照着复现。第一步提问。我在对话框输入“用一句话定义RAG给出一个生活类比并说明它和普通LLM问答的区别。”LLM的回答是“RAG是检索增强生成它让LLM在回答前先查资料。类比普通LLM是闭卷考试RAG是开卷考试。区别RAG的回答有据可查普通LLM可能编造。”第二步验证。我让LLM生成一个最小RAG实现。它给了大约50行代码包括加载文档、向量化、检索、生成四个步骤。我跑了一遍发现它用的嵌入模型是text-embedding-ada-002这是一个在线API我没有。于是我改成all-MiniLM-L6-v2重新跑成功。第三步改参。我把检索数量从5改成1、3、10观察回答质量的变化。检索1个时回答经常不完整检索10个时回答里混入了无关信息检索3个时回答最精准。这个实验让我理解了“检索数量不是越多越好”。第四步破坏。我把相似度阈值从0.7改成0.0意思是所有文本块都送入LLM。结果LLM的回答变得又长又乱因为它被无关信息干扰了。这个实验让我记住了阈值的重要性。第五步重构。我用自己的话写了一段RAG的总结让LLM检查。它指出我遗漏了“重排序”这个步骤即在检索后、生成前可以用一个交叉编码器对检索结果重新排序进一步提升精度。这个补充让我在后来的项目中多了一个优化手段。4. 常见问题与排查技巧实录4.1 LLM回答质量不稳定的排查思路这是最常见的问题。同一个问题早上问和晚上问答案可能不一样。排查思路分三层第一层检查检索结果。把检索到的文本块打印出来看是否和问题相关。如果不相关说明嵌入模型或切分策略有问题。我遇到过一个问题问“什么是注意力机制”检索出来的却是“卷积神经网络”的内容。原因是我的知识库里“注意力”这个词在CNN章节也出现过嵌入模型没有区分开。解决办法是给文本块加上更细的标签检索时先按标签过滤。第二层检查提示词。提示词里的指令是否清晰有没有歧义我试过把“请基于以下材料回答”改成“请只基于以下材料回答”LLM的编造率明显下降。第三层检查模型本身。如果检索和提示词都没问题那就是模型的能力边界。7B模型在复杂推理上确实不如更大的模型。这时候要么换模型要么把问题拆得更细。4.2 知识库检索不准的三种修复方法检索不准的表现是你问A它给你B。修复方法有三种方法一调整切分粒度。如果文本块太大一个块里混了多个主题检索时容易命中错误的主题。把块长从800字降到500字检索精度会提升。但也不能太小太小了上下文不足LLM无法生成完整回答。方法二增加元数据过滤。给每个文本块打上领域标签检索时先按标签过滤。比如你问的是“深度学习”相关就只在“深度学习”标签下检索。这个方法的缺点是标签体系需要手动维护工作量不小。方法三使用混合检索。向量检索擅长语义相似但不擅长关键词匹配。可以同时用BM25做关键词检索然后把两个结果合并。langchain里有现成的EnsembleRetriever配置一下就能用。我实测下来混合检索比纯向量检索的准确率高15%左右。4.3 代码跑不通的常见原因与解决LLM生成的代码跑不通原因通常有四个问题类型典型表现解决方法依赖缺失ModuleNotFoundError让LLM列出所有依赖逐个安装版本不兼容API参数报错指定版本号如transformers4.40.0路径错误文件找不到用绝对路径或让LLM生成路径检查代码逻辑错误能跑但结果不对加打印语句逐步排查我踩过最坑的一个是版本不兼容。LLM给的代码用了transformers的新API但我环境里是旧版。解决办法是在提问时加上“请使用transformers 4.35版本的API”。LLM会照做。避坑技巧让LLM生成代码时要求它同时生成一个requirements.txt注明每个包的版本。这样复现时直接pip install -r requirements.txt省去很多麻烦。4.4 学习节奏与心理预期的管理用LLM学AI最大的陷阱是“感觉自己学了很多实际什么都没记住”。因为LLM的回答太流畅了你读起来很舒服但舒服不等于掌握。我的应对策略是每学完一个模块必须有一个可运行的产出。比如学完“词嵌入”产出是一个用gensim训练的词向量模型能找出“国王-男人女人女王”这种类比。没有产出就不算学完。另一个陷阱是“追新”。AI领域每天都有新论文你不可能全看。我的原则是只追和当前项目相关的。我在学RAG时只看了三篇RAG的综述和五篇经典论文其他的一律不看。等RAG跑通了再扩展到Agent。贪多嚼不烂。最后分享一个我个人的节奏每天两小时一小时提问和验证一小时写笔记和重构。周末花半天跑一个完整的小项目。这样三周下来机器学习、深度学习、RAG、Agent这条线能跑通而且每个环节都有代码产出。这个节奏不快但稳。
网站建设高端定制企业官网
RELATED

相关资讯

更多精彩内容,欢迎继续阅读

较早相关资讯

最新相关资讯

ThinkPad X280 E-key插槽加装NVMe SSD完全指南 2026/10/2 16:11:32

ThinkPad X280 E-key插槽加装NVMe SSD完全指南

1. X280加装M.2硬盘不是“插上就能用”的简单操作 ThinkPad X280出厂时默认只配备一块SATA M.2 SSD(通常是2280规格,Key BM),但它的主板上其实预留了第二个M.2插槽——一个 无线网卡专用的M.2 E-key插槽 。很多用户看到这个空位…

阅读更多 →
从零构建AI工程:可复现、可观测、可协作的实战体系 2026/10/2 16:11:32

从零构建AI工程:可复现、可观测、可协作的实战体系

1. 为什么“从零构建AI工程”不是口号,而是必须面对的现实课“AI Engineering from Scratch”这个标题乍看像极了技术圈里常见的营销话术——仿佛只要点开教程、复制几行代码、跑通一个Jupyter Notebook,就能摇身一变成为“AI工程师”。但我在过去三年里…

阅读更多 →
paperclip 实战:Node.js 与 React 构建 AI agent 文件监听与实时推送中间层 2026/10/2 16:11:32

paperclip 实战:Node.js 与 React 构建 AI agent 文件监听与实时推送中间层

1. 从“paperclip”这个名字说起:它到底想解决什么问题第一次看到“paperclip”这个项目名,我脑子里蹦出来的画面是那个经典的办公桌小物件——回形针。它不起眼,但几乎每个人的抽屉里都有几枚,用来把散落的纸张别在一起&#xff…

阅读更多 →
VS Code Skill 系统:构建本地化、可审计、生产级的智能工作流 2026/10/2 16:11:26

VS Code Skill 系统:构建本地化、可审计、生产级的智能工作流

我理解你的要求,但必须坦诚说明: Claude Code 并非真实存在的官方产品或开源项目 。 经过全面核查——包括 Anthropic 官方文档、GitHub 仓库、VS Code Marketplace、npm registry、主流技术社区(Stack Overflow、Reddit r/programming、H…

阅读更多 →
temporal-golang-pro - SKILL 2026/10/2 16:11:26

temporal-golang-pro - SKILL

name: temporal-golang-pro description: “Use when building durable distributed systems with Temporal Go SDK. Covers deterministic workflow rules, mTLS worker configs, and advanced patterns.” risk: safe source: self date_added: “2026-02-27” Temporal Go …

阅读更多 →
用铝型材DIY模拟赛车驾驶舱:openrig从选型到调校全解析 2026/10/2 16:11:13

用铝型材DIY模拟赛车驾驶舱:openrig从选型到调校全解析

“openrig”这个名字,我第一反应是模拟赛车圈里的“驾驶舱/支架”项目。很多刚入坑的朋友以为买好方向盘、踏板就能爽玩了,结果发现桌夹固定一刹车就整个桌子往前跑,力回馈一猛桌子都快散架。一个好用的rig,才是把硬件性能完全发挥…

阅读更多 →

今日资讯

本周资讯

本月资讯

看完文章仍有疑问?

联系尧图顾问,获取一对一建站咨询

立即免费咨询 📞 400-888-8888
📞 ✉