LangGraph 智能体实战课程仓库

用可复现的分支与提交,逐步搭建 Agentic RAG、ReAct 与反思型 LLM 智能体。

Star 数
★ 727
最近更新
2 个月前
License
Apache-2.0

30 秒速览

运行形态
命令行工具
可在哪里用
兼容但需适配OpenAI API
费用
软件免费,模型调用费用自付
上手难度
中 · 需要几步配置
开始前需要
PythonPoetryOpenAI API 密钥Tavily API 密钥(可选)LangSmith API 密钥(可选)Shell / 命令行网络访问本地文件系统
典型场景
正在学习 LangGraph 的开发者,希望通过检出 project/agentic-rag 并逐个 cherry-pick 提交来理解 RAG 图的搭建过程。
不适合
  • 不想配置 API 密钥、Poetry 与多个分支的开发者
  • 只需要生产级现成 Agent 而不想按课程逐步学习的团队

这个 Agent 能做什么,适合哪些场景?

这是 Udemy 畅销课程《LangGraph – Develop LLM-Powered AI Agents》的动手配套仓库。仓库按分支组织项目:project/agentic-rag(带文档评分、Web 搜索与自适应路由的 RAG 流水线)、project/ReAct-agent(LangGraph 实现的推理加行动循环)、project/reflection 与 project/reflection-agent(让智能体批判并修订自身输出)、project/reflexion-agent(从历史运行中学习)。每个分支内的提交对应一节课,便于按 git log --oneline 顺序跟练。执行入口是 Python 的 main.py,使用 Poetry 管理依赖,通过 .env 提供 OPENAI_API_KEY、可选的 TAVILY_API_KEY 与 LANGCHAIN_API_KEY/LANGCHAIN_TRACING_V2。需要说明的是,仓库本身是教学代码集合,不包含托管服务或生产部署脚本,运行结果取决于你提供的模型密钥与本地配置。

仓库提供可按分支检出的一组 LangGraph 示例工程,每个工程用 main.py 驱动。Agentic RAG 分支的提交串展示了完整链路:先做数据摄取与嵌入,再定义图状态(Graph State)在节点间传递记忆,随后依次实现 Retrieve Node 取回上下文、Grade Docs Node 做结构化相关性过滤、Web Search Node 调用 Tavily API、Generation Node 完成提示与 LLM 生成,最后用条件边把图串成扇入扇出结构,并加入 Self-RAG(让 LLM 自我批判)与 Adaptive Router(动态选择工具)。ReAct 分支实现推理与行动交替的循环;reflection 与 reflection-agent 分支让智能体生成后自我批评并修订;reflexion-agent 分支则把过去的运行结果带回后续决策。所有环节通过 .env 中的密钥访问外部模型与搜索服务,可选开启 LangSmith 追踪。

  1. 正在学习 LangGraph 的开发者,希望通过检出 project/agentic-rag 并逐个 cherry-pick 提交来理解 RAG 图的搭建过程。
  2. 需要为客户演示带自校正能力的检索问答流程的工程师,可复用 Grade Docs Node 与 Self-RAG 思路搭建原型。
  3. 要快速对比 ReAct 与反思/Reflexion 两类智能体循环差异的研究者或学生,可分别在对应分支运行 main.py。
  4. 使用 LangChain 生态、希望接入 Tavily 网络搜索工具做多步问答的团队,可参考 Web Search Node 的配置方式。
  5. 准备面试或教学材料、需要按课时组织演示顺序的讲师,可利用仓库的 commit 与课程表的一一对应关系。
  6. 需要在本地验证 LangSmith 追踪效果的开发者,可通过 LANGCHAIN_TRACING_V2 与 LANGCHAIN_API_KEY 观察图执行。

如何安装或部署这个 Agent?

仓库要求 Python 环境与 Poetry,按 README 的 Quick Start 执行以下命令(注意 README 中的仓库名拼写为 langgaph-course,请按实际地址克隆):

# 1. 克隆并进入
$ git clone https://github.com/emarco177/langgaph-course.git
$ cd langgaph-course

# 2. 选择项目分支
$ git checkout project/agentic-rag  # 以该分支为例

# 3. 安装依赖(Poetry)
$ poetry install

# 4. 运行
$ poetry run python main.py

随后在仓库根目录创建 .env 文件:

