
Microsoft Agent Framework
github.com/microsoft/agent-framework- Category
- AI Agents
- Rank
- No. 80Tools index
- Pricing
- Open Source
- Type
- TOOL
- Builder
- @microsoft
- GitHub
- 13.4k stars
- Latest release
- python-1.17.0
- Date
About
A comprehensive multi-language framework for building, orchestrating, and deploying AI agents and multi-agent workflows. Supports both Python and .NET with features like graph-based workflows, observability, and multiple LLM providers.
What it does
Microsoft Agent Framework gives application teams a shared agent model, tool system, middleware pipeline, and workflow runtime. Workflows can coordinate agents through sequential, concurrent, handoff, and group patterns, with streaming, checkpoints, human approval, telemetry, and declarative YAML definitions available where needed.
Why it's ranked here
The framework is compelling for production-oriented agent systems because it joins orchestration, provider choice, OpenTelemetry, and human approval under consistent Python and .NET surfaces. Its documented protocol boundaries are equally important: application frameworks retain control of routing, authentication, storage policy, and side effects.
What's good
Provider abstractions reduce commitment to one model service, while escape hatches preserve access to provider-specific tools. Workflow support includes checkpointing, restartable execution, streaming, and human involvement. The project also documents design choices through decision records, including rejected alternatives and their costs.
Tradeoffs
The broad surface brings conceptual and packaging complexity, especially when common tools, provider-specific tools, and raw provider representations coexist. Some documented designs remain proposed. Durable Task and Azure Functions examples live in a separate extension, while applications must implement route registration, authentication, authorization, persistence boundaries, and protocol-specific error handling.
How to use it well
Use it for agent applications that need durable coordination, multiple providers, telemetry, approvals, or shared Python and .NET conventions. Keep transport security, tenant isolation, route behavior, native SDK calls, and state authorization in the surrounding application. It does not replace a web framework or supply a complete vendor API.
Technical notes+
README.md presents the public Python Agent and .NET AIAgent library surfaces, with PyPI and NuGet installation. docs/design/python-package-setup.md specifies a flat agent_framework import surface, independently packaged connectors, optional extras, namespace-style vendor grouping, and imports that defer dependency loading until a component is requested. docs/decisions/0002-agent-tools.md documents generic AITool abstractions, provider-specific derived types, and ChatOptions.RawRepresentationFactory as a fallback. docs/decisions/0010-ag-ui-support.md describes .NET AG-UI client and ASP.NET Core server packages using HTTP/SSE and internal event conversion. docs/decisions/0027-hosting-channels.md assigns route declaration, authentication, authorization, native SDK calls, and status handling to application code rather than protocol helpers.
Observed
- Primary languages
- Python and C#/.NET
- Packaging
- Published through PyPI as agent-framework and NuGet as Microsoft.Agents.AI
- Interface
- Application library with agent, workflow, middleware, tool, telemetry, and protocol-helper surfaces
- Provider surface
- Documents integrations for Microsoft Foundry, Azure OpenAI, OpenAI, and GitHub Copilot SDK
- Protocol support
- Documents A2A hosting samples and bidirectional AG-UI support over HTTP and Server-Sent Events
- Repository structure
- Contains separate Python packages and samples, .NET source and samples, design documents, and architectural decision records
Read from README.md, docs/FAQS.md, docs/decisions/README.md, docs/decisions/adr-template.md, docs/decisions/0002-agent-tools.md, docs/decisions/0006-userapproval.md, docs/design/python-package-setup.md, docs/decisions/0010-ag-ui-support.md, docs/decisions/adr-short-template.md, docs/decisions/0027-hosting-channels.md, docs/decisions/0015-agent-run-context.md, docs/decisions/0016-structured-output.md.
What it can do
Build AI agents with graph-based workflows
Workflow definitions and agent configurations → Executable AI agents with defined behavior flows
Orchestrate multi-agent systems
Multiple AI agents and coordination rules → Coordinated multi-agent workflows and interactions
Deploy AI agents to production environments
Developed AI agents and deployment configurations → Running AI agent services in production
Integrate multiple LLM providers
LLM provider credentials and model configurations → AI agents with access to various language models
Monitor and observe agent performance
Running AI agent instances → Performance metrics, logs, and observability data
Develop agents in Python programming language
Python code and Microsoft Agent Framework libraries → Python-based AI agents
Develop agents in .NET programming language
.NET code and Microsoft Agent Framework libraries → .NET-based AI agents
Tags
Media

Comments (0)
No comments yet
Editorially curated, with community endorsements as a secondary signal. Corrections welcome.