Welcome to Microsoft's comprehensive multi-language framework for building, orchestrating, and deploying AI agents with support for both .NET and Python implementations. This framework provides everything from simple chat agents to complex multi-agent workflows with graph-based orchestration.
Watch the full Agent Framework introduction (30 min)
Quick Installation:
- Python: pip install agent-framework
- .NET: dotnet add package Microsoft.Agents.AI
Getting started documentation:
- Quick Start Guide - Simple getting started instructions
- Tutorials - Step by step tutorials
- Graph-based Workflows: Connect agents and deterministic functions using data flows with streaming, checkpointing, human-in-the-loop, and time-travel capabilities
- AF Labs: Experimental packages for cutting-edge features including benchmarking, reinforcement learning, and research initiatives
- DevUI: Interactive developer UI for agent development, testing, and debugging workflows
See the DevUI in action (1 min)
- Python and C#/.NET Support: Full framework support for both Python and C#/.NET implementations with consistent APIs
- Observability: Built-in OpenTelemetry integration for distributed tracing, monitoring, and debugging
- Multiple Agent Provider Support: Support for various LLM providers with more being added continuously
- Middleware: Flexible middleware system for request/response processing, exception handling, and custom pipelines
- For bugs, please file a GitHub issue.
Create a simple Azure Responses Agent that writes a haiku about the Microsoft Agent Framework
import asyncio
from agent_framework.azure import AzureOpenAIResponsesClient
from azure.identity import AzureCliCredential
async def main():
  # Initialize a chat agent with basic instructions
  agent = AzureOpenAIResponsesClient(credential=AzureCliCredential()).create_agent(
    name="HaikuBot",
    instructions="You are an upbeat assistant that writes beautifully.",
  )
  print(await agent.run("Write a haiku about Microsoft Agent Framework."))
asyncio.run(main()) using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;
var endpoint = Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!;
var deploymentName = Environment.GetEnvironmentVariable("AZURE_OPENAI_DEPLOYMENT_NAME")!;
var agent = new AzureOpenAIClient(new Uri(endpoint), new AzureCliCredential())
    .GetOpenAIResponseClient(deploymentName)
    .CreateAIAgent(name: "HaikuBot", instructions: "You are an upbeat assistant that writes beautifully.");
Console.WriteLine(await agent.RunAsync("Write a haiku about Microsoft Agent Framework."));- Getting Started with Agents: basic agent creation and tool usage
- Chat Client Examples: direct chat client usage patterns
- Getting Started with Workflows: basic workflow creation and integration with agents
- Getting Started with Agents: basic agent creation and tool usage
- Agent Provider Samples: samples showing different agent providers
- Workflow Samples: advanced multi-agent patterns and workflow orchestration

 
  