模块 1

AI Agent 基础架构

五节

1.1 OpenClaw 架构

⭐ 核心概念
OpenClaw 是开源的多渠道 AI 网关(Multi-channel AI Gateway),本质是"AI 的操作系统":中枢调度层将 LLM 推理能力翻译为对 OS、API、硬件的实际控制;模型无关——所有模型接入仅需配置 API Key 和 Base URL;生产就绪——分钟级上线,原生支持 15+ IM 平台。
基于 ReAct 范式的六步循环:Load(加载会话历史、记忆、系统提示词)→ Call(上下文与工具列表发给 LLM)→ Parse(解析 LLM 返回的文本或 tool_use 指令)→ Execute(执行对应工具并获取结果)→ Append(执行结果追加至上下文)→ Loop(返回 Call 步骤,持续迭代直至输出最终响应)。
Gateway:HTTP/WebSocket 入口网关,负责鉴权、限流、幂等去重、多平台消息统一格式化,将标准化 MsgContext 派发给 Agent。Agent:运行时主体,负责路由匹配、上下文组装、执行 Agentic Loop、状态落盘。二者解耦,Gateway 默认绑定 127.0.0.1 不暴露公网,安全边界清晰。
⭐⭐ 深入理解
采用渐进式披露:元数据层(YAML frontmatter)始终轻量加载;指令层仅在语义匹配命中时才加载完整技能;资源层(脚本/模板等)按需拉取。配合会话压缩(Compaction)、Memory Flush 预存关键信息、Context Guard 截断大 tool result 等多重机制协同控 Token。
每轮动态拼装。来源包括:工作空间文件(AGENTS.md 基线规则、SOUL.md 人格语气、TOOLS.md 使用指南、USER.md 用户偏好、IDENTITY.md 身份配置);动态内容(语义搜索出的记忆、相关 Skills、会话历史、自动生成的工具定义);插件钩子 before_prompt_build。所有行为调整只需编辑 Markdown 文件,无需改源码。
LLM 自主决策:错误信息反馈给 LLM,由其决定重试、换工具或向用户报错。系统兜底:超时中断;用户新消息可强制取消当前循环;Context overflow 三级应对——先 Compaction 压缩历史 → 再截断过大 tool result → 最后才报错建议 /reset
⭐⭐⭐ 高级话题
2026 年 1 月底 Shodan 暴露事件:数百个无认证(auth: none)实例裸露公网,导致对话泄露、API Key 窃取、命令越权执行。加固措施:移除无认证选项,强制 Token/密码认证;新增 7 层工具策略管道(profile→group 逐级收窄);Owner-only 工具隔离、子 Agent 工具白名单。
项目定位特点适用场景
OpenClaw生产级部署应用分钟级上线、15+ IM 平台、模型无关、无需编码快速落地 AI 助手
LangChainPython 开发框架定制化 RAG/AI 流水线、需大量胶水代码定制化 AI 应用开发
AutoGPT实验性自主 Agent易失控、Token 难控研究原型,不推荐生产

1.2 ReAct 框架

⭐ 核心概念
ReAct(Reasoning and Acting)是结合推理与行动的 Agent 框架。四步循环:Thought(分析问题,决定是否用工具)→ Action(选择并调用工具)→ Observation(接收工具结果)→ 循环迭代(结果反馈回上下文,继续下一轮推理与行动)。
特性CoTReAct
推理方式线性推理推理+行动交替
外部信息无法获取可主动调用工具获取
适用场景静态知识推导需要实时/外部信息的任务
纠错能力有限可根据观察结果动态修正
通过引入外部工具的"行动-观察"机制,使模型能够获取真实世界的数据(如天气、时间、搜索结果等),减少依赖内部知识进行猜测,有效降低幻觉和错误推理。
⭐⭐ 实践应用
查询"今天杭州的天气":Thought → 需要调用天气 API;Action → WeatherAPI[Hangzhou, today];Observation → 21°C,多云;Thought → 已获得信息,可生成回答;最终回答:"今天杭州多云,21°C,适合外出,但记得备伞。"
问答系统(尤其需实时信息)、自动化客服、AI 代理、代码生成与调试、科学研究辅助、游戏智能体、需要与外部工具集成的任务自动化系统。

1.3 A2A 协议

⭐ 核心概念
自主性(Agent 为自主决策个体)、标准化(基于 HTTP、SSE、JSON-RPC 等现有标准)、安全性(企业级 AuthN/AuthZ)、异步性(SSE 实时推送进度)、多模态(支持文本、音频、视频等数据流)。
特性传统 APIA2A 协议
交互模式请求-响应,调用方主导双向、异步、自主协作
智能体关系被动调用工具像同事一样协作
流程控制调用方完全控制智能体自主协商任务流程
内部实现需要了解接口细节无需共享内存或了解对方实现
打破不同 AI 智能体框架之间的信息孤岛,建立去中心化的 Agent 互联网,实现跨平台、跨厂商的智能体在安全、标准的环境下进行自主、长期、多模态的协作。
⭐⭐ 深入理解
基于 HTTP、SSE、JSON-RPC 等成熟技术:避免重复造轮子;企业可低成本将现有系统接入 A2A 生态;无需重构基础设施,提升兼容性和落地效率。
通过异步通信机制:利用 SSE(服务器发送事件)实时推送任务进度;用户无需阻塞等待,可随时查询状态或获取中间结果;适用于代码生成、科研分析等耗时较长的场景。

1.4 Manus 智能体

⭐ 核心概念
Manus 是中国团队 Monica.im 于 2025 年 3 月推出的全球首款通用型 AI 智能体。核心区别:传统 AI 助手仅提供对话建议,Manus 能自主完成端到端任务——具备规划、决策、调用工具、状态管理和结果交付能力,真正实现"交付成果"而非"给出建议"。
规划器用大模型生成整体计划并拆分子任务 → 执行器由不同智能体或工具(Claude、Qwen 或专用脚本)分别执行 → 状态管理维护统一状态,根据中间结果动态调整流程 → 结果整合输出完整成果。用户可在 Web 控制台回放整个 Trace。

1.5 Computer Use

⭐ 核心概念
Anthropic 在 Claude 3.5 Sonnet 中推出的功能,使 AI 具备操作计算机的能力:通过模拟鼠标点击、键盘输入等方式与操作系统和应用程序交互,实现从"文字对话"到"实际操作"的跨越——如自动打开浏览器搜索信息、填写表单或处理文件。
三大核心技术:操作系统级 API(自然语言指令转化为具体操作,Windows/macOS 系统调用)、多智能体协作(任务规划代理 + 工具调用代理 + 验证代理形成自动化流水线)、OCR + 语义理解(识别屏幕内容并精准定位操作目标)。
特性传统 RPAComputer Use
流程定义预先设定固定流程基于大模型理解自然语言指令
适应性界面变化需重新配置可动态规划任务路径
智能程度规则驱动语义理解 + 视觉识别
开发成本需硬编码规则无需硬编码,可应对新任务
模块 2

RAG 核心技术

五节

2.1 RAG 基础原理

