Decision comparison
LangGraph vs Semantic Kernel
LangGraph and Semantic Kernel solve different problems. LangGraph models an application as a state machine with cycles, conditional edges, checkpointing and interrupts, which is what complex agent control flow needs. Semantic Kernel is an SDK in C#, Python and Java for adding LLM capability inside an existing application, with Microsoft's new development in the Agent Framework.
Semantic Kernel has a named successor from its own vendor
Microsoft merged Semantic Kernel and AutoGen into the Microsoft Agent Framework. Semantic Kernel v1.x remains supported for critical bugs and security issues, but the majority of new features are built for the Agent Framework instead.
Architecture choice. These take different approaches to the same problem. Read the table as a fit question rather than a feature race.
Applies to: when an analytics or data platform team must model branching execution, approvals, and durable state explicitly, accepting the need to design more of the workflow itself.
All 2 are agent frameworks.
Quick Comparison
| Decision factor | LangGraph | Semantic Kernel |
|---|---|---|
| What it is | A graph-based orchestration framework from the LangChain team, where an application is an explicit state machine with checkpointing | Microsoft's SDK for adding LLM capability to applications through plugins and planners, available in C#, Python and Java |
| Languages | Python and TypeScript | C#, Python and Java |
| Core abstraction | A graph of nodes over shared state, with conditional edges and cycles | Plugins exposing functions to the model, sequenced by planners or explicit code |
| Control flow | Cycles, branching and interrupts are first-class, with checkpointing for durability | Application code controls flow, with planners available for model-driven sequencing |
| Where it fits | Agent workflows that loop, branch or pause for human approval | LLM capability added inside an existing business application |
| Vendor status | Actively developed, with LangSmith for tracing and evaluation | v1.x receives critical fixes; new development is in the Microsoft Agent Framework |
| Best fit | Teams whose difficulty is managing multi-step agent control flow | Enterprise teams, particularly on .NET, adding AI to systems they already run |
LangGraph
- What it is:
- A graph-based orchestration framework from the LangChain team, where an application is an explicit state machine with checkpointing
- Languages:
- Python and TypeScript
- Core abstraction:
- A graph of nodes over shared state, with conditional edges and cycles
- Control flow:
- Cycles, branching and interrupts are first-class, with checkpointing for durability
- Where it fits:
- Agent workflows that loop, branch or pause for human approval
- Vendor status:
- Actively developed, with LangSmith for tracing and evaluation
- Best fit:
- Teams whose difficulty is managing multi-step agent control flow
Semantic Kernel
- What it is:
- Microsoft's SDK for adding LLM capability to applications through plugins and planners, available in C#, Python and Java
- Languages:
- C#, Python and Java
- Core abstraction:
- Plugins exposing functions to the model, sequenced by planners or explicit code
- Control flow:
- Application code controls flow, with planners available for model-driven sequencing
- Where it fits:
- LLM capability added inside an existing business application
- Vendor status:
- v1.x receives critical fixes; new development is in the Microsoft Agent Framework
- Best fit:
- Enterprise teams, particularly on .NET, adding AI to systems they already run
Public signals
Verified factual signals only. Bars appear only for like-for-like metrics with five weekly assessments for every tool; missing evidence stays explicit. These signals do not establish enterprise adoption, product quality, or total cost.
| Metric | LangGraph | Semantic Kernel |
|---|---|---|
| GitHub commits, 90d(Product adoption) | 127 | 83 |
| GitHub stars(Product adoption) | 41,000+ | 28,000+ |
| Search interest(Market interest) | 10 | 0 |
| Hacker News mentions, 90d(Community interest) | 22 | 1 |
| npm weekly downloads(Developer adoption) | 2.5M | Not available |
| PyPI weekly downloads(Product adoption) | 10.0M | 63.1k |
| Stack Overflow questions(Community interest) | 143 | 58 |
As of September 14, 2026 — updated weekly.
Health & risk evidence
Observed public-source checks for mapped package versions and repositories.
LangGraph
September 14, 2026Package vulnerabilities
npm · @langchain/langgraph@1.4.15 · PyPI · langgraph@1.2.11
0 vulnerabilities
across 2 packages
Repository security score
Not available
Semantic Kernel
September 14, 2026Package vulnerabilities
PyPI · semantic-kernel@1.44.1
0 vulnerabilities
across 1 package
Repository security score
Not available
Interface Preview
LangGraph

