We no longer use LangChain for building our AI agents

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. semantic-kernel

    Integrate cutting-edge LLM technology quickly and easily into your apps

    Bigger problem might be using agents in the first place.

    We did some testing with agents for content generation (e.g. "authoring" agent, "researcher" agent, "editor" agent) and found that it was easier to just write it as 3 sequential prompts with an explicit control loop.

    It's easier to debug, monitor, and control the output flow this way.

    But we still use Semantic Kernel[0] because the lowest level abstractions that it provides are still very useful in reducing the code that we have to roll ourselves and also makes some parts of the API very flexible. These are things we'd end up writing ourselves anyways so why not just use the framework primitives instead?

    [0] https://github.com/microsoft/semantic-kernel

  2. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  3. burr

    Build applications that make decisions (chatbots, agents, simulations, etc...). Monitor, trace, persist, and execute on your own infrastructure.

    I really like the idea of "good" and "bad" abstractions. I have absolutely built both.

    This sentiment is echoed in this comment in reddit comment as well: https://www.reddit.com/r/LocalLLaMA/comments/1d4p1t6/comment....

    Similarly to this post, I think that the "good" abstractions handle application logic (telemetry, state management, common complexity), and the "bad" abstractions make things abstract away tasks that you really need insight into.

    This has been a big part of our philosophy on Burr (https://github.com/dagworks-inc/burr), and basically everything we build -- we never want to tell how people should interact with LLMs, rather solve the common problems. Still learning about what makes a good/bad abstraction in this space -- people really quickly reach for something like langchain then get sick of abstractions right after that and build their own stuff.

  4. crewAI

    Framework for orchestrating role-playing, autonomous AI agents. By fostering collaborative intelligence, CrewAI empowers agents to work together seamlessly, tackling complex tasks.

    See CrewAI who refuses to allow users to disable some pretty aggressive telemetry, yet they have a huge number of GH stars.

    The abstractions are handy if you have no idea what you are doing but it's not groundbreaking tech.

    https://github.com/joaomdmoura/crewAI/pull/402

  5. Voyager

    An Open-Ended Embodied Agent with Large Language Models (by MineDojo)

    Some "agents" like the minecraft bot Voyager(https://github.com/MineDojo/Voyager) have a control loop, they are given a high level task and then they use LLM to decide what actions to take, then evaluate the result and iterate. In some LLM frameworks, a chain/pipeline just uses LLM to process input data(classification, named entitiy extraction, summary, etc).

  6. EdgeChains

    EdgeChains.js is Full-Stack GenAI library. Front-end, backend, apis, prompt management, distributed computing. All core prompts & chains are managed declaratively in jsonnet (and not hidden in classes)

    shameless plug - i build a JS/TS framework which tries to solve the abstraction problem. we use a json variant called jsonnet (created at google. expressive enough for kubernetes).

    https://github.com/arakoodev/EdgeChains/tree/ts/JS/edgechain...

    examples of these jsonnet for react COT chains - https://github.com/arakoodev/EdgeChains/blob/ts/JS/edgechain...

    P.S. we also build a webassembly compiler that compiles this down to wasm and deploy on hardware.

  7. lighthouse

    A framework for serving GraphQL from Laravel (by nuwave)

    I don't know a thing about LangChain so this is a real digression, but I often wonder if people who are critiquing GraphQL do so from the position of only having written GraphQL resolvers by hand.

    If so, it would make sense. But a GraphQL server-side that is based around the GraphQL Schema Language is another matter entirely.

    I've written several applications that started out as proofs of concept and have evolved into production platforms based on this pairing:

    https://lighthouse-php.com

  8. patchwork

    Open-source framework to review and patch code using your preferred LLM. (by patched-codes)

    Many such cases. It is very hard to balance composition and abstraction in such frameworks and libraries. And LLMs being so new it has taken several iterations to get the right patterns and architecture while building LLM based apps. With patchwork (https://github.com/patched-codes/patchwork) an open-source framework for automating development workflows we try hard to avoid it by not abstracting unless we see some client usage. As a result you do see some workflows appear longer with many steps but it makes it easier to compose them.

  9. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  10. plandex

    AI driven development in your terminal. Designed for large, real-world tasks.

    I haven't used LangChain, but my sense is that much of what it's really helping people with is stream handling and async control flow. While there are libraries that make it easier, I think doing this stuff right in Python can feel like swimming against the current given its history as a primarily synchronous, single-threaded runtime.

    I built an agent-based AI coding tool in Go (https://github.com/plandex-ai/plandex) and I've been very happy with that choice. While there's much less of an ecosystem of LLM-related libraries and frameworks, Go's concurrency primitives make it straightforward to implement whatever I need, and I never have to worry about leaky or awkward abstractions.

  11. txtai

    💡 All-in-one open-source embeddings database for semantic search, LLM orchestration and language model workflows

    An alternative is using txtai (https://github.com/neuml/txtai). It's lightweight and works with both local and remote LLMs.

    Here is an example article that shows how to use OpenAI calls with txtai: https://neuml.hashnode.dev/rag-with-llamacpp-and-external-ap...

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • Llama 3.2: Revolutionizing edge AI and vision with open, customizable models

    15 projects | news.ycombinator.com | 25 Sep 2024
  • Mistral Small 3

    4 projects | news.ycombinator.com | 30 Jan 2025
  • Chatbot with Semantic Kernel - Part 5: Text-to-speech 📣

    1 project | dev.to | 29 Jan 2025
  • Distilabel is a framework for synthetic data and AI feedback

    1 project | news.ycombinator.com | 28 Jan 2025
  • DeepSeek-R1: Incentivizing Reasoning Capability in LLMs via RL

    8 projects | news.ycombinator.com | 25 Jan 2025

Did you know that Python is
the 2nd most popular programming language
based on number of references?