langgraph-advanced
esurovtsev/langgraph-advanced加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下:你是对冲基金的量化研究员,想要一套 AI 系统帮你完成"研究全球AI/新能源公司 → 挑选最具潜力标的 → 在预算内下单 → 记录交易历史"的全流程。当前市面上的单智能体系统——无论是简单的 ChatGPT 插件还是现成的 AI 助手——都无法满足这种需要多角色协作、可控性强、且必须保留人类决策权的复杂工作流。
LangGraph Advanced 正是为解决这类场景而生。这个项目由独立开发者 Elena Surovtsev 创建,是一个基于 LangGraph 的进阶教程系列,专注于生产级多智能体系统的构建方法。与市面上大多数"Hello World"级别的 LangChain 教程不同,它从真实的金融交易场景出发,逐一拆解:如何让多个专业 Agent 互相协作、如何让 Agent 在关键时刻停下来等人类批准、如何给 Agent 加上跨会话的长期记忆能力。
这个项目的学习路径从单 Agent 出发,逐步引入 Supervisor 架构层级、人在回路(Human-in-the-Loop)控制、MCP 协议集成,最终构建出完整的多层级多智能体交易系统。17 个 Jupyter Notebook 环环相扣,每个章节都有对应的 YouTube 视频教程,对于想要真正掌握 LangGraph 生产级用法的开发者来说,这是一份难得的系统性学习资源。
LangGraph Advanced 最核心的价值在于它系统性地展示了 Supervisor 模式的多层演进。Supervisor 是 LangGraph 官方推荐的多 Agent 协调方案,其本质是一个"调度员" Agent 负责理解用户意图并指派专业子 Agent 执行任务。
模式一:基础 Supervisor(Lesson 5-6)。通过 create_supervisor() API 创建,包含 research_agent(负责用 Tavily + Wikipedia 研究公司基本面)和 trading_agent(负责股票代码查询、市场数据获取、下单操作)。两个子 Agent 通过 handoff 机制传递信息——research 完成后把选定的公司名称和理由交给 trading,避免数据造假。
模式二:多层级 Supervisor(Lesson 9)。将 portfolio 和 research 各升级为独立 Supervisor,形成 super_supervisor → portfolio_supervisor / research_supervisor → 具体工具的三层架构。这种层级设计让复杂任务可以逐级拆分,每个 Supervisor 专注于自己管辖范围内的协调。
模式三:Swarm 模式(Lesson 9)。使用 create_swarm() API 构建没有固定层级的多 Agent 网络,Agent 之间可以自由地互相转交任务,适合开放性研究任务而非固定流程。
模式四:Agent as Tool(Lesson 10)。将子 Agent 封装为 Supervisor 可调用的工具函数,实现完全隔离的执行环境。优点是不同 Agent 之间不共享消息列表,避免上下文污染;缺点是失去了 Agent 间自然对话的能力。

纯自动化 Agent 在高风险场景(如金融交易)中是不可接受的。LangGraph Advanced 展示了三种人在回路(HITL)的实现路径:
Approve-Based HITL(Lesson 4/6)。通过 post_model_hook 检测 Agent 即将调用高风险工具(如 place_order)时,主动调用 interrupt() 暂停执行,等待人类在 approve/decline 之间做出选择。这个模式的关键在于 checkpointer——暂停后的状态被持久化,可以通过 thread_id 恢复执行,实现断点续跑。
Query-Based HITL(Lesson 15)。Agent 在遇到信息缺失时主动调用 ask_question 工具暂停执行,向人类询问缺失参数(如"投资预算是多少?"),而不是凭空编造数据。这是让 Agent 具备"知道自己不知道"能力的关键设计。
Tool-Level HITL Wrapper(Lesson 16)。用装饰器模式给任意工具(包括第三方 MCP 工具)包裹审批逻辑,无需修改工具本身。这种方式让 HITL 能力可以跨 Agent 复用,是生产级系统的标准做法。