⭐ 核心概念
Q1什么是 RAG?解决了大模型的哪些问题?
RAG(Retrieval Augmented Generation)通过引入外部知识库来增强大模型生成能力。解决三大问题:知识滞后(训练后的事件不知道)、知识边界(无法访问私有文档)、幻觉(有真实文档为依据减少编造)。核心三步:(向量检索文档片段)→ (拼接增强 Prompt)→ (LLM 基于资料生成答案)。
不需要。RAG 的最大优势就是无需微调或重新训练,通过检索外部知识并增强输入提示的方式动态扩展模型的知识,降低了维护成本和技术门槛。
特性RAGFine-tuning
知识存储外部知识库模型参数中
更新方式修改知识库即可需重新训练
成本实施成本低、每次调用有开销训练成本高、使用后成本低
适用场景知识频繁更新风格/行为模式固定
溯源能力支持答案溯源难以溯源
因为 RAG 为大模型提供了来自可信知识库的具体上下文信息,模型在生成答案时有据可依,不再依赖记忆中的模糊模式,从而降低了凭空捏造信息的可能性。
⭐⭐ 深入理解
使用 Embedding 模型(如 text-embedding-ada-002 或 Sentence-BERT)将文本转换为高维向量表示。在向量空间中计算语义相似度,实现基于语义的检索而非关键词匹配,使机器能"理解"文字含义。
Faiss(Facebook 开源,高性能)、Milvus(国产开源,功能丰富)、Pinecone(云托管,易用)、Weaviate(支持多模态)、Elasticsearch(同时支持关键词和向量检索)。
企业内部知识问答、客服机器人、医疗咨询、法律条文查询、产品文档助手、技术文档助手、个人学习笔记系统——需要高频更新知识或涉及私密/专有数据的场景。
⭐⭐⭐ 高级话题
依赖检索质量(检索不到→回答错误)、响应延迟(额外检索步骤)、噪声干扰(不相关内容影响生成)、知识库维护成本、长尾查询需改写、多跳推理能力有限。
从近到远四个方向:分块问题(调 Chunk 大小和重叠量)→ Embedding 问题(换更适合的模型或调维度)→ 检索策略(加 BM25 混合检索 + Rerank 精排)→ Query 处理(检索前做 Query Rewrite 或指代消解)。

2.2 RAG 完整流程

⭐ 核心概念
分为离线准备在线查询。离线阶段:文档收集和切割 → 向量转换和存储(使用 Embedding 模型将文本块转向量存入向量数据库)。在线阶段:查询和检索(用户问题向量化后进行相似度检索)→ 增强和生成(检索文档与问题组合成 Prompt,输入大模型生成答案)。
LLM 有上下文长度限制,无法一次处理过长文本;分块可提升信息检索的精准性和效率,避免在全文中"大海捞针";块太小丢失上下文完整性,太大则引入噪声——需要平衡。
利用 Embedding 模型将文本转为数字向量的过程。计算机通过计算向量间距离衡量文本语义相似性,实现基于语义的高效检索而非关键词匹配,是连接知识库与自然语言查询的桥梁。
⭐⭐ 深入理解
文档收集(PDF/网页/数据库提取)→ 文本清洗(去页眉页脚、重复段落、空白行,大小写统一、特殊符号替换)→ 文本分块(按语义、按结构或递归切分)。
用户查询通过嵌入模型转向量 → 在向量数据库中做相似度计算(如余弦相似度)→ 返回 Top-K 文本块 → 可结合关键词检索(BM25)实现混合检索。
系统将用户问题与检索到的文档拼接成格式化的 Prompt:用户问题: {query} + 相关文档: {doc1}{doc2} + 请结合以上信息回答。然后输入 LLM,使其基于上下文生成准确、有依据的回答。

2.3 文档分块策略

⭐ 核心概念
200-500 tokens(约 800-2000 字符)为起点。技术文档可增至 512-1024 tokens。每块约 150-300 词,相邻块重叠 10%-20%以保留上下文连续性。
防止语义被切断,确保跨块的信息连续性,帮助模型更好理解边界处的上下文逻辑。
⭐⭐ 深入理解
太小:语义不完整、断章取义、模型理解片段时信息缺失。太大:包含过多无关信息、降低检索精度、引入噪声。
智能切片根据语义边界(句子、段落)而非固定字符数分割。避免固定长度:防止一句话截断在两个片段中,保持语义完整性,提升嵌入表达和检索匹配效果。
提升检索准确性和可解释性:来源信息(文档标题、URL、上传时间)、结构信息(章节标题、段落位置、页码)、领域标签(如"产品手册""API 文档")。检索时结合条件过滤缩小范围。
⭐⭐⭐ 实践工具
LangChain RecursiveCharacterTextSplitter(递归拆分+滑动窗口)、Hugging Face Tokenizers(按 token 数精确分块)、Spring AI TokenTextSplitter(基于 Token 数+语义边界)。
固定大小分块、按语义边界(段落/章节)分块、滑动窗口重叠分块、混合策略(句子边界+token 数量)。

2.4 Embedding 技术

⭐ 核心概念
将文本转为高维向量,通过语义相似度进行检索:把文档和用户问题都映射到同一向量空间,使系统找出语义最相关的文档内容,超越单纯的关键词匹配。
通过深度学习模型将文本编码成一串数字组成的向量(如 1536 维),捕捉文本的语义信息。语义相近的文本向量空间中也更近——例如"猫"和"小猫"的向量非常接近,而"猫"和"汽车"相距较远。
⭐⭐ 深入理解
模型维度语言适配特点
OpenAI ada-0021536英文为主效果好,需付费
阿里云 embed-v4-中文优化国产,中文场景
智谱 embed-3-中文优化国产,性价比高
Sentence-BERT可变多语言开源,本地部署
m3e / bge可变中文优化开源,中文效果好
语义理解能力、向量维度(高维能力强成本高、低维效率高可能损失细节)、语言适配(中文应用推荐中文优化模型)、推理速度(影响响应时间)、部署成本(云端 API vs 本地部署)。
将文本、图像、音频等映射到同一向量空间,实现跨模态检索——用文字搜图片、用图片查找描述性文本,是未来智能检索的重要方向。

2.5 向量数据库

⭐ 核心概念
专门优化高维向量的存储和相似度搜索,支持快速查找与用户问题最相关的文档。相比传统数据库,能高效处理海量向量数据并加速检索过程。
存储文本块对应的向量及其元数据;查询时支持快速的近似最近邻搜索(ANN);实现高效的相关文档检索。
模块 3

RAG 高级优化技术

六节

3.1 混合检索

⭐ 核心概念
结合向量检索(语义匹配)+ 关键词检索(精确匹配专有名词、缩写等),两者融合克服单一方法的局限性。
向量检索能理解语义但难以精准匹配特定术语(如"iPhone 15"或"RAG");关键词检索能精确命中关键词但无法理解语义相近的内容。混合检索兼顾语义理解和关键实体召回率。
⭐⭐ 深入理解
通常并行执行:同时走向量检索和关键词检索 → 分别获取结果 → 通过加权融合或 RRF(Reciprocal Rank Fusion)合并排序 → 输出综合排序的最优文档。
不同数据源并行检索(文档库+结构化数据库)、多路召回策略(规则、图谱、标签融合)——只要是多种检索方式协同工作,都属于广义的混合检索。

3.2 Rerank 重排序

⭐ 核心概念
在初步检索出候选文档后,用更精细的 Cross-Encoder 模型对文档重新排序,从 Top-K 候选中筛选最贴合用户查询的文档,提升最终上下文的相关性和质量。
初检基于浅层语义匹配(Bi-Encoder),容易召回相关性低的文档。若跳过 Rerank,生成模型可能基于无关上下文作答,导致"垃圾进,垃圾出"——幻觉或错误输出。
⭐⭐ 深入理解
多采用 Cross-Encoder:同时输入 query 和候选文档,进行深层语义交互计算,获得更精确的相关性得分。计算开销大、速度慢,但排序准确性远高于 Bi-Encoder。
BAAI/bge-reranker-base(开源,中英文)、BAAI/bge-reranker-large(开源,效果更好)、Cohere Reranker-v3.5(支持 100+ 种语言,长文本适用)。
第一阶段(快速初检):向量数据库召回 Top 100。第二阶段(精排):Cross-Encoder 逐对打分并重新排序。最终保留 Top 5~10 最相关文档供生成。类比招聘:HR 筛 100 份简历 → 业务主管逐一面评选 5 人。
不是必须。简单任务或资源受限环境可省略;专业问答、法律、医疗等高精度领域强烈推荐。对回答质量要求越高,Rerank 的价值越大。

