AI Wisdom

AI Wisdom reference · Case studies

Orchestration Framework — LangChain vs Semantic Kernel

We need an orchestration framework for building RAG pipelines, agent workflows, and tool-calling chains.

ADR-004accepted3 alternatives evaluated
On this page

The problem

We need an orchestration framework for building RAG pipelines, agent workflows, and tool-calling chains. The two leading options are LangChain (Python/JS) and Semantic Kernel (C#/.NET/Python).

What we weighed

LangChain / LangGraph

Pros
  • +Largest community and ecosystem
  • +LangGraph provides stateful agent graphs
  • +Extensive integrations (100+ tools, vector stores)
  • +LangSmith for observability
Cons
  • −Heavy abstraction layers — "framework lock-in"
  • −Breaking API changes between versions
  • −Over-abstracted for simple use cases

Semantic Kernel

Pros
  • +First-class .NET support (our backend stack)
  • +Clean plugin architecture
  • +Native Azure AI integration
  • +Enterprise-focused with Microsoft backing
Cons
  • −Smaller community than LangChain
  • −Fewer third-party integrations
  • −Python SDK less mature than .NET
  • −Entered maintenance mode in 2025 — merged with AutoGen into Microsoft Agent Framework, which now receives new features

Direct SDK calls (no framework)

Pros
  • +Zero abstraction overhead
  • +Full control over every API call
  • +No dependency on framework versioning
Cons
  • −Must build retry, streaming, tool calling from scratch
  • −No built-in agent patterns
  • −More code to maintain

What we chose

We chose direct SDK calls with lightweight wrappers for our TypeScript/Next.js frontend, and Semantic Kernel for any .NET backend services. This avoids LangChain's heavy abstractions while leveraging Semantic Kernel where .NET integration is natural. For agent workflows, we'll evaluate LangGraph only if direct implementation becomes unwieldy.

What it committed us to

  • •Must build our own retry/streaming utilities (minimal — Vercel AI SDK handles most)
  • •Semantic Kernel plugins for any .NET microservices
  • •Team needs to stay current on both OpenAI and Anthropic SDK changes
  • •Lower barrier to switching models since no framework lock-in

Was this page helpful?

Sign in to cast your vote

Discussion

Sign in to share your feedback and join the discussion.