harness-sdk vs LangGraph
Strands Agents: open-source Python and TypeScript SDK for building and running agent harnesses in your process — model-agnostic, with lifecycle controls, hooks, MCP, multi-agent and tracing. — versus — Build stateful, multi-actor LLM apps as graphs — durable execution, human-in-the-loop, streaming.
Both are frameworks for building production agents in-process; LangGraph makes you draw the control flow as a graph, Strands lets the model drive the loop — it even ships a skill for LangGraph migrations.
| harness-sdk | LangGraph | |
|---|---|---|
| Stars | 8.8k | 43k |
| Forks | 1.4k | 7.3k |
| Language | Python | Python |
| License | Apache-2.0 | MIT |
| Last activity | yesterday | 3 days ago |
| Topics | agents, orchestration | agents, orchestration |
| Curated connections | 5 | 28 |
harness-sdk — the curator's take
Pick it when you'd otherwise hand-roll an agent loop and want the grown-up parts — turn and token limits, cancellation, hooks to intercept any step, guardrails, structured output — without a hosted control plane. `create_harness()` gives a tuned default agent; drop to the SDK to own the loop. Strongest on AWS (Bedrock first-class), though Anthropic, OpenAI, Gemini and Ollama work. Want an explicit graph of steps and durable checkpoints? LangGraph models that more directly.
LangGraph — the curator's take
You reach for LangGraph the moment a simple agent loop stops being enough — when you need state that survives a crash, a human approving a step mid-run, or a flow that can loop back on itself. Most teams arrive here from plain LangChain and don't leave. If all you want is a quick tool-calling agent, this is more machinery than you need — start lighter and come back when you hit the wall.