3.3 查询优化技术

⭐ 核心概念
对用户原始查询进行优化和补充——添加同义词、相关术语、上位概念、下位场景或隐含意图,使查询更精准且覆盖更广。例如将"减肥"扩展为"健康减肥方法 饮食运动 避免反弹"。
查询重写:提升匹配精度(把模糊/简短查询改得更清晰规范)。查询扩展:提高召回率(生成多个语义相近的查询,分别检索后合并结果)。
⭐⭐ 深入理解
用户说"新冠",文档里可能是"COVID-19"或"新型冠状病毒"。通过查询扩展引入同义词和标准术语,增强匹配能力,提高召回率。
基于同义词词典(WordNet),基于词向量/语义模型找相似词,利用大模型生成相关术语,结合上下位词与关联词进行结构化扩展。
是的。过度扩展或引入无关词汇可能导致检索噪声增加、召回不相关文档、误导生成模型。需控制扩展范围,结合排序机制筛选,避免语义漂移。

3.4 Advanced RAG

⭐ 核心概念
传统 RAG 的升级——在检索前(查询重写与扩展、滑动窗口分块)、检索中(混合检索、动态嵌入)、检索后(重排序、上下文重构、内容过滤)三个阶段引入优化,解决信息断裂、检索不精准、上下文冗余等问题。
阶段传统 RAGAdvanced RAG
检索前简单分块和向量检索查询重写与扩展、滑动窗口分块
检索中单一检索方式混合检索、动态嵌入
检索后直接使用结果重排序、上下文重构、内容过滤
⭐⭐ 深入理解
粗粒度索引(文档类别、主题)快速缩小范围 → 细粒度索引(关键词、语义向量)精确定位内容。类似图书馆先按学科再按书名查找,大幅减少计算开销。
提示压缩:去除冗余、重复或无关信息,保留核心要点。上下文重构:重新组织信息的逻辑结构,使其更符合人类表达习惯(按时间顺序或因果关系排列)。

3.5 Modular RAG

⭐ 核心概念
将 RAG 系统拆分为多个松耦合、可重组功能模块的架构设计。每个模块独立负责特定任务,由统一的编排器进行调度与路由,实现灵活配置、可插拔替换和全流程优化。
Indexing(优化文档分块与知识存储)、Pre-Retrieval(查询转换与扩展)、Retrieval(混合检索多源召回)、Post-Retrieval(重排序和压缩)、Generation(LLM 生成+外部知识验证)。
路由 Routing(根据查询语义决定调用哪些模块)、调度 Scheduling(安排执行顺序,支持迭代优化)、知识引导(利用知识图谱规划推理路径)。
Naive RAG:基础版,简单检索+生成。Advanced RAG:引入查询优化、重排序等改进。Modular RAG:完全模块化设计,加入编排器,动态控制全流程。

3.6 提示压缩

⭐ 核心概念
对检索出的文档内容进行精简:提取核心信息、过滤无关文本、压缩冗长内容,使输入 LLM 的 Prompt 既保留关键信息又符合长度限制。
控制输入长度避免超出上下文窗口;提高知识相关性让模型聚焦关键信息;降低计算成本减少 token 消耗和调用成本。
⭐⭐ 深入理解
基于小型语言模型的信息熵评估(如 LLMLingua、Selective Context,通过判断句子信息密度自动删减冗余);结合规则算法(关键词匹配、实体保留策略)实现轻量级压缩。
提示压缩时的指导指令,告诉压缩模型重点关注哪些信息。例如设置为"保留人名、日期和数字"或"提取与问题相关的事实",可定向优化压缩结果的相关性和信息密度。
模块 4

开发框架

五节

4.1 LangChain 架构

⭐ 核心概念
四个关键模块:LangChain Libraries(核心功能:链和代理)、LangChain Templates(预配置参考架构)、LangServe(将链部署为 REST API)、LangSmith(调试、测试、评估和监控平台)。
开发者平台:调试(追踪链的执行过程)、测试(优化性能)、评估(排查问题)、监控(确保 LLM 应用的稳定性和可靠性)。
⭐⭐ 深入理解
LLM:字符串 → 字符串,适合简单文本生成。ChatModel:消息对象 → 消息对象,适合多轮对话和上下文管理。
将 LLM 返回的原始文本输出转换为结构化数据格式(JSON、列表等),便于程序后续处理和分析。

4.2 LangChain Agent

⭐ 核心概念
利用 LLM 推理能力,根据用户输入动态选择并调用合适工具或链的组件。像智能指挥官一样——分析需求、制定计划、调用工具、根据结果调整策略,实现灵活的任务执行。
Chain:预定义顺序执行、固定流程,适合简单线性任务。Agent:动态决策、自主选择执行路径,适合复杂不确定任务。
⭐⭐ 深入理解
Agent 持续接收工具返回的结果,评估当前进度,如果任务未完成或信息不足即调整策略、重新选择工具或补充查询,形成"思考-行动-观察-再思考"的闭环过程。
短期记忆:保存当前对话上下文,确保多轮交互一致性。长期记忆:通过向量数据库存储历史信息,后续任务可检索利用。

4.3 LangGraph

⭐ 核心概念
LangChain 生态中基于图结构的开源框架:将任务流程建模为有向无环图(DAG),通过节点和边精确控制 AI 工作流的执行过程,专门构建状态化、多代理协同的复杂应用。
LangChain:线性链式、固定流程、难处理分支循环。LangGraph:图结构、条件跳转/并行/循环、全局状态持久化、支持人工介入暂停点——适合复杂多代理系统。
⭐⭐ 深入理解
节点:独立处理单元,代表具体操作(调用 LLM、执行工具),接收状态输入后返回更新状态。条件边:定义路由函数,根据状态内容决定下一步跳转到哪个节点(如用户含"投诉"→ 人工审核节点)。
贯穿整个流程的数据上下文(通常为字典),包含对话历史、中间结果等信息,在各节点间传递驱动行为决策,支持持久化存储,可用于中断后恢复执行。
LangChain 推出的智能体开发 IDE:图形化流程设计(拖拽节点和连线)、实时调试(单步执行、状态查看与修改)、代码与可视化结合的热重载能力。

4.4 框架选择策略

⭐ 核心概念
LangChain:任务流程简单、步骤固定、无需动态调整,如"提问→检索→生成"。LangGraph:多角色协作、状态跟踪、条件判断、循环重试,如客服系统根据复杂度自动路由到不同代理。两者互补,可组合使用。

4.5 LlamaIndex 与 LangChain 集成

⭐ 核心概念
构建更强大的 RAG 系统:LlamaIndex 擅长数据索引和检索;LangChain 提供链式调用、代理和工具集成。结合可实现的复杂多步推理和动态数据访问。类比:信息检索专家+项目经理合作。
通过 IndexToolConfigLlamaIndexTool 类:配置工具名称、描述、query_engine 等参数,生成工具实例,注册到 LangChain Agent 中。return_direct=True 时直接返回工具结果,不再经过额外 LLM 处理。
模块 5

工程实践

三节

5.1 提示工程

⭐ 核心概念
明确角色和任务;结构化提示引导模型理解输入结构和输出格式;上下文约束(仅基于资料回答);模板化设计(便于动态填充);兜底机制(检索失败时告知"未找到");提供示例引导输出风格和格式。
在 Prompt 中加入约束语句:"如果找不到相关资料,请回复'未找到相关内容'"、"不要使用自己的知识进行推断"——强制模型仅依赖提供的上下文作答。
⭐⭐ 实践模板
你是xx领域专家,请基于以下资料回答问题:
【资料】:{{retrieved_documents}}
【问题】:{{user_question}}
【要求】:仅根据资料回答,不得编造信息。若无相关信息,请回答"未找到相关内容"。
【输出格式】:回答:... / 引用依据:...
应对检索失败的情况,避免模型强行生成错误答案,增强系统的鲁棒性和可信性。

