The state machine + agent pattern is powerful, and LangGraph has popularized it, but it's not unique to them.
Similar Approaches
Direct competitors with explicit graph/state concepts:
- Autogen (Microsoft) - Uses a different model (multi-agent conversation) but has added StateFlow for explicit state machine control
- CrewAI - More task/role-based but recently added "Flows" which provide state machine semantics
- Rivet (Ironclad) - Visual node-based graph editor for AI workflows, compiles to JSON that can run from any language
- Llama Index Workflows - Their newer workflow system has explicit state and conditional branching
Workflow engines adding AI capabilities:
- Temporal - You can absolutely build agent loops with Temporal activities; it gives you durability and fault tolerance that LangGraph lacks out of the box
- Inngest - Similar to Temporal but lighter weight, good for AI agent patterns
- Prefect / Dagster - Data pipeline tools that can orchestrate agent-style flows
Custom - you could implement the same patterns. The core insight is just: state + transitions + conditional routing based on LLM outputs. Step Functions with a "loop until done" pattern and dynamic choice states.
LangGraph Language Support
Native SDKs:
- Python (primary, most features)
- JavaScript/TypeScript (solid, slightly behind Python in features)
LangGraph Platform (Cloud/Self-hosted):
- Exposes a REST API, so you can call it from any language
- But you still need to define your graphs in Python or JS
So if you wanted to orchestrate from, say, a .NET service, you'd either define the graph in Python and call the LangGraph API
LangGraph
- Website: https://www.langchain.com/langgraph
- GitHub: https://github.com/langchain-ai/langgraph
- Docs: https://docs.langchain.com/langgraph-platform
- Languages: Python, JavaScript/TypeScript (native SDKs); REST API for any language
Similar Tools / Competitors
AutoGen (Microsoft)
- Website: https://www.microsoft.com/en-us/research/project/autogen/
- GitHub: https://github.com/microsoft/autogen
- Docs: https://microsoft.github.io/autogen/stable/
- Languages: Python, C#/.NET
CrewAI
- Website: https://www.crewai.com/
- GitHub: https://github.com/crewAIInc/crewAI
- Docs: https://docs.crewai.com
- Languages: Python only
Rivet (Ironclad)
- Website: https://rivet.ironcladapp.com/
- GitHub: https://github.com/Ironclad/rivet
- Docs: https://rivet.ironcladapp.com/docs
- Languages: Visual editor exports to JSON; TypeScript library for runtime (
@ironclad/rivet-core,@ironclad/rivet-node)
LlamaIndex Workflows
- Website: https://www.llamaindex.ai/workflows
- GitHub: Part of LlamaIndex core
- Docs: https://docs.llamaindex.ai/en/stable/module_guides/workflow/
- Languages: Python, TypeScript
Workflow Engines (general-purpose, AI-capable)
Temporal
- Website: https://temporal.io/
- AI Landing Page: https://temporal.io/solutions/ai
- GitHub: https://github.com/temporalio/temporal
- Languages: Go, Python, Java, TypeScript, .NET, Ruby
- Note: OpenAI's Codex agent and Replit's Agent 3 are built on Temporal Temporal
Inngest
- Website: https://www.inngest.com/
- AI Landing Page: https://www.inngest.com/ai
- GitHub: https://github.com/inngest/inngest
- Languages: TypeScript/JavaScript, Python, Go
Who's trying similar things:
| Tool | Approach | Gap vs LangGraph |
|---|---|---|
| CrewAI Flows | Event-driven with @listen, @router decorators | Less explicit graph structure, more implicit event wiring |
| LlamaIndex Workflows | @step + events, state via Context | Similar feel, but events rather than edges — less visual |
| Semantic Kernel Process Framework | Stateful processes, Dapr/Orleans for distribution | More enterprise/Microsoft stack oriented |
| Rivet | Visual graph, but agents are nodes not routers | Agent doesn't decide routing — you wire it statically |
| Temporal | You can build it, but it's DIY | No native "LLM picks next step" primitive |
No comments:
Post a Comment