agent-framework: Production-grade multi-agent system for Python and .NET
Project Overview
Microsoft Agent Framework enters a crowded space with a clear bet: that production-grade multi-agent systems need more than just a prompt chain wrapped in an API call. With 10,181 stars on GitHub[1], it’s already drawing attention from teams who’ve hit the limits of single-agent architectures. What distinguishes MAF from frameworks like LangChain or CrewAI isn’t just its dual-language support for Python and .NET — it’s the explicit focus on operational concerns that surface after the demo works. The framework bakes in OpenTelemetry integration for observability, graph-based orchestration patterns that go beyond linear chains, and a middleware system that lets you intercept request/response processing at multiple points. The architectural bet here is that agent systems will increasingly resemble distributed systems, requiring the same durability, restartability, and governance patterns that backend engineers expect. That’s a different starting point than frameworks that optimize primarily for rapid prototyping.
What It’s For
This framework is for teams who’ve already built a prototype and are now asking uncomfortable questions about what happens when an agent workflow runs for hours, needs human approval at a decision point, or must be debugged after a failure at step 12 of 15. It’s particularly suited to enterprise environments where .NET and Python coexist — a common pattern in organizations with legacy C# systems alongside newer Python-based AI work. The graph-based workflow patterns — sequential, concurrent, handoff, and group collaboration — suggest the authors expect complex multi-agent topologies, not just simple tool-calling loops. Where MAF might feel heavy is in scenarios where you just need a single agent answering questions from a knowledge base; in those cases, a lighter framework or direct API usage would reduce overhead. The declarative YAML agent definitions hint at an ops-friendly philosophy, letting you version and deploy agent configurations alongside your application code rather than baking them into Python scripts.
How to Use It
The core workflow revolves around defining agents and connecting them through graph-based orchestration. You start by creating an agent with a specific LLM provider — the samples show both Azure OpenAI and OpenAI integrations[2] — then attach middleware for cross-cutting concerns like logging or authentication. The orchestration layer lets you compose these agents into workflows using patterns like sequential pipelines or concurrent fan-out. A notable design choice is the separation between agent definition and orchestration logic; agents don’t know about the workflow graph they’re part of, which makes them independently testable. The framework also supports checkpointing, which means you can restart a failed workflow from its last successful step rather than replaying the entire chain. For deployment, the Foundry Hosted Agents feature adds hosting infrastructure with just two lines of code[3], though that ties you into Microsoft’s ecosystem.
Installs the core Python package from PyPI
pip install agent-framework
Adds the .NET package via NuGet
dotnet add package Microsoft.Agents.AI
Python import pattern for creating agents and orchestrating workflows
from agent_framework import Agent, Workflow
Recent Updates
Latest Release: python-1.2.2 (2025-03-15)
Bug fixes and stability improvements for the Python SDK
The project shows active development across both language runtimes, with dotnet-1.4.0 and python-1.2.x releases in close succession[4]. The addition of Foundry Hosted Agents and the DevUI indicates a push toward production deployment tooling rather than just SDK improvements. Community engagement through Discord and MS Learn documentation suggests Microsoft is investing in the ecosystem beyond just the code.
Sources & Attributions
[1] GitHub star count as of repository access — microsoft/agent-framework [2] Agent provider samples showing Azure OpenAI and OpenAI integrations — microsoft/agent-framework/python/samples/02-agents/providers/ [3] Foundry Hosted Agents deployment with minimal code changes — microsoft/agent-framework/python/samples/04-hosting/foundry-hosted-agents/ [4] Release tags showing dotnet-1.4.0 and python-1.2.x versions — microsoft/agent-framework/releases