5.2 文档处理流程

⭐ 核心概念
将原始文档转化为 AI 可检索、可理解的格式,通过引入外部知识增强大模型的回答质量,缓解知识陈旧和幻觉问题。
(多格式文档加载)→ (去页眉页脚、重复段落、统一格式)→ (按语义切分)→ (元数据标注:来源、日期、标签)→ (向量数据库)。
⭐⭐ 深入理解
用 langdetect 做语言检测;清洗和分块时保持原语序不拆分避免语义断裂;用正则表达式规范特殊字符和换行符。
记录错误日志并跳过该文档,防止阻塞整体流程,后续可通过人工干预修复后重新解析。
先按章节拆分大文档(正则匹配"第X章")→ 逐章节解析 → 用生成器逐块输出 → 结合多线程或异步方式提升处理效率。

5.3 RAG vs Fine-tuning 选择

⭐ 核心概念
特性RAGFine-tuning
知识存储外部知识库模型参数中
更新方式修改知识库即可需重新训练
模型改变不改变模型本身调整模型参数
成本结构实施成本低、每次调用有开销训练成本高、使用后成本低
需要改变模型输出风格、语气或行为模式;响应速度要求极高(无需额外检索步骤);知识内容相对固定的场景。
可以。例如客服机器人:先用 Fine-tuning 掌握客服表达风格和基础话术 → 再结合 RAG 从最新产品文档中检索具体信息,既保证回答专业性又确保信息准确与时效。
优先 RAG:知识密集且常更新的场景,实施快、成本低、易维护。若 RAG 无法满足响应速度或风格一致性要求再引入 Fine-tuning。通常先 RAG 快速验证可行性,不足时再叠加微调优化。
模块 6

词向量与词嵌入技术

5节

1.1 Word2Vec 基础

⭐ 核心概念
Word2Vec 是 Google 于 2013 年提出的词嵌入模型,将词语转换为稠密向量表示。 两种模型
  • CBOW(Continuous Bag of Words):通过上下文词预测目标词
  • Skip-gram:通过目标词预测上下文词
特性 CBOW Skip-gram
预测方向 上下文 → 目标词 目标词 → 上下文
训练速度 快(上下文平均平滑) 慢(逐词更新)
低频词处理 一般 更好
适用场景 大数据集、高频词 小数据集、语义精度要求高
CBOW 使用上下文词向量的平均值作为输入,这种平滑操作减少了参数更新次数,计算开销较小;而 Skip-gram 需要为每个上下文词单独更新参数。
Skip-gram 通过单个目标词学习多个上下文词的分布,对词语间的语义关系捕捉更细致,即使在数据稀疏场景下也能有效学习低频词的高质量表示。
⭐⭐ 深入理解
  • 选 CBOW:数据集大、注重训练效率、任务关注高频词(如文本分类、情感分析)
  • 选 Skip-gram:数据集小、需精确捕捉语义(尤其低频词)、对训练时间容忍度高
  • 为每个词分配唯一固定向量,无法处理多义词
  • 不考虑上下文环境,同一词在不同语境下表示相同
  • 无法处理未登录词(OOV)
---

1.2 训练加速技术

⭐ 核心概念
每次训练需要对词汇表中每个词计算 softmax,复杂度为 O(V),V 为词汇表大小。词汇量大时计算非常耗时。
使用霍夫曼树将计算复杂度从 O(V) 降低到 O(log V):
  • 每个词对应树的一个叶子节点
  • 通过路径上的内部节点进行概率计算
  • 大幅减少每轮训练的计算量
通过只更新一小部分词的权重来加速训练:
  • 从负例中采样少量词语(不相关的词)
  • 仅更新这些负样本和目标词的权重
  • 大幅减少计算量并加快收敛
⭐⭐ 深入理解
最大化正样本相似度概率,同时最小化负样本相似度概率:
log σ(v_c · v_w) + Σ log σ(-v_c · v_wi)
其中 σ 是 Sigmoid 函数,c 为中心词,w 为正样本,wi 为负样本。
根据词汇表中词语的频率分布进行随机采样:
  • 常用词语频率的 3/4 次方作为采样概率
  • 提高低频词被选为负样本的概率
  • 避免高频词过度主导训练
通常取 5-20:
  • k 过小:模型区分能力不足
  • k 过大:增加计算负担
  • 大型语料库:较小的 k 值即可取得良好效果
以一定概率跳过出现频率极高的词(如"的"、"是"):
  • 这些词提供的语义信息较少
  • 减少计算量,提高训练效率
  • 提升低频词的表示质量
---

1.3 GloVe

⭐ 核心概念
GloVe(Global Vectors)通过统计方法学习词向量:
  • GloVe:基于全局共现矩阵,利用全局统计信息
  • Word2Vec:基于局部上下文窗口预测
特性 GloVe Word2Vec
训练依据 全局共现统计 局部上下文预测
优势 捕捉全局语义、低频词关系 动态语义建模
劣势 训练慢、内存大 缺乏全局视角
1. 构建共现矩阵:统计词对在固定窗口内的共现次数 2. 加权处理:使用加权函数降低高频词影响 3. 优化目标函数:使词向量内积接近对数共现概率
⭐⭐ 深入理解
让两个词的词向量内积尽可能接近它们在语料中的对数共现概率,结合全局统计优势和向量空间模型特性。
在命名实体识别、机器翻译等任务中,需要捕捉词语在不同上下文中的动态语义变化。Word2Vec 通过局部上下文预测更擅长建模这种动态关系,而 GloVe 基于静态全局统计,缺乏上下文敏感性。
虽然在一些静态语义任务中仍有应用,但已被 BERT、GPT 等基于 Transformer 的上下文感知模型超越。这些模型能动态生成词向量,在大多数 NLP 任务中表现更优。 ---

1.4 FastText

⭐ 核心概念
FastText 引入子词(subword)信息:
  • Word2Vec:将词作为整体处理
  • FastText:将词分解为字符级 n-gram
将词拆分为字符 n-gram(如"playing"拆为"pla"、"lay"、"ayi"等):
  • 即使遇到未登录词,只要子词在训练中出现过
  • 就能生成合理的向量表示
  • 有效解决 OOV 问题
  • 文本分类
  • 处理拼写错误
  • 多语言任务
  • 形态变化丰富的语言
  • 需要快速训练和高准确率的场景
⭐⭐ 深入理解
从词中提取的连续字符片段(n-gram)。FastText 将每个词表示为其包含的子词向量之和,利用词的构词特征增强表达能力。
  • 采用层次 Softmax 和哈希技巧
  • 减少参数数量
  • 加速 softmax 计算过程
  • 数据集中存在大量拼写变体、稀有词、未登录词
  • 涉及多语言、形态丰富语言
  • 需要快速构建高性能文本分类器
---

1.5 负采样深入

⭐⭐ 进阶考察
  • 正样本:给定中心词的实际上下文词(滑动窗口内真实出现的词)
  • 负样本:从词汇表中随机采样的、与中心词不相关的词
  • 实现更简单
  • 计算效率更高
  • 更容易并行化
  • 在小规模数据和分布式训练中表现更优
通过对比学习:
  • 让模型学习区分真实上下文词(正样本)和随机词(负样本)
  • 增强对语义相关性的判断能力
  • 使生成的词向量更具区分性和语义表达能力
