All articles
April 26, 2025 6 min read

LangChain: the framework everyone starts with (for better and worse)

LangChain is the best-known toolkit for building LLM apps — chains, agents, memory, and integrations for everything. Here's what it gives you, and an honest take on when to use it.

Written forEngineeringProduct
LangChainFrameworksTooling

If you've searched 'how to build an LLM app', you've met LangChain. It was one of the first frameworks to give the messy work of LLM plumbing a shape — chaining calls, wiring up tools, connecting to vector stores — and it remains the default starting point for a lot of teams. It's genuinely useful, and genuinely easy to over-use.

What it gives you

  • Composable chains — the LangChain Expression Language (LCEL) lets you pipe prompts, models, and parsers into a pipeline.
  • Agents and tools — abstractions for letting a model call functions and loop toward a goal.
  • Integrations — a huge catalogue of connectors for model providers, vector databases, and document loaders.
  • Memory and retrieval — building blocks for conversation history and RAG so you don't wire them from scratch.

For a common architecture, this is a lot of undifferentiated heavy lifting done for you, with a large community and plenty of examples to copy.

The honest trade-offs

  • Abstraction cost — the layers can hide what's actually sent to the model, which makes debugging and prompt-tuning harder.
  • Churn — the API has moved fast over its life, so older tutorials go stale.
  • Sometimes it's overkill — a single well-placed API call doesn't need a framework around it.

When to reach for it

LangChain shines when you're wiring together many moving parts — multiple tools, retrieval, and models behind one flow — and want batteries-included integrations. For a simple, single-purpose call, the raw provider SDK is often clearer. And its sibling LangGraph is the better fit when you need explicit, stateful control over an agent's steps. Use the abstraction where it removes real work; drop to the metal where it just adds a layer.

LangChain is the fastest way to build an LLM app — and, if you're not careful, the fastest way to lose sight of what your LLM app is actually doing.
Building something with LLMs?
I help teams ship GenAI that’s reliable and cost-efficient.
Let’s talk