[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"learning-part-11-multi-agent":3,"learning-all":13},{"id":4,"slug":5,"title":6,"description":7,"level":8,"topic":9,"url":10,"content":11,"sortOrder":12},9,"part-11-multi-agent","Part 11 · 多 Agent 与 Agent IDE","从\"单个 Agent\"升级到\"多 Agent 协作\"，并掌握 AutoGen \u002F LangGraph \u002F GPTs \u002F Coze \u002F Dify 五个工具。","ADVANCED","多 Agent",null,"# Part 9 · 多 Agent 与 Agent IDE\r\n\r\n\r\n---\r\n\r\n## Section 1 · AutoGen：两个 Agent 互相聊天\r\n\r\n**Subsection 1 · 装库**\r\ncmd：`pip install autogen-agentchat autogen-ext[openai]`\r\n\r\n> AutoGen 0.4 之后包结构大改：不再是 `pyautogen`，而是拆成 `autogen-core`（核心）、`autogen-agentchat`（高层 Agent）、`autogen-ext`（模型客户端等扩展）。\r\n\r\n**Subsection 2 · 跑双 Agent 对话**\r\n新建 `autogen_first.py`：\r\n```python\r\nimport os\r\nimport asyncio\r\nfrom dotenv import load_dotenv\r\nfrom autogen_agentchat.agents import AssistantAgent\r\nfrom autogen_agentchat.teams import RoundRobinGroupChat\r\nfrom autogen_agentchat.ui import Console\r\nfrom autogen_ext.models.openai import OpenAIChatCompletionClient\r\n\r\nload_dotenv()\r\n\r\n# 模型客户端（DeepSeek 兼容 OpenAI 接口）\r\n# deepseek-chat 不在 AutoGen 内置模型白名单，需手动提供 model_info\r\nmodel_client = OpenAIChatCompletionClient(\r\n    model=\"deepseek-chat\",\r\n    api_key=os.getenv(\"DEEPSEEK_API_KEY\"),\r\n    base_url=\"https:\u002F\u002Fapi.deepseek.com\",\r\n    model_info={\r\n        \"vision\": False,\r\n        \"function_calling\": True,\r\n        \"json_output\": True,\r\n        \"structured_output\": True,\r\n        \"family\": \"unknown\",\r\n    },\r\n)\r\n\r\n# 两个角色：一个提问，一个回答\r\n# ⚠️ agent 的 name 只能用英文字母、数字、下划线、连字符，不能用中文\r\nquestioner = AssistantAgent(\r\n    name=\"questioner\",\r\n    model_client=model_client,\r\n    system_message=\"你是提问者，负责提出有趣的问题。每次只提一个问题，不要回答。\",\r\n)\r\nanswerer = AssistantAgent(\r\n    name=\"answerer\",\r\n    model_client=model_client,\r\n    system_message=\"你是回答者，负责详细回答提问者的问题。\",\r\n)\r\n\r\n# 轮流对话团队，最多 3 轮\r\nteam = RoundRobinGroupChat([questioner, answerer], max_turns=3)\r\n\r\n# 新版 AutoGen 是 async 的，必须用 asyncio.run\r\nasync def main():\r\n    await Console(team.run_stream(task=\"我们来聊聊人工智能。你先提个问题吧。\"))\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(main())\r\n```\r\n- ✅ 预期看到：两个 agent 你来我往聊了几轮。\r\n- 💡 AutoGen 的核心思想：**多个 agent 各自有角色，对话式协作**。\r\n- ⚠️ 三个坑：① 装 `autogen-agentchat` 不是 `pyautogen`；② agent name 不能用中文；③ 非 OpenAI 模型要传 `model_info`。\r\n\r\n**过关**：双 agent 对话跑通 = Section 1 完成。\r\n\r\n---\r\n\r\n## Section 2 · AutoGen：规划者 + 执行者分工\r\n\r\n**Subsection 1 · 跑三角色协作**\r\n新建 `autogen_team.py`：让\"规划者\"拆任务，\"程序员\"实现，\"评论者\"验收：\r\n```python\r\nimport os\r\nimport asyncio\r\nfrom dotenv import load_dotenv\r\nfrom autogen_agentchat.agents import AssistantAgent\r\nfrom autogen_agentchat.teams import RoundRobinGroupChat\r\nfrom autogen_agentchat.ui import Console\r\nfrom autogen_ext.models.openai import OpenAIChatCompletionClient\r\n\r\nload_dotenv()\r\n\r\nmodel_client = OpenAIChatCompletionClient(\r\n    model=\"deepseek-chat\",\r\n    api_key=os.getenv(\"DEEPSEEK_API_KEY\"),\r\n    base_url=\"https:\u002F\u002Fapi.deepseek.com\",\r\n    model_info={\"vision\": False, \"function_calling\": True, \"json_output\": True, \"structured_output\": True, \"family\": \"unknown\"},\r\n)\r\n\r\nplanner = AssistantAgent(name=\"planner\", model_client=model_client, system_message=\"你负责把任务拆成步骤，输出计划后结束。\")\r\ncoder = AssistantAgent(name=\"coder\", model_client=model_client, system_message=\"你是Python工程师，负责写代码。\")\r\ncritic = AssistantAgent(name=\"critic\", model_client=model_client, system_message=\"你审查代码，指出问题后结束。\")\r\n\r\nteam = RoundRobinGroupChat([planner, coder, critic], max_turns=3)\r\n\r\nasync def main():\r\n    await Console(team.run_stream(task=\"写一个Python函数：输入数字n，返回1到n的和。\"))\r\n\r\nif __name__ == \"__main__\":\r\n    asyncio.run(main())\r\n```\r\n- ✅ 预期看到：规划→写码→（评论）的多角色流转。\r\n- 💡 多 Agent 价值：**专业分工 + 互相检查**，比单个 agent 稳。\r\n- 💡 `RoundRobinGroupChat` 按列表顺序轮流发言；如果需要更智能的路由（比如根据内容决定下一个谁说话），用 `SelectorGroupChat`。\r\n\r\n**过关**：多角色跑通 = Section 2 完成。\r\n\r\n---\r\n\r\n## Section 3 · MetaGPT：模拟软件公司\r\n\r\n**Subsection 1 · 部署 MetaGPT**\r\n- 打开 https:\u002F\u002Fgithub.com\u002Fgeekan\u002FMetaGPT ，按 README 安装：`pip install metagpt`\r\n- 配置 Key：在 `config\u002Fconfig2.yaml` 里把 api_key 改成你的 DeepSeek Key，model 改 `deepseek-chat`。\r\n- 跑：`metagpt \"写一个贪吃蛇小游戏\"`（国内网络可能较慢\u002F需代理，跑不动就看 README 截图写笔记）。\r\n- ✅ 预期看到：自动产出需求文档 + 代码 + 测试。\r\n- 💡 这是\"Agent 模拟一个团队\"的极致演示。\r\n\r\n**过关**：跑通或写出笔记 = Section 3 完成。\r\n\r\n---\r\n\r\n## Section 4 · LangGraph 进阶：节点\u002F边\u002F条件边\r\n\r\n**Subsection 1 · 跑条件分支**\r\n新建 `lg_branch.py`：\r\n```python\r\nfrom typing import TypedDict, Literal\r\nfrom langgraph.graph import StateGraph, END\r\n\r\nclass State(TypedDict):\r\n    value: int\r\n    result: str\r\n\r\ndef check(state: State):\r\n    v = state[\"value\"]\r\n    return {\"result\": \"大\" if v > 10 else \"小\"}\r\n\r\n# 根据条件走不同边\r\ndef route(state: State) -> Literal[\"big\", \"small\"]:\r\n    return \"big\" if state[\"value\"] > 10 else \"small\"\r\n\r\ndef big(state: State):\r\n    return {\"result\": state[\"result\"] + \"于10\"}\r\n\r\ndef small(state: State):\r\n    return {\"result\": state[\"result\"] + \"于等于10\"}\r\n\r\ng = StateGraph(State)\r\ng.add_node(\"check\", check)\r\ng.add_node(\"big\", big)\r\ng.add_node(\"small\", small)\r\ng.set_entry_point(\"check\")\r\ng.add_conditional_edges(\"check\", route, {\"big\": \"big\", \"small\": \"small\"})\r\ng.add_edge(\"big\", END)\r\ng.add_edge(\"small\", END)\r\n\r\napp = g.compile()\r\nprint(app.invoke({\"value\": 15}))   # result: 大于10\r\nprint(app.invoke({\"value\": 3}))    # result: 小于等于10\r\n```\r\n- ✅ 预期看到：`{'value': 15, 'result': '大于10'}` 和 `{'value': 3, 'result': '小于等于10'}`。\r\n- 💡 **条件边** = Agent 的\"决策\"：根据状态走不同分支。这是 Agent 大脑的骨架。\r\n\r\n**过关**：条件分支跑通 = Section 4 完成。\r\n\r\n---\r\n\r\n## Section 5 · LangGraph + 工具（真正可控的 Agent）\r\n\r\n**Subsection 1 · 跑图里调工具**\r\n新建 `lg_agent.py`：\r\n```python\r\nfrom typing import TypedDict\r\nfrom langgraph.graph import StateGraph, END\r\nfrom langchain_openai import ChatOpenAI\r\nfrom langchain_core.tools import tool\r\nfrom langchain_core.messages import HumanMessage\r\nimport os\r\nfrom dotenv import load_dotenv\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\ntools = [add]\r\nllm_with_tools = llm.bind_tools(tools)\r\n\r\nclass State(TypedDict):\r\n    messages: list\r\n\r\ndef agent_node(state):\r\n    resp = llm_with_tools.invoke(state[\"messages\"])\r\n    return {\"messages\": state[\"messages\"] + [resp]}\r\n\r\ndef tools_node(state):\r\n    last = state[\"messages\"][-1]\r\n    results = []\r\n    for call in last.tool_calls:\r\n        if call[\"name\"] == \"add\":\r\n            results.append({\"role\": \"tool\", \"content\": str(add.invoke(call[\"args\"])), \"tool_call_id\": call[\"id\"]})\r\n    return {\"messages\": state[\"messages\"] + results}\r\n\r\ndef should_continue(state):\r\n    last = state[\"messages\"][-1]\r\n    return \"tools\" if getattr(last, \"tool_calls\", None) else END\r\n\r\ng = StateGraph(State)\r\ng.add_node(\"agent\", agent_node)\r\ng.add_node(\"tools\", tools_node)\r\ng.set_entry_point(\"agent\")\r\ng.add_conditional_edges(\"agent\", should_continue, {\"tools\": \"tools\", END: END})\r\ng.add_edge(\"tools\", \"agent\")\r\n\r\napp = g.compile()\r\nresult = app.invoke({\"messages\": [HumanMessage(\"计算 7 加 8 等于多少\")]})\r\nprint(\"最终回答:\", result[\"messages\"][-1].content)\r\n```\r\n- ✅ 预期看到：模型自动调 add 工具，算出 15。\r\n- 💡 这就是 LangGraph 版 Agent：**节点=动作，条件边=决策**，比 AgentExecutor 更可控（能加中断、记忆、人工确认）。\r\n\r\n**过关**：LangGraph 调工具跑通 = Section 5 完成。\r\n\r\n---\r\n\r\n## Section 6 · LangGraph 记忆（跨轮保存状态）\r\n\r\n**Subsection 1 · 加 MemorySaver**\r\n在 Section 5 代码基础上：\r\n```python\r\nfrom langgraph.checkpoint.memory import MemorySaver\r\n\r\nmemory = MemorySaver()\r\napp = g.compile(checkpointer=memory)\r\n\r\n# 用 thread_id 区分不同会话\r\nconfig = {\"configurable\": {\"thread_id\": \"1\"}}\r\napp.invoke({\"messages\": [HumanMessage(\"我叫小明\")]}, config)\r\nr = app.invoke({\"messages\": [HumanMessage(\"我叫什么名字？\")]}, config)\r\nprint(r[\"messages\"][-1].content)   # 记得\"小明\"\r\n```\r\n- ✅ 预期看到：第二个问题记得上一轮内容。\r\n- 💡 **thread_id = 会话 ID**，不同用户\u002F不同会话互不干扰。这是产品级 Agent 的记忆方案。\r\n\r\n**过关**：跨轮记忆跑通 = Section 6 完成。\r\n\r\n---\r\n\r\n## Section 7 · GPTs（不写代码做 Agent）\r\n\r\n**Subsection 1 · 创建一个 GPT**\r\n- 打开 https:\u002F\u002Fchatgpt.com\u002Fgpts （需要 ChatGPT 账号，没有就注册）\r\n- 点\"Create a GPT\"→ 在对话里用自然语言描述你的 Agent（如\"你是我的周报助手\"）→ 加 Instructions + Knowledge（上传资料）→ 发布\r\n- ✅ 预期看到：一个能对话、能用你资料回答的 GPT。\r\n- 💡 GPTs = 不写代码，用\"配置\"做 Agent。适合快速原型。\r\n\r\n**过关**：创建并发布一个 GPT = Section 7 完成。\r\n\r\n---\r\n\r\n## Section 8 · Assistants API（GPTs 的编程版）\r\n\r\n**Subsection 1 · 概念**\r\n```\r\nAssistants API 核心概念：\r\n  Assistant  一个\"助手\"配置（指令+模型+工具）\r\n  Thread     一段会话的\"线程\"（装消息）\r\n  Message    一条消息（用户\u002F助手）\r\n  Run        让助手跑一次（可异步）\r\n```\r\n- 💡 对比 GPTs：GPTs 是网页配置版，Assistants API 是代码版。我们用 LangChain\u002FOpenAI SDK 就能调。\r\n\r\n**过关**：能说出 Thread \u002F Message \u002F Run 各是什么 = Section 8 完成。\r\n\r\n---\r\n\r\n## Section 9 · Coze 扣子：人设 + 插件\r\n\r\n**Subsection 1 · 注册 Coze**\r\n- 打开 https:\u002F\u002Fwww.coze.cn 用手机号\u002F抖音登录。\r\n\r\n**Subsection 2 · 搭第一个机器人**\r\n- 点\"创建 Bot\"→ 填写：名字（如\"我的学习助手\"）、人设与回复逻辑（写\"你是一个……\"）\r\n- 在\"插件\"里点\"添加插件\"，加一个\"联网搜索\"或\"天气查询\"插件\r\n- 点右上角\"预览\u002F调试\"，问它问题\r\n- ✅ 预期看到：机器人按人设回答，还能用插件查实时信息。\r\n- 💡 Coze 是字节的零代码 Agent 平台：**人设 + 插件 + 工作流 + 知识库** 四件套。\r\n\r\n**过关**：Bot 创建并带插件跑通 = Section 9 完成。\r\n\r\n---\r\n\r\n## Section 10 · Coze 工作流\r\n\r\n**Subsection 1 · 搭一个工作流**\r\n- 在 Coze 的 Bot 编辑页，左侧切到\"工作流\"→ 新建\r\n- 拖三个节点串起来：**开始 → LLM（让模型写文案）→ 结束（输出）**\r\n- 保存，在预览里调用这个工作流\r\n- ✅ 预期看到：一句话输入 → 经过模型 → 输出文案。\r\n- 💡 工作流 = 把多个步骤可视化编排（类似 LangGraph 的图形界面版）。\r\n\r\n**过关**：工作流跑通 = Section 10 完成。\r\n\r\n---\r\n\r\n## Section 11 · Coze 知识库 \u002F 记忆 \u002F 发布\r\n\r\n**Subsection 1 · 加知识库**\r\n- 在 Bot 编辑页 → 知识库 → 新建 → 上传你的 company.md → 关联到 Bot\r\n- 问它资料里的问题\r\n- ✅ 预期看到：能回答你的私有资料。\r\n\r\n**Subsection 2 · 记忆 + 发布**\r\n- 打开\"记忆\"（数据库\u002F变量），添加一个\"用户偏好\"变量\r\n- 点\"发布\"，选一个渠道（如\"网页\u002F小程序\"），生成访问链接\r\n- ✅ 预期看到：发布成功，得到一个能分享的链接。\r\n- 💡 到这里，你已经用**零代码**做出了一个带知识库、记忆、可发布的产品——这就是 Agent IDE 的意义。\r\n\r\n**过关**：知识库 + 发布完成 = Section 11 完成。\r\n\r\n---\r\n\r\n## Section 12 · Dify 部署（开源编排平台）\r\n\r\n**Subsection 1 · 装 Docker Desktop**\r\n- 打开 https:\u002F\u002Fwww.docker.com\u002Fproducts\u002Fdocker-desktop\u002F 下载安装，装完启动。\r\n- ✅ 预期看到：Docker Desktop 正常运行（右下角鲸鱼图标）。\r\n\r\n**Subsection 2 · 一键部署 Dify**\r\n- 打开 https:\u002F\u002Fdocs.dify.ai\u002Fzh-hans\u002Fgetting-started\u002Finstall-self-hosted\u002Fdocker-compose ，按文档执行 docker compose 命令。\r\n- 启动后浏览器打开 `http:\u002F\u002Flocalhost\u002F`（或文档指定端口）\r\n- ✅ 预期看到：Dify 登录页，注册个本地账号进入。\r\n- ❌ 网络\u002F资源失败：记录原因，跳到 Section 14 直接做对比笔记，也算完成。\r\n\r\n**过关**：Dify 跑起来或写出原因 = Section 12 完成。\r\n\r\n---\r\n\r\n## Section 13 · Dify 搭知识库问答应用\r\n\r\n**Subsection 1 · 在 Dify 里建应用**\r\n- Dify 首页 → \"创建空白应用\" → 选\"聊天助手\"\r\n- 左侧\"编排\"页：添加\"知识库\"节点 → 上传 company.md → 模型选 DeepSeek（在设置里配 API Key）\r\n- 右侧预览窗口问它\"迟到怎么处理\"\r\n- ✅ 预期看到：Dify 里的知识库问答跑通。\r\n- 💡 对比Part 5 手写 RAG：Dify 把检索\u002F编排全可视化，几分钟搭完。\r\n\r\n**过关**：Dify 知识库问答跑通 = Section 13 完成。\r\n\r\n---\r\n\r\n## Section 14 · 三大 Agent 平台对比\r\n\r\n**Subsection 1 · 写对比笔记**\r\n在备忘录做一张表：\r\n```\r\n          GPTs         Coze        Dify\r\n定位      闭源网页版    字节零代码    开源自部署\r\n知识库    ✓           ✓           ✓\r\n工作流    简单          强          强\r\n私有化    ✗           ✗(云)       ✓(自部署)\r\n适合      快速原型      国内快速产品  要源码\u002F私有化\r\n```\r\n- 💡 结论：**先 Coze 快速验证，要私有化\u002F深度定制再上 Dify；GPTs 适合海外场景**。\r\n\r\n**过关**：对比笔记写完 = Section 14 完成。\r\n\r\n---\r\n\r\n## Section 15 · 站 9 验收\r\n\r\n**勾选**\r\n- [ ] AutoGen 双\u002F多角色协作跑通\r\n- [ ] MetaGPT 跑通或笔记完成\r\n- [ ] LangGraph 条件边 + 工具 + 记忆跑通（Section 4~6）\r\n- [ ] 创建并发布一个 GPTs\r\n- [ ] 能说出 Assistants API 核心概念\r\n- [ ] Coze：人设+插件+工作流+知识库+发布 全部走通\r\n- [ ] Dify 部署 + 知识库问答走通\r\n- [ ] 三平台对比笔记完成\r\n\r\n**写 300 字Part 9 总结**：多 Agent 和 Agent IDE 各解决什么问题，你更喜欢哪个平台。\r\n\r\n**全勾选 = Part 11 通过** → 进入下一站 Part 12 · LlamaIndex，5 天）。",11,[14,21,27,33,40,46,52,58,63,68,74,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":38,"topic":26,"url":10,"content":10,"sortOrder":39},101,"part-4-llm-principles-advanced","Part 4 · 大模型原理 · 进阶可选","从零写迷你模型、RLHF、PPO、分布式训练实操等进阶内容","INTERMEDIATE",4,{"id":32,"slug":41,"title":42,"description":43,"level":19,"topic":44,"url":10,"content":10,"sortOrder":45},"part-5-prompt-engineering","Part 5 · Prompt 提示词工程","从这里开始，你每天都要真的调大模型 API。","提示工程",5,{"id":39,"slug":47,"title":48,"description":49,"level":19,"topic":50,"url":10,"content":10,"sortOrder":51},"part-6-llm-api","Part 6 · 大模型 API 调用","站 3 你已经调通了 API。这一站把\"调用\"做成专业水准：","API 工程",6,{"id":45,"slug":53,"title":54,"description":55,"level":38,"topic":56,"url":10,"content":10,"sortOrder":57},"part-7-rag","Part 7 · RAG 检索增强生成","这一站是\"能落地\"的关键：让模型回答**你的私有知识**。","RAG",7,{"id":51,"slug":59,"title":60,"description":61,"level":38,"topic":56,"url":10,"content":10,"sortOrder":62},"part-8-rag-optimization","Part 8 · RAG 优化与评估","站 5 你做出了\"能跑\"的 RAG。这一站把它做到\"能打\"：",8,{"id":57,"slug":64,"title":65,"description":66,"level":38,"topic":67,"url":10,"content":10,"sortOrder":4},"part-9-langchain","Part 9 · LangChain 框架","目标：用 LangChain 把\"模型、提示词、检索、记忆、工具\"串成可复用的链和 Agent。","LangChain",{"id":62,"slug":69,"title":70,"description":71,"level":38,"topic":72,"url":10,"content":10,"sortOrder":73},"part-10-agent","Part 10 · Agent 基础","让模型从\"会聊天\"变成\"能干活\"：自己拆任务、调工具、看结果、再行动。","Agent",10,{"id":4,"slug":5,"title":6,"description":7,"level":8,"topic":9,"url":10,"content":10,"sortOrder":12},{"id":73,"slug":76,"title":77,"description":78,"level":8,"topic":79,"url":10,"content":10,"sortOrder":80},"part-12-llamaindex","Part 12 · LlamaIndex","站 5~7 你用了 LangChain 做 RAG。LlamaIndex 是另一条专攻\"数据 + LLM\"的路线。","LlamaIndex",12,{"id":12,"slug":82,"title":83,"description":84,"level":8,"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":8,"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":8,"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":8,"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":8,"topic":109,"url":10,"content":10,"sortOrder":110},"part-17-quantization","Part 17 · 模型量化","目标：理解\"为什么量化、主流算法各自思路\"，能动手量化并评估效果。","量化",17,{"id":104,"slug":112,"title":113,"description":114,"level":8,"topic":115,"url":10,"content":10,"sortOrder":116},"part-18-data-evaluation","Part 18 · 训练数据与模型评估","数据决定模型上限，评估决定你\"能不能交付\"。","数据与评估",18,{"id":110,"slug":118,"title":119,"description":120,"level":8,"topic":121,"url":10,"content":10,"sortOrder":122},"part-19-multimodal","Part 19 · 多模态应用","让 AI 同时\"看得懂图、听得了音、说得出话\"。","多模态",19,{"id":116,"slug":124,"title":125,"description":126,"level":8,"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":8,"topic":134,"url":10,"content":10,"sortOrder":135},102,"extra-2026-ai-tech","额外篇 · 2026 年 AI 应用开发必学的 5 项成熟技术","从近半年爆发的技术里，挑出已经过了尝鲜期、能真正用在项目里的 5 项：推理模型、MCP、多模态、GraphRAG、AI 编程工具链，每项都给到能跑通的代码。","AI 工程实践",21]