句子"apple is a fruit",以"apple"为中心词:
  • 正样本:"is"、"a"
  • 负样本:随机选择"book"、"table"等
  • 目标:让"apple"与"is"、"a"相似度高,与"book"、"table"相似度低
---
模块 7

词嵌入应用

3节

2.1 词嵌入方法对比

⭐ 核心概念
方法 特点 局限
**Word2Vec** CBOW/Skip-gram,高效 无法处理多义词
**GloVe** 全局统计,语义准确 训练慢,内存大
**FastText** 子词信息,处理OOV 向量维度较高
**ELMo** 双向LSTM,动态词向量 计算复杂
**BERT** Transformer,双向上下文 参数量大,部署成本高
  • FastText:通过子词信息处理
  • ELMo:通过上下文动态建模
  • BERT:通过上下文动态建模
  • 基于 Transformer 架构
  • 采用双向编码器
  • 通过掩码语言模型任务预训练
  • 能捕捉深层上下文信息
  • 生成上下文相关的词向量
---

2.2 文本分类中的应用

⭐ 核心概念
将词汇映射到稠密向量空间:
  • 语义相近的词在向量空间中距离更近
  • 帮助模型更好地理解文本语义
  • 提升分类的准确性和泛化能力
特性 Bag-of-Words Word Embedding
表示方式 稀疏、高维 稠密、低维
语义信息 仅词频 丰富语义关系
泛化能力
1. 文本预处理(分词、清洗) 2. 使用预训练或自训练的词向量模型 3. 将每个词转换为向量 4. 通过平均池化等方式聚合为句子向量 5. 输入分类模型(SVM、CNN、RNN)训练预测
⭐⭐ 深入理解
捕捉了词语间的语义相似性(如"猫"和"狗"向量接近):
  • 即使遇到训练中未充分出现的词
  • 也能基于相似词进行合理推断
  • 增强泛化能力
  • 平均池化:所有词向量求平均
  • 加权平均:根据词重要性加权
  • LSTM/CNN:使用深度学习模型编码
考虑词的子词(n-gram)结构:
  • 能为未登录词生成合理向量
  • 处理拼写错误、罕见词表现更好
  • 适合实际场景的文本分类任务
---

2.3 高维稀疏数据处理

⭐ 核心概念
文本数据通常使用词袋模型或 N-gram 表示:
  • 特征维度非常高(数万甚至数十万维)
  • 每个样本只激活少数特征
  • 形成稀疏矩阵
问题:计算复杂度高、训练效率低、易过拟合
从原始特征中挑选对分类最有用的子集:
  • 卡方检验:筛选与类别相关性强的词
  • 互信息:衡量词语与类别的相关性
  • LASSO回归:通过 L1 正则化自动筛选重要特征
⭐⭐ 深入理解
方法 适用数据 特点
**PCA** 稠密数据 基于协方差矩阵
**SVD** 稀疏数据(如TF-IDF) 可直接分解稀疏矩阵
LSA(潜在语义分析)就是基于 SVD 的文本降维技术。
将高维稀疏的 one-hot 词向量映射为低维稠密的语义向量:
  • 显著降低维度
  • 捕捉词语间的语义相似性
  • 提升分类性能
通过对系数绝对值施加惩罚:
  • 不重要的特征权重被压缩至零
  • 实现自动特征选择
  • 减少模型复杂度,缓解过拟合
结合词频(TF)和逆文档频率(IDF):
  • 降低常见词(如"的"、"是")的权重
  • 突出具有区分性的关键词
  • 生成更具判别力的稀疏特征
⭐⭐⭐ 高级话题
典型流程: 1. TF-IDF 或 Count Vector 初步表示 2. 特征选择(如卡方检验)剔除无关特征 3. SVD/PCA 降维 4. 或采用词嵌入转换为稠密向量 5. 配合 L1/L2 正则化训练分类器
通过 Transformer 架构对文本进行上下文感知编码:
  • 输出固定长度的稠密向量表示
  • 完全避免传统高维稀疏表示
  • 具备强大的语义理解能力
特性 稀疏表示 稠密表示
代表方法 One-Hot、TF-IDF 词嵌入
元素特点 大多数为零 所有元素非零
维度
语义信息 丰富
---
模块 8

模型训练优化

3节

3.1 梯度裁剪

⭐ 核心概念
梯度裁剪(Gradient Clipping)是防止梯度爆炸的技术:
  • 限制梯度的 L2 范数(或按值裁剪)
  • 将梯度控制在合理范围内
  • 提升训练稳定性并加速收敛
源于深度神经网络中的链式求导机制:
  • 多层梯度连乘后大于 1,梯度呈指数级增长
  • Transformer 深层结构(12层以上)和大规模参数可能导致梯度累积放大
  • 训练初期权重初始化不当时更容易发生
⭐⭐ 深入理解
# 基于 L2 范数裁剪(更常用)
torch.nn.utils.clip_grad_norm_(model.parameters(), max_norm=1.0)

# 基于值裁剪
torch.nn.utils.clip_grad_value_(model.parameters(), clip_value=1.0)
在 `loss.backward()` 之后、`optimizer.step()` 之前调用。
方法 裁剪方式 适用场景
**clip_grad_norm_** 所有参数梯度的整体 L2 范数 整体梯度幅度过大
**clip_grad_value_** 逐元素限制梯度值 个别异常梯度值
合理使用不会影响,反而有助于加速收敛:
  • 避免梯度爆炸导致的参数剧烈波动
  • 使优化路径更加平稳
  • 但阈值过小可能过度抑制梯度,减慢学习
  • 常见阈值:1.0、5.0
  • 一般从 5.0 开始尝试
  • 监控梯度的平均 L2 范数动态调整
  • 理想情况下裁剪不应太频繁
⭐⭐⭐ 高级话题
梯度裁剪常被视为隐式正则化,但主要目的是稳定训练:
特性 梯度裁剪 L2 正则
主要目的 稳定训练过程 约束模型复杂度
实现方式 限制梯度范围 损失函数添加参数平方项
目标 防止梯度爆炸 提升泛化能力
两者可同时使用。
  • AdamW 优化器:正确实现权重衰减
  • 学习率预热(Warmup):初期缓慢增加学习率
  • Dropout 和 Layer Normalization:增强鲁棒性
  • 标签平滑(Label Smoothing):正则化手段
---

3.2 冻结层策略

⭐ 核心概念
  • 减少计算资源消耗
  • 降低内存占用
  • 加速训练过程
  • 防止在小数据集上过拟合
通过固定预训练模型中部分层的参数,只更新未冻结层的梯度。
  • 底层:学习通用特征(边缘、纹理等),迁移性好
  • 高层:学习抽象、任务相关特征
冻结底层保留通用表示能力,仅微调高层适应新任务。
⭐⭐ 深入理解
在小数据场景下:
  • 冻结部分层减少可训练参数数量
  • 限制模型容量
  • 保持预训练模型的泛化能力
1. 冻结底层、微调高层 2. 冻结前几层、微调后几层 3. 逐层解冻:逐步释放更多层参与训练
# 冻结参数
for param in model.parameters():
    param.requires_grad = False

# 或冻结特定层
for param in model.bert.embeddings.parameters():
    param.requires_grad = False
从完全冻结开始,逐步解冻每一层并继续训练:
  • 精细控制模型适应过程
  • 避免大规模参数更新带来的不稳定
  • 帮助找到最佳训练配置
  • 目标任务与预训练任务差异较大
  • 有足够的标注数据
  • 此时应进行全量微调
---

3.3 灾难性遗忘

⭐ 核心概念
模型在学习新任务时,快速丢失对旧任务知识的记忆。 原因
  • 下游任务数据量小、训练强度高
  • 模型参数发生剧烈变化
  • 预训练阶段学到的通用表示被覆盖
