LangChain promises to save you weeks of orchestration code. Sometimes it does. But for a lot of production LLM apps, a few hundred lines of direct API calls and custom control flow end up faster to ship, easier to debug, and cheaper to maintain than fighting a framework's abstractions. The right call depends on how complex your orchestration actually is — not how complex it might become someday.
Don't reach for LangChain by default. If you can describe your pipeline in five steps, write those five steps directly against the model API — it'll be easier to debug and cheaper to maintain for years. Bring in LangChain (or LangGraph specifically) once the orchestration itself — not the AI part — is the hard problem: many tools, branching agent behavior, or multi-agent coordination that would otherwise mean rebuilding a chunk of the framework yourself.
It's not necessary. Simple to moderately complex agents can be built with direct API calls and your own control flow, often with less code overall than wiring up LangChain's abstractions. LangChain earns its cost on genuinely complex, multi-tool, branching agents where you'd otherwise be rebuilding similar scaffolding yourself.
The abstraction layers that speed up prototyping tend to slow down debugging — it's harder to see exactly what prompt was sent or why a step failed. Version upgrades can introduce breaking changes, and the dependency tree is large for what many pipelines actually need.
For simple pipelines, custom code is often just as fast to build and faster to ship reliably, since there's no framework learning curve. For complex multi-tool agents, LangChain can save real time upfront — but that time can get spent later on debugging and maintenance.
Yes, and it happens often. Teams frequently prototype with LangChain to validate an idea quickly, then rewrite the production path with direct API calls once they understand exactly what the pipeline needs to do. Going the other way — starting custom and adopting LangChain once complexity grows — is also common and usually cleaner.
Tell us about your pipeline and we'll tell you straight — framework or custom code — in a 30-minute call.