AutoGen is Microsoft's open-source Python framework for building multi-agent AI applications where LLM-powered agents collaborate through structured conversations to complete complex tasks. It sits at the intersection of agentic orchestration and LLM tooling, providing everything from a simple two-agent chat to distributed, event-driven systems spanning multiple processes. The key mental model: AutoGen agents are not autonomous executors β they are conversational actors whose behavior is shaped by system messages, registered tools, and termination conditions, making them composable and debuggable by design.
What This Cheat Sheet Covers
This topic spans 16 focused tables and 100 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Core Agent Types (AutoGen 0.2)
The three built-in agent classes in AutoGen 0.2 cover the majority of real-world use cases. Every more complex workflow is built by composing or subclassing these types, so understanding their default behaviors and parameters is the foundation of the entire framework.
| Type | Example | Description |
|---|---|---|
agent = autogen.ConversableAgent( name="agent", llm_config={"config_list": cfg}, human_input_mode="NEVER") | Base class for all AutoGen agents; supports both LLM-based replies and code execution via register_reply(); all other agents are subclasses. | |
assistant = autogen.AssistantAgent( name="assistant", llm_config={"config_list": cfg}) | LLM-powered agent preconfigured to write code and suggest fixes; does not execute code and does not request human input by default. | |
proxy = autogen.UserProxyAgent( name="user_proxy", human_input_mode="NEVER", code_execution_config={"work_dir": "coding"}) | Proxy agent that auto-executes code blocks found in messages; solicits human input based on human_input_mode; can optionally use an LLM for replies. |