⭐⭐ 深入理解
Elastic Weight Consolidation(EWC):
  • 计算参数对旧任务的重要性(Fisher 信息矩阵)
  • 在损失函数中加入正则化项
  • 限制重要参数的更新幅度
  • 保护关键知识不被破坏
方法 数据存储 特点
**经验重放** 存储旧任务真实样本 效果好,但有隐私风险
**黑暗重放(DER)** 生成伪样本或特征 避免存储原始数据,降低隐私风险
让新模型在旧任务输入上模仿原模型的输出分布(软标签):
  • 即使没有真实标签也能保留旧模型行为模式
  • 无需访问旧数据标注
  • 适合数据受限场景
  • LoRA:通过低秩适配器微调,冻结主干参数减少干扰
  • I-LoRA:结合经验重放机制,引入双重记忆机制
⭐⭐⭐ 高级话题
采用"训练—剪枝—冻结"流程: 1. 训练新任务 2. 剪掉不重要的权重 3. 冻结剩余重要权重作为旧任务保留 4. 为新任务分配新的可训练参数
不需要旧任务的标注数据,但需要:
  • 旧任务的输入数据进行推理
  • 获取原模型的软标签用于蒸馏
  • 黑暗重放(DER)
  • 知识蒸馏类方法(如 LwF)
  • 基于正则化的方法(如 EWC、SI)
---
模块 9

模型评估

2节

4.1 Transformer 评估指标

⭐ 核心概念
任务类型 常用指标
分类任务 准确率、精确率、召回率、F1-score
序列标注 实体级/Token级 F1
文本生成 BLEU、ROUGE、METEOR、Perplexity
对话系统 自动指标 + 人工评估
模型可能偏向多数类获得高准确率,但忽略少数类预测效果。应结合精确度、召回率、F1-score 综合评估。
⭐⭐ 深入理解
指标 含义 关注点
**精确度** 预测为正类中有多少是真正类 预测准确性
**召回率** 所有真实正类中有多少被找出 覆盖完整性
精确度和召回率的调和平均数:
  • 同时反映两个指标的信息
  • 在类别不平衡或需要平衡两者时更全面
指标 适用任务 侧重点
**BLEU** 机器翻译 n-gram 匹配程度
**ROUGE** 文本摘要 召回率,覆盖参考内容
  • 训练损失持续下降,验证损失开始上升
  • 训练准确率远高于验证准确率
---

4.2 微调效果评估

⭐ 核心概念
1. 验证集和测试集上的量化指标(准确率、F1、BLEU等) 2. 训练过程中的损失曲线与早停机制 3. 定性评估(人工评审、用户反馈) 4. A/B 测试和线上业务指标
  • 验证集:超参数调优和早停判断
  • 测试集:最终评估,确保客观无偏估计
两者分离避免数据泄露,保障评估结果公正性。
⭐⭐ 深入理解
情况 训练损失 验证损失
**过拟合** 持续下降 开始上升
**欠拟合** 较高且下降缓慢 较高且下降缓慢
**正常** 下降并趋于稳定 下降并趋于稳定
在训练过程中监控验证集性能:
  • 连续若干轮未提升时停止训练
  • 防止模型在训练集上过拟合
  • 保留最优泛化状态
自动指标难以全面反映:
  • 语言质量
  • 逻辑连贯性
  • 用户体验
定性评估能发现生成内容是否自然、相关、有无事实错误。
将微调后的模型部署到部分真实用户流量:
  • 与基线模型对比关键业务指标
  • 验证线上环境的实际价值
  • 是判断是否达到预期的重要闭环手段
  • 引入对抗样本(同义词替换、拼写错误)测试稳定性
  • 在不同领域或风格数据上验证性能漂移
  • 评估跨域适应能力
---
模块 10

Prompt Engineering

1节

5.1 基础概念

⭐ 核心概念
通过精心设计输入给 AI 模型的文本提示,引导模型产生期望输出的技术和方法。 本质是"如何更好地与 AI 对话"的艺术与科学。
1. 释放 AI 潜力:让模型更准确理解需求 2. 提升工作效率:效率提升十倍甚至更多 3. 降低使用门槛:非技术人员也能充分利用 AI
特性 传统编程 提示词工程
指令形式 代码命令 自然语言
执行对象 计算机 具备推理能力的智能体
特点 精确、确定性 创造性、灵活性
⭐⭐ 深入理解
好的提示词 差的提示词
具体、清晰 模糊、笼统
结构合理 缺乏结构
包含角色设定、任务目标、输出格式 缺乏上下文和约束
1. 理解用户需求 2. 分析模型特性 3. 设计初始提示策略 4. 生成优化后的提示词 5. 输入模型获取输出 6. 根据结果持续迭代优化
不会,反而越来越重要:
  • 如何高效调动模型能力仍需专业技能
  • 用最少的 token 实现最优输出
  • 设计适用于特定场景的专业提示词
---
模块 11

AI 安全与护栏技术

1节

6.1 护栏技术

⭐ 核心概念
AI 系统中用于确保模型输出安全、合规、符合伦理的一系列防御性技术手段:
  • 防止 AI 生成有害、错误或违背人类价值观的内容
  • 通过内容过滤、规则校验和应急处理等机制
  • 在 AI 运行时设置安全边界
降低 AI 系统的潜在风险:
  • 防止生成虚假信息、歧视性言论、暴力或违法内容
  • 保障 AI 输出的安全性、合法性和伦理性
  • 提升用户信任
⭐⭐ 深入理解
1. 内容安全过滤:利用 NLP 模型识别有害文本或图像 2. 伦理规则引擎:基于预设规则判断是否违规 3. 安全边界检查:限制 AI 回答超出能力范围的问题 4. 对抗样本检测:防范恶意诱导输入 5. 输出校准与应急处理:返回安全提示或触发人工审核
  • 对抗样本检测识别恶意输入
  • 分析用户是否使用诱导性、绕过策略的 prompt
  • 结合规则引擎和上下文理解判断意图
  • 发现"越狱"尝试时拒绝响应或启动人工介入
优化低风险但可能存在争议的 AI 输出:
  • 使其更符合社会伦理和表达规范
  • 例如将"男性不适合当程序员"改写为"职业选择与性别无关"
  • 既保留信息又避免传播偏见
  • 医疗、金融、教育、司法等高风险领域
  • 面向公众的社交平台
  • 内容生成工具
---
模块 12

性能优化

2节

7.1 GPTCache 语义缓存

⭐ 核心概念
专为大语言模型设计的语义缓存工具:
  • 将用户问题转化为向量
  • 利用向量数据库进行相似性搜索
  • 实现语义相近请求的缓存复用
  • 减少重复的 LLM API 调用
特性 传统缓存 GPTCache
匹配方式 精确匹配(键值相同) 语义匹配
判断依据 字符串完全相同 向量相似度
缓存命中 必须完全一致 含义相近即可
⭐⭐ 深入理解
1. 使用嵌入模型(如 OpenAI Embeddings)将文本转换为高维向量 2. 借助向量数据库(如 FAISS、Milvus)计算向量间相似度 3. 若相似度超过预设阈值,则认为语义相近
  • 降本增效:减少 LLM 调用次数,降低成本
  • 语义匹配:更高缓存命中率
  • 模块化设计:支持自定义嵌入模型、存储后端和逐出策略
1. 预处理用户输入,提取核心信息 2. 使用嵌入模型生成问题的向量表示 3. 在向量数据库中进行相似性搜索 4. 若找到足够相似的缓存项,返回缓存结果 5. 否则调用 LLM 并缓存新结果
  • 优化嵌入模型的选择
  • 调整相似度匹配阈值
  • 增加缓存数据量
  • 合理设计预处理逻辑(去除无关词、标准化输入)
---

7.2 结构化输出

