I'm really puzzled about LangChain. It looks like a lot of cruft and abstraction over something that is very simple. Every senior engineer I know feels the same way. Please explain why I'm wrong.
It adds a cognitive burden, and hides the "magic" and prompts three layers deep with agents, to something already cognitively burdensome if you're looping inputs on themselves or calling multiple agents. In my opinion, of course.
It's too many layers of over-engineered complexity, and it's for underlying components that are changing very rapidly, so you are getting bogged down with out-dated architecture very quickly.
Do I need to learn langchain to be substantially more productive at that stuff?