Microsoft Agent Framework (MAF) is a multi-language framework for building AI agents and multi-agent workflows, with full SDKs for .NET and Python and a separately maintained Go SDK. It targets systems that need orchestration beyond a single prompt or a stateless chat loop, and keeps provider and hosting choices open so an architecture can change without a rewrite.
Orchestration is graph-based. Workflows compose agents into sequential, concurrent, handoff, and group-collaboration patterns, and support checkpointing, streaming, human-in-the-loop steps, and time-travel over recorded state. A middleware system handles request and response processing, exception handling, and custom pipelines around agent calls, and agents can be defined declaratively in YAML instead of code.
The framework consolidates two earlier Microsoft projects, and publishes migration guides from AutoGen and from Semantic Kernel. It works with a range of model providers, including Microsoft Foundry, Azure OpenAI, OpenAI, and the GitHub Copilot SDK, and agents deploy to Foundry-hosted infrastructure with two extra lines of code. Durable hosting on Azure Functions and Durable Task lives in a separate extension.
Features
- .NET, Python, and Go: consistent APIs across languages, with the Go SDK maintained in its own repository
- Graph-based workflows: sequential, concurrent, handoff, and group-collaboration patterns with checkpointing and streaming
- Human-in-the-loop and time-travel: pause for approval and replay or resume workflow state
- Middleware: request and response processing, exception handling, and custom pipelines around agent invocation
- Declarative agents: agents defined in YAML for faster setup and versioning
- Agent skills: domain knowledge assembled from files, inline code, and class libraries for agents to discover
- Hosted deployment: Foundry-hosted agents with two extra lines of code, plus A2A and self-hosted protocol helpers
- Observability: built-in OpenTelemetry tracing and monitoring
- DevUI: an interactive developer interface for building, testing, and debugging workflows
- Labs packages: experimental work on benchmarking and reinforcement learning