Two paradigms
AutoGen is built around the metaphor of agents in a conversation. You create agents (UserProxy, AssistantAgent, GroupChatManager), they message each other, and the orchestrator routes the chat. Humans can join the chat.
Agentmatic is built around state graphs. Every transition is explicit. State is a typed structure that mutates as nodes execute. The framework owns control flow.
Where AutoGen shines
- Conversational UX. When the workflow really is “multiple agents in a chat with a human,” AutoGen’s abstractions fit naturally.
- Microsoft/Azure ecosystem. Tight integration with Semantic Kernel, Azure AI, and AutoGen Studio.
- Group chat patterns. Selector / Round Robin / Manual selection are first-class.
Where Agentmatic shines
- Determinism. Same input, same graph, same output. Critical for testing and reproducing prod bugs.
- Checkpointing. Every superstep is a save point. Time-travel debugging and HITL are free.
- Performance. Rust runtime, 10–15× faster graph traversal.
- Multi-language. Same engine in Python, TypeScript, Rust, Go, Java — your polyglot team uses one framework.
- Resilience. Circuit breakers, retry with backoff, dead-letter queues — first-class, MIT-licensed.
- Distributed. Self-hosted clusters in the open-source core.
Side-by-side: same problem
A multi-agent research → write → review workflow:
# AutoGen
researcher = AssistantAgent("researcher", llm_config=cfg)
writer = AssistantAgent("writer", llm_config=cfg)
reviewer = AssistantAgent("reviewer", llm_config=cfg)
manager = GroupChatManager(GroupChat([researcher, writer, reviewer]))
user_proxy.initiate_chat(manager, message="...")
# Agentmatic
graph = StateGraph(State)
graph.add_node("research", researcher)
graph.add_node("write", writer)
graph.add_node("review", reviewer)
graph.add_conditional_edges("review", verify, {"ok": END, "revise": "write"})
agent = graph.compile(checkpointer=PostgresSaver.from_env())
The AutoGen version reads like a setup. The Agentmatic version reads like a control flow. Both work. The right choice depends on whether you think more in conversations or in state machines.