[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"learning-part-10-agent":3,"learning-all":13},{"id":4,"slug":5,"title":6,"description":7,"level":8,"topic":9,"url":10,"content":11,"sortOrder":12},8,"part-10-agent","Part 10 · Agent 基础","让模型从\"会聊天\"变成\"能干活\"：自己拆任务、调工具、看结果、再行动。","INTERMEDIATE","Agent",null,"# Part 8 · Agent 基础\r\n\r\n\r\n---\r\n\r\n## Section 1 · Agent 是什么（概念 + 亲身体验）\r\n\r\n**Subsection 1 · 概念**\r\n```\r\nAgent（智能体）= 让大模型\"闭环干活\"：\r\n  收到目标 → 自己规划 → 调工具 → 看结果 → 再决定下一步 → 直到完成\r\n对比：\r\n  普通对话：你问一句，它答一句（用完就停）\r\n  Agent：   你给个目标，它自己一路干到底\r\n```\r\n\r\n**Subsection 2 · 看一个现成 Agent**\r\n- 打开 https:\u002F\u002Fmetagpt.com 或 https:\u002F\u002Fgithub.com\u002Fgeekan\u002FMetaGPT 的 README，看它\"模拟一家软件公司\"的演示动图。\r\n- ✅ 预期看到：多个\"角色\"（产品经理\u002F程序员\u002F测试）分工协作，自动产出文档和代码。\r\n- 💡 先建立一个直觉：**多 Agent = 多个角色分工**。\r\n\r\n**过关**：能说清\"Agent 和普通对话的区别\" = Section 1 完成。\r\n\r\n---\r\n\r\n## Section 2 · Agent 四要素\r\n\r\n**Subsection 1 · 记四要素**\r\n```\r\n① 规划 Planning   拆任务：把大目标拆成小步骤，干一步想下一步\r\n② 记忆 Memory     短期=当前对话；长期=跨会话的知识\u002F历史（存向量库）\r\n③ 工具 Tools      让模型能\"动手\"：搜索\u002F计算\u002F查库\u002F发请求\r\n④ 执行 Action     真的去调用工具、读取结果、决定下一步\r\n```\r\n\r\n**Subsection 2 · 对照Part 7 的成果**\r\n- 你Part 7 的 lc_agent.py 已经有\"工具 + 执行\"了。缺的是**规划**和**记忆**——正是Part 8 要补的。\r\n\r\n**过关**：能说出四要素并对应到自己的代码 = Section 2 完成。\r\n\r\n---\r\n\r\n## Section 3 · ReAct 框架（Agent 的\"思考循环\"）\r\n\r\n**Subsection 1 · 记循环**\r\n```\r\nReAct = 思考(Reason) + 行动(Act) 交替循环：\r\n  ① Thought  我想想现在该干嘛\r\n  ② Action   调用一个工具\u002F动作\r\n  ③ Observation 观察工具返回结果\r\n  → 回到①，直到得出 Final Answer\r\n```\r\n- 💡 你Part 7 的 `create_agent` 底层就是 ReAct。把它翻译成人话：**\"先想，再做，看了结果再想\"**。\r\n\r\n**Subsection 2 · 看模型\"自言自语\"**\r\n- 跑一遍Part 7 的 lc_agent.py（`debug=True` 会打印工具调用过程），仔细看日志。\r\n- ✅ 预期看到：日志里明显有\"思考→调用工具→观察→给答案\"的步骤。\r\n\r\n**过关**：能对着日志讲出 ReAct 循环 = Section 3 完成。\r\n\r\n---\r\n\r\n## Section 4 · Function Calling 深入（多参数多工具）\r\n\r\n**Subsection 1 · 定义 3 个工具**\r\n新建 `fc_multi.py`：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\nfrom langchain_core.tools import tool\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\n@tool\r\ndef add(a: float, b: float) -> float:\r\n    \"\"\"两个数相加。\"\"\"\r\n    return a + b\r\n\r\n@tool\r\ndef multiply(a: float, b: float) -> float:\r\n    \"\"\"两个数相乘。\"\"\"\r\n    return a * b\r\n\r\n@tool\r\ndef get_weather(city: str) -> str:\r\n    \"\"\"查询某城市天气（模拟数据）。\"\"\"\r\n    data = {\"北京\": \"晴 25℃\", \"上海\": \"多云 28℃\", \"苏州\": \"小雨 24℃\"}\r\n    return data.get(city, \"暂无数据\")\r\n\r\nprint(add.invoke({\"a\": 1, \"b\": 2}))\r\nprint(get_weather.invoke({\"city\": \"苏州\"}))\r\n```\r\n- ✅ 预期看到：3 和 \"小雨 24℃\"。\r\n- 💡 工具越多，模型能干的活越多；docstring 要写清参数含义。\r\n\r\n**过关**：三个工具都能 invoke = Section 4 完成。\r\n\r\n---\r\n\r\n## Section 5 · 多工具自动选择（模型自己挑工具）\r\n\r\n**Subsection 1 · 组装 Agent**\r\n新建 `fc_agent.py`：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\nfrom langchain_core.tools import tool\r\nfrom langchain.agents import create_agent\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\n@tool\r\ndef add(a: float, b: float) -> float:\r\n    \"\"\"两个数相加。\"\"\"\r\n    return a + b\r\n\r\n@tool\r\ndef multiply(a: float, b: float) -> float:\r\n    \"\"\"两个数相乘。\"\"\"\r\n    return a * b\r\n\r\n@tool\r\ndef get_weather(city: str) -> str:\r\n    \"\"\"查询某城市天气。\"\"\"\r\n    data = {\"北京\": \"晴 25℃\", \"苏州\": \"小雨 24℃\"}\r\n    return data.get(city, \"暂无数据\")\r\n\r\ntools = [add, multiply, get_weather]\r\n\r\n# LangChain 1.x：create_agent 统一了旧版 create_tool_calling_agent + AgentExecutor\r\nagent = create_agent(\r\n    model=llm,\r\n    tools=tools,\r\n    system_prompt=\"你是全能助手，需要计算就调计算工具，需要天气就调天气工具。\",\r\n    debug=True,\r\n)\r\n\r\nresult = agent.invoke({\"messages\": [{\"role\": \"user\", \"content\": \"苏州天气怎么样？顺便算一下 15 乘以 32。\"}]})\r\nprint(result[\"messages\"][-1].content)\r\n```\r\n- ✅ 预期看到：debug 日志里模型**连续调用两个工具**（天气 + 乘法），最后汇总回答。\r\n- 💡 这就是\"Agent 自动规划工具调用\"——它自己决定先查天气、再算乘法。\r\n\r\n**过关**：一个输入里模型自动调两个工具 = Section 5 完成。\r\n\r\n---\r\n\r\n## Section 6 · 短期记忆 vs 长期记忆\r\n\r\n**Subsection 1 · 记区别**\r\n```\r\n短期记忆   当前这次对话的上下文（拼在 messages 里）——站7 Day5 做过\r\n长期记忆   跨对话的知识：用户偏好、历史记录 → 存向量库\u002F数据库，下次对话再检索\r\n```\r\n\r\n**Subsection 2 · 看 LangGraph 的 Checkpointer**\r\n- B 站搜 `LangGraph memory checkpoint` 看 15 分钟。\r\n- 💡 记结论：LangGraph 用 `MemorySaver` 存 Agent 每步状态，重启还能接上。知道有这机制即可，Section 7 手动实现长期记忆。\r\n\r\n**过关**：能分清短期\u002F长期记忆 = Section 6 完成。\r\n\r\n---\r\n\r\n## Section 7 · 手动实现长期记忆（向量库存历史）\r\n\r\n**Subsection 1 · 跑代码**\r\n新建 `long_memory.py`：\r\n```python\r\nimport os, chromadb\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\nfrom sentence_transformers import SentenceTransformer, util\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\nmodel = SentenceTransformer(\"BAAI\u002Fbge-small-zh-v1.5\")\r\nmem = chromadb.PersistentClient(path=\"mem_db\").get_or_create_collection(\"user_memory\")\r\n\r\ndef remember(text):\r\n    \"\"\"把一句话存入长期记忆\"\"\"\r\n    mem.upsert(\r\n        ids=[f\"m{mem.count()}\"],\r\n        embeddings=model.encode([text]).tolist(),\r\n        documents=[text],\r\n    )\r\n\r\ndef recall(query, k=2):\r\n    \"\"\"按语义找相关的历史记忆\"\"\"\r\n    qv = model.encode([query]).tolist()\r\n    r = mem.query(query_embeddings=qv, n_results=k)\r\n    return r[\"documents\"][0]\r\n\r\n# 存几条\"用户偏好\"\r\nremember(\"用户叫小明，喜欢简洁的回答\")\r\nremember(\"用户正在学AI Agent开发\")\r\nremember(\"用户讨厌啰嗦的长文\")\r\n\r\n# 模拟下次对话：只凭\"这个人喜欢什么风格\"来召回\r\nprint(\"召回:\", recall(\"这个用户喜欢什么回答风格\"))\r\n```\r\n- ✅ 预期看到：召回\"喜欢简洁的回答\"。\r\n- 💡 这就是**长期记忆**：跨对话记住用户，下次自动调出来。Agent 记住了\"你\"。\r\n\r\n**过关**：长期记忆能召回 = Section 7 完成。\r\n\r\n---\r\n\r\n## Section 8 · 规划：子任务拆解（Plan-and-Execute 第一步）\r\n\r\n**Subsection 1 · 让模型拆任务**\r\n新建 `planner.py`：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\ngoal = \"我要转行AI Agent开发，三个月内达到能独立做产品的水平，帮我拆成周计划\"\r\nresp = llm.invoke(f\"你是资深学习规划师。请把目标拆成可执行的小任务清单，用编号列出，每项一句话：\\n{goal}\")\r\nprint(resp.content)\r\n```\r\n- ✅ 预期看到：模型输出 8~12 条有序小任务。\r\n- 💡 这就是 **Planning**：大目标 → 子任务。Agent 会先出计划，再逐步执行（Plan-and-Execute 框架）。\r\n\r\n**过关**：能拆出清晰子任务 = Section 8 完成。\r\n\r\n---\r\n\r\n## Section 9 · 规划：反思与改进（Reflection）\r\n\r\n**Subsection 1 · 跑\"写→评→改\"循环**\r\n新建 `reflection.py`：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\n# 第一轮：写\r\ndraft = llm.invoke(\"写一段关于'折叠思维'这个博客站点的介绍，50字以内。\").content\r\nprint(\"初稿:\", draft, \"\\n\")\r\n\r\n# 第二轮：Critic 批评\r\ncritic = llm.invoke(f\"这段文字有什么问题？从'是否通顺\u002F是否有AI味\u002F是否吸引人'三个角度批评：\\n{draft}\").content\r\nprint(\"批评:\", critic, \"\\n\")\r\n\r\n# 第三轮：按批评重写\r\nrevised = llm.invoke(f\"根据这些意见重写，50字以内：\\n{draft}\\n\\n意见：{critic}\").content\r\nprint(\"改后:\", revised)\r\n```\r\n- ✅ 预期看到：初稿 → 批评 → 改后，第三轮明显更好。\r\n- 💡 这就是 **Reflection（反思）**：让模型自己当\"审查员\"再修改。高质量 Agent 都带这步。\r\n\r\n**过关**：能跑通\"写→评→改\" = Section 9 完成。\r\n\r\n---\r\n\r\n## Section 10 · 自定义工具集（Toolkits）\r\n\r\n**Subsection 1 · 打包一组工具**\r\n新建 `toolkit.py`：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\nfrom langchain_core.tools import tool\r\nfrom langchain.agents import create_agent\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\n# 一组\"数学工具箱\"\r\n@tool\r\ndef add(a: float, b: float) -> float:\r\n    \"\"\"相加\"\"\"\r\n    return a + b\r\n\r\n@tool\r\ndef subtract(a: float, b: float) -> float:\r\n    \"\"\"相减\"\"\"\r\n    return a - b\r\n\r\n@tool\r\ndef multiply(a: float, b: float) -> float:\r\n    \"\"\"相乘\"\"\"\r\n    return a * b\r\n\r\nmath_tools = [add, subtract, multiply]  # 打包成工具集\r\n\r\nagent = create_agent(\r\n    model=llm,\r\n    tools=math_tools,\r\n    system_prompt=\"你是计算器。\",\r\n    debug=True,\r\n)\r\n\r\nresult = agent.invoke({\"messages\": [{\"role\": \"user\", \"content\": \"计算 (35 - 8) * 2 + 100\"}]})\r\nprint(result[\"messages\"][-1].content)\r\n```\r\n- ✅ 预期看到：模型分步调用 subtract \u002F multiply \u002F add，算出 154。\r\n- 💡 工具集 = 一组相关工具，让 Agent 在这个领域\"全能\"。\r\n\r\n**过关**：连算多步跑通 = Section 10 完成。\r\n\r\n---\r\n\r\n## Section 11 · 认知框架对比\r\n\r\n**Subsection 1 · 记四个框架**\r\n```\r\nReAct             边想边做边看（站8主力，create_agent 底层就是这个）\r\nPlan-and-Execute  先出完整计划，再逐步执行（适合复杂长任务）\r\nSelf-Ask          遇到不懂就先问自己小问题（链式拆解）\r\nThinking\u002FReflection 做完反思改进（Day9 做过）\r\n```\r\n\r\n**Subsection 2 · 场景选择练习**\r\n判断：① 简单查天气 ② 三个月转行计划并执行 ③ 写文章要反复打磨 → 各用哪个框架？\r\n（答案：①ReAct ②Plan-and-Execute ③Reflection）\r\n\r\n**过关**：能答对 = Section 11 完成。\r\n\r\n---\r\n\r\n## Section 12 · 多 Agent 简介\r\n\r\n**Subsection 1 · 记四个多 Agent 项目**\r\n```\r\nAutoGPT    一个目标自驱动的通用 agent\r\nCAMEL      \"两个 AI 互相角色扮演\"协作\r\nAutoGen    微软的多 agent 对话编排\r\nMetaGPT    模拟软件公司：产品\u002F开发\u002F测试多角色分工\r\n```\r\n- 💡 思路统一：**多个角色各司其职 + 互相传递结果 = 1+1>2**。\r\n\r\n**Subsection 2 · 读 AutoGen 快速上手**\r\n- 打开 https:\u002F\u002Fgithub.com\u002Fmicrosoft\u002Fautogen 看 README 前 1\u002F3，理解\"两个 agent 对话协作\"长什么样。\r\n\r\n**过关**：能说出多 Agent 为什么强 = Section 12 完成。\r\n\r\n---\r\n\r\n## Section 13 · 实战：做一个\"查资料 + 计算\"的综合 Agent\r\n\r\n**Subsection 1 · 组装**\r\n新建 `my_agent.py`：组合 Tavily（Part 9 Section 11）+ 计算工具 + 记忆：\r\n```python\r\nimport os\r\nfrom dotenv import load_dotenv\r\nfrom langchain_openai import ChatOpenAI\r\nfrom langchain_core.tools import tool\r\nfrom langchain_community.tools import TavilySearchResults\r\nfrom langchain.agents import create_agent\r\n\r\nload_dotenv()\r\nllm = ChatOpenAI(model=\"deepseek-chat\", api_key=os.getenv(\"DEEPSEEK_API_KEY\"), base_url=\"https:\u002F\u002Fapi.deepseek.com\")\r\n\r\n@tool\r\ndef add(a: float, b: float) -> float:\r\n    \"\"\"相加\"\"\"\r\n    return a + b\r\n\r\n@tool\r\ndef multiply(a: float, b: float) -> float:\r\n    \"\"\"相乘\"\"\"\r\n    return a * b\r\n\r\nsearch = TavilySearchResults(max_results=2)\r\ntools = [add, multiply, search]\r\n\r\nagent = create_agent(\r\n    model=llm,\r\n    tools=tools,\r\n    system_prompt=\"你是研究助手：查资料用搜索，算数用计算工具。\",\r\n    debug=True,\r\n)\r\n\r\nresult = agent.invoke({\"messages\": [{\"role\": \"user\", \"content\": \"搜索一下2026年最火的AI编程工具，然后帮我算 3 个加起来是多少：如果每个订阅费分别是 20、15、18 美元。\"}]})\r\nprint(result[\"messages\"][-1].content)\r\n```\r\n- ✅ 预期看到：模型先调用搜索工具，再调用 add 多次算总和，最后汇总回答。\r\n- 💡 这就是一个能\"研究 + 计算\"的真实 Agent 了。你的作品集 +1。\r\n\r\n**过关**：综合 Agent 跑通 = Section 13 完成。\r\n\r\n---\r\n\r\n## Section 14 · 测试与坑\r\n\r\n**Subsection 1 · 记坑**\r\n```\r\n坑1  工具调用循环卡死 → 给 create_agent 加 max_iterations=5 限制\r\n坑2  模型不调工具 → docstring 写清楚\"何时用\"\r\n坑3  长任务上下文爆炸 → 截断历史 \u002F 用 LangGraph 状态管理\r\n坑4  工具抛异常 → 工具内 try\u002Fexcept 返回友好错误，别让整个 Agent 崩\r\n```\r\n\r\n**Subsection 2 · 测试**\r\n- 给 my_agent.py 的 `create_agent(..., max_iterations=5)`，测 5 个不同任务，验证不卡死。\r\n\r\n**过关**：坑笔记 + 测试通过 = Section 14 完成。\r\n\r\n---\r\n\r\n## Section 15 · 站 8 验收\r\n\r\n**勾选**\r\n- [ ] 能说清 Agent vs 对话，四要素\r\n- [ ] 能对着日志讲 ReAct 循环\r\n- [ ] 多工具 Agent 自动选择工具跑通（Section 5）\r\n- [ ] 长期记忆能召回（Section 7）\r\n- [ ] 子任务拆解跑通（Section 8）\r\n- [ ] 反思\"写→评→改\"跑通（Section 9）\r\n- [ ] 工具集连算跑通（Section 10）\r\n- [ ] 能说出四个认知框架 + 适用场景\r\n- [ ] 能说出四个多 Agent 项目\r\n- [ ] my_agent.py 综合 Agent 跑通（查资料+计算）\r\n\r\n**写 400 字Part 8 总结**：你的 Agent 能干什么、用了哪些工具、遇到过什么坑。\r\n\r\n**全勾选 = Part 10 通过 = 第一段（0→1）完成** 🎉\r\n接下来做第一段总验收（见 `21-llm-part1-0to1.md` 的\"🏁 第一段总验收\"）：把聊天机器人、RAG 知识库、Agent 三个作品打磨上线、写 README、推 GitHub。\r\n全部上线后，进入第二段 Part 11 · 多 Agent 与 Agent IDE）。",10,[14,21,27,33,39,45,51,57,61,67,68,75,81,87,93,99,105,111,117,123,129],{"id":15,"slug":16,"title":17,"description":18,"level":19,"topic":20,"url":10,"content":10,"sortOrder":15},1,"part-1-llm-basics","Part 1 · 大模型基础认知","小白零基础友好。这一站不写代码，只建立\"大模型到底是什么\"的骨架。","BEGINNER","大模型认知",{"id":22,"slug":23,"title":24,"description":25,"level":19,"topic":26,"url":10,"content":10,"sortOrder":22},2,"part-2-llm-principles","Part 2 · 大模型原理 · 入门实操","这一站不卷数学，只把\"理解模型所需的知识\"讲透。；站 2A 解决\"理解模型\"，站 2B 解决\"面试能答\"。；这一层是\"有余力再做\"，不做也不影响你进入站 3。","大模型原理",{"id":28,"slug":29,"title":30,"description":31,"level":19,"topic":26,"url":10,"content":10,"sortOrder":32},100,"part-3-llm-principles-deep","Part 3 · 大模型原理 · 面试深入","数学基础、机器学习、神经网络、词向量、思维链等面试必考原理",3,{"id":34,"slug":35,"title":36,"description":37,"level":8,"topic":26,"url":10,"content":10,"sortOrder":38},101,"part-4-llm-principles-advanced","Part 4 · 大模型原理 · 进阶可选","从零写迷你模型、RLHF、PPO、分布式训练实操等进阶内容",4,{"id":32,"slug":40,"title":41,"description":42,"level":19,"topic":43,"url":10,"content":10,"sortOrder":44},"part-5-prompt-engineering","Part 5 · Prompt 提示词工程","从这里开始，你每天都要真的调大模型 API。","提示工程",5,{"id":38,"slug":46,"title":47,"description":48,"level":19,"topic":49,"url":10,"content":10,"sortOrder":50},"part-6-llm-api","Part 6 · 大模型 API 调用","站 3 你已经调通了 API。这一站把\"调用\"做成专业水准：","API 工程",6,{"id":44,"slug":52,"title":53,"description":54,"level":8,"topic":55,"url":10,"content":10,"sortOrder":56},"part-7-rag","Part 7 · RAG 检索增强生成","这一站是\"能落地\"的关键：让模型回答**你的私有知识**。","RAG",7,{"id":50,"slug":58,"title":59,"description":60,"level":8,"topic":55,"url":10,"content":10,"sortOrder":4},"part-8-rag-optimization","Part 8 · RAG 优化与评估","站 5 你做出了\"能跑\"的 RAG。这一站把它做到\"能打\"：",{"id":56,"slug":62,"title":63,"description":64,"level":8,"topic":65,"url":10,"content":10,"sortOrder":66},"part-9-langchain","Part 9 · LangChain 框架","目标：用 LangChain 把\"模型、提示词、检索、记忆、工具\"串成可复用的链和 Agent。","LangChain",9,{"id":4,"slug":5,"title":6,"description":7,"level":8,"topic":9,"url":10,"content":10,"sortOrder":12},{"id":66,"slug":69,"title":70,"description":71,"level":72,"topic":73,"url":10,"content":10,"sortOrder":74},"part-11-multi-agent","Part 11 · 多 Agent 与 Agent IDE","从\"单个 Agent\"升级到\"多 Agent 协作\"，并掌握 AutoGen \u002F LangGraph \u002F GPTs \u002F Coze \u002F Dify 五个工具。","ADVANCED","多 Agent",11,{"id":12,"slug":76,"title":77,"description":78,"level":72,"topic":79,"url":10,"content":10,"sortOrder":80},"part-12-llamaindex","Part 12 · LlamaIndex","站 5~7 你用了 LangChain 做 RAG。LlamaIndex 是另一条专攻\"数据 + LLM\"的路线。","LlamaIndex",12,{"id":74,"slug":82,"title":83,"description":84,"level":72,"topic":85,"url":10,"content":10,"sortOrder":86},"part-13-transformer","Part 13 · Transformer 深入","站 2A 建立了直觉，这一站把手写代码跑通——从\"懂概念\"到\"写得出\"。","Transformer",13,{"id":80,"slug":88,"title":89,"description":90,"level":72,"topic":91,"url":10,"content":10,"sortOrder":92},"part-14-open-models","Part 14 · 开源模型与私有化部署","目标：把主流开源模型在本地\u002F服务器跑通，理解服务化工程（显存、量化、并发）。","模型部署",14,{"id":86,"slug":94,"title":95,"description":96,"level":72,"topic":97,"url":10,"content":10,"sortOrder":98},"part-15-finetuning","Part 15 · 模型微调 Fine-Tuning","目标：理解\"什么时候必须微调、怎么选基座、怎么备数据\"，并完整跑通一次业务微调。","微调",15,{"id":92,"slug":100,"title":101,"description":102,"level":72,"topic":103,"url":10,"content":10,"sortOrder":104},"part-16-peft-lora","Part 16 · PEFT 参数高效微调","重点吃透 **LoRA**：用极少量可训练参数微调大模型（消费级显卡就能跑）。","PEFT\u002FLoRA",16,{"id":98,"slug":106,"title":107,"description":108,"level":72,"topic":109,"url":10,"content":10,"sortOrder":110},"part-17-quantization","Part 17 · 模型量化","目标：理解\"为什么量化、主流算法各自思路\"，能动手量化并评估效果。","量化",17,{"id":104,"slug":112,"title":113,"description":114,"level":72,"topic":115,"url":10,"content":10,"sortOrder":116},"part-18-data-evaluation","Part 18 · 训练数据与模型评估","数据决定模型上限，评估决定你\"能不能交付\"。","数据与评估",18,{"id":110,"slug":118,"title":119,"description":120,"level":72,"topic":121,"url":10,"content":10,"sortOrder":122},"part-19-multimodal","Part 19 · 多模态应用","让 AI 同时\"看得懂图、听得了音、说得出话\"。","多模态",19,{"id":116,"slug":124,"title":125,"description":126,"level":72,"topic":127,"url":10,"content":10,"sortOrder":128},"part-20-projects-career","Part 20 · 项目实战 + 求职备战","把 0→1 到 1→100 学到的全部收敛成**能展示、能讲、能面试**的项目。","项目与求职",20,{"id":130,"slug":131,"title":132,"description":133,"level":72,"topic":134,"url":10,"content":10,"sortOrder":135},102,"extra-2026-ai-tech","额外篇 · 2026 年 AI 应用开发必学的 5 项成熟技术","从近半年爆发的技术里，挑出已经过了尝鲜期、能真正用在项目里的 5 项：推理模型、MCP、多模态、GraphRAG、AI 编程工具链，每项都给到能跑通的代码。","AI 工程实践",21]