⭐ 核心概念
让模型生成符合特定格式的数据(而非自由文本):
  • JSON、XML、CSV、SQL 等
  • 便于程序直接解析和处理
  • 常用于数据库写入、API 调用、自动化流程
  • 提升系统间数据交互的效率与准确性
  • 结构化数据可被程序直接解析
  • 避免人工提取信息带来的低效和错误
⭐⭐ 深入理解
主要实现方法: 1. 提示工程:明确要求输出格式并提供示例 2. JSON Schema:使用 response_format 参数进行格式约束 3. 后处理:通过代码对输出进行解析、修复和验证
JSON Schema 是描述 JSON 数据结构的规范:
  • 定义字段名、类型、是否必填等规则
  • 约束模型生成合法且符合预期格式的 JSON
  • 减少格式错误
非结构化输出
故宫:明清皇家宫殿。颐和园:古典园林。
程序难以自动提取信息。 结构化输出
[
  {"name": "故宫", "description": "明清皇家宫殿"},
  {"name": "颐和园", "description": "古典园林"}
]
可直接被程序解析使用。
后处理步骤: 1. 用正则表达式提取候选结构化文本 2. 尝试解析并捕获异常 3. 自动修复常见错误(如补全引号) 4. 或标记为异常请求重新生成
  • LangChain 的 StructuredOutputParser
  • OpenAI 的 response_format 参数
  • json-schema-validator 库
支持。在 API 请求中设置:
response = client.chat.completions.create(
    model="gpt-4",
    messages=[...],
    response_format={"type": "json_object"}
)
---
模块 13

记忆系统

2节

8.1 短期记忆

⭐ 核心概念
主要依赖模型的上下文窗口:
  • 完整缓存整个对话历史
  • 滑动窗口保留最近 N 轮对话
  • 按 Token 数量截断历史(如仅保留最新 12k tokens)
  • 依赖大模型原生的上下文窗口能力
  • 将最近的输入输出保留在内存中处理
  • 适用于近期交互的上下文维护
---

8.2 长期记忆

⭐ 核心概念
1. 摘要压缩:对长时间对话生成摘要并分层存储 2. 检索增强生成(RAG):将历史信息嵌入向量数据库,通过语义检索召回相关片段
特性 短期记忆 长期记忆
存储位置 内存/上下文窗口 外部持久化存储
实现方式 直接缓存 摘要、索引、嵌入
适用场景 近期交互 跨会话、长时间跨度
⭐⭐ 深入理解
模块 功能
**ConversationBufferMemory** 存储完整对话历史
**SummaryBufferMemory** 滑动窗口 + 摘要机制
**VectorStoreRetrieverMemory** 向量数据库语义检索
**ConversationKGMemory** 知识图谱实体关系记忆
  • 短期记忆:保障当前对话上下文连贯性和响应准确性
  • 长期记忆:记住用户偏好、历史行为,支持跨时间个性化服务
两者结合模拟人类记忆机制,提升用户体验。
混合记忆架构: 1. 滑动窗口或缓冲内存管理最近几轮对话(短期) 2. 定期将重要信息摘要后存入数据库或向量库(长期) 3. 每次交互前,先从长期记忆中检索相关信息注入上下文 4. 再交由模型处理
将历史对话或知识编码为向量并存入向量数据库:
  • 后续对话中根据语义相似度检索最相关的记忆片段
  • 将其作为上下文输入模型
  • 突破模型上下文窗口限制
  • Read:接收用户输入后,从记忆存储中读取相关信息增强当前输入
  • Write:模型生成回复后,将本次输入输出写入记忆系统
对长时间对话历史生成简洁摘要:
  • 减少存储开销和计算负担
  • 保留关键信息
  • 模仿人类"模糊记忆"特点
  • 存储对话或文档的嵌入表示
  • 支持高效的语义检索
  • 将当前问题编码为向量,查找语义相近的历史记录
  • 突破上下文窗口限制
---
模块 14

交互模式

1节

9.1 Copilot vs Agent vs Embedding

⭐ 核心概念
特性 Copilot 模式 Agent 模式
定位 协作型"副驾驶" 自主型"智能管家"
用户角色 持续输入指令,保留最终决策权 提供初始目标,后续自主运行
自主性 低,依赖用户反馈 高,独立规划执行
交互频率 频繁
  • Copilot:提示工程、多轮交互优化
  • Agent:规划能力、记忆机制、工具调用、强化学习
  • Copilot:代码补全、文档润色等需人机协作的场景
  • Agent:自动化测试、智能客服等可自主完成全流程的任务
Agent 具备:
  • 自主规划能力
  • 决策能力
  • 执行能力
  • 无需人为干预处理复杂任务链
这是迈向通用人工智能的重要特征。
理论上可以。当 Copilot 系统增加:
  • 任务规划能力
  • 自动工具调用
  • 闭环执行能力
就演变为 Agent 模式,但需更强的技术支撑。 ---
模块 15

向量数据库

4节

10.1 向量数据库选型

⭐ 核心概念
数据库 特点 适用场景
**Milvus** 开源、分布式、国产 大规模企业级应用
**Pinecone** 全托管、开箱即用 快速原型、实时搜索
**Weaviate** 多模态、语义搜索 智能问答、知识图谱
**Qdrant** 向量+元数据联合查询 推荐系统
**Chroma** 轻量级、嵌入式 小规模项目、原型开发
**Faiss** Facebook开发、CPU/GPU加速 研究、高性能场景
**Annoy** Spotify开发、内存占用低 静态数据集快速查询
综合考虑:
  • 功能特性
  • 性能表现
  • 成本预算
  • 扩展性
  • 团队技术栈
  • 开源、支持 TB 级向量增删改查
  • 近实时查询
  • 分布式架构
  • 适合电商平台商品推荐、图像检索、NLP 语义匹配等
优点
  • 开箱即用、部署简单
  • 支持高并发和低延迟
缺点
  • 按使用量计费,长期成本高
  • 数据控制权受限
⭐⭐ 深入理解
  • 支持文本、图像等多模态数据
  • 内置语义搜索能力
  • 可构建知识图谱
  • 复杂查询时可能延迟较高
  • 支持向量与元数据联合搜索
  • 灵活的过滤和排序能力
  • 适合结合属性条件与向量相似度检索
特性 Faiss Annoy
开发者 Facebook Spotify
加速支持 CPU/GPU CPU
元数据存储 不支持 不支持
适用场景 研究、高性能 静态数据集
两者均为库而非完整数据库,缺乏完整的 CRUD 和持久化支持。
  • 开源:OpenSearch、PostgreSQL(pgvector)、ClickHouse
  • 商用:Elasticsearch、Redis、Rockset、SingleStore
  • 通过 pgvector 扩展支持向量存储与相似性计算
  • 成熟稳定、生态丰富、事务支持完善
  • 适合已使用 PostgreSQL 的系统,降低架构复杂度
---

10.2 向量数据库原理

⭐ 核心概念
1. 将非结构化数据通过模型转化为高维向量 2. 利用相似性度量(余弦相似度、欧氏距离) 3. 结合高效的索引结构和 ANN 算法 4. 实现快速检索语义或特征上相似的数据
在高维向量空间中快速查找与目标向量最相似的 Top-K 向量:
  • 允许一定误差换取显著的性能提升
  • 在大规模数据下实现毫秒级响应
⭐⭐ 深入理解
方法 原理 特点
**HNSW** 多层图结构 高层稀疏快速跳转,低层密集精细查找
**PQ** 乘积量化 压缩向量,降低存储和计算开销
**LSH** 局部敏感哈希 相似向量映射到同一桶
构建多层图结构:
  • 高层稀疏:快速大范围跳转
  • 低层密集:精细查找
  • 搜索时从顶层开始逐层下降
  • 类似"省-市-区"路径逐步缩小范围
