Remix.run Logo
prodigycorp 14 hours ago

The best part about this is that you know the type of people/companies using langchain are likely the type that are not going to patch this in a timely manner.

peab 10 hours ago | parent | next [-]

Langchain is great because it provides you an easy method to filter people out when hiring. Candidates who talk about langchain are, more often than not, low quality candidates.

babyshake 8 hours ago | parent | next [-]

Would you say the same for Mastra? If so, what would you say indicates a high quality candidate when they are discussing agent harnessing and orchestration?

avaer 5 hours ago | parent [-]

I somewhat take issue as a LangChain hater + Mastra lover with 20+ years of coding experience and coding awards to my name (which I don't care about, I only mention it for context).

Langchain is `left-pad` -- a big waste of your time, and Mastra is Next.js -- mostly saving you infrastructure boilerplate if you use it right.

But I think the primary difference is that Python is a very bad language for agent/LLM stuff (e.g. static typesystem, streaming, isomorphic code, strong package management ecosystem is what you want, all of which Python is bad with). And if for some ungodly reason you had to do it in Python, you'd avoid LangChain anyway so you could bolt on strong shim layers to fix Python's shortcomings in a way that won't break when you upgrade packages.

Yes, I know there's LangChain.js. But at that point you might as well use something that isn't a port from Python.

> what would you say indicates a high quality candidate when they are discussing agent harnessing and orchestration?

Anything that shows they understand exactly how data flows through the system (because at some point you're gonna be debugging it). You can even do that with LangChain, but then all you'd be doing is complaining about LangChain.

runeblaze 17 minutes ago | parent | next [-]

> And if for some ungodly reason you had to do it in Python

I literally invoke sglang and vllm in Python. You are supposed to (if not using them over-the-network) use the two fastest inference engines there is via Python.

stingraycharles 2 hours ago | parent | prev [-]

Python being a very bad language for LLM stuff is a hot take I haven’t heard before. Your arguments sound mostly like personal preferences that apply to any problem, not just agentic / LLM.

If we’re going to throw experience around, after 30+ years of coding experience, I really don’t care too much anymore as long as it gets the job done and it doesn’t get in the way.

LangChain is ok, LangGraph et al I try to avoid like the plague as it’s too “framework”-ish and doesn’t compose well with other things.

avaer an hour ago | parent [-]

I used to write web apps in C++, so I totally understand not caring if it gets the job done.

I guess the difference where I draw the line is that LLMs are inherently random I/O so you have to treat them like UI, or the network, where you really have no idea what garbage is gonna come in and you have to be defensive if you're going to build something complex -- otherwise, you as a programmer will not be able to understand or trust it and you will get hit by Murphy's law when you take off your blinders. (if it's simple or a prototype nobody is counting on, obviously none of this matters)

To me insisting that stochastic inputs be handled in a framework that provides strong typing guarantees is not too different from insisting your untrusted sandbox be written in a memory safe language.

stingraycharles 12 minutes ago | parent [-]

What does static type systems provide you with that, say, using structured input / output using pydantic doesn’t?

I just don’t follow your logic of “LLMs are inherently random IO” (ok, I can somehow get behind that, but structured output is a thing) -> “you have to treat them like UI / network” (ok, yes, it’s untrusted) -> static typing solves everything (how exactly?)

This just seems like another “static typing is better than dynamic typing” debate which really doesn’t have a lot to do with LLMs.

stingraycharles 2 hours ago | parent | prev | next [-]

What makes you say that? Because it’s popular?

isoprophlex 2 hours ago | parent [-]

Because it's shit.

notnullorvoid 8 hours ago | parent | prev | next [-]

Curious what your critique is for LangChain?

I found the general premise of the tools (in particular LangGraph) to be solid. I was never in the position to use it (not my current area of work), but had I been I may have suggested building some prototypes with it.

deepsquirrelnet 9 hours ago | parent | prev [-]

It also helps with jobseeking as well. Easy to know which places to avoid.

wilkystyle 14 hours ago | parent | prev | next [-]

Can you elaborate? Fairly new to langchain, but didn't realize it had any sort of stereotypical type of user.

int_19h 11 hours ago | parent | next [-]

I'll admit that I haven't looked it in a while, but as originally released, it was a textbook example on how to complicate a fundamentally simple and well-understood task (text templates, basically) with lots of useless abstractions that made it all sound more "enterprise". People would write complicated langchains, but then when you looked under the hood all it was doing is some string concatenation, and the result was actually less readable than a simple template with substitutions in it.

phyzome 5 hours ago | parent | next [-]

Huh, kind of sounds like they used LLMs to design it. :-)

gcr 10 hours ago | parent | prev [-]

What do you suggest instead? Handrolled code with “import openai”? BAML?

hhh 2 hours ago | parent | next [-]

yes, in an industry that has rapidly changing features and 7000 of these products that splinter and lose user base so quickly you should write your own orchestration for this stuff. It’s not hard and gives you a very easy path to implementing new features or optimizations.

llmslave2 6 hours ago | parent | prev [-]

Oh gosh, not that legacy "hand rolled code"

XCSme 13 hours ago | parent | prev | next [-]

I am not sure what's the stereotype, but I tried using langchain and realised most of the functionality actually adds more code to use than simply writing my own direct API LLM calls.

Overall I felt like it solves a problem doesn't exist, and I've been happily sending direct API calls for years to LLMs without issues.

teruakohatu 12 hours ago | parent | next [-]

JSON Structured Output from OpenAI was released a year after the first LangChain release.

I think structured output with schema validation mostly replaces the need for complex prompt frameworks. I do look at the LC source from time to time because they do have good prompts backed into the framework.

avaer 4 hours ago | parent | next [-]

To this day many good models don't support structured outputs (say Opus 4.5) so it's not a panacea you can count on in production.

The bigger problem is that LangChain/Python is the least set up to take advantage of strong schemas even when you do have it.

Agree about pillaging for prompts though.

teruakohatu 15 minutes ago | parent [-]

> so it's not a panacea you can count on in production.

OpenAI and Gemini models can handle ridiculously complicated and convoluted schemas, if I needed complicated JSON output I wouldn’t use anything that didn’t guarantee it.

I have pushed Gemini 2.5 Pro further than I thought possible when it comes to ridiculously over complicated (by necessity) structured output.

majormajor 12 hours ago | parent | prev [-]

IME you could get reliable JSON or other easily-parsable output formats out of OpenAI's going back at least to GPT3.5 or 4 in early 2023. I think that was a bit after LangChain's release but I don't recall hitting problems that I needed to add a layer around in order to do "agent"-y things ("dispatch this to this specialized other prompt-plus-chatgpt-api-call, get back structured data, dispatch it to a different specialized prompt-plus-chatgpt-api-call") before it was a buzzword.

nostrebored 7 hours ago | parent [-]

Can guarantee this was not true for any complicated extraction. You could reliably get it to output json but not the json you wanted

Even on smallish ~50k datasets error was still very high and interpretation of schema was not particularly good.

avaer 4 hours ago | parent [-]

It's still not true for any complicated extraction. I don't think I've ever shipped a successful solution to anything serious that relied on freeform schema say-and-pray with retries.

Insanity 11 hours ago | parent | prev [-]

When my company organized an LLM hackathon last year, they pushed for LangChain.. but then instead of building on top of it I ended up creating a more lightweight abstraction for our use-cases.

That was more fun than actually using it.

prodigycorp 12 hours ago | parent | prev [-]

No dig at you, but I take the average langchain user as one who is either a) using it because their C-suite heard about at some AI conference and had it foisted upon them or b) does not care about software quality in general.

