LangGraph

活跃
GitHub Python MIT

简介

LangGraph 是一个用于构建可控、可调试、长期运行的有状态 Agent 框架,以图的方式描述 Agent 的状态与控制流。

核心特性

  • 图模型编排 — 用节点、边、条件分支描述 Agent 流程,比线性 Chain 更灵活
  • 持久化与时间旅行 — 内置 checkpointer 支持断点恢复与状态回放
  • 人机协同 — 内置 interrupt 与 Human-in-the-loop 节点,可在关键步骤暂停等待人工确认
  • 并行与子图 — 支持并行分支、Send 与子图嵌套,便于复杂工作流
  • LangSmith 集成 — 与 LangSmith 深度集成,便于追踪、调试与评估
  • 多语言 SDK — 提供 Python 与 TypeScript 双版本 SDK

适用场景

💡 搭建需要审批、回滚的人工监督 Agent 工作流
💡 构建可中断、可恢复的长时间运行 Agent 任务
💡 用图模型描述带循环与条件分支的研究型 Agent
💡 与 LangChain 工具链组合实现生产级 RAG + 工具 Agent
💡 把现有 Chain 改写为带状态与可观测性的图

优势与不足

优势

  • 活跃维护,近期持续更新
  • 社区热度高(39.8k stars)
  • 开源许可证友好(MIT)
  • 项目有一定历史沉淀(已维护 3 年)

快速开始

# 安装依赖
pip install langgraph langchain-openai

# 定义一个带工具的图
from langgraph.graph import StateGraph, MessagesState, START, END
from langgraph.prebuilt import ToolNode
from langchain_openai import ChatOpenAI

def call_model(state: MessagesState):
    model = ChatOpenAI(model='gpt-4o').bind_tools([search])
    return {'messages': [model.invoke(state['messages'])]}

def should_continue(state):
    return 'tools' if state['messages'][-1].tool_calls else END

graph = StateGraph(MessagesState)
graph.add_node('agent', call_model)
graph.add_node('tools', ToolNode([search]))
graph.add_edge(START, 'agent')
graph.add_conditional_edges('agent', should_continue)
graph.add_edge('tools', 'agent')
app = graph.compile()
app.invoke({'messages': [('user', '什么是 LangGraph?')]})

相关项目

CrewAI

57.2k · Python
活跃 A+

CrewAI 是一个用于编排角色扮演、自主协作 AI Agent 的多智能体框架,可让多个 Agent 像团队一样分工完成复杂任务。

multi-agentagent-frameworkrole-playing +2
  • · 角色扮演 Agent — 每个 Agent 拥有角色、目标、背景故事与独立工具集
  • · 任务依赖编排 — 通过 Task 与 Process 描述任务依赖、并行执行与上下文交接
  • · 自主协作循环 — 内置 delegation、hierarchical 与 consensual 三种协作流程

LangChain

144.4k · Python
活跃 A+

LangChain 是面向 Agent 工程化的开源框架与编排平台,提供模型接入、工具调用、RAG、记忆与可观测性的统一抽象。

agent-frameworkragorchestration +2
  • · 统一模型抽象 — 通过 ChatModel 接口接入 OpenAI、Anthropic、Bedrock、Vertex 等上百家模型
  • · 工具调用与 Agent — 提供 tool calling、ReAct、OpenAI Tools、Plan-and-Execute 等多种 Agent 范式
  • · RAG 一等公民 — 内置 Document Loader、Text Splitter、Retriever 与索引抽象

AutoAgent

9.7k · Python
不活跃 B

全自动化零代码 LLM Agent 框架,用户无需编写代码即可构建和部署自定义 AI Agent,支持自然语言驱动的 Agent 创建。

agent-frameworkzero-codeautomation +2
  • · 全自动代理构建 — 通过自然语言即可创建、定制和部署 AI Agent,无需编码
  • · 零代码框架,让没有技术背景的用户也能参与 AI 开发
  • · 自管理工作流生成 — 根据高层描述动态创建和优化代理管道

相关文章