I read the article but have yet to understand why someone would want to use a framework that introduces meaningless abstractions that are not properly documented or well maintained -aka, they often introduce breaking changes.
I’m interested in a useful agentic framework but LangGraph doesn’t seem to cut it.
Agreed if you are building a typical service. The abstractions will slow you down and don’t and anything.
The use case where they are helpful is “bring your own keys” apps. I maintain https://github.com/kiln-ai/kiln which allows you to bring keys for 13 different providers. The abstraction is very much worth it for me.
That said:
- I migrated from LangChain to LiteLLM and never looked back
- I have over 1000 automated integration tests that check the grid of LLM features (tools, json), model, and provider. Without them it would still be a mess.
fully agree that LangChain is a meaningless abstraction but I've found that the graph abstraction that LangGraph uses is a very useful mental model for thinking about an agentic flow
Would you use different framework?
For what LangChain does, most of the time I see no need for any framework. I would rather directly work with a vendor's official package. LangGraph is different. It is a legitimate piece of workflow software and not a wrapper framework. Now, when it comes to workflow there are many other well established engines out there that I will consider first.
I think the main thing LangGraph adds is a state machine framework for human in the loop with time travel.
So if you have an authoring workflow where a doc goes through a bunch of steps, and at some steps the analyst might want to fix some LLM output manually, and try a couple of things and then go back to the way it was before and try again, it will do that and you won't have to make your own state machine.
Now is it actually a state machine or is it just well logged?
LangGraph implements a variant of the Pregel/BSP algorithm for orchestrating workflows with cycles (ie. not DAGs) and parallelism without data races. You can design your graph as a state machine if you so desire
Pretty much this
Not to mention most of those frameworks were almost vibecoded.
They offer very little on top of what you could do it yourself
But of course some people think "if it exists we need to use it"