> ## Content Index
> Fetch the complete content index at: https://www.taivo.ai/llms.txt
> Use this file to discover other available public pages before exploring further.

# Langchain frustration
- URL: https://www.taivo.ai/__langchain-frustration/
- Published: 2023-03-22T14:46:40.000Z
- Updated: 2025-12-24T11:02:37.000Z
- Author: Taivo Pungas
- Tags: Products, stream

I was building an agent with **langchain* today, and was very frustrated with the developer experience. It felt hard to use, hard to get things right, and overall I was confused a lot while developing (for no good reason).

Why is it so hard to use? Here are some of my observations.

1. **Verbose**. If I have done something once on **ChatGPT*, I should be able to turn that into an app by just copying in a list of prompts. (Idea: maybe an agent chain from this?)
2. **Bad abstractions**. The distinction between an **Agent middleware* and a **Tool* is not actually a clear one (an Agent can call another Agent as a "tool", and a Tool often actually involves a call to an **LLM* itself). There are two different interfaces to remember as well. I've had this feeling before too -- Harrison Chase (the founder of **langchain*) ships extremely fast, but it feels like this is a good time to pause and redesign the developer interface.
3. **Lack of tool ecosystem**. Sure, there are a few built-in, but there could be an immense **Open-source* ecosystem of shared tools. Kind of like Obsidian plugins. There probably are many, but they are hard to discover -- Obsidian's plugin directory solves that quite well.
4. **Hard to debug**. It's good that you see chain & agent output in the terminal, but boy does that get out of hand quickly! An agent/tool can output pages of text per invocation, and scrolling terminal becomes tedious very quickly.

Of course, it is very early software. It will get better. And frustration is actually a sign of a valuable product -- it shows that I (and probably other users) really care.

Perhaps this is actually a property of developing with **LLM*s? I do think a new programming paradigm is arising, enabled by cheap and fast LLM APIs. I imagine early Android developers must have felt the same, struggling with the not-quite-right abstractions and difficulties debugging, etc. So assuming these are the early days, there is reason for optimism.