Lesson 7 实现了跨会话记忆能力。通过 LangGraph 的 InMemoryStore,为每个用户维护独立的 user_id 命名空间,存储订单历史。当用户问"我现在持有多少股票"时,Agent 可以从记忆存储中检索历史记录,而不仅仅依赖当前会话的上下文。
Lesson 12 引入了 Model Context Protocol(MCP),通过 MultiServerMCPClient 加载外部 MCP Server,将 GitHub 的 70+ 自动化工具(Issue 管理、PR 审核、代码审查等)无缝接入 Agent 工作流。这是 AI Agent 从"单兵作战"走向"工具平台"的关键一步。
当工具数量超过一定规模时,将所有工具绑定给单个 Agent 会导致上下文污染和推理质量下降。项目展示了三种解决路径:
LLM 预筛选(Lesson 13)。在 Agent 执行前,先用一次 LLM 调用从 70+ 工具中选出最相关的 5-7 个,再绑定给 Agent 执行。这需要一次额外的 LLM 调用,但选择质量最高。
语义搜索(Lesson 14)。用向量嵌入(text-embedding-3-small)对所有工具描述建立索引,查询时通过向量相似度召回最相关的工具。无需额外 LLM 调用,速度快、成本低,但语义模糊的工具可能匹配不准。
BigTool(Lesson 14)。LangGraph 官方提供的 langgraph_bigtool 库,内置了上述语义搜索能力,是目前最成熟的工具集管理方案。

项目提供了 studio/ 目录,支持通过 LangGraph Studio(官方 Web 可视化 IDE)进行调试。开发者只需在本地安装 LangGraph CLI 并运行 langgraph dev,即可在浏览器中以图形化方式查看 Agent 的状态流转、节点执行顺序和中间变量,Debug 效率远超纯命令行。

适合人群:已掌握 LangGraph 基础(了解 StateGraph、节点、边的概念),有 Python 开发经验,对多 Agent 系统或 AI Agent 产品化有兴趣的开发者。
前置依赖:Python 3.10+、OpenAI API Key、Tavily API Key(用于研究 Agent 的网页搜索)。如使用 MCP 功能,还需 GitHub Personal Access Token。
学习路径建议:按顺序学习 Lessons 1-11,掌握基础的单 Agent、多 Agent、记忆和 HITL 机制。Lesson 12-14 涉及 MCP 和工具选择,是进阶内容。Lesson 15-17 则是生产级系统的精细化设计,适合有实际项目需求的读者。
环境配置:项目无 Docker 支持,依赖通过 pip install -r requirements.txt 安装。如使用 LangGraph Studio,需额外安装 langgraph-cli[inmem]。
无 License 声明:项目代码目前无明确 License,第三方使用前需联系作者确认授权。
API 成本:17 个 Notebook 的示例涉及多轮 LLM 调用(Agent 推理 + 工具选择 + 结构化输出),实际运行成本不可忽视。生产部署时需要精细的用量监控和缓存策略。
错误处理:Notebook 教程中的错误处理以基本示例为主,生产级系统需要的重试机制、死信队列、监控告警等未在覆盖范围内。
学习曲线:Supervisor 架构的多种变体(层级/扁平/Agent-as-Tool)各有权衡,初学者容易在"该用哪种架构"上产生选择困难。
LangGraph 是当前最活跃的 LLM Agent 编排框架之一,被广泛用于企业级 AI 应用开发。然而官方文档偏向 API 手册性质,缺乏系统性的"为什么要这样做"的解释。LangGraph Advanced 恰好填补了这个空白——它以金融交易场景为载体,展示了从单 Agent 到多层级多 Agent 系统演进的全过程,每个设计决策都有明确的业务动机。
特别值得关注的是它在 HITL 和长期记忆两个方向上的实践深度。在 AI Agent 逐步进入医疗、金融、法律等高风险领域的背景下,如何在保持 Agent 自主性的同时保留人类控制权、如何让 Agent 记住用户偏好和历史行为——这些正是 LangGraph Advanced 重点回答的问题。对于 AI 产品经理和架构师来说,这个项目提供了评估和设计 AI Agent 系统能力的参考框架。