I am evaluating the next iteration of our knowledge bot, moving it from a passive/reactive Q&A system to an active assistant. As I double down on the Agents SDK, I’ve noticed that it may allow me to replace Langchain and avoid the complexities associated with maintaining applications built on it. Currently, Evals - Langsmith rely on Langchain being used in the project, and their evaluation product is more advanced than OpenAI evals. What are some proven design patterns used in production for building an ‘agentic’ knowledge assistant, with or without Langchain?
There isn’t one. If you’re building an agent, you’re already far ahead of the bell curve than most, let alone using agents in production. For the ones that are using agents already in production, it’s mostly proprietary, so nobody really knows.
Welcome to pioneering an avante garde field! ![]()
Otherwise, congrats on moving away from langchain. As you discovered, it does overcomplicate things and bloats code for (imo) seemingly no reason. Very few of us tend to recommend it.
That being said, what specifically are you needing help with? Designing the architecture for your use case? Is that what you’re asking?
I guess the main problems lay in performance, observability, context gathering and reliable tool calling?
@Macha yes we are creating design patterns as we go I think based on usage and where the technology is headed. You are correct that most of the production grade assistants are in Software Development - Codex/Claude Code that I would call as level 2 - 3 on the autonomy scale.
@jochenschultz - yes the classic og software engineering with the addition of context management and tool handling. The same data ( now context) is needed for multiple use cases.
We are aiming to go from a broader knowledge bot use case to domain specific knowledge bot to understand the user queries and route to appropriate tools. Definitely in the early stages but if I were to start today vs 2 years ago, I don’t think I would use Langchain unless there is value in orchestrating multiple models from various platforms together ?
The same data is used for multiple usecases? I doubt that.
Could you be more specific?
@jochenschultz - For clarity, here’s an analogy: Imagine v1 of a knowledge bot is built to process an entire encyclopedia. However, from a business or product market fit perspective, we now only want the bot to focus on and reuse specific parts of that encyclopedia, for example, just the medical section when serving healthcare professionals. This is similar to using the same set of data in different contexts, by tailoring which portions are relevant based on the user’s needs.
Maybe like this? You can use it for multiple usecases, not just autocoding context exploration.
@jochenschultz - Thank you. I will review this and give it a try. To conclude my exploration of this topic: for now, use cases will drive agent orchestration. The Agents SDK offers a simpler design pattern. However, if you are building retrieval as a tool, LangChain is extremely helpful for abstracting the complexities involved in integrating various connectors, text splitters, and vector stores, independent of any specific client such as ChromaDB or Pinecone. LangChain could become an essential framework for retrieval, as seen in our current knowledge bot use case. In my situation, all changes to the applied AI stack will need to be incremental, based on the specific use cases.