LangGraph

Active
GitHub Python MIT

Description

LangGraph is a framework for building controllable, debuggable, long-running stateful agents, expressing agent state and control flow as a graph.

Key Features

  • Graph-based orchestration — nodes, edges and conditional branches describe agent flow more flexibly than linear chains
  • Persistence & time travel — built-in checkpointers enable resume and state replay
  • Human-in-the-loop — interrupt primitives let agents pause for human confirmation at key steps
  • Parallelism & subgraphs — parallel branches, Send and nested subgraphs for complex workflows
  • LangSmith integration — deep integration with LangSmith for tracing, debugging and evaluation
  • Multi-language SDKs — Python and TypeScript SDKs available

Use Cases

💡 Building agent workflows that need approval and rollback checkpoints
💡 Implementing resumable, long-running agent tasks
💡 Modelling research-style agents with loops and conditional branches as a graph
💡 Combining with LangChain tools for production RAG + tool-using agents
💡 Rewriting existing chains as stateful, observable graphs

Strengths & Limitations

Strengths

  • Actively maintained, recent updates
  • High community interest (39.8k stars)
  • Permissive open-source license (MIT)
  • Established track record (3 years in production)

Quick Start

# Install dependencies
pip install langgraph langchain-openai

# Define a tool-using graph
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', 'What is LangGraph?')]})

Related Projects

CrewAI

57.2k · Python
Active A+

CrewAI is a multi-agent framework for orchestrating role-playing, autonomous AI agents that collaborate like a team to tackle complex tasks.

multi-agentagent-frameworkrole-playing +2
  • · Role-playing agents — every agent has role, goal, backstory and a private toolset
  • · Task orchestration — express dependencies, parallelism and context handoff between tasks
  • · Autonomous collaboration loops — delegation, hierarchical and consensual processes built-in

LangChain

144.4k · Python
Active A+

LangChain is the open-source agent engineering platform that unifies model IO, tool calling, RAG, memory and observability under one composable framework.

agent-frameworkragorchestration +2
  • · Unified model abstraction — ChatModel interface covers OpenAI, Anthropic, Bedrock, Vertex and 100+ providers
  • · Tool calling & agents — tool calling, ReAct, OpenAI Tools, Plan-and-Execute agent paradigms
  • · RAG as a first-class citizen — Document Loader, Text Splitter, Retriever and Index abstractions

AutoAgent

9.7k · Python
Stale B

Fully-automated and zero-code LLM agent framework that enables users to build and deploy custom AI agents through natural language without writing code.

agent-frameworkzero-codeautomation +2
  • · Fully-automated agent building through natural language — no coding required to create, customize, and deploy AI agents
  • · Zero-code framework democratizing AI development for users without technical backgrounds
  • · Self-managing workflow generation that dynamically creates and optimizes agent pipelines from high-level descriptions

Adala

1.6k · Python
Active B

Adala is an autonomous data labeling agent framework that uses AI agents to automate data annotation, classification, and quality checks, significantly improving data processing efficiency.

data-labelingagent-frameworkautomation +2
  • · Autonomous agents that iteratively learn data labeling skills from ground truth
  • · Configurable output constraints with varying flexibility levels per skill
  • · Flexible runtime system supporting student/teacher architecture patterns

Related Articles