Feature Comparison
| Feature | LangGraph | Semantic Kernel |
|---|---|---|
| Orchestration | ||
| Explicit graph with cycles | Full support | Partial support |
| Conditional branching | Full support | Full support |
| Checkpointing and resume | Full support | Partial support |
| Human-in-the-loop interrupts | Full support | Full support |
| Languages | ||
| Python support | Full support | Full support |
| TypeScript support | Full support | Not verified |
| C# support | Not verified | Full support |
| Java support | Not verified | Full support |
| Building | ||
| Tool and plugin calling | Full support | Full support |
| Embeds into an existing application | Partial support | Full support |
| Structured output enforcement | Full support | Full support |
| Model-agnostic across providers | Full support | Full support |
| Platform | ||
| Managed tracing product | Full support | Partial support |
| Receiving new features | Full support | Partial support |
| Named vendor successor | Not verified | Full support |
| Enterprise deployment track record | Partial support | Full support |
Orchestration
Explicit graph with cycles
Conditional branching
Checkpointing and resume
Human-in-the-loop interrupts
Languages
Python support
TypeScript support
C# support
Java support
Building
Tool and plugin calling
Embeds into an existing application
Structured output enforcement
Model-agnostic across providers
Platform
Managed tracing product
Receiving new features
Named vendor successor
Enterprise deployment track record
Which approach fits
LangGraph and Semantic Kernel solve different problems. LangGraph models an application as a state machine with cycles, conditional edges, checkpointing and interrupts, which is what complex agent control flow needs. Semantic Kernel is an SDK in C#, Python and Java for adding LLM capability inside an existing application, with Microsoft's new development in the Agent Framework.
When each approach fits
Choose LangGraph if:
Choose LangGraph when control flow is the hard part. Cycles let an agent retry or refine, conditional edges route on state, checkpointing means a long-running workflow survives a restart without paying for the tokens again, and interrupts let a human approve a step before execution continues. Python and TypeScript implementations are both available.
Choose Semantic Kernel if:
Choose Semantic Kernel when AI capability belongs inside an application you already have, particularly a .NET or Java one. Plugins expose your existing services to the model as callable functions, and the SDK fits normal application architecture, so deployment, identity and audit logging stay the ones you already operate.
These scenarios reflect the available product evidence. Your requirements, existing stack, and team expertise should guide the final decision.
Frequently Asked Questions
What is Semantic Kernel's status?
Microsoft merged AutoGen and Semantic Kernel into the Microsoft Agent Framework, which reached 1.0 in April 2026. Semantic Kernel v1.x continues to receive critical bug and security fixes while new development goes to the Agent Framework, and it remains installable and widely deployed. The practical question is how long your code will live and how much of it would change if you migrated to the successor.
What does checkpointing actually give us?
Durability and resumability. A workflow spanning ten minutes and several model calls that crashes without checkpointing starts over and pays for the tokens again. With it, the run resumes from the last committed state. It also makes human-in-the-loop practical: the graph pauses, waits for an approval that may come hours later, and continues from where it stopped.
Is our problem control flow or integration?
Control flow, if the difficulty is the sequence of decisions, retries and escalations — describing what happens next takes longer than describing what the system does. Integration, if the difficulty is connecting the model to systems you already run under the right identity with the right audit trail. These frameworks are strong at different ones, and most projects have a clear answer.
How much does C# and Java support matter?
In organisations whose business systems are written in those languages, a great deal. Adding an LLM feature to an existing .NET service is straightforward with a .NET SDK and awkward when it requires a separate Python service with its own deployment, monitoring and security review. Most of this category is Python-first, so this is a real differentiator rather than a checkbox.
What do these need to run?
A model provider API key and somewhere to run the process — a container on Kubernetes, a serverless function, or a service behind a REST endpoint returning JSON. Python is the common runtime, with C# and Java available on the Microsoft side. Retrieval adds a vector store, often PostgreSQL with pgvector. Nothing unusual is required for hosting; the operational weight is in tracing and cost control.
What does running one of these in production require?
Tracing every step with inputs, outputs, latency and token cost; a hard ceiling on iterations so a loop that fails to converge stops rather than spends; retries that distinguish a transient API error from a model producing unusable output; and evaluation that catches quality regressions when a prompt or model changes. Frameworks provide different amounts of that, and the gap is where the engineering effort goes.