| Runtime & scale |
| ConcurrencyHow many agents run at once, and on how many cores |
Millions of isolated lightweight processes, all cores, preemptive |
asyncio · GIL |
asyncio · GIL |
asyncio · GIL |
Async actors · GIL |
| Fault isolationWhat one crash costs |
Supervised: one crash stays one crash, restarted in milliseconds |
Exception takes the worker |
Exception takes the worker |
Exception takes the worker |
Exception takes the worker |
| Scale-outAdding machines |
Clustering built into the runtime |
External orchestration |
LangGraph Platform (paid) |
CrewAI AMP (hosted) |
Experimental gRPC runtime |
| Footprint per agent |
Kilobytes per process |
A thread or process per worker |
A thread or process per worker |
A thread or process per worker |
A thread or process per worker |
| Backpressure & limits |
Pools, quotas and budgets, per tenant or agent |
Per-model rate limiter |
Do it yourself |
Max RPM per agent |
Do it yourself |
| Real time to the UITokens, approvals, live state on screen |
LiveView + signal bus, in-process, no websocket layer to write |
Token streaming; transport yours |
Streaming modes; transport yours |
Token streaming; transport yours |
Message streaming; transport yours |
| Durability & recovery |
| State model |
Event-sourced: pure decide / evolve, the log is the truth |
In-memory objects |
Checkpoints, opt-in |
Flow state persistence, opt-in |
save_state / load_state, manual |
| Crash mid-run |
Rebuilds from its log and continues |
Run lost |
Resumes from last checkpoint |
Replay from last task |
Run lost |
| Replay without re-calling the modelAudit, debugging, recovery |
Exact, free, every time: zero tokens |
Re-run it |
Time travel re-executes nodes |
Re-runs from a task |
Re-run it |
| Durable job queueRetries, backoff, uniqueness, dead-letter |
Built in, event-sourced, with the same dashboard |
Celery / Temporal |
Platform task queue (paid) |
Celery / Temporal |
Celery / Temporal |
| SagasMulti-step workflows with compensation |
Correlate, command, compensate |
Do it yourself |
Do it yourself |
Do it yourself |
Do it yourself |
| SchedulingCron and one-shot |
Durable schedules, survive restarts |
External scheduler |
Platform cron (paid) |
Enterprise triggers |
External scheduler |
| Agents & reasoning |
| Agent models |
Mutable, FSM, durable, graph, worker, reasoner: one declaration |
Chains + tool loop |
Graphs |
Crews + flows |
Conversations + teams |
| Reasoning strategies |
Eight: ReAct, CoT, CoD, ToT, AoT, GoT, TRM, Adaptive |
Tool loop; the rest yours |
You build the graph |
Loop + planning |
Group-chat patterns |
| Graph workflowsChannels, reducers, fan-out, interrupt |
The LangGraph model, event-sourced and replayable |
Via LangGraph |
Its core model |
Flows |
GraphFlow |
| Human in the loop |
Durable inbox, maker-checker approvals, live steering |
Middleware |
interrupt / resume |
human_input flag |
User proxy / handoff |
| Long-term memory |
Recall, sleep-time consolidation, working notes |
Integrations |
Store |
Built-in memory |
Memory protocol |
| Model routingAny provider, by alias |
Aliases + routing by intent |
init_chat_model |
Via LangChain |
LiteLLM |
Model clients |
| Multi-tenancyOne customer = one isolated runtime |
A first-class axis: provision, suspend, decommission with a GDPR sweep |
Thread an id by hand |
Thread an id by hand |
Thread an id by hand |
Thread an id by hand |
| Operations & governance |
| Control roomRuns, jobs, flows, inbox, cost, tenants |
Built in, self-hosted, live |
LangSmith (SaaS) |
LangSmith / Studio (SaaS) |
AMP (hosted) |
AutoGen Studio (dev tool) |
| Cost control |
Live meter, budgets, quotas, diminishing-returns auto-stop |
Traced in LangSmith |
Traced in LangSmith |
Usage metrics |
Usage per message |
| GuardrailsPII, prompt injection, moderation |
Built in, at the input and output gates |
PII middleware |
Do it yourself |
Task guardrails |
Do it yourself |
| Tamper-evident auditSHA-256 chain, proofs, erasure |
Hash chain, Merkle proofs, WORM mirror, GDPR erasure that keeps the chain valid |
None |
None |
None |
None |
| Permissions & policyAllow / deny / ask |
Policy engine with graduated trust, gating every tool and effect |
Do it yourself |
Interrupt before a tool |
Do it yourself |
Sandboxed code execution |
| One libraryAgents, CQRS, jobs, signals, compliance, UI |
One namespace, one mental model, one test suite |
Assemble six to ten |
Assemble six to ten |
Assemble six to ten |
Assemble six to ten |