AutoGen Refresher
Microsoft's conversational framework.
1. AssistantAgent
The "Brain". Uses LLM to generate plans/code. No execution.
from autogen import AssistantAgent
assistant = AssistantAgent(name="Coder", llm_config={"config_list": [...]})
2. UserProxyAgent
The "Executor". Acts for the user and executes code.
from autogen import UserProxyAgent
user_proxy = UserProxyAgent(name="User", human_input_mode="NEVER")
Technique: Code Execution
The UserProxy can be configured to run code safely, often in Docker.
user_proxy = UserProxyAgent(
name="Executor",
code_execution_config={
"work_dir": "workspace", # Where files are saved
"use_docker": False, # Set True for production safety
"last_n_messages": 3
}
)
# If the assistant sends a markdown code block, this proxy will run it automatically.
Technique: Group Chat
from autogen import GroupChat, GroupChatManager
groupchat = GroupChat(agents=[...], messages=[], max_round=10)
manager = GroupChatManager(groupchat=groupchat, llm_config=...)
user_proxy.initiate_chat(manager, message="Hello")
Technique: Tool Registration
from autogen import register_function
register_function(
my_func,
caller=assistant, # LLM
executor=user_proxy # Runtime
)