AI-agenter har gatt fran forskningsdemos till produktionssystem. Over 60% av enterprise AI-tillaampningar forvantas innehalla agentiska komponenter till 2026. Men att bygga agenter fran grunden - hantera tool-loopar, state, minne, felhantering och multi-agent-koordinering - ar komplext. Det ar dar ramverk kommer in.
Fyra ramverk dominerar 2026: LangGraph, CrewAI, OpenAI Agents SDK och Claude Agent SDK. Varje tar ett fundamentalt annorlunda tillvagagangssatt for samma problem: att ge LLM:er formagan att resonera, planera, anvanda verktyg och samarbeta.
I Korthet
| Aspekt | LangGraph | CrewAI | OpenAI Agents SDK | Claude Agent SDK |
|---|---|---|---|---|
| Av | LangChain | CrewAI Inc. | OpenAI | Anthropic |
| Arkitektur | Grafbaserad | Rollbaserad | Handoff-baserad | Autonom loop |
| Filosofi | Maximal kontroll | Teamsamarbete | Minimal abstraktion | Ge agenten en dator |
| Sprak | Python, TypeScript | Python | Python | Python, TypeScript |
| Modellstod | Alla (OpenAI, Claude, lokala) | Alla | Alla (trots namnet) | Endast Claude |
| GitHub stars | ~29k | ~40k | ~21k | ~6k |
| Bast for | Komplexa tillstandshanterade workflows | Multi-agent-specialisering | Routing och triage | Coding och filintensiva uppgifter |
LangGraph: Grafbyggaren
LangGraph modellerar agent-workflows som riktade cykliska grafer. Du definierar noder (funktioner som utfor arbete) och kanter (overganger mellan dem, valfritt villkorliga). State floder genom grafen och persisteras via checkpointing.
Detta ar det mest explicita och kontrollerbara ramverket - du kopplar varje steg sjalv.
Karnkoncept
- StateGraph: grafdefinitionen med typad state
- Nodes: Python-funktioner som transformerar state
- Edges: kopplingar mellan noder, kan vara villkorliga
- Checkpointing: inbyggd persistens for langvariga workflows
Kodexempel
from langgraph.graph import StateGraph, MessagesState, START, END from langchain_openai import ChatOpenAI llm = ChatOpenAI(model="gpt-4o") def call_agent(state: MessagesState): response = llm.invoke(state["messages"]) return {"messages": [response]} def should_continue(state: MessagesState): last = state["messages"][-1] if last.tool_calls: return "tools" return END def call_tools(state: MessagesState): # Execute tool calls and return results results = [] for tool_call in state["messages"][-1].tool_calls: result = execute_tool(tool_call) results.append(result) return {"messages": results} graph = StateGraph(MessagesState) graph.add_node("agent", call_agent) graph.add_node("tools", call_tools) graph.add_edge(START, "agent") graph.add_conditional_edges("agent", should_continue, {"tools": "tools", END: END}) graph.add_edge("tools", "agent") app = graph.compile() result = app.invoke({"messages": [{"role": "user", "content": "What's the weather?"}]})
Styrkor
- Detaljerad kontroll over varje steg och overgang
- Inbyggd checkpointing och human-in-the-loop
- Full TypeScript-paritet
- Fungerar med vilken LLM-leverantor som helst
- Bast for komplexa workflows med villkorlig forgrening och loopar
Svagheter
- Brant inlarningskurva - du behover forsta grafteorikoncept
- Omstandligt for enkla anvandningsfall - en enkel agent kraver mer boilerplate an andra ramverk
- Att debugga graffloden kan vara utmanande utan LangSmith
Priser
Open-source (MIT). LangSmith (hanterad observability-plattform) har betalda nivaer for produktionsovervakning.
CrewAI: Teamsammanstallaren
CrewAI anvander en mansklig metafor: du satter ihop en crew av specialiserade agenter, var och en med en roll, ett mal och en bakgrundshistoria. Agenter samarbetar om uppgifter med hjalp av verktyg, koordinerade av en process (sekventiell, hierarkisk eller konsensusbaserad).
Tank pa det som att anstalla ett team dar varje medlem har en specifik yrkestitel och specialitet.
Karnkoncept
- Agent: en persona med roll, mal, bakgrundshistoria och verktyg
- Task: ett uppdrag med beskrivning, forvantad output och tilldelad agent
- Crew: en grupp agenter som arbetar tillsammans
- Process: exekveringsstrategi (sekventiell, hierarkisk, konsensusbaserad)
- Flow: haendelsedriven orkestreringslagret for att koppla samman flera crews
Kodexempel
from crewai import Agent, Task, Crew, Process researcher = Agent( role="Senior Research Analyst", goal="Find comprehensive data about the given topic", backstory="You have 10 years of experience in technology research. " "You are thorough and always verify facts from multiple sources.", tools=[web_search_tool], verbose=True, ) writer = Agent( role="Technical Writer", goal="Create clear, engaging technical content", backstory="You write for a developer audience. " "Your articles are practical and include code examples.", tools=[file_tool], verbose=True, ) research_task = Task( description="Research the latest developments in WebAssembly in 2026. " "Focus on WASI, Component Model, and production use cases.", expected_output="A structured research document with key findings and sources.", agent=researcher, ) writing_task = Task( description="Write a blog post based on the research. " "Include code examples and Mermaid diagrams.", expected_output="A complete blog post in Markdown format.", agent=writer, context=[research_task], # Writer receives researcher's output ) crew = Crew( agents=[researcher, writer], tasks=[research_task, writing_task], process=Process.sequential, verbose=True, ) result = crew.kickoff() print(result.raw)
Styrkor
- Intuitiv rollbaserad abstraktion - latt att forsta
- Over 100 inbyggda tool-integrationer
- Delat minne over agenter (korttids-, langtids-, entity-minne)
- Storsta communityn (~40k GitHub stars)
- Hierarkisk process med en "manager"-agent som delegerar och validerar
Svagheter
- Mindre detaljerad kontroll an LangGraph - du definierar roller, inte exakta exekveringsvagar
- Hierarkisk process kan vara oforutsagbar nar agenter ar oense
- Att debugga multi-agent-konversationer ar svarare an single-agent-floden
Priser
Open-source-karna (gratis). CrewAI Platform: $99/manad (Teams) till $120k/ar (Enterprise). Priser baserade pa aktiva crews och manatliga exekveringar.
OpenAI Agents SDK: Routern
OpenAI Agents SDK (andlig efterfoljare till Swarm) fokuserar pa handoffs - agenter som overlamnar konversationer till andra specialiserade agenter. Det ar det mest minimala ramverket: agenter, verktyg, handoffs och guardrails. Det ar allt.
Karnkoncept
- Agent: modell + instruktioner + verktyg + handoffs
- Handoff: en overlamning till en annan agent (modellerad som ett verktyg som LLM:en kan anropa)
- Guardrail: indata-/utdatavalidering som kor parallellt med agenten
- Runner: exekverar agent-loopen
- Tracing: inbyggd observability for alla LLM-anrop, verktygsexekveringar och handoffs
Kodexempel
from agents import Agent, Runner, handoff, InputGuardrail, GuardrailFunctionOutput from pydantic import BaseModel class SafetyCheck(BaseModel): is_safe: bool reason: str async def content_safety(ctx, agent, input_text): result = await Runner.run( Agent(name="Safety", instructions="Check if input is safe. No PII."), input_text, context=ctx, ) output = SafetyCheck.model_validate_json(result.final_output) return GuardrailFunctionOutput( output_info=output, tripwire_triggered=not output.is_safe ) billing_agent = Agent( name="Billing Agent", instructions="You handle billing inquiries. Be precise with numbers.", tools=[lookup_invoice, process_payment], ) refund_agent = Agent( name="Refund Agent", instructions="You process refund requests. Always verify the order first.", tools=[lookup_order, issue_refund], ) triage_agent = Agent( name="Triage Agent", instructions="Route the customer to the right specialist. " "Ask clarifying questions if needed.", handoffs=[billing_agent, refund_agent], input_guardrails=[InputGuardrail(guardrail_function=content_safety)], ) result = await Runner.run(triage_agent, "I need a refund for order #4521") print(result.final_output) # The triage agent routes to refund_agent, which processes the refund
Styrkor
- Rent handoff-monster - naturligt for routing-/triage-workflows
- Guardrails kor parallellt med exekvering (fail-fast, inte blockerande)
- Inbyggd tracing-dashboard for debugging
- Trots namnet stods aven icke-OpenAI-modeller
- Minimal abstraktion - latt att forsta och utoka
Svagheter
- Mindre mogen state management an LangGraph
- Ingen inbyggd persistens eller checkpointing
- Ekosystemet av tredjepartsverktyg ar mindre
- Handoff-centrerad design kanske inte passar alla arkitekturer
Priser
Open-source (MIT). Du betalar per token for vilken modell du an anvander.
Claude Agent SDK: Utvecklaren
Claude Agent SDK tar ett annorlunda tillvagagangssatt: istallet for att definiera workflows eller roller ger du agenten en uppsattning verktyg och later den lista ut hur den ska utfora uppgiften. Den anvander samma autonoma loop som driver Claude Code - lasa, agera, verifiera, iterera.
Karnkoncept
- query(): huvudingangspunkten som startar agent-loopen
- Inbyggda verktyg: Read, Write, Edit, Bash, Glob, Grep, WebSearch, WebFetch
- Anpassade verktyg via MCP: definiera verktyg som in-process MCP-servrar
- Sub-agenter: specialiserade agenter som den overordnade agenten kan delegera till
- Sessions: behall kontext over flera interaktioner
Kodexempel
import { tool, createSdkMcpServer, query } from "@anthropic-ai/claude-agent-sdk"; import { z } from "zod"; const searchDocs = tool( "search_docs", "Search the internal documentation for relevant information", { query: z.string().describe("Search query") }, async ({ query }) => { const results = await vectorStore.similaritySearch(query, 5); return { content: [{ type: "text", text: results.map(r => r.pageContent).join("\n\n") }], }; } ); const docsServer = createSdkMcpServer({ name: "docs", version: "1.0.0", tools: [searchDocs], }); for await (const message of query({ prompt: "Find how authentication works in our system and write a summary", options: { mcpServers: { docs: docsServer }, allowedTools: ["Read", "Glob", "Grep", "mcp__docs__search_docs"], }, })) { if (message.type === "result" && message.subtype === "success") { console.log(message.result); } }
Styrkor
- Forstklassig MCP-integration - anslut till hela MCP-server-ekosystemet
- Inbyggda verktyg for filoperationer, terminal och webbatkomst
- Automatisk kontextkomprimering for stora kodbaser
- Sub-agent-parallellism for komplexa uppgifter
- Samma motor som Claude Code - stridstestad i riktiga utvecklingsworkflows
Svagheter
- Endast Claude-modeller - inget multi-provider-stod
- Nyare ramverk med en mindre community
- Kraver Node.js-runtime aven for Python SDK
- Mindre explicit workflowkontroll jamfort med LangGraph
Priser
Open-source. Standard Claude API-tokenpriser. Managed Agents (hostad version): $0,08 per sessionstimme utover tokenkostnader.
Nar ska du valja vilket
Valj LangGraph om:
- Du behover exakt kontroll over varje steg i workflowen
- Ditt anvandningsfall innefattar komplex villkorlig logik och loopar
- Du vill ha inbyggd persistens och human-in-the-loop-checkpoints
- Du behover anvanda flera LLM-leverantorer i samma workflow
Valj CrewAI om:
- Du vill ha en intuitiv, rollbaserad abstraktion
- Din uppgift innefattar flera agenter med olika specialiseringar
- Du behover agenter som samarbetar och skickar kontext mellan varandra
- Den storsta communityn och flest inbyggda integrationer ar viktigt for dig
Valj OpenAI Agents SDK om:
- Ditt primara monster ar att routa konversationer till specialister
- Du behover guardrails som validerar indata/utdata parallellt
- Du vill ha enklast mojliga abstraktion med minimal boilerplate
- Inbyggd tracing och observability ar viktigt
Valj Claude Agent SDK om:
- Dina agenter behover lasa, skriva och exekvera kod
- Du vill ha forstklassig MCP-server-integration
- Du behover autonoma agenter som itererar och sjalvkorrigerar
- Du redan anvander Claude och vill ha den djupaste integrationen
Kan man kombinera ramverk?
Ja. Ett vanligt monster ar att anvanda ett ramverk for orkestrering och ett annat for individuella agenter:
- LangGraph for den overgripande workflow-grafen
- CrewAI for en specifik nod som kraver multi-agent-samarbete
- Claude Agent SDK for kodrelaterade deluppgifter via MCP
- OpenAI Agents SDK for kundriktad triage och routing
Ramverken utesluter inte varandra. Anvand det som passar varje del av ditt system.
Slutsats
Varje ramverk satsar pa en tydlig inriktning:
- LangGraph optimerar for kontroll - du bestammer varje overgang
- CrewAI optimerar for samarbete - agenter arbetar som ett team
- OpenAI Agents SDK optimerar for enkelhet - minimal abstraktion, rena handoffs
- Claude Agent SDK optimerar for autonomi - ge det verktyg och lat det arbeta
Ratt val beror pa din workflow, ditt team och din befintliga stack. Valj det som matchar ditt primara anvandningsfall, lar dig det ordentligt och dra in andra nar du traffar deras styrkor.