It's bloated and ambitious and being built way too fast, and making very confusing design choices. But the alternatives I've found, such as Microsoft's Autogen, are arguably clunkier.
I've found making reusable software in the AI-ML space will absolutely drive you nuts. I've been there and done that. For instance at one job I developed a model trainer and never really got an answer that combined the values of "can train models that take >1 computer*day to train" and "has model selection features half as good as scikit-learn". (e.g. sorry Huggingface's model eval tools and data prep tools strike me as so wrongheaded they make me want to hurl, even though the actual training and inference stuff is fine... Trouble is training will get you a model that works sometime some of the time after a large number of tries, consistently getting models you can use takes model selection and discipline that people in that business don't have. The average data scientist is so hung up on the April sales report being a work of art that the idea of making it a science so you have a cron job that makes a monthly sales report is totally foreign)
Some of it is that you can't please anybody, some of it is inevitably you are going to introduce some abstractions that cost more than they benefit and very few people have the courage to undo that, particularly once you have systems that are (almost) working. Worse than that people are intimidated by the problem, particularly when they see Langchain, which makes them think they can't do it on their own, except that they can.
It's like the way Zapier puts a tax on the API economy. Programmers know that you can often write a script to access an API through Python that takes less time to write than a requirements doc. Unfortunately managers buy the hype that you need Zapier and don't start to see it's a problem until they realize they'd be making profits if they weren't paying for Zapier.
If you started with
and maybe added Faiss or pinecone you could probably have a prototype running in the time you can spend contemplating WTF is wrong with LangChain so run don't walk.