DEV Community

Cover image for How LangChain, LangGraph, LangSmith fits together
Sneha M K
Sneha M K

Posted on

How LangChain, LangGraph, LangSmith fits together

LangChain, LangGraph, LangSmith: Three Names, One Confusing Naming Convention

They all start with "Lang," they're all made by the same company, and they solve three completely different problems. Here's what each one actually does.

If you've started building anything with LLMs in the last year, you've run into this wall: someone's tutorial uses LangChain, someone else's uses LangGraph, a third person swears you need LangSmith before you ship anything to production — and all three names sound close enough that it's genuinely unclear whether you need one of them, all three, or whether two of them are just old and new names for the same thing.

They're not. They're three separate tools that happen to come from the same company (LangChain, the company) and are designed to be used together, but each one solves a distinct problem. Once you see the split, the confusion mostly disappears.

LangChain: the building-blocks layer

LangChain is the original library, and it's still what most people mean when they say "I'm using LangChain." It provides the components you need to build an LLM application: standardized interfaces for calling different models, prompt templates, retrievers for pulling in outside data, tool definitions, memory for conversation history, and a large library of pre-built integrations (vector stores, document loaders, APIs) so you're not writing that plumbing yourself.

It composes these pieces using something called LCEL (LangChain Expression Language), which lets you chain components together into a pipeline — hence the name. This is the right layer for straightforward applications: a chatbot, a basic RAG system, a summarizer. If your logic is mostly "take input, run it through a sequence of steps, return output," LangChain by itself covers you well.

LangGraph: the orchestration layer

LangGraph exists because real agents don't behave like a straight pipeline. They loop. They branch based on what happened in a previous step. They sometimes need to pause and wait for a human to approve something before continuing. They need to survive a crash without losing track of where they were. A linear chain can't represent any of that cleanly.

LangGraph models an agent as a StateGraph: nodes (each one a step — either a deterministic function or an LLM call) connected by edges, with a persistent state object that flows through the whole graph and gets checkpointed as execution proceeds. That checkpointing is the headline feature: LangGraph 1.0, released in late 2025, made "your agent should survive a server restart" a real, built-in guarantee rather than something every team had to hand-roll — execution state persists automatically, so a crash mid-run doesn't mean starting over from scratch.

Officially, LangChain describes LangGraph as a "low-level orchestration framework and runtime for building, managing, and deploying long-running, stateful agents." You can use it without LangChain at all — it's a separate, independent library — though in practice most teams use LangChain's components (a model call, a retriever, a tool) inside LangGraph's nodes. LangGraph is now trusted in production by companies including Klarna, Replit, and Elastic, specifically for its durable execution and human-in-the-loop support.

LangSmith: the observability layer

LangSmith is the one people skip until something breaks in production, and then wish they'd set up on day one. It's not a framework for building anything — it's a platform for watching what your agent actually does once it's running.

Every run — every LLM call, every tool invocation, every branch the graph took — gets captured as a trace, so you can see exactly which step produced a bad output, how much it cost in tokens, and how long each part took. Beyond tracing, LangSmith adds evaluation (including LLM-as-judge scoring against test datasets), monitoring dashboards for error rates and latency in production, and automated clustering to surface failure patterns you wouldn't spot by reading logs one at a time. It's framework-agnostic — it works with OpenAI or Anthropic SDKs directly, not just LangChain apps — and it's used in production by companies like Expedia, Autodesk, Workday, and Coinbase.

The one-line version an engineer on this stack put well: LangChain for building, LangGraph for orchestrating, LangSmith for observing. They're not competing products. They're three different concerns that happen to show up in almost every serious agent project, built by the same team so they plug into each other with minimal glue code.

So which one do you actually need?

If you're prototyping something simple — a single-pass RAG chatbot, a basic summarization tool — LangChain on its own is probably enough. Reach for LangGraph once your logic needs loops, conditional branches, multi-step planning, or has to survive running for minutes or hours without losing state; it's the difference between "call the model once" and "run an agent." And add LangSmith the moment you're putting anything in front of real users or real cost — not because it's mandatory to get something working, but because debugging a multi-step agent with print statements is exactly as painful as it sounds, and the failure patterns that matter (a tool silently returning bad data three steps before the final answer) are close to invisible without tracing.

Most production agent stacks in 2026 end up using all three, and that's by design, not an accident of confusing branding: you build with LangChain, you orchestrate with LangGraph, and you keep your eyes open with LangSmith.

Top comments (0)