I've talked to many people who regret building on top of it but they're in too deep.

I think you may come to the same conclusions over time.

inlustra 12 hours ago | parent | next [-]

Great insight that you wouldn’t get without HN, thank you! What would you and your peers recommend?

baobabKoodaa 11 hours ago | parent | next [-]

LangChain does not solve any actual problem, so there is no need to replace it with anything. Just build without it.

peab 10 hours ago | parent | prev | next [-]

There's a great talk called Pydantic is all you need that i highly recommend

sumitkumar 11 hours ago | parent | prev [-]

pydantic/pydanticAI in builder mode or llamaindex in solution architect mode.

wilkystyle 7 hours ago | parent | prev [-]

Thanks for the reply, and no offense taken. I've inherited some code that uses LangChain, and this is my first experience with it.

anonzzzies 12 hours ago | parent | prev [-]

Yep, not sure why anyone is using it still.

blcknight 7 hours ago | parent | next [-]

What would you use instead?

I built an internal CI chat bot with it like 6 months ago when I was learning. It’s deployed and doing what everyone needs it to do.

Claude Code can do most of what it does without needing anything special. I think that’s the future but I hate the vendor lock in Anthropic is pushing with CC.

All my python tools could be skills, and some folks are doing that now but I don’t need to chase after every shiny thing — otherwise I’d never stop rewriting the damn thing.

Especially since there’s no standardizing yet on plugins/skills/commands/hooks yet.

esperent 37 minutes ago | parent [-]

> I hate the vendor lock in Anthropic is pushing with CC.

Accepting any kind of vendor lock in within this space at the moment is an incredibly bad idea. Who knows what will get released next week, let alone the next year. Anthropic might be dead in the water in six months. It's unlikely but not impossible. Expand that to a couple of years and it's not even that unlikely.

echelon 10 hours ago | parent | prev [-]

These guys raised $125M at $1.3B post on $12M ARR? What.

> Today, langchain and langgraph have a combined 90M monthly downloads, and 35 percent of the Fortune 500 use our services

What? This seems crazy. Maybe I'm blind, but I don't see the long term billion dollar business op here.

Leftpad also had those stats, iirc.

anonzzzies 10 hours ago | parent [-]

They were the first, very very early in the gpt hype start.