OPENAI_API_KEY=...
TAVILY_API_KEY=...          # 可选 – 用于 Web 搜索课程
LANGCHAIN_API_KEY=...       # 可选 – 用于 LangSmith 追踪
LANGCHAIN_TRACING_V2=true   # 可选
PYTHONPATH=$(pwd)

如何使用这个 Agent?

安装完成后,先确保处于目标分支,再运行入口脚本:

$ git checkout project/ReAct-agent
$ poetry run python main.py

需要用哪个项目就切到哪个分支:project/agentic-rag 演示完整 RAG 流水线,project/ReAct-agent 演示推理与行动循环,project/reflection 与 project/reflection-agent 演示自我批评与修订,project/reflexion-agent 演示从历史运行中学习。想按课时跟练时,可用提交历史查看每一步:

$ git log --oneline
$ git checkout <hash>

如果要使用 Web 搜索节点,需要额外提供 TAVILY_API_KEY;要查看 LangSmith 追踪,则设置 LANGCHAIN_API_KEY 与 LANGCHAIN_TRACING_V2=true。

这个 Agent 有哪些优点和局限?

优点
  • 分支即项目、提交即课时的组织方式,让每个 Agentic RAG、ReAct、反思流程都能被独立检出、逐步回放。
  • Agentic RAG 覆盖了从摄取、检索、文档评分到 Web 搜索、生成、自校正与自适应路由的完整节点链路。
  • 同时提供 reflection 与 reflexion 两个分支,便于对比“当场修订”和“从历史运行学习”两种自我改进方式。
  • 采用 Poetry 管理依赖,并提供 .env 示例与可选的 Tavily、LangSmith 配置项,环境说明清晰。
局限
  • 需要 OpenAI API 密钥才能跑通,属于付费模型调用,仓库本身不提供本地模型替代方案。
  • README 中多处仓库地址写作 langgaph-course(如克隆命令与分支链接),与实际仓库名 langgraph-course 不一致,照抄命令会失败。
  • 运行需要自行创建 .env 并配置 PYTHONPATH,安装步骤分散在 Quick Start 与配置示例两处。
  • 缺少版本化发布、Docker 或托管部署说明,生产化落地需要自行补齐。

这个 Agent 与同类方案有什么区别?

与相关度最高的同类 agent 并排比较关键指标。

Agent 源码审查 形态 / 费用 Star 最近更新 主语言 完整支持的平台
LangGraph 智能体实战课程仓库 当前 33 · 缺口较多 命令行工具免费 + 模型费 ★ 727 2 个月前 — OpenAI API
《LangGraph 1.0 完全指南》 69 · 存在缺口 代码库 / SDK免费 + 模型费 ★ 455 18 天前 Jupyter Notebook Claude Code
从零构建邮件智能体 49 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 2.3k 1 个月前 Jupyter Notebook OpenAI API
LangChain 41 · 缺口较多 代码库 / SDK免费 + 模型费 ★ 147k 今天 Python OpenAI API

FollowAgents 如何评估这个 Agent?

FollowAgents 源码审查 · FARS-2.1
缺口较多
33/ 100 五分制 1.7 / 5
信任安全 7/29
可靠稳定 3/14
适用触发 8/18
规范维护 8/18
有效结果 4/13
证据核验 3/8
查看各维度的扣分理由
信任安全7 / 29 · 1.2/5

证据仅含 README 与 LICENSE,无源码、无依赖清单、无权限声明。least_privilege 仅能凭 README 中「可选」的 TAVILY/LANGCHAIN 密钥推断为最小化设计,得 1;user_confirmation 完全无证据,得 0;data_flow_transparency 仅说明会调用 OpenAI/Tavily/LangSmith,未说明数据流向与留存,得 1;sensitive_data_handling 仅提示用 .env 存放密钥,无脱敏、无日志策略,得 1;dependency_security 无 pyproject/lock 文件,无法评估,得 0;external_effects 存在外部 API 调用与 web-search 副作用,但无副作用说明或沙箱,得 1;rollback 无任何回滚/恢复机制描述,得 0;source_attribution 明确致谢 LangChain/LangGraph 文档与教程,得 2。

可靠稳定3 / 14 · 1.1/5

self_consistency 方面 README 内部存在明显不一致:仓库名在正文中拼写为 langgaph-course(缺 r),且分支链接指向同一错误拼写,与标题 langgraph-course 冲突,得 1;dependency_availability 仅给出 poetry install,未列版本约束或锁文件,得 1;failure_messages 无任何错误处理或失败提示说明,得 0。

