《大模型与智能体》电子书与 6 个编程任务:Transformer、mini-GPT、SFT/DPO、RAG、工具调用与编程智能体。
See the code《大模型与智能体》电子书与 6 个循序渐进的编程任务
本书介绍 · 下载 PDF · 六个任务 · 环境与自检 · 问题反馈
![]() |
大模型与智能体邱锡鹏著。从神经网络与 Transformer 出发,讲解大模型如何训练、如何与人对齐,以及如何借助工具、记忆与规划构建智能体。 全书 17 章,分为共用基础、大模型、智能体、边界与未来四个部分,涵盖原理、系统构建、应用与治理。 |
读书可以先从上方 PDF 开始;想动手实践,可从下方任务一开始。书与练习可独立学习,练习需要 Python 与深度学习基础,无需先完成系列其他教材。书稿处于出版筹备阶段,内容随修订更新。
LLM-Beginner 由 NLP-Beginner重构而来,沿着 Transformer → mini-GPT → 微调与对齐 → RAG → 工具调用 → 编程智能体逐步推进。每项任务先实现关键组件,再对照框架,并用自检脚本检查结果。
| 任务与入口 | 你将完成什么 | 建议用时 |
|---|---|---|
| 1 · 熟悉 Transformer | 手写注意力与 Transformer,用中文分类任务观察注意力权重 | 2 周 |
| 2 · 从零实现 mini-GPT | 训练小型语言模型,实现分词、RoPE、KV Cache 与采样 | 3 周 |
| 3 · 指令微调与偏好对齐 | 手写 LoRA,完成 SFT 与 DPO,对比微调效果 | 2—3 周 |
| 4 · RAG 文档问答 | 构建检索、重排与生成流程,并评测问答质量 | 2 周 |
| 5 · 工具调用 Agent | 实现 ReAct 循环、工具调用与错误恢复 | 2 周 |
| 6 · Mini Coding Agent | 构建能修改代码、运行测试并迭代的编程智能体 | 5—6 周 |
用时是学习节奏建议,可按基础与实验规模调整。各目录提供实现要求、数据脚本、接口约定与自检,实现代码由学习者在 src/ 中完成。已有基础时可以选做,所需前置能力见各任务说明。
六个任务目录结构一致:每个任务下都有 requirements.txt(依赖)、data/download.py(下载数据 / 模型)、eval/run.py(自检脚本)和 eval/tutor_prompt.md(贴给大模型做代码 review 的提示词)。你的实现写在各任务的 src/ 下,按该任务 README「实现约定」表里列出的类 / 函数签名导出——自检脚本正是按这些签名导入并评测你的代码,照着写才能被正确评分。
Python:3.10+(推荐 3.11 / 3.12)。
按任务装依赖(各任务相互独立,可共用一个环境,也可每个任务单独建 venv / conda):
pip install -r task-1-transformer/requirements.txt
国内下载加速:Hugging Face 访问不稳时先设镜像再下载(download 脚本在缺失时也会提示):
export HF_ENDPOINT=https://hf-mirror.com
# Windows PowerShell:$env:HF_ENDPOINT = "https://hf-mirror.com"
完全无法访问 HF 时,多数数据 / 模型可改用 ModelScope(见各 download.py 末尾提示)。
cd task-1-transformer
python data/download.py # 1. 下载数据 / 模型(命令见下表,部分任务带参数)
# 2. 在 src/ 下写好你的实现(见本任务 README「实现约定」)
python eval/run.py # 3. 跑自检,结果写入 eval/result.json
⚠️ 请在仓库内运行
eval/run.py:它依赖仓库根目录的_eval_harness.py(六个任务共用的运行壳)。把单个任务目录拷到仓库外会导致自检无法 import。
| 任务 | 下载命令(在任务目录下执行) | 说明 |
|---|---|---|
| 一 Transformer | python data/download.py | ChnSentiCorp 中文情感分类 |
| 二 mini-GPT | python data/download.py [--dataset poetry|tinystories|skypile] | 默认 poetry(唐诗,quick-start) |
| 三 SFT/DPO | python data/download.py | 下载 Qwen2.5-0.5B,并提示 MOSS / DPO 数据获取方式 |
| 四 RAG | python data/download.py [--skip-models] | BGE 模型 + NNDL PDF + 校验 gold_qa;--skip-models 只下 PDF 并校验 |
| 五 工具 Agent | python data/download.py | 生成 10 题任务集与检索夹具,并打印模型部署提示 |
| 六 Coding Agent | python data/download.py [--with-swebench] | 生成本地 toy-repo;--with-swebench 额外下载 SWE-bench Lite 抽样元数据 |
eval/run.py 逐项打印,并把结构化结果写入 eval/result.json(始终 UTF-8,可附在提交里)。每项有三种状态:
ckpt / 数据缺失),不是错误——补齐后重跑即可。error 或具体指标,照着修。自检只验证关键契约(如 attention 数值正确性、召回率、任务成功率),是“能不能跑对”的下限检查,不替代你自己跑各任务 README「实验」里的对比与消融。Windows 控制台中文乱码已由脚本自动处理(sys.stdout.reconfigure),无需额外设置。
每个任务的 eval/tutor_prompt.md 是一段可直接复制的提示词:连同 src/ 下的代码一起贴给 Claude / Qwen / DeepSeek 等,就能拿到一份按该任务检查项组织的代码审查。
展开查看参考材料、实现要求与实验建议;具体接口和自检标准以各任务目录为准。
文中的 NNDL2 指《神经网络与深度学习》第二版,实践书 v2 指《案例与实践》第二版。
详细资源、数据下载与自检脚本见 task-1-transformer/
手写 self-attention 与 Transformer block,在小任务上跑通并可视化注意力权重。本任务和实践书 v2《注意力机制》章节有意重叠——为独立读者打下从零起步的 Transformer 基础。
详细资源、数据下载与自检脚本见 task-2-mini-gpt/
用 PyTorch 从零搭一个 decoder-only 模型,先在中文小语料上预训练并自回归生成,进阶再切到 TinyStories 或中文故事语料观察小模型叙事能力。本任务扩展实践书 v2「nanoGPT 模型」的带读:加入 BPE、RoPE、KV cache。
详细资源、数据下载与自检脚本见 task-3-sft-dpo/
在小尺寸预训练模型上做 SFT + DPO 两阶段对齐,理解从 base model 到 chat model 的全过程。本任务扩展实践书 v2「监督微调与 LoRA」「偏好对齐:DPO」两节:手写 LoRA、改用 MOSS 中英双语对话数据、做完整的"指令格式 → 偏好"两阶段闭环。
详细资源、数据下载与自检脚本见 task-4-rag/
构建端到端中文检索增强生成系统,并量化每个环节的提升。本任务扩展实践书 v2 RAG 节的最小示例:加入 reranker、chunking 策略消融、RAGAS 评测。
task-4-rag/data/kb.pdf)../神经网络与深度学习2/ LaTeX 正文设计的 task-4-rag/data/gold_qa.jsonl详细资源、数据下载与自检脚本见 task-5-tool-agent/
实现 ReAct 循环,让 LLM 自主调用工具完成多步任务。本任务扩展实践书 v2 ReAct 节的单工具示例:扩展到 4 类工具、错误恢复、与 Qwen-Agent 框架对照。
详细资源、数据下载与自检脚本见 task-6-coding-agent/
复刻一个极简版 Claude Code,能在本地仓库上理解任务、修改代码、运行测试并迭代。本任务完全超出实践书 v2 的覆盖范围,引入 MCP、Skill、Subagent 三层栈。
参考
能力三层栈
| 层 | 概念 | 角色 |
|---|---|---|
| 底层 | Tools / MCP | 原子工具,通过 MCP server 接入,无状态、可跨 agent 复用 |
| 中层 | Skills | 组织化的能力包(SKILL.md + scripts + references),按需加载、渐进式披露 |
| 顶层 | Subagents | 独立 context 的子 agent,处理可并行或需隔离的子任务 |
实现要求
code-review、pr-description-writer、test-runner),并实现一个约 50 行的 mini-Skill 加载器(description 匹配 + 按需加载文件内容到上下文)while not done: model -> tool -> observation -> loop任务范围
知识点
实验
时间:5-6 周(全系列最大跳变:子系统最多、且完全超出教材覆盖)
| 维度 | 设计选择 |
|---|---|
| 定位 | 独立入门教程,可与 NNDL2、实践书 v2 配合阅读,但可独立完成、无强依赖 |
| 教学路线 | 每项任务「先手写、再对照框架」,理解原理在前 |
| 技术栈 | 本地化优先,依赖 Hugging Face / 阿里 Qwen / 国产开源生态,国内畅通 |
| 数据贯通 | MOSS 系列从任务三贯通到任务五(教格式 → 真调用);唐诗数据从原 nlp-beginner 任务五延续到新任务二 |
| 模型贯通 | Qwen2.5 体系:0.5B(任务 3)→ 7B-Instruct(任务 4-5)→ Coder-7B(任务 6);任务二从零训练、不属此体系 |
| 技术覆盖 | RoPE、LoRA、DPO、RAG、ReAct、MCP、Skill、Subagent、CodeAct |
Python
100.0%
《大模型与智能体》电子书与 6 个编程任务:Transformer、mini-GPT、SFT/DPO、RAG、工具调用与编程智能体。
See the code《大模型与智能体》电子书与 6 个循序渐进的编程任务
本书介绍 · 下载 PDF · 六个任务 · 环境与自检 · 问题反馈
![]() |
大模型与智能体邱锡鹏著。从神经网络与 Transformer 出发,讲解大模型如何训练、如何与人对齐,以及如何借助工具、记忆与规划构建智能体。 全书 17 章,分为共用基础、大模型、智能体、边界与未来四个部分,涵盖原理、系统构建、应用与治理。 |
读书可以先从上方 PDF 开始;想动手实践,可从下方任务一开始。书与练习可独立学习,练习需要 Python 与深度学习基础,无需先完成系列其他教材。书稿处于出版筹备阶段,内容随修订更新。
LLM-Beginner 由 NLP-Beginner重构而来,沿着 Transformer → mini-GPT → 微调与对齐 → RAG → 工具调用 → 编程智能体逐步推进。每项任务先实现关键组件,再对照框架,并用自检脚本检查结果。
| 任务与入口 | 你将完成什么 | 建议用时 |
|---|---|---|
| 1 · 熟悉 Transformer | 手写注意力与 Transformer,用中文分类任务观察注意力权重 | 2 周 |
| 2 · 从零实现 mini-GPT | 训练小型语言模型,实现分词、RoPE、KV Cache 与采样 | 3 周 |
| 3 · 指令微调与偏好对齐 | 手写 LoRA,完成 SFT 与 DPO,对比微调效果 | 2—3 周 |
| 4 · RAG 文档问答 | 构建检索、重排与生成流程,并评测问答质量 | 2 周 |
| 5 · 工具调用 Agent | 实现 ReAct 循环、工具调用与错误恢复 | 2 周 |
| 6 · Mini Coding Agent | 构建能修改代码、运行测试并迭代的编程智能体 | 5—6 周 |
用时是学习节奏建议,可按基础与实验规模调整。各目录提供实现要求、数据脚本、接口约定与自检,实现代码由学习者在 src/ 中完成。已有基础时可以选做,所需前置能力见各任务说明。
六个任务目录结构一致:每个任务下都有 requirements.txt(依赖)、data/download.py(下载数据 / 模型)、eval/run.py(自检脚本)和 eval/tutor_prompt.md(贴给大模型做代码 review 的提示词)。你的实现写在各任务的 src/ 下,按该任务 README「实现约定」表里列出的类 / 函数签名导出——自检脚本正是按这些签名导入并评测你的代码,照着写才能被正确评分。
Python:3.10+(推荐 3.11 / 3.12)。
按任务装依赖(各任务相互独立,可共用一个环境,也可每个任务单独建 venv / conda):
pip install -r task-1-transformer/requirements.txt
国内下载加速:Hugging Face 访问不稳时先设镜像再下载(download 脚本在缺失时也会提示):
export HF_ENDPOINT=https://hf-mirror.com
# Windows PowerShell:$env:HF_ENDPOINT = "https://hf-mirror.com"
完全无法访问 HF 时,多数数据 / 模型可改用 ModelScope(见各 download.py 末尾提示)。
cd task-1-transformer
python data/download.py # 1. 下载数据 / 模型(命令见下表,部分任务带参数)
# 2. 在 src/ 下写好你的实现(见本任务 README「实现约定」)
python eval/run.py # 3. 跑自检,结果写入 eval/result.json
⚠️ 请在仓库内运行
eval/run.py:它依赖仓库根目录的_eval_harness.py(六个任务共用的运行壳)。把单个任务目录拷到仓库外会导致自检无法 import。
| 任务 | 下载命令(在任务目录下执行) | 说明 |
|---|---|---|
| 一 Transformer | python data/download.py | ChnSentiCorp 中文情感分类 |
| 二 mini-GPT | python data/download.py [--dataset poetry|tinystories|skypile] | 默认 poetry(唐诗,quick-start) |
| 三 SFT/DPO | python data/download.py | 下载 Qwen2.5-0.5B,并提示 MOSS / DPO 数据获取方式 |
| 四 RAG | python data/download.py [--skip-models] | BGE 模型 + NNDL PDF + 校验 gold_qa;--skip-models 只下 PDF 并校验 |
| 五 工具 Agent | python data/download.py | 生成 10 题任务集与检索夹具,并打印模型部署提示 |
| 六 Coding Agent | python data/download.py [--with-swebench] | 生成本地 toy-repo;--with-swebench 额外下载 SWE-bench Lite 抽样元数据 |
eval/run.py 逐项打印,并把结构化结果写入 eval/result.json(始终 UTF-8,可附在提交里)。每项有三种状态:
ckpt / 数据缺失),不是错误——补齐后重跑即可。error 或具体指标,照着修。自检只验证关键契约(如 attention 数值正确性、召回率、任务成功率),是“能不能跑对”的下限检查,不替代你自己跑各任务 README「实验」里的对比与消融。Windows 控制台中文乱码已由脚本自动处理(sys.stdout.reconfigure),无需额外设置。
每个任务的 eval/tutor_prompt.md 是一段可直接复制的提示词:连同 src/ 下的代码一起贴给 Claude / Qwen / DeepSeek 等,就能拿到一份按该任务检查项组织的代码审查。
展开查看参考材料、实现要求与实验建议;具体接口和自检标准以各任务目录为准。
文中的 NNDL2 指《神经网络与深度学习》第二版,实践书 v2 指《案例与实践》第二版。
详细资源、数据下载与自检脚本见 task-1-transformer/
手写 self-attention 与 Transformer block,在小任务上跑通并可视化注意力权重。本任务和实践书 v2《注意力机制》章节有意重叠——为独立读者打下从零起步的 Transformer 基础。
详细资源、数据下载与自检脚本见 task-2-mini-gpt/
用 PyTorch 从零搭一个 decoder-only 模型,先在中文小语料上预训练并自回归生成,进阶再切到 TinyStories 或中文故事语料观察小模型叙事能力。本任务扩展实践书 v2「nanoGPT 模型」的带读:加入 BPE、RoPE、KV cache。
详细资源、数据下载与自检脚本见 task-3-sft-dpo/
在小尺寸预训练模型上做 SFT + DPO 两阶段对齐,理解从 base model 到 chat model 的全过程。本任务扩展实践书 v2「监督微调与 LoRA」「偏好对齐:DPO」两节:手写 LoRA、改用 MOSS 中英双语对话数据、做完整的"指令格式 → 偏好"两阶段闭环。
详细资源、数据下载与自检脚本见 task-4-rag/
构建端到端中文检索增强生成系统,并量化每个环节的提升。本任务扩展实践书 v2 RAG 节的最小示例:加入 reranker、chunking 策略消融、RAGAS 评测。
task-4-rag/data/kb.pdf)../神经网络与深度学习2/ LaTeX 正文设计的 task-4-rag/data/gold_qa.jsonl详细资源、数据下载与自检脚本见 task-5-tool-agent/
实现 ReAct 循环,让 LLM 自主调用工具完成多步任务。本任务扩展实践书 v2 ReAct 节的单工具示例:扩展到 4 类工具、错误恢复、与 Qwen-Agent 框架对照。
详细资源、数据下载与自检脚本见 task-6-coding-agent/
复刻一个极简版 Claude Code,能在本地仓库上理解任务、修改代码、运行测试并迭代。本任务完全超出实践书 v2 的覆盖范围,引入 MCP、Skill、Subagent 三层栈。
参考
能力三层栈
| 层 | 概念 | 角色 |
|---|---|---|
| 底层 | Tools / MCP | 原子工具,通过 MCP server 接入,无状态、可跨 agent 复用 |
| 中层 | Skills | 组织化的能力包(SKILL.md + scripts + references),按需加载、渐进式披露 |
| 顶层 | Subagents | 独立 context 的子 agent,处理可并行或需隔离的子任务 |
实现要求
code-review、pr-description-writer、test-runner),并实现一个约 50 行的 mini-Skill 加载器(description 匹配 + 按需加载文件内容到上下文)while not done: model -> tool -> observation -> loop任务范围
知识点
实验
时间:5-6 周(全系列最大跳变:子系统最多、且完全超出教材覆盖)
| 维度 | 设计选择 |
|---|---|
| 定位 | 独立入门教程,可与 NNDL2、实践书 v2 配合阅读,但可独立完成、无强依赖 |
| 教学路线 | 每项任务「先手写、再对照框架」,理解原理在前 |
| 技术栈 | 本地化优先,依赖 Hugging Face / 阿里 Qwen / 国产开源生态,国内畅通 |
| 数据贯通 | MOSS 系列从任务三贯通到任务五(教格式 → 真调用);唐诗数据从原 nlp-beginner 任务五延续到新任务二 |
| 模型贯通 | Qwen2.5 体系:0.5B(任务 3)→ 7B-Instruct(任务 4-5)→ Coder-7B(任务 6);任务二从零训练、不属此体系 |
| 技术覆盖 | RoPE、LoRA、DPO、RAG、ReAct、MCP、Skill、Subagent、CodeAct |
Python
100.0%