将高维向量划分为多个子向量:
  • 对每个子空间进行聚类编码
  • 用聚类中心代替原始向量分段
  • 大幅压缩向量表示
  • 减少存储占用和距离计算复杂度
通过设计特殊的哈希函数:
  • 使相似的向量更可能被哈希到同一个桶中
  • 查询时只需在对应桶内搜索
  • 大大缩小检索范围
特性 传统数据库 向量数据库
查询方式 精确匹配(关键词、ID) 语义/特征相似性模糊匹配
数据类型 结构化数据 非结构化数据
典型应用 业务数据查询 推荐、图像搜索、语义搜索
---

10.3 相似度计算

⭐ 核心概念
衡量两个向量方向之间夹角余弦值:
  • 取值范围:[-1, 1]
  • 值越接近 1,方向越相近
  • 不关心向量长度,只关注方向
  • 常用于文本和推荐系统
两个向量在多维空间中的直线距离:
  • 计算方式:各维度差值平方和的平方根
  • 取值:≥ 0
  • 距离越小表示越相似
  • 适用于图像、视频等像素特征比较
两个向量在各维度上差值绝对值之和:
  • 类似城市网格中沿道路行走的路径长度
  • 取值:≥ 0
  • 适合网格状结构数据
⭐⭐ 深入理解
特性 余弦相似度 欧氏距离
关注点 方向相似性 空间绝对距离
受长度影响
适用场景 语义比较 几何空间精确匹配
不同长度的文档可能导致向量长度差异大,但语义可能相近:
  • 余弦相似度忽略长度只比较方向
  • 更好捕捉语义相似性
  • 欧氏距离会受文本长度影响
图像特征向量通常分布在连续高维空间:
  • 欧氏距离能有效反映特征在空间中的实际差异
  • 距离越近,图像内容越相似
方法 取值范围 含义
余弦相似度 [-1, 1] 越大越相似
欧氏距离 [0, +∞) 越小越相似
曼哈顿距离 [0, +∞) 越小越相似
  • 文本、语义匹配:余弦相似度
  • 图像、视频特征匹配:欧氏距离
  • 地理坐标或结构化网格数据:曼哈顿距离
  • 余弦相似度比的是"方向"
  • 欧氏距离比的是"直线远近"
  • 曼哈顿距离比的是"沿着坐标轴走的总步数"
---

10.4 向量数据库工作流程

⭐ 核心概念
1. 数据处理:清洗和预处理 2. 向量化:通过 AI 模型转化为高维向量 3. 向量存储:高效格式存储 4. 索引构建:构建 HNSW 或 LSH 等索引 5. 相似性检索:计算相似度返回 Top-K
去除噪声和冗余信息,提升后续向量化质量:
  • 文本:去除停用词、特殊符号、乱码
  • 图像:降噪或归一化尺寸
使用深度学习模型将非结构化数据转换为高维数值向量:
  • BERT:句子 → 768 维语义向量
  • ResNet:图像特征 → 图像向量
⭐⭐ 深入理解
  • 将向量与元数据(ID、标签、时间戳)关联存储
  • 支持分布式分块存储
  • 实现水平扩展和高性能读写
1. 将查询内容转换为向量 2. 在已构建索引中计算相似度 3. 快速找出最相近的 Top-K 个结果
  • AI 模型输出的特征通常是高维向量形式
  • 向量数据库能高效存储和检索这些向量
  • 支持语义理解、图像识别、推荐等任务
---
模块 16

MCP 协议

1节

11.1 MCP 基础

⭐ 核心概念
MCP(Model Context Protocol,模型上下文协议):
  • 由 Anthropic 于 2024 年 11 月 25 日提出
  • 为大型语言模型提供统一接口
  • 使模型能够动态连接外部数据源、工具和服务
  • 实现"即插即用"功能
建立通用标准,让 AI 模型可以:
  • 无缝集成各种外部系统
  • 实时获取上下文信息
  • 调用工具
  • 提升实用性与扩展性
就像 USB-C 为不同设备提供统一连接方式:
  • MCP 为 LLM 提供标准化接口
  • 任何遵循协议的工具或数据源都可被模型直接使用
  • 实现"一次集成,处处可用"
⭐⭐ 深入理解
1. 标准化数据接入:简化集成流程 2. 增强模型能力:支持实时访问最新数据和调用外部工具 3. 提升系统可维护性:实现模块化协作
使模型摆脱对静态知识库的依赖:
  • 运行时动态调用搜索引擎
  • 访问本地文件
  • 连接 API 服务
  • 像人类一样根据需要获取信息
传统模型依赖预训练数据或手动上传,难以实时获取新信息。MCP 通过标准化协议:
  • 允许模型按需访问外部数据源
  • 避免重复训练和上传
  • 打破数据孤岛
不需要。MCP 是外部通信协议:
  • 模型本身无需更改
  • 只需通过符合 MCP 规范的服务器或适配器
  • 接收和处理来自外部工具的上下文信息
推动 AI 生态的互联互通:
  • 工具和平台遵循同一协议
  • 可被任意兼容 MCP 的模型调用
  • 促进开发者社区共建共享
  • 加速 AI 应用创新与落地
https://modelcontextprotocol.io/introduction ---
模块 17

RAG 数据预处理

3节

12.1 数据清洗与格式化

⭐ 核心概念
不同来源数据(PDF、HTML、Excel)编码、结构和格式各异。统一格式:
  • 转为 UTF-8 编码
  • 统一小写
  • 避免模型误解词汇(如"iPhone"和"iphone"被视为不同词)
  • 确保后续处理的一致性
1. 去除重复内容:页眉页脚、重复段落 2. 过滤噪声符号:特殊字符、Markdown 标记 3. 处理敏感信息:使用正则或 PII 检测库删除手机号、邮箱等 4. 修复乱码:将特殊符号替换为空格 ---

12.2 智能分块

⭐ 核心概念
大模型有上下文长度限制(如 GPT-4 为 8k tokens):
  • 需将长文本切分为适中的语义单元(300-500 字)
  • 合理分块避免语义断裂
  • 控制单块大小适配模型输入窗口
工具 特点
**LlamaIndex RecursiveCharacterTextSplitter** 按"标题→段落→句子→字符"层级递归切分,注重语义完整性
**Hugging Face TokenTextSplitter** 按 token 数量精确分割,适合与特定 tokenizer 匹配
块间重叠(如前一块结尾的 100 字作为下一块开头):
  • 防止因强制切分导致跨段落的完整语义被割裂
  • 保障上下文连续性
  • 在问答时能更好还原原始语境
---

12.3 语义增强与索引

⭐⭐ 进阶考察
元数据标注(时间、地点、关键词、部门)为知识块增加结构化信息:
  • 支持检索时进行条件过滤(如"只查 2025 年的政策文件")
  • 提升检索精准度和效率
语义增强包括: 1. 元数据标注:通过规则或 LLM 提取关键标签 2. 向量化:使用 Sentence-BERT、BGE-M3 等模型生成高质量向量 使系统不仅能基于关键词匹配,还能理解语义相似性。
  • 单一向量检索可能漏掉关键词匹配但语义相近的内容
  • 纯关键词检索无法理解同义表达
  • 构建混合索引结合两者优势
  • 通过重排序融合结果,提升检索全面性和准确性
场景 推荐模型
通用场景 Sentence-BERT
多语言/高精度 BGE-M3
长文档理解 ColBERTv2
最终输出:
  • 带有元数据标注的文本块
  • 对应的向量表示
  • 关键词索引
存储位置:
  • 向量数据库(Milvus、Pinecone):语义检索
  • 关键词搜索引擎(Elasticsearch):BM25 和过滤查询
未找到匹配的题目,试试其他关键词