应用
本章聚焦大模型的三大核心应用方向:检索增强生成(RAG)、Agent 智能体和多模态大模型。这些技术将 LLM 从"语言生成器"扩展为能够检索知识、调用工具、理解图像的通用智能系统。
应用全景
┌───────────┐
│ LLM Core │
└─────┬─────┘
┌──────────┼──────────┐
▼ ▼ ▼
┌─────────┐ ┌─────────┐ ┌──────────┐
│ RAG │ │ Agent │ │Multimodal│
│Knowledge│ │Tool Use │ │ Vision │
└─────────┘ └─────────┘ └──────────┘章节目录
| 页面 | 核心内容 | 关键概念 |
|---|---|---|
| 检索增强生成 (RAG) | 外部知识检索与生成结合 | 向量数据库、Embedding、检索策略、Advanced RAG |
| Agent 智能体 | 让 LLM 自主推理与行动 | ReAct、Function Calling、Tool Use、Multi-Agent |
| 多模态大模型 | 跨模态理解与生成 | ViT、CLIP、LLaVA |
学习建议
建议先学习 RAG,理解如何为 LLM 注入外部知识;再学习 Agent,掌握 LLM 如何通过工具与外部世界交互;最后学习多模态,了解 LLM 如何突破纯文本的限制。三个方向相互独立,也可以根据项目需要选择性学习。
本章假设你已理解 Transformer 架构 和 训练方法 的基本概念。
详细内容索引
agent-frameworks.md — Agent 框架实战 (1071 lines)
- 在大模型体系中的位置 (L13)
- Agent 框架全景 (L28)
- 四大主流框架对比 (L30)
- LangGraph 深度解析 (L50)
- 核心概念 (L54)
- State 状态模式设计 (L71)
- 最小 LangGraph 示例 (L92)
- 条件边 (Conditional Edge) (L117)
- 构建 ReAct Agent (L177)
- Memory 机制 (L223)
- Human-in-the-loop 模式 (L286)
- Multi-Agent 架构 (L335)
- LangSmith 调试与监控 (L433)
- AutoGen 简介 (L453)
- Agent 对话模式 (L457)
- GroupChat 多代理协作 (L488)
- GraphRAG (L523)
- 与传统 RAG 的对比 (L527)
- GraphRAG Pipeline (L537)
- Function Calling 深度实战 (L639)
- OpenAI / Claude / GLM 的 API 对比 (L641)
- Tool 定义规范(JSON Schema) (L725)
- 并行调用 / 多步调用 (L777)
- 代码实战:带记忆的多工具 Agent (L821)
- 苏格拉底时刻 (L999)
- 常见问题 & 面试考点 (L1016)
- 面试高频问题 (L1018)
- 推荐资源 (L1054)
agents.md — Agent 智能体 (1544 lines)
- 在大模型体系中的位置 (L13)
- Agent 的核心概念 (L26)
- 什么是 LLM Agent (L28)
- Agent = LLM + Memory + Tools + Planning (L32)
- ReAct 框架 (L58)
- Reasoning + Acting (L60)
- 思考-行动-观察循环 (L75)
- ReAct 的完整实现 (L87)
- ReAct 的局限性 (L205)
- Function Calling (L212)
- OpenAI Function Calling 协议 (L214)
- Tool 定义格式 (JSON Schema) (L227)
- 模型如何学会调用工具 (L277)
- 并行 Function Calling (L315)
- 工具使用 (Tool Use) (L326)
- 常见工具类型 (L328)
- 工具选择策略 (L338)
- 搜索工具实现示例 (L357)
- Planning 能力 (L388)
- Chain-of-Thought (CoT) (L390)
- Tree-of-Thought (ToT) (L405)
- Plan-and-Solve (L421)
- Memory 机制 (L454)
- 短期记忆 (Context Window) (L456)
- 长期记忆 (向量数据库) (L468)
- 对话摘要 (L497)
- Multi-Agent 系统 (L508)
- 多智能体协作模式 (L510)
- 角色分工 (L546)
- 通信协议 (L574)
- 代表性框架 (L582)
- Agent 评估与安全 (L591)
- Agent Bench (L593)
- 工具调用安全 (L605)
- 幻觉与错误传播 (L644)
- 苏格拉底时刻 (L661)
- Function Calling 深度实战 (L685)
- Function Calling 的本质 (L687)
- OpenAI Function Calling API 完整示例 (L698)
- 并行函数调用(Parallel Function Calling) (L801)
- 多步骤函数调用链 (L840)
- 错误处理和重试策略 (L887)
- tool_choice 参数详解 (L962)
- Human-in-the-loop 模式 (L973)
- 为什么需要人机协作 (L975)
- 审批模式(Approval Pattern) (L991)
- 中断/恢复机制 (L1093)
- 反馈循环:人类纠正与 Agent 学习 (L1154)
- 实际应用场景 (L1194)
- Multi-Agent 架构深度 (L1204)
- Supervisor 模式(中心协调者) (L1206)
- Hierarchical 模式(分层管理) (L1272)
- Peer-to-Peer 模式(平等协作) (L1296)
- 三种模式对比 (L1346)
- 通信协议 (L1356)
- 代码示例:简单的双 Agent 协作系统 (L1402)
- 常见问题 & 面试考点 (L1517)
- 推荐资源 (L1535)
hands-on-project.md — 端到端实战项目 (488 lines)
- 项目一:从零搭建 RAG 应用 (L11)
- 目标 (L13)
- 整体架构 (L17)
- 第一步:文档分块 (L36)
- 第二步:向量化与索引 (L86)
- 第三步:检索 (L125)
- 第四步:生成回答 (L157)
- 参考资料 (L177)
- 用户问题 (L181)
- 回答""" (L185)
- 第五步:整合为完整类 (L207)
- 项目二:LoRA 微调实战 (L250)
- 目标 (L252)
- LoRA 原理回顾 (L256)
- 第一步:准备环境和数据 (L266)
- 第二步:加载模型和 LoRA 配置 (L305)
- 第三步:训练 (L348)
- 第四步:推理验证 (L384)
- 第五步:效果评估 (L421)
- 环境要求 (L456)
- 苏格拉底时刻 (L471)
- 推荐资源 (L481)
harness-engineering.md — Harness 工程 (367 lines)
- 在大模型体系中的位置 (L14)
- 核心概念 (L23)
- 什么是 Harness? (L25)
- 三阶段演进 (L33)
- 四个层次的工程对比 (L41)
- Harness 的六大核心组件 (L51)
- 记忆与上下文管理 (L55)
- 工具编排 (L89)
- 状态持久化 (L97)
- 验证与反馈循环 (L107)
- 安全与护栏 (L128)
- 生命周期管理 (L143)
- 五个通用设计原则 (L147)
- 原则一:情境必须对 Agent 可见且可发现 (L151)
- 原则二:约束用机械手段强制执行 (L162)
- 原则三:给地图不给说明书 (L168)
- 原则四:验证必须独立于 Agent 的生成过程 (L174)
- 原则五:持续清理,不让熵积累 (L184)
- Harness 架构分类 (L192)
- 术语辨析 (L217)
- 从最小回路到生产系统 (L228)
- 跨领域 Harness 设计清单 (L243)
- 行业关键里程碑 (L273)
- 厚 Harness vs 薄 Harness 之争 (L284)
- Harness 与 Agent 的本质区别 (L292)
- 开源 Harness 生态 (L309)
- 苏格拉底时刻 (L319)
- 面试考点 (L333)
- 推荐资源 (L358)
multimodal.md — 多模态大模型 (455 lines)
- 为什么需要多模态? (L11)
- ViT(Vision Transformer)深度解析 (L20)
- ViT 的工作流程 (L24)
- Patch Embedding 实现 (L40)
- Position Embedding 与 [CLS] Token (L68)
- ViT 的关键设计总结 (L106)
- ViT 的启示 (L115)
- CLIP(对比语言-图像预训练)深度解析 (L119)
- 双编码器架构 (L123)
- 对比学习损失 InfoNCE (L137)
- Temperature 参数的作用 (L172)
- Zero-Shot 分类原理 (L181)
- 简化 CLIP 对比学习代码实战 (L219)
- LLaVA(大语言与视觉助手)深度解析 (L269)
- LLaVA 架构详解 (L273)
- Visual Instruction Tuning:两阶段训练 (L298)
- LLaVA 的设计洞察 (L331)
- 国产多模态模型 (L338)
- Qwen-VL(通义千问视觉) (L340)
- InternVL (L354)
- 多模态模型的演进 (L367)
- 多模态训练的关键挑战 (L380)
- 模态对齐(Modality Alignment) (L382)
- 多模态数据构建 (L396)
- 多模态幻觉(Hallucination) (L412)
- 苏格拉底时刻 (L433)
- 推荐资源 (L444)
prompt-engineering.md — Prompt Engineering (968 lines)
- 在大模型体系中的位置 (L13)
- Prompt 的本质 (L28)
- 四大组成要素 (L30)
- 从信息论角度理解 Prompt (L57)
- 基础技巧 (L67)
- Zero-shot Prompting (L69)
- Few-shot Prompting (L95)
- Chain-of-Thought (CoT) (L131)
- 高级技巧 (L168)
- Self-Consistency(自洽性解码) (L170)
- Tree-of-Thoughts (ToT) (L211)
- ReAct(Reasoning + Acting) (L283)
- Automatic Prompt Optimization (APO) (L344)
- 结构化输出引导 (L413)
- JSON Mode (L415)
- Outlines 库:基于 FSM 的受限生成 (L441)
- LMQL:LLM 的查询语言 (L465)
- Prompt 模板设计模式 (L484)
- Chat Template:System / User / Assistant (L486)
- Prompt 模板工厂 (L526)
- In-Context Learning 的原理与局限 (L569)
- ICL 是什么? (L571)
- ICL 的两种假说 (L575)
- ICL 的局限 (L591)
- 常见陷阱 (L601)
- 位置偏差 (Positional Bias) (L603)
- Lost in the Middle (L636)
- 长上下文退化 (L658)
- DSPy 框架简介 (L699)
- 核心概念 (L703)
- 代码示例 (L717)
- 代码实战:多步 CoT 推理 Pipeline (L762)
- 苏格拉底时刻 (L900)
- 常见问题 & 面试考点 (L917)
- 面试高频问题 (L919)
- 推荐资源 (L951)
rag.md — RAG 检索增强生成 (1189 lines)
- 在大模型体系中的位置 (L13)
- 为什么需要 RAG? (L26)
- LLM 的知识边界 (L28)
- Fine-tuning vs RAG 的对比 (L37)
- RAG 基础架构 (L50)
- Index → Retrieve → Generate (L52)
- 文本切分 (Chunking) (L74)
- 固定大小切分 (L78)
- 语义切分 (L99)
- 递归切分 (L132)
- Chunk 大小对检索质量的影响 (L147)
- 嵌入模型 (Embedding) (L157)
- 什么是文本嵌入 (L161)
- 主流嵌入模型对比 (L176)
- 嵌入质量的重要性 (L186)
- 向量数据库 (L211)
- FAISS (Facebook AI Similarity Search) (L213)
- Milvus (L235)
- Chroma (L239)
- 索引类型 (L260)
- 检索策略 (L271)
- Dense Retrieval(向量检索) (L273)
- Sparse Retrieval(BM25) (L289)
- Hybrid Search(混合检索) (L311)
- Re-ranking (L330)
- Advanced RAG (L348)
- Query Rewriting / HyDE (L352)
- Self-RAG(自我反思检索) (L372)
- Graph RAG (L388)
- Agentic RAG (L400)
- 完整 RAG Pipeline 代码 (L418)
- RAG 评估 (L493)
- 检索质量评估 (L495)
- 生成质量评估 (RAGAS) (L503)
- 端到端评估 (L514)
- 苏格拉底时刻 (L539)
- GraphRAG (L563)
- 传统 RAG 的局限 (L565)
- GraphRAG 核心流程 (L575)
- GraphRAG vs 传统 RAG 对比 (L779)
- Microsoft GraphRAG 实践要点 (L791)
- RAG 评估体系 (L798)
- 检索评估指标 (L800)
- 生成评估指标 (L834)
- 端到端评估:Ragas 框架 (L864)
- DeepEval 评估框架 (L911)
- 评估指标选择指南 (L945)
- RAG 常见问题与优化 (L956)
- PDF 解析难题 (L958)
- 长文本切分策略选择 (L996)
- 负样本挖掘提升检索精度 (L1024)
- RAG-Fusion(多查询 + RRF 排序) (L1053)
- 多模态 RAG(图片 + 文本混合检索) (L1098)
- 常见问题 & 面试考点 (L1162)
- 推荐资源 (L1180)