适用触发8 / 18 · 2.2/5

audience_and_scenarios 明确面向 Udemy 学员与 AI 工程师,场景(Agentic RAG、ReAct、Reflection)清晰,得 2;capability_boundaries 只列出能做什么,未说明不能做什么或适用边界,得 1;trigger_precision 无触发条件/调用契约描述,得 1;environment_fit 仅给出 Python+Poetry 与 .env 变量,未说明 Python 版本、平台或资源要求,得 1。

规范维护8 / 18 · 2.2/5

information_architecture 有仓库地图、分支表、逐课提交表,结构清晰,得 2;install_notes 提供 clone/checkout/poetry install/run 与 .env 示例,得 2;naming_stability 仓库名拼写不一致(langgaph vs langgraph)削弱命名稳定性,得 1;examples_and_faq 有分支示例但无 FAQ,得 1;known_limitations 完全缺失,得 0;license 为完整 Apache-2.0 全文,得 3;versioning_changelog 仅以 commit 列表充当变更记录,无版本号或 CHANGELOG,得 1;maintenance_responsibility 仅指向 Discord/Issues,发布者身份未经验证,责任归属不明确,得 1。

有效结果4 / 13 · 1.5/5

output_usability 无源码与运行产物,无法确认输出可用性,仅凭课程描述得 1;marginal_value 作为课程配套仓库有教学价值,但相对 LangGraph 官方教程的增量有限,得 1;cost_benefit 需 OpenAI/Tavily/LangSmith 付费密钥,成本与收益未做说明,得 1。

证据核验3 / 8 · 1.9/5

claim_traceability 声称「production-grade」「bestseller」「4.7/5」「13K+ 学员」等均无仓库内证据支撑,得 1;cross_source_corroboration 仅 README 与 LICENSE 两份文件,无法交叉印证,得 1;fact_inference_separation 未区分事实与营销表述,得 1。

风险与缓解建议
  • 源码中未见:执行前用户确认开启或自行加上执行前确认;先在沙箱或测试环境跑通,确认行为后再接入真实数据。
  • 源码中未见:依赖安全审查安装前固定版本并做一次依赖扫描(如 npm audit、pip-audit);优先放在容器里运行。
  • 源码中未见:回滚或恢复路径运行前先备份,或在 git 分支、快照上操作,确保改动可以撤销。
  • 仓库名在 README 正文与分支链接中拼写为 langgaph-course,与标题 langgraph-course 不一致,克隆或引用时可能出错。
  • 缺少依赖清单与锁文件,无法评估依赖安全性与版本可复现性。
  • README 中的评分、学员数、『production-grade』等宣传性声明无仓库内证据支撑,不应作为可靠性依据。
  • 发布者身份未经验证,维护责任与更新路径不明确。
  • 运行需 OpenAI/Tavily/LangSmith 密钥,存在外部 API 调用与费用,README 未说明数据流向、留存或副作用控制。
证据充分度:低 评估于 2026年9月29日 审查版本 03f7369e1638
评估证据 README.mdLICENSE
查看完整评分方法 →

常见问题

使用这个仓库需要付费吗?
仓库代码本身免费,但运行需要你自行提供 OPENAI_API_KEY,按模型调用量付费;TAVILY_API_KEY 与 LANGCHAIN_API_KEY 为可选项,分别用于 Web 搜索与 LangSmith 追踪。
应该从哪个分支开始?
README 的 Quick Start 以 project/agentic-rag 为例。若只想理解最小概念,可先看 project/reflection,再依次进入 ReAct、reflection-agent、reflexion-agent 与 agentic-rag。
克隆命令和仓库地址不一致怎么办?
README 中写作 langgaph-course,但实际仓库名是 langgraph-course。请使用 https://github.com/emarco177/langgraph-course.git 进行克隆,并相应调整 cd 目录名。
可以在没有网络搜索的情况下运行吗?
可以。涉及 Web Search Node 的课程需要 TAVILY_API_KEY,其余节点在仅配置 OPENAI_API_KEY 的情况下即可运行;但整体仍需要网络访问模型接口。
这是可以直接上线的生产框架吗?
仓库定位是课程配套的教学代码,按分支与提交组织示例,未提供发布版本、容器化或部署编排;生产使用需要自行封装与加固。
在 GitHub 查看 ↗ 安装 ↓

对比同类 Agent

用同一套 FARS 评审,横向比较这个 Agent 所属的短名单。

相关 Agents