LangChain, LangGraph, LangSmith, Langflow... What's the Difference? (2026 Developer's Map) LangChain, LangGraph, LangSmith, Langflow, and other 'Lang' tools are often confused. A developer's guide clarifies the ecosystem: langchain-core is the foundation, langchain offers batteries-included agents, langgraph provides low-level stateful orchestration, and deepagents handles long-running open-ended agents. If you've spent any time building with LLMs in the last year, you've probably hit "Lang-fatigue." LangChain, LangGraph, LangSmith, deepagents , dcode , Langflow, LangFuse — the naming convention is great for branding and terrible for onboarding. This guide untangles the entire ecosystem so you know exactly which tool to reach for, and why. In 2022, "using LangChain" meant one thing: chaining prompt templates and LLM calls together in Python. That was enough when apps were single-shot Q&A bots. Agents changed the equation. Once an LLM can loop, call tools, branch on its own outputs, and run for minutes or hours, "build a chain" stops being the hard part. The hard part becomes: The "Lang" ecosystem today mirrors that lifecycle. It splits cleanly into two categories: langchain-core , langchain , langgraph , deepagents — the code you import and own. Free, self-hostable, framework-level.You can use the open-source layer with zero platform lock-in. Most serious teams eventually pair it with LangSmith once they need to answer "why did this agent fail in production?" langchain-core — the foundation This is the dependency almost everything else sits on top of. It defines the shared vocabulary: Runnable , chat message types, the base interfaces for chat models, vector stores, and retrievers. You rarely install this directly — it comes in as a transitive dependency — but understanding it explains why every LangChain-compatible integration feels interchangeable. python from langchain core.messages import HumanMessage, SystemMessage from langchain core.runnables import Runnable Every chat model, every chain, every tool ultimately implements the Runnable interface: .invoke / .stream / .batch Use it for: understanding the abstractions underneath everything else, or when you're writing a custom integration and need the base classes. langchain — batteries-included agents The high-level framework. This is where most developers start. It ships pre-built agent construction patterns like create agent , a middleware system for hooking into the agent loop retries, guardrails, logging , and connects to 1,000+ model providers, vector stores, and tools out of the box. python from langchain.agents import create agent agent = create agent model="anthropic:claude-sonnet-5", tools= my search tool, my calculator tool , system prompt="You are a helpful research assistant.", result = agent.invoke {"messages": {"role": "user", "content": "Summarize today's AI news"} } Ideal use case: you want a working agent fast, with sensible defaults, and don't need to hand-design the control flow. langgraph — low-level, stateful orchestration Where langchain optimizes for speed of getting started, langgraph optimizes for determinism and control . It models your agent as a graph of nodes and edges rather than a straight-line chain — which matters once your logic needs to loop, branch conditionally, or pause for a human. Key capabilities: python from langgraph.graph import StateGraph, END graph = StateGraph AgentState graph.add node "plan", plan step graph.add node "act", act step graph.add conditional edges "act", should continue, {"continue": "plan", "done": END} app = graph.compile checkpointer=my checkpointer Ideal use case: production agents where you need explicit control over the loop — customer-facing workflows, multi-agent systems, anything that needs to survive a restart mid-task. deepagents & dcode — long-running, open-ended agents deepagents is a harness built on top of langgraph for agents that work more like a persistent employee than a single request/response call — think multi-hour research tasks or autonomous coding sessions, not a single tool call. python from deepagents import create deep agent agent = create deep agent model="openai:gpt-5.5", tools= my custom tool , system prompt="You are a research assistant.", result = agent.invoke {"messages": "Research LangGraph and write a summary"} It gives agents the ability to plan, read/write files, spin up sub-agents for parallel work, and manage their own context window over long tasks. Sitting on top of that SDK is dcode deepagents-code — a pre-built, terminal-based coding agent, comparable in spirit to Claude Code or Cursor's CLI. It's model-agnostic, works with any provider that supports tool calling, and adds persistent memory, custom skills slash commands , remote sandboxes for isolated execution, and a headless mode for CI pipelines. Install and launch dcode curl -LsSf https://langch.in/dcode | bash dcode Ideal use case: open-ended agentic work where you can't fully script the steps in advance — deep research, long-running coding sessions, autonomous debugging. If the open-source frameworks answer "how do I build an agent," LangSmith answers "how do I know it's actually working, and how do I run it reliably." It's framework-agnostic — you can trace LangGraph, a raw OpenAI SDK call, or anything else via OpenTelemetry and SDKs for Python, TypeScript, Go, and Java. Distributed tracing that breaks every agent run into a structured, step-by-step timeline — which tool was called, in what order, with what inputs and outputs, and why the model made each decision. Essential once branching logic and long context make failures hard to reproduce by just reading logs. The LangSmith agent server is built for workloads that don't look like typical stateless web requests — agents that run for a long time, need durable checkpointing, and require human-in-the-loop interruptions. It natively supports: LangServe was the original way to deploy a LangChain Runnable as a REST API FastAPI-based, with /invoke , /batch , and /stream endpoints . It's still maintained for bug fixes, but LangChain now explicitly recommends the LangGraph Platform / LangSmith Deployment for new projects — LangServe was designed for simple, stateless runnables, whereas modern agents need persistence, memory, checkpointing, and human-in-the-loop support that LangServe was never built for. No — this trips up a lot of people. Langflow is a visual, drag-and-drop workflow builder that uses LangChain-style primitives under the hood, but it's a separate open-source project acquired by DataStax, and now under IBM following DataStax's acquisition . It's genuinely popular for prototyping RAG pipelines and agent flows without writing code, and it ships its own MCP server support and API layer — but it isn't developed or maintained by the LangChain team, and its roadmap moves independently. None of these are LangChain products — they're part of the broader ecosystem that grew up around it. | Product | Category | Primary Purpose | Best Used For | |---|---|---|---| langchain-core | Open Source | Base abstractions messages, Runnables, model/vector-store interfaces | Building custom integrations, understanding the shared API surface | langchain | Open Source | High-level agent framework with pre-built patterns and 1,000+ integrations | Getting an agent running quickly with sensible defaults | langgraph | Open Source | Low-level, stateful, cyclic orchestration with durable execution | Production agents needing explicit control, loops, or human-in-the-loop steps | deepagents | Open Source | SDK for long-running, autonomous, open-ended agents | Multi-hour research or task-execution agents | dcode deepagents-code | Open Source | Terminal-based coding agent built on the Deep Agents SDK | Autonomous, CLI-driven coding sessions | | LangSmith Observability | Commercial | Distributed tracing and run inspection | Debugging agent behavior in production | | LangSmith Evaluation | Commercial | LLM-as-judge and human-annotated evals | Measuring and improving agent quality over iterations | | LangSmith Engine | Commercial | Autonomous failure clustering and root-cause fixes | Reducing manual triage time on production issues | | LangSmith Deployment | Commercial | Scalable, fault-tolerant agent server with checkpointing, MCP/A2A support | Running agents in production at scale | | LangSmith Sandboxes | Commercial | Isolated environments for agent-generated code execution | Safely running untrusted, agent-written code | | LangSmith Fleet | Commercial | No-code/low-code internal company agents | Non-engineering teams automating recurring tasks | | LangServe | Legacy OSS | REST-serving LangChain runnables | Simple, stateless chains only superseded for new work | | Langflow | Independent OSS | Visual drag-and-drop agent/RAG builder | Prototyping without code maintained by IBM/DataStax, not LangChain | | LangFuse | Third-party OSS | Self-hostable LLM observability | Framework-agnostic tracing outside LangSmith | | LangTest | Third-party OSS | LLM robustness/bias/fairness testing | Pre-deployment model evaluation | The fastest way to get oriented is to pick your entry point based on what you're actually building: langchain langgraph deepagents For hands-on, structured learning, LangChain Academy https://academy.langchain.com/ has free courses covering the whole stack, and the official documentation https://docs.langchain.com/ is the best source of truth as this ecosystem keeps moving fast. If this cleared up the "Lang" confusion for you, drop a comment with which tool you're using in production right now — I'm curious how the split between langgraph and deepagents is shaking out in real projects.