AutoGen

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
)