LangGraph免费系列公开课,40讲,小白到高手的全链路实战学习。涵盖LangGraph所有核心知识点,同步提供全套视频、全套课程源码及实战案例。添加微信 huice666 免费进群学习,没有任何套路。超强课程内容请您直接看下面的课程大纲。
学习对象:软件开发工程师、软件测试工程师、IT运维工程师、相关大模型应用实践爱好者、有一点点Python基础的从业者......
-
目 录
• 公开课介绍 -
• LangGraph应用实战基础篇大纲 -
- 知识点架构图 -
- 你将学到什么 -
- 学习成果 -
- 课程内容详解 -
• LangGraph应用实战高级篇大纲 -
- 知识点架构图 -
- 你将学到什么 -
- 学习成果 -
- 课程内容详解
—1—
公开课介绍
这是一套全面系统的 LangGraph 免费公开课,基础篇 24 个章节,高级篇16个章节,通过循序渐进的 Jupyter 实战脚本,从基础概念到高级应用,全面展示如何使用 LangGraph 这一强大框架构建可扩展的、企业级的智能体和AI工作流。
该课程采用理论与实践相结合的方式,精心打造 LangGraph 完整的学习指南。每个概念都配备详细的代码示例和视频教程,帮助 大模型应用从业者 快速掌握 LangGraph 的核心技能,轻松开发各种基于大语言模型的智能体应用。
每节课都有专门的视频教程。随着课程的发布,相关链接将逐步提供。
—2—
基础篇课程大纲
🎓 您将学到什么?
第一阶段:打好基础(4 章)
掌握学习环境部署及 LangGraph 的核心概念,理解图论、状态管理和基本的链式结构。这是后续所有高级内容的基石。
第二阶段:构建智能对话系统(4 章)
从简单的聊天机器人到具有长期记忆的对话系统。学会如何优化 Token 使用、实现消息管理和持久化存储。
第三阶段:掌握人工干预工作流(5 章)
这是区分初级和中级开发者的关键。学会实现执行断点、状态回放、分叉执行等高级特性,让 AI 系统更加可控和可信。
第四阶段:并行与高级编排(4 章)
突破单线程限制,学会构建并行执行的 AI 系统。包括 MapReduce 模式、子图设计和多智能体协作。
第五阶段:长期记忆与个性化(6 章)
这是构建真正智能系统的关键。学会使用 Trustcall 进行增量记忆提取、管理用户档案、实现个性化对话。
第六阶段:工具集成与扩展(1 章)
学会使用 MCP 动态加载工具,让你的 AI 系统具有无限的扩展可能性。
📈 学习成果
完成本课程后,你将能够:
✅ 理解 LangGraph 的核心架构 - 掌握图论、状态管理和节点设计
✅ 构建各种类型的 AI 智能体 - 从简单链到复杂的多智能体系统
✅ 实现高级功能 - 人工干预、状态回放、并行执行等
✅ 优化系统性能 - Token 使用、记忆管理、并行处理
✅ 设计可扩展架构 - 子图、MCP 工具集成、模块化设计
✅ 部署生产系统 - 使用 MongoDB、LangGraph Studio 等工具
✅ 实现个性化体验 - 长期记忆、用户档案、动态学习
📖 课程内容详解
第一阶段:基础入门(第 0-3 章)
00. 环境部署
●Python及项目环境
●Jupyter Notebook/Lab 环境
●项目依赖组件安装
●📹 视频教程
01. 链式基础 (01_chain.ipynb)
● 图论基础概念介绍
● 状态管理机制详解
● 简单链的实现方法
● 📹 视频教程
02. 路由器实现 (02_router.ipynb)
● LangGraph 中的路由机制
● 流程控制与决策逻辑
● 条件分支的实现
● 📹 视频教程
03. 智能体创建 (03_agent.ipynb)
● 使用 LangGraph 构建 AI 智能体
● 智能体架构与组件设计
● ReAct 框架的实现
● 📹 视频教程
第二阶段:记忆与对话(第 4-7 章)
04. 带记忆的智能体 (04_agent-memory.ipynb)
● 智能体记忆能力实现
● 状态持久化与管理
● 高级智能体设计模式
● 📹 视频教程
05. 聊天机器人消息管理 (05_chatbot-messages.ipynb)
● 对话上下文与历史管理
● Token 使用优化策略
● 消息状态处理
● 高效的消息修剪策略
● 📹 视频教程
06. 聊天机器人总结优化 (06_chatbot-summarization.ipynb)
● 高级记忆优化技术
● 对话自动总结实现
● 动态上下文管理
● 记忆压缩策略
● 📹 视频教程
07. 聊天机器人持久化存储 (07_chatbot-persistence.ipynb)
● MongoDB 长期记忆存储
● LangGraph Studio 工作流可视化
● 跨对话的持久状态管理
● 数据库配置与连接处理
● 📹 视频教程
第三阶段:流式处理与人工干预(第 8-12 章)
08. 流式处理与 API 集成 (08_streaming.ipynb)
● LangGraph Studio 作为本地服务器和 API 网关
● 实时状态流式传输技术
● API 集成模式
● 节点间状态转换可视化
● 混合执行环境(笔记本 vs Studio)
● 人工干预工作流准备
● 📹 视频教程
09. 人工干预工作流 (09_breakpoints.ipynb)
● 执行断点实现与用户审批
● 暂停期间的状态检查与修改
● 流程恢复机制
● Studio 可视化断点管理
● 无限工具调用支持
● 混合执行模式(CLI vs Studio)
● 📹 视频教程
10. 高级人工反馈 (10_human-feedback.ipynb)
● 断点后的状态操作
● 交互式反馈收集与处理
● 消息内容替换策略
● 用户反馈节点模式
● 图状态修改技术
● 📹 视频教程
11. 动态断点控制 (11_dynamic-breakpoints.ipynb)
● 条件执行中断实现
● 意图验证与流程控制
● 动态状态检查
● 消息内容验证与纠正
● 异常触发的断点机制
● Studio 和 API 集成
● 📹 视频教程
12. 状态回放与分叉 (12_replay-fork-state.ipynb)
● 基于检查点的状态管理
● 线程状态历史与快照访问
● 从历史检查点回放状态
● 图分叉与执行分支
● 基于线程的对话管理
● SDK 和 API 实现模式
● 📹 视频教程
第四阶段:并行与高级编排(第 13-16 章)
13. 并行 AI 执行 (13_parallel-ai-execution.ipynb)
● 并发节点执行实现
● 使用 Reducer 解决状态冲突
● 超步事务管理
● 并行执行流同步
● 条件分支在并行工作流中的应用
● 多源 AI 助手构建
● 性能优化技术
● 📹 视频教程
14. AI 智能体子图 (14_ai-agent-subgraphs.ipynb)
● 子图作为模块化组件
● 在父图中注册子图节点
● 查询分类与优化技术
● 多源信息检索(网络搜索与维基百科)
● 子图间的状态同步
● 带源归属的结构化响应生成
● 复杂工作流编排
● 📹 视频教程
15. MapReduce 并行处理 (15_mapreduce-financial-agent.ipynb)
● MapReduce 模式在 AI 智能体中的应用
● 运行时动态节点生成
● 映射节点的并行数据处理
● 使用 Reducer 函数进行状态聚合
● 金融顾问智能体构建
● Yahoo Finance 实时数据集成
● 带排名和建议的结构化输出
● LangGraph Studio 中的动态工作流可视化
● 📹 视频教程
16. 多智能体研究管道 (16_multi-agent-research.ipynb)
● 复杂的多智能体研究工作流构建
● 人工干预反馈的团队组建
● 分析师档案的结构化输出
● 基于对话的专家访谈子图
● 使用 MapReduce 模式的并行执行
● 外部搜索集成(网络与维基百科)
● 研究输出合成为综合报告
● 协调的自主多智能体系统设计
● 📹 视频教程
第五阶段:长期记忆与个性化(第 17-22 章)
17. 长期记忆存储 (17_longterm-memory-store.ipynb)
● LangGraph 中的持久长期记忆
● 短期(线程)与长期(用户)记忆的区别
● 使用命名空间、键和值组织记忆
● 用户事实与偏好的存储与检索
● 同时具有短期和长期记忆的聊天机器人
● 使用持久用户上下文个性化回复
● 跨线程和会话的记忆更新与回忆
● LangGraph Studio 中的演示
● 📹 视频教程
18. 用户档案管理 (18_user_profiles.ipynb)
● 使用长期记忆构建和管理用户档案
● 基础用户事实存储及其局限性
● 使用 Pydantic 设计结构化用户档案模式
● 用户属性组织:姓名、职位、资历、编程语言、框架、项目、技能和兴趣
● 将结构化 LLM 输出与 LangGraph 记忆系统集成
● 对话中的自动用户数据提取与更新
● 基于用户档案信息的聊天机器人个性化回复
● 动态添加新兴趣和更新用户上下文
● 📹 视频教程
19. Trustcall 增量记忆提取 (19_trustcall-memory-extraction.ipynb)
● Trustcall 库介绍:LangChain 原生的鲁棒记忆提取工具
● 解决完整结构 LLM 输出和脆弱解析的局限性
● 启用用户档案的部分增量更新(JSON 补丁)
● 配置 Trustcall 从对话中提取和修补用户档案数据
● 将 Trustcall 与 LangGraph 智能体集成
● 准确、一致和可扩展的长期个性化演示
● 📹 视频教程
20. 记忆集合管理 (20_memory-collections.ipynb)
● 使用 Trustcall 和 LangGraph 处理长期记忆中的集合
● 定义记忆项目的模式(如指令列表)
● 从对话中提取和更新多个条目
● 使用唯一键存储项目并支持部分更新
● 高级模式和集合处理的 Trustcall 配置
● 将集合集成到聊天机器人工作流中
● 基于最近用户消息的高效记忆节点更新
● LangGraph Studio 中的实时演示
● 📹 视频教程
21. Trustcall 补丁更新检查 (21_trustcall-update-inspect.ipynb)
● Trustcall 记忆更新机制和 JSON 补丁的深入探讨
● 长期记忆中的创建和修改跟踪演示
● 利用 LangSmith 追踪 Trustcall 的数据提取和补丁指令
● 实现自定义监听器用于工具执行内省
● 解析补丁指令并使用监听器总结记忆变化
● 理解补丁逻辑、模式更新和智能体学习见解
● 📹 视频教程
22. 开发者导师 AI 智能体 (22_devmentor-agent.ipynb)
● 使用所有长期记忆技术构建开发者导师 AI 智能体
● 集成结构化用户档案、指令列表和 ADR 以获得上下文丰富的协助
● 使用工具调用和 Trustcall 提取器配置记忆路由和更新
● 为实际应用构建和管理多种记忆类型
● 处理冲突指令并利用保存的架构决策
● 演示具有持久、不断演变的偏好和决策的聊天机器人对话
● 为自主开发者助手创建可重用模板
● 📹 视频教程
第六阶段:高级工具集成(第 23 章)
23. MCP 工具集成 (23_mcp-tooling.ipynb)
● 将外部 MCP 服务器连接到 LangGraph 智能体
● 从硬编码工具过渡到灵活的 MCP 兼容配置
● 使用 MCP 适配器和配置文件动态加载工具
● GitHub API 集成以获取实时存储库数据
● 传统静态工具实现与动态 MCP 方法的比较
● 构建可以无需手动定义即可发现和使用工具的智能体
● 从配置设置到智能体执行的完整工作流演示
● 📹 视频教程
—3—
高级篇课程大纲
🎓 您将学到什么?
智能体基础
● ReAct 模式的核心原理与实现
● 预构建智能体的架构和工作流
● 状态图的构建与管理
动态适应
● 根据任务复杂度动态选择 LLM 模型
● 实时角色切换(财务顾问、教师、总结者)
● 结构化输出与数据验证
人工干预控制(HITL)
● 风险操作的批准流程
● 动态中断与恢复机制
● 工具级别的访问控制
多智能体系统
● 主管架构设计与实现
● 智能体间的协作与委派
● 分层多级系统与群体 AI
长期记忆与数据管理
● 用户特定的数据持久化
● 订单历史追踪
● 跨会话的上下文保留
大规模工具管理
● MCP 服务器集成(70+ 工具)
● 动态工具选择算法
● 语义搜索与向量匹配
生产级系统
● 从零构建完整的智能体系统
● 自定义交接机制
● 可扩展的企业级应用架构
📈 学习成果
完成本课程后,你将能够:
✅ 设计与实现 生产级别的 AI 智能体系统
✅ 管理 复杂的多智能体协作流程
✅ 集成 人工干预机制确保安全性
✅ 优化 大规模工具集的性能
✅ 构建 具有长期记忆的智能系统
✅ 部署 可扩展的企业级应用
📖 课程内容详解
1. 预构建智能体
(01_prebuilt-agents.ipynb)
● 深入探讨 LangGraph 中预构建智能体的架构和工作流
● 解释 ReAct 智能体模式:行动、观察、推理,以及这些步骤如何形成智能体逻辑的骨架
● 演示使用低级 API 定义工具并将其绑定到 LLM,包括股票代码查询和财务数据检索等实际示例
● 详细讲解如何构建智能体执行的状态图,包括系统节点、工具节点、路由和记忆管理
● 真实场景:构建一个智能体来获取和分析公司财务数据(如特斯拉),展示完整的推理和工具调用循环
● LangGraph 高级教程 – 使用预构建智能体和记忆构建 AI 智能体
2. 动态模型和提示自定义
(02_dynamic-models-prompts.ipynb)
● 创建具有动态模型选择和角色切换的自适应 AI 智能体的高级技术
● 实现上下文感知的模型选择,根据任务复杂度选择不同的 LLM(如用 GPT-4 进行分析,用 GPT-4o-mini 进行总结)
● 创建动态提示修饰符,根据用户查询调整智能体的角色和行为
● 结合两种技术构建复杂的智能体,可在财务顾问、教师或总结者角色之间切换
● 真实示例:构建一个财务分析智能体,根据查询复杂度同时调整其底层模型和角色
● LangGraph 高级教程 – 使用动态模型选择和角色切换构建 AI 智能体
3. 预构建智能体的结构化输出
(03_structured_output_with_prebuilt_agents.ipynb)
● 为什么结构化输出对需要机器可读结果而非仅聊天文本的生产应用至关重要
●定义 Pydantic 模式(如 FinancialInfo)并通过 response_format 传递给 create_react_agent(v2)
● 理解生成结构化响应的额外图步骤,以及如何从智能体状态访问它
● 权衡:额外的 LLM 调用成本;替代方案包括将模式作为工具处理或使用后模型钩子和自定义状态来捕获 JSON 而无需额外调用
● 真实示例:TSLA 分析生成 JSON 字段,如公司名称、股票代码、当前价格、市值、摘要、风险评估
● LangGraph 高级教程 – 使用预构建 LangGraph API 在 AI 智能体中生成结构化输出
4. 预构建智能体的人工干预中断
(04_prebuilt_hitl_dynamic_interrupt.ipynb)
● 何时以及为什么要为风险操作(如下达市价单/限价单)添加人工批准
● 两种方法:
○静态:interrupt_before=["tools"] 始终在工具节点前暂停(简单但粗粒度)
○ 动态:在 post_model_hook 内部调用 interrupt(...) 当 LLM 提议风险工具调用时
●实现细节:
○维护:RISKY_TOOLS = {"place_order"} 并检查最后的 AIMessage.tool_calls
○ 启用检查点器(如 InMemorySaver)并传递 thread_id 以便运行可以暂停和恢复
○从响应中读取中断有效负载以呈现批准 UI,然后使用携带决定的 Command(...) 恢复
● 恢复路径:
○批准:正常执行工具
○ 拒绝:注入 ToolMessage(如"人工取消操作")并继续智能体流程而不执行工具
● 真实示例:购买 TSLA 股票,展示端到端的批准/拒绝流程
● LangGraph 高级教程 – 在预构建 AI 智能体中使用动态人工干预中断
5. 多智能体系统与主管架构
(05_multi_agent_supervisor.ipynb)
● 构建由主管领导的多智能体系统,在专业工作者之间进行委派
● 定义 research_agent(Tavily + Wikipedia)选择一家公司并提供简要理由
● 定义 trading_agent(代码查询、yfinance 市场数据、订单下达)从预算中执行交易
● 使用 create_supervisor 编排路由、交接和防护措施;查看图表和 X 光扫描
● 通过 current_timestamp 工具建立共享时间上下文,并发布一行"NOW"备注以确保时效性
● 路由规则:主题/模糊 → 研究;明确公司 + 操作/预算 → 交易;如果缺少关键细节则询问一次
● 交接:将选定的公司从研究传递给交易;避免编造数据;总结委派的步骤和结果
● 真实流程:投资 $1,000 于 AI/可再生能源——研究选择一家公司,交易调整订单大小并下达买单
● LangGraph 高级教程 – 使用主管架构构建多智能体 AI 系统
6. 多智能体系统中的主管 + 人工干预
(06_supervisor_with_hitl.ipynb)
● 将主管领导的委派与子智能体内的 HITL 批准相结合(如 trading_agent)
● 当检查点器由父级拥有时,子中断会冒泡到主管;通过使用相同的 thread_id 调用主管(而非子智能体)来恢复运行
●实现:
○ trading_agent 使用 post_model_hook(halt_on_risky_tools)检测 RISKY_TOOLS = {"place_order"} 并调用 interrupt({...})
○ 拒绝时,注入 ToolMessage(如"人工取消…")并继续规划而不执行工具
○主管使用 InMemorySaver() 编译(.compile(checkpointer=...))和 output_mode="full_history";使用 X 光扫描可视化路由
○仅与主管交互;恢复时,使用 Command(resume={...}) 和稳定的 configurable.thread_id
○检查 response["__interrupt__"] 以呈现批准 UI;辅助函数 print_tool_approval(...) 显示工具和参数
● 共享时间上下文:调用 current_timestamp 一次并发布一行"NOW"备注到线程以确保跨智能体的时效性
● 测试流程:批准路径、拒绝路径、更新请求(如"仅购买 3 股 NVIDIA")并在同一线程内继续
● 真实流程:投资 $1,000 并在订单下达前设置批准门槛;主管协调研究 → 交易并处理暂停/恢复
● LangGraph 高级教程 – 在多智能体 AI 系统中结合主管架构与人工干预
7. 为多智能体 AI 系统添加长期记忆
(07_supervisor_long_term_memory.ipynb)
● 使用 InMemoryStore 在主管和子智能体间集成持久记忆,用于用户特定的订单历史
● 定义记忆工具:get_order_history(按 user_id 命名空间检索过去的订单)和 add_order_to_history(记录新交易,包括代码、股数、价格)
● 研究智能体:使用 web_search 和 wiki_search 工具推荐一家公开交易的公司,以"CHOSEN_COMPANY: "结尾
●投资组合智能体:使用 lookup_stock_symbol、fetch_stock_data_raw、place_order 和 add_order_to_history 执行推荐公司的交易并记录
● 主管:委派给研究(获取想法)或投资组合(执行);通过 get_global_store() 使用共享存储,通过 current_timestamp 获取时间上下文
● 用户隔离:为记忆访问命名空间 user_id;使用 get_user_store() 访问用户的存储
●真实流程:投资 $1,000 于 EV 或 AI 行业——研究选择公司,投资组合交易并记录;使用记忆查询"我拥有多少股?"
● LangGraph 高级教程 – 为多智能体 AI 系统添加长期记忆
8. 主管架构中的自定义交接
(08_supervisor_custom_handoff.ipynb)
● 通过有针对性的委派和共享上下文改进任务推理
● 使用 create_task_instructions_handoff_tool(...) 定义自定义交接工具以传递显式 task_instructions 并通过 Command(goto=...) 路由控制
● 扩展智能体状态为 TaskState(AgentState) 以在交接间携带 task_instructions;使用 state_schema=TaskState 编译智能体/主管
● 在工具内使用 InjectedState 和 InjectedToolCallId 访问当前状态并发出包含交接元数据(METADATA_KEY_HANDOFF_DESTINATION)的 ToolMessage 用于 X 光扫描追踪
●主管工具包括 current_timestamp、get_order_history 和两个交接工具(到 portfolio 和 research)以指导精确的子任务
● 投资组合和研究智能体重用早期工具(查询、yfinance 市场数据、搜索),同时主管编排何时获取价格与查询记忆
● 演示:“我的投资表现如何?” → 主管检索订单历史,委派投资组合获取当前价格,然后总结表现
● 使用 InMemorySaver() 和 output_mode="full_history" 编译以可视化路由和交接
● LangGraph 高级教程 – 使用主管架构中的自定义交接改进多智能体 AI 系统
9. 构建分层多级主管架构和群体智能体
(09_supervisor_hierarchy_and_swarm.ipynb)
● 创建分层多级主管架构,其中主管控制其他主管
● 将专业智能体提取为子主管:portfolio_supervisor(代码查询、市场数据、订单执行、记录保存)和 research_supervisor(网络搜索、维基搜索)
● 构建 super_supervisor 编排 research_supervisor、portfolio_supervisor、时间戳和历史智能体以实现端到端工作流
● 使用 create_swarm() 实现群体 AI 智能体,用于智能体间的并行交接而无需层级(如 web_search ↔ market_data)
● 使用 InMemorySaver() 和 output_mode="full_history" 编译以可视化路由和交接
10. 通过将子智能体转换为工具来简化多智能体 AI 系统
(10_supervisor_as_tools.ipynb)
● 替代主管架构,其中子智能体被转换为工具而不是共享消息列表
●定义 @tool 函数如 research_agent_tool 和 trading_agent_tool,使用 RunnableConfig 调用子智能体的隔离运行,传递任务并返回最后的 AIMessage 响应
●主管是单个create_react_agent,工具包括 current_timestamp、research_agent_tool、trading_agent_tool;无子智能体在控制下
● 优势:隔离执行(无共享消息混淆)、更容易的并行化、清晰的任务定义
● 传统共享消息主管的缺点:长线程混淆智能体、难以并行化、状态共享问题
● 演示:投资 $1,000 于 AI 公司 → 主管调用研究工具(隔离:web_search/wiki_search → 推荐 MSFT)→ 调用交易工具(隔离:查询/获取/下达 → 执行订单)→ 总结
● LangGraph 高级教程 – 通过将子智能体转换为工具来简化多智能体 AI 系统
11. 从零开始构建自定义主管
(11_supervisor_from_scratch.ipynb)
● 以两种方式实现主管:高级 API 和低级 LangGraph 原语
● 高级:使用 create_supervisor(...) 配合 research 和 portfolio 智能体,添加工具 current_timestamp、get_order_history,使用 InMemorySaver 和 output_mode="full_history" 编译
●低级:使用 StateGraph(MessagesState) 构建自定义图,显式 START → supervisor 边,从 research/portfolio 返回边到 supervisor,目标 ("research", "portfolio", END)
● 使用 create_handoff_tool(agent_name=...) 创建交接工具以路由控制,发出 ToolMessage 并返回 Command(goto=...) 以切换节点
● 智能体:research_agent(网络和维基搜索)用于一家公开交易的公司;portfolio_agent(代码查询、市场数据、下达订单、添加到历史)用于执行和记录
● 共享存储:使用 InMemoryStore 通过 get_global_store() 初始化和访问;记忆感知工具使用 RunnableConfig 配合 user_id 命名空间 ("ledger", user_id)
● 端到端演示:“投资 $1,000 于最有前景的 AI 公司” → 主管委派研究 → 验证价格 → 执行买单 → 记录订单 → 返回清晰摘要
● LangGraph 高级教程 – 从零开始在多智能体 AI 系统中构建自定义主管
12. 在 AI 智能体中使用 MCP 服务器
(12_mcp_supervisor_agents.ipynb)
● 从 mcp_config.json 加载 MCP 服务器定义并初始化 MultiServerMCPClient 以获取 70+ GitHub 自动化工具
● 演示单个 github_agent ReAct 工作者绑定到所有 MCP 工具以处理 GitHub 活动摘要请求
● 工具过载问题并通过 ChatOpenAI.with_structured_output(AgentDefinitions) 自动生成 3-4 个专业智能体以按职责聚类工具
● 使用生成的系统消息和职责实例化专业智能体并分配工具子集,然后在 create_supervisor(...) 下组装它们
● 主管通过在专家间路由并返回合并响应来编排 GitHub 工作流;在 langgraph-advanced 中分析工作时测试
● LangGraph 高级教程 – 在 AI 智能体中使用 MCP 服务器
13. 在 AI 智能体中动态选择工具
(13_dynamic_tool_selection.ipynb)
● 了解为什么工具过载会降低智能体性能:太多工具描述会混淆 LLM,导致工具选择不佳和推理不可预测
● 理解问题:将 70+ MCP 工具绑定到单个智能体会造成上下文污染,使模型难以为每个任务识别正确的工具
● 掌握动态工具选择:使用单独的 LLM 调用和结构化输出(ToolSelection 模式)分析用户查询并在智能体执行前仅选择 5-7 个最相关的工具
● 使用 Runtime[CustomContext] 和 configure_model 函数实现运行时工具过滤,在运行时仅将预选工具绑定到智能体模型
● 比较工作流:基线(所有工具绑定)vs 优化(动态过滤工具)以查看改进的准确性、减少的令牌使用和更清晰的推理链
● 将此模式应用于任何具有大型工具集的智能体(MCP 服务器、API 集合、企业工具目录)以在工具库增长时保持可预测的行为
● LangGraph 高级教程 – 在 AI 智能体中动态选择工具以实现更清晰和更智能的工作流
14. 使用 LangGraph BigTool 和语义搜索管理 AI 智能体中的大型工具集
(14_bigtool_semantic_search.ipynb)
● 理解语义搜索作为基于 LLM 的工具选择的替代方案:使用嵌入和向量相似性而不是结构化 LLM 调用来查找相关工具
● 学习使用唯一标识符构建工具注册表,并在 InMemoryStore 中索引工具描述,具有基于嵌入的搜索功能(text-embedding-3-small)
● 掌握 langgraph_bigtool.create_agent() 模式:配置 limit 参数以每个查询仅检索前 N 个语义相似工具,自动减少上下文大小
● 比较大型工具集的三种方法:(1) 绑定所有工具(上下文污染)、(2) LLM 预过滤(额外调用 + 成本)、(3) 语义搜索(无 LLM 调用但匹配不够智能)
● 认识权衡:语义搜索更快更便宜但可能遗漏描述不佳或语义差异微妙的工具;LLM 选择更慢但上下文感知更强
● 根据约束条件选择正确的工具选择策略:延迟要求、成本预算、工具描述质量和工具库的语义多样性
● 发现相同的语义搜索技术如何替代前一课中基于 LLM 的分类以在标准 ReAct 智能体中进行动态工具选择
● LangGraph 高级教程 – 使用 LangGraph BigTool 和语义搜索管理 AI 智能体中的大型工具集
15. 让 AI 智能体询问人类:构建动态人工干预工作流
(15_dynamic_hitl_agents.ipynb)
● 理解基于批准的 HITL(第 4 课:批准/拒绝风险操作)和基于查询的 HITL(智能体在信息缺失时主动提问)之间的区别
● 学习构建 ask_question 工具,使用 interrupt() 暂停智能体执行、收集人工输入并恢复响应——使智能体能够自主收集缺失信息
● 掌握模式:智能体检测缺失参数(如"购买一些特斯拉股票"但无预算),调用 ask_question("你的投资预算是多少?"),等待人工响应,然后继续执行
●实现恢复流程:检查 response["__interrupt__"] 以检测暂停状态,从 interrupts[0].value["question"] 提取问题,并使用 Command(resume="user answer") 恢复
● 比较有无 ask_question 工具的智能体行为:没有它,智能体要么编造缺失数据要么无法行动;有它,它们主动请求澄清并正确完成任务
● 应用此技术构建更自主的智能体,优雅地处理模糊请求:不是做假设或提出模糊问题,而是识别特定缺失信息并明确请求
● 认识何时使用每种 HITL 模式:风险管理的批准门槛(风险操作)、信息收集的查询工具(缺失参数、用户偏好、澄清)
● LangGraph 高级教程 – 让 AI 智能体询问人类:构建动态人工干预工作流
16. 在智能体工作流中直接向工具添加人工干预控制
(16_tool_level_hitl_control.ipynb)
● 了解 post_model_hook HITL 的局限性(第 4 课):需要修改智能体配置,不适用于你无法控制的第三方工具(如 MCP 工具)
● 掌握 add_approval() 包装器模式:创建通用装饰器,用 HITL 逻辑包装任何工具(包括 MCP 工具),无需修改原始工具代码
● 理解包装器实现:使用 interrupt() 拦截工具调用、等待批准决定、如果批准则执行原始工具或如果拒绝则返回取消消息
● 比较两种 HITL 方法:
(1) post_model_hook(智能体级别,需要智能体修改)
(2) 工具包装器(工具级别,适用于任何工具包括第三方)
● 应用选择性包装:使用列表推导式仅包装风险工具(add_approval(tool) if tool.name in RISKY_TOOLS else tool)同时保持安全工具不变
● 认识关键优势:工具包装器为你不拥有或无法修改的工具启用 HITL(MCP 服务器、外部 API、库工具),通过在集成层添加批准逻辑
● 实现与第 4 课相同的批准/拒绝流程,但分离更清晰:HITL 逻辑存在于包装器中而不是智能体钩子中,使其可在不同智能体和架构间重用
● LangGraph 高级教程 – 在 AI 智能体工作流中直接向工具添加人工干预控制
公开课时间会在微信群第一时间通知。

