增加每章节 README 文件

This commit is contained in:
2026-09-22 15:57:59 +08:00
parent 8e86665096
commit 9445061c76
49 changed files with 3815 additions and 6 deletions
@@ -0,0 +1,54 @@
# LangChain 基础
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:掌握 LangChain 的 ChatModel / PromptTemplate / LCEL / @tool 四件套。
---
## 📌 学习目的
掌握 LangChain 的 ChatModel / PromptTemplate / LCEL / @tool 四件套。
## ✅ 学习要求(前置条件)
已完成阶段一「06_llm_api_in_practice」。
## 📚 主要学习内容
- ChatModel:ChatOpenAI / ChatDeepSeek / ChatOllama 切换仅改 import
- PromptTemplate / ChatPromptTemplate + Few-shot
- LCEL:`prompt | llm | parser` 表达式语言
- @tool 装饰器:自动生成 JSON Schema / `bind_tools` / `AIMessage.tool_calls`
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 LCEL 拼一条 `prompt | llm | parser` 管道
- [ ] 写一个 @tool 函数并解释 docstring 对模型调用决策的影响
- [ ] 实现 RunnableParallel:检索 + 问题改写两路并发
## 🏁 完成后达成标准
- [ ] 能用 ChatPromptTemplate + LCEL 组装管道
- [ ] 能用 @tool 定义工具并解释 bind_tools 的作用
- [ ] 能说清为什么 Chain 做不了 Agent、必须上 LangGraph
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/01_langchain_basics
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,55 @@
# LangGraph 核心(生产级事实标准)
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:用 LangGraph 把 Agent 画成一张图,掌握 State / Node / Edge / ConditionalEdge / Checkpointer。
---
## 📌 学习目的
用 LangGraph 把 Agent 画成一张图,掌握 State / Node / Edge / ConditionalEdge / Checkpointer。
## ✅ 学习要求(前置条件)
已完成「01_langchain_basics」+ 阶段二所有小点。
## 📚 主要学习内容
- StateGraph:State 是全局背包,Node 是一次动作,Edge 决定下一步
- `add_messages` reducer:消息追加而非覆盖
- ToolNode:预置的工具执行节点
- Checkpointer / thread_id:状态持久化与中断恢复
- interrupt:人在环路审批
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 StateGraph 搭一个最小 ReAct 循环(含条件边)
- [ ] 加 Checkpointer,实现「对话中断后从上次继续」
- [ ] 实现 Supervisor 多智能体主管模式
## 🏁 完成后达成标准
- [ ] 能用 StateGraph 搭建任意结构的 Agent
- [ ] 能用 Checkpointer 持久化与恢复会话状态
- [ ] 能解释为什么生产首选 LangGraph 而非 LCEL
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/02_langgraph_core
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,54 @@
# LlamaIndex(RAG 数据接入与检索)
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:掌握 LlamaIndex 的 Document / Node / Index / QueryEngine 四件套,专门做 RAG 数据接入与检索。
---
## 📌 学习目的
掌握 LlamaIndex 的 Document / Node / Index / QueryEngine 四件套,专门做 RAG 数据接入与检索。
## ✅ 学习要求(前置条件)
已完成「01_langchain_basics」+ 阶段四「02_vector_db_and_memory」(如顺序学习可先看)。
## 📚 主要学习内容
- Document / Node:文档加载与切块
- Index:VectorStoreIndex / SummaryIndex / KeywordTableIndex
- QueryEngine:检索入口,可与 Agent 工具融合
- LlamaIndex 与 LangGraph 组合:检索 vs 编排分工
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 LlamaIndex 加载一份 PDF 并做问答
- [ ] 把 QueryEngine 包成 LangGraph 的工具节点
- [ ] 对比 LlamaIndex 与 Chroma 原生 API 的异同
## 🏁 完成后达成标准
- [ ] 能用 LlamaIndex 完成文档接入 → 索引 → 检索
- [ ] 能把 QueryEngine 与 LangGraph 配合使用
- [ ] 能解释 LlamaIndex 与 LangGraph 的分工
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/03_llamaindex
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,51 @@
# CrewAI(角色化多智能体,了解选型)
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:了解 CrewAI 的角色化多智能体模式,能判断什么场景适合用它。
---
## 📌 学习目的
了解 CrewAI 的角色化多智能体模式,能判断什么场景适合用它。
## ✅ 学习要求(前置条件)
已完成「02_langgraph_core」(先掌握 Supervisor 多智能体)。
## 📚 主要学习内容
- Agent / Task / Process 三个核心抽象
- 角色化分工:每个 Agent 一个明确角色
- CrewAI 与 LangGraph 多智能体的对比
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 CrewAI 搭一个「策划 + 写作 + 评审」三人组
- [ ] 对比 CrewAI 与 LangGraph Supervisor 模式的代码差异
## 🏁 完成后达成标准
- [ ] 能用 CrewAI 跑通一个最小多 Agent 示例
- [ ] 能说清何时选 CrewAI、何时选 LangGraph
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/04_crewai
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,51 @@
# AutoGen(微软多 Agent,了解选型)
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:了解 AutoGen 的自然语言对话协作模式,知道它的现状(已并入 MAF 进入维护模式)。
---
## 📌 学习目的
了解 AutoGen 的自然语言对话协作模式,知道它的现状(已并入 MAF 进入维护模式)。
## ✅ 学习要求(前置条件)
已完成「02_langgraph_core」。
## 📚 主要学习内容
- AutoGen 的 Agent 间自然语言对话协作
- 现状:已并入 Microsoft Agent Framework(MAF)
- 何时考虑 AutoGen、何时直接上 LangGraph
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 AutoGen 跑通一个最小多 Agent 对话
- [ ] 查阅 MAF 官方文档,对比 AutoGen 与 LangGraph 现状
## 🏁 完成后达成标准
- [ ] 能说清 AutoGen 的定位与现状
- [ ] 能判断新项目是否还要选 AutoGen
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/05_autogen
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,52 @@
# 其他主流方案
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:横向了解 Semantic Kernel / Assistants API / Dify 等方案,建立选型视野。
---
## 📌 学习目的
横向了解 Semantic Kernel / Assistants API / Dify 等方案,建立选型视野。
## ✅ 学习要求(前置条件)
已完成「01_langchain_basics」~「05_autogen」。
## 📚 主要学习内容
- Semantic Kernel:微软插件化框架(适合 Python/.NET 混合团队,已并入 MAF)
- OpenAI Assistants API:托管式 Agent(快速原型,逻辑黑盒)
- Dify:低代码 Agent 平台(业务验证)
- 选型矩阵:自研 vs LangGraph vs Assistants API vs Dify
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 用 Assistants API 跑通一个最小 Agent
- [ ] 用 Dify 搭建一个零代码知识库问答
## 🏁 完成后达成标准
- [ ] 能横向对比四大方案的优劣
- [ ] 能根据场景选择最合适的方案
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/06_other_frameworks
# 跑你的练习文件
uv run python your_exercise.py
```
@@ -0,0 +1,54 @@
# 阶段三综合实战 · LangGraph + LangChain 完整 Agent
> 所属:阶段三 · 主流 Agent 开发框架
> 目标:用 LangGraph + LangChain 搭建一个生产级 Agent,覆盖工具调用、状态持久化、消息流式。
---
## 📌 学习目的
用 LangGraph + LangChain 搭建一个生产级 Agent,覆盖工具调用、状态持久化、消息流式。
## ✅ 学习要求(前置条件)
已完成阶段三前 6 个小点。
## 📚 主要学习内容
- StateGraph 完整搭建:LLM 节点 + ToolNode + 条件边
- Checkpointer:thread_id 持久化与会话恢复
- Stream:消息按 token 流式输出
- 错误重试:tenacity 装饰器 + 异常包装
## 📖 对应 docs
- 目录:[`docs/03-阶段三-主流Agent开发框架/`](../../docs/03-阶段三-主流Agent开发框架/)(按目录名里的 `第 X 篇` 对应)
- 在 docs 目录里找到对应的小点 markdown 文件阅读详细理论。
## 🛠️ 建议练习
- [ ] 实现一个支持多工具、多轮对话的 LangGraph Agent
- [ ] 加入 Checkpointer 并验证中断恢复
- [ ] 用 FastAPI 暴露 SSE 流式接口
## 🏁 完成后达成标准
- [ ] 能用 LangGraph 搭建任意结构的 Agent
- [ ] 能解释 StateGraph / ToolNode / Checkpointer 的协作
- [ ] 能将 Agent 暴露成 SSE 流式 API
---
## 🚀 运行提示
```bash
# 激活根目录的虚拟环境
cd /Users/jack/source/Demo/py/demo_python_agent
source .venv/bin/activate # 或直接用 uv run ...
# 进入本章目录
cd code/003_phase3_frameworks/99_capstone_langgraph_agent
# 跑你的练习文件
uv run python your_exercise.py
```