Langchain was useful to me personally for two reasons: using their prompt templates as a starting point for my own, and seeing how their “tools” were built to learn about good Python libraries to build my own tools with.
Viewed through this lens, LangChain was more a “sample codebase” than a library for me, and it was reasonably good for that.
When you actually get down to it, they're pointless and counterproductive. Templates are pretty useless and have inconsistently implemented features which make them non-compatible with different LLM backends without changing all your code. Honestly, cannot recommend avoiding the library all together high enough.
Viewed through this lens, LangChain was more a “sample codebase” than a library for me, and it was reasonably good for that.