* Add skill to replace hardcoded foundry project endpoint and model * Include more samples and fix migration samples part 1 * Fix migration samples * Replace Foundry hosted agent validation skill * Fix hosted agent file sample * Fix agent result format * Reorganize jobs * Update discovery heuristic for apps * Split agents into even more jobs * Add toolbox endpoint * Add more pre configured resources * Fix using deployed agent sample * Add sample status * Add playbook * Exclude hidden folder in sample discovery * Install autogen dependencies * Grant azure search RBAC role * Increase timeout for magentic * Build search resouce id deterministically * Remove grant in the workflow * Move azure cli login closer to when the sample actually runs * Refactor playbook * Fix using deployed agent sample * Actually save the playbooks * Fix action syntax error * Fix magentic sample * Address copilot comments * Fix link inspection * Address comments * Correct README * Fix playbook path * Remove trailing space
AutoGen → Microsoft Agent Framework Migration Samples
This gallery helps AutoGen developers move to the Microsoft Agent Framework (AF) with minimal guesswork. Each script pairs AutoGen code with its AF equivalent so you can compare primitives, tooling, and orchestration patterns side by side while you migrate production workloads.
What's Included
Single-Agent Parity
- 01_basic_agent.py — Minimal AutoGen
AssistantAgentand AFAgentcomparison. - 02_agent_with_tool.py — Function tool integration in both SDKs.
- 03_agent_thread_and_stream.py — Session management and streaming responses.
- 04_agent_as_tool.py — Using agents as tools (hierarchical agent pattern) and streaming with tools.
Multi-Agent Orchestration
- 01_round_robin_group_chat.py — AutoGen
RoundRobinGroupChat→ AFGroupChatBuilder/SequentialBuilder. - 02_selector_group_chat.py — AutoGen
SelectorGroupChat→ AFGroupChatBuilder. - 03_swarm.py — AutoGen Swarm pattern → AF
HandoffBuilder. - 04_magentic_one.py — AutoGen
MagenticOneGroupChat→ AFMagenticBuilder.
Each script is fully async and the main() routine runs both implementations back to back so you can observe their outputs in a single execution.
Prerequisites
- Python 3.10 or later.
- Access to the necessary model endpoints (Azure OpenAI, OpenAI, etc.).
- Installed SDKs: Install AutoGen and the Microsoft Agent Framework with:
pip install "autogen-agentchat autogen-ext[openai] agent-framework" - Service credentials exposed through environment variables (e.g.,
OPENAI_API_KEY).
Running Single-Agent Samples
From the repository root:
python samples/autogen-migration/single_agent/01_basic_agent.py
Every script accepts no CLI arguments and will first call the AutoGen implementation, followed by the AF version. Adjust the prompt or credentials inside the file as necessary before running.
Running Orchestration Samples
Advanced comparisons are in autogen-migration/orchestrations (RoundRobin, Selector, Swarm, Magentic). You can run them directly:
python samples/autogen-migration/orchestrations/01_round_robin_group_chat.py
python samples/autogen-migration/orchestrations/04_magentic_one.py
Tips for Migration
- Default behavior differences: AutoGen's
AssistantAgentis single-turn by default (max_tool_iterations=1), while AF'sAgentis multi-turn and continues tool execution automatically. - Thread management: AF agents are stateless by default. Use
agent.create_session()and pass it torun()to maintain conversation state, similar to AutoGen's conversation context. - Tools: AutoGen uses
FunctionToolwrappers; AF uses@tooldecorators with automatic schema inference. - Orchestration patterns:
RoundRobinGroupChat→SequentialBuilderorWorkflowBuilderSelectorGroupChat→GroupChatBuilderwith LLM-based speaker selectionSwarm→HandoffBuilderfor agent handoff coordinationMagenticOneGroupChat→MagenticBuilderfor orchestrated multi-agent workflows