LangGraph 智能体实战课程仓库
用可复现的分支与提交,逐步搭建 Agentic RAG、ReAct 与反思型 LLM 智能体。
- Star 数
- ★ 727
- 最近更新
- 2 个月前
- License
- Apache-2.0
- FA 评分
- 33/100 · 缺口较多
30 秒速览
- 运行形态
- 可在哪里用
- 兼容但需适配OpenAI API
- 费用
- 软件免费,模型调用费用自付
- 上手难度
- 中 · 需要几步配置
- 开始前需要
- 典型场景
- 正在学习 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 追踪。
- 正在学习 LangGraph 的开发者,希望通过检出 project/agentic-rag 并逐个 cherry-pick 提交来理解 RAG 图的搭建过程。
- 需要为客户演示带自校正能力的检索问答流程的工程师,可复用 Grade Docs Node 与 Self-RAG 思路搭建原型。
- 要快速对比 ReAct 与反思/Reflexion 两类智能体循环差异的研究者或学生,可分别在对应分支运行 main.py。
- 使用 LangChain 生态、希望接入 Tavily 网络搜索工具做多步问答的团队,可参考 Web Search Node 的配置方式。
- 准备面试或教学材料、需要按课时组织演示顺序的讲师,可利用仓库的 commit 与课程表的一一对应关系。
- 需要在本地验证 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?
查看各维度的扣分理由
证据仅含 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。
self_consistency 方面 README 内部存在明显不一致:仓库名在正文中拼写为 langgaph-course(缺 r),且分支链接指向同一错误拼写,与标题 langgraph-course 冲突,得 1;dependency_availability 仅给出 poetry install,未列版本约束或锁文件,得 1;failure_messages 无任何错误处理或失败提示说明,得 0。
audience_and_scenarios 明确面向 Udemy 学员与 AI 工程师,场景(Agentic RAG、ReAct、Reflection)清晰,得 2;capability_boundaries 只列出能做什么,未说明不能做什么或适用边界,得 1;trigger_precision 无触发条件/调用契约描述,得 1;environment_fit 仅给出 Python+Poetry 与 .env 变量,未说明 Python 版本、平台或资源要求,得 1。
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。
output_usability 无源码与运行产物,无法确认输出可用性,仅凭课程描述得 1;marginal_value 作为课程配套仓库有教学价值,但相对 LangGraph 官方教程的增量有限,得 1;cost_benefit 需 OpenAI/Tavily/LangSmith 付费密钥,成本与收益未做说明,得 1。
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 未说明数据流向、留存或副作用控制。