Microsoft Agent Framework — это SDK от Microsoft (апрель 2026, версия 1.0) для создания, оркестрации и развёртывания AI-агентов на Python и .NET. Он объединил две предыдущие линии разработки Microsoft: AutoGen (фреймворк для мультиагентных разговоров) и Semantic Kernel (интеграция LLM в корпоративные приложения). Теперь это единый пакет с поддержкой MCP-инструментов, handoff-оркестрации, графовых workflow и human-in-the-loop.

Если коротко: Framework даёт декораторы @agent, @tool, @workflow и готовые примитивы для мультиагентных сценариев — без необходимости писать state-графы вручную или настраивать очередность вызовов через промпты. По данным Microsoft, SDK уже используют в пилотах более 500 корпоративных клиентов на Azure. Open-source часть пакета распространяется под лицензией MIT и насчитывает 11 500+ звёзд на GitHub.

11.5K+ звёзд на GitHub
v1.0 релиз апрель 2026
Python + .NET
MIT лицензия

Установка и первый агент

Для работы с Microsoft Agent Framework нужен Python 3.10 или новее. Установка — одной командой:

pip install agent-framework

Пакет ставит ядро SDK, включая базовые классы агентов, декораторы, поддержку MCP и checkpointing. Для работы с конкретным LLM-провайдером понадобится дополнительный пакет. На момент апреля 2026 Microsoft поддерживает OpenAI, Azure OpenAI, Anthropic, Google Gemini и локальные модели через Ollama. Подключается провайдер так:

pip install agent-framework-openai  # OpenAI / Azure OpenAI
pip install agent-framework-ollama   # Локальные модели через Ollama

Вот как выглядит простейший агент, который отвечает на вопросы пользователя:

from agent_framework import Agent

agent = Agent(
    name="assistant",
    instructions="Ты полезный ассистент. Отвечай кратко и по делу."
)

response = agent.run("Расскажи про Microsoft Agent Framework")
print(response)

Это минимальный пример. За кулисами Agent выполняет LLM-вызов с переданными инструкциями и возвращает ответ. Уже на этом этапе Framework автоматически обрабатывает историю диалога (контекстное окно), управляет лимитом токенов и логирует каждый шаг.

Важно: Agent Framework не привязан к Azure. SDK работает полностью локально — платите только за вызовы LLM (или используете Ollama с локальными моделями). Azure требуется только для Foundry Hosted Agents — сервиса размещения агентов в облаке Microsoft.

Для тех, кто переходит с AutoGen, Microsoft выпустила официальный гайд по миграции. Там же — туториалы для .NET (C#), если ваша инфраструктура завязана на Azure и экосистему Microsoft.

Архитектура: агенты, инструменты и workflow

Microsoft Agent Framework построен вокруг трёх базовых сущностей: Agent (агент), Tool (инструмент) и Workflow (рабочий процесс). Они же — первые три декоратора, которые вы встретите в документации.

@agent — превращает функцию в AI-агента. Агент получает инструкцию (system prompt) и может вызывать инструменты. Инстанс агента хранит историю диалога и управляет контекстом:

from agent_framework import agent

@agent
def support_agent(query: str) -> str:
    """Ты — агент поддержки. Отвечай по базе знаний."""
    return query

@tool — регистрирует функцию как внешний инструмент, который агент может вызывать. Framework сам генерирует JSON-схему для LLM по type hints:

from agent_framework import tool

@tool
def get_order_status(order_id: str) -> dict:
    """Получить статус заказа по ID."""
    # Здесь — запрос к CRM / API
    return {"order_id": order_id, "status": "shipped", "eta": "2026-06-25"}

@workflow — определяет последовательность шагов. Это может быть простой последовательный вызов или сложный граф с условной маршрутизацией. Workflow гарантирует порядок выполнения, поддерживает checkpointing (возможность прервать и возобновить) и может включать human-in-the-loop:

from agent_framework import workflow

@workflow
def order_processing(order_id: str):
    status = get_order_status(order_id)
    if status["status"] == "shipped":
        return send_delivery_notification(order_id)
    else:
        return escalate_to_manager(order_id)

Визуально архитектура типичного мультиагентного сценария на Agent Framework выглядит так: входящий запрос попадает на Triage Agent, который определяет сложность задачи. Простой запрос обрабатывает Assistant Agent напрямую. Сложный — передаётся Orchestrator (реализация Magentic-One), который распределяет подзадачи между специализированными агентами. Все агенты используют MCP для доступа к внешним инструментам.

Архитектура Microsoft Agent Framework: маршрутизация запросов через Triage Agent к специализированным агентам с MCP-инструментами

Типовая архитектура мультиагентного решения на Microsoft Agent Framework

Workflow — ключевое отличие от подхода LangGraph, где вы пишете StateGraph вручную. В Agent Framework workflow — это высокоуровневая абстракция: декоратор, под капотом преобразующий функцию в граф с управлением состояниями. Для типовых сценариев (опрос клиента, обработка заказа, генерация контента) этого достаточно. Для специфической логики с нетривиальными переходами — существует низкоуровневый API WorkflowBuilder, который даёт полный контроль.

MCP-интеграция

Model Context Protocol (MCP) — открытый стандарт Anthropic, который в 2026 году стал основным способом подключения инструментов к AI-агентам. В Microsoft Agent Framework MCP поддержан на уровне SDK: вы подключаете любой MCP-сервер (Gmail, Slack, Google Drive, Postgres, Stripe, базы данных) и агент автоматически получает доступ к его инструментам.

Подключение локального MCP-сервера выглядит так:

from agent_framework.mcp import MCPServer

server = MCPServer(
    command="npx",
    args=["-y", "@modelcontextprotocol/server-slack"],
    env={"SLACK_BOT_TOKEN": "xoxb-..."}
)

Если используете Azure Foundry, можно подключить Hosted MCP — сервер работает на стороне облака, вы только указываете endpoint. Это удобно для enterprise-сценариев, где каждый MCP-сервер должен быть доступен нескольким агентам сразу.

Один агент может использовать несколько MCP-серверов одновременно — Framework сам разрешает конфликты имён инструментов и распределяет вызовы. Например, агент поддержки может одновременно работать с CRM (через MCP-сервер Salesforce), базой знаний (векторное хранилище) и почтовым сервером:

@agent
def support_agent(query: str) -> str:
    """Ты — агент поддержки."""
    return query

support_agent.mcp_servers = [crm_server, kb_server, mail_server]

MCP Roadmap 2026 включает транспортную масштабируемость (WebSocket вместо STDIO), поддержку потоковой передачи данных и корпоративные механизмы аутентификации. Microsoft вошла в рабочую группу MCP и адаптирует протокол под Azure Enterprise — это означает, что Agent Framework будет одной из первых платформ с полной поддержкой MCP 2026.

Практический совет: Для первого знакомства поставьте любой MCP-сервер из официального репозитория. Filesystem, PostgreSQL и Puppeteer — отличные стартовые точки. Агент, который умеет читать файлы и выполнять SQL-запросы, сразу становится полезным для реальных задач.

Handoff: передача между агентами

Handoff — механика, при которой один агент передаёт управление другому. В Microsoft Agent Framework это реализовано через метод agent.handoff(). Типовой сценарий: Triage Agent принимает запрос, определяет категорию и передаёт специализированному агенту:

@agent
def triage_agent(query: str) -> str:
    """Определи тип запроса: support, billing или sales.
    Передай соответствующему агенту через handoff."""

from agent_framework import Agent

support = Agent(name="support", instructions="Ты — техподдержка.")
billing = Agent(name="billing", instructions="Ты — биллинг.")

result = triage_agent.run("Не могу войти в аккаунт")
# Framework сам решает, что это support, и выполняет handoff

Handoff в Agent Framework — не просто передача текста. Вместе с управлением передаётся контекст диалога (история сообщений), активные инструменты и состояние workflow. Это принципиально отличает handoff от простого вызова одной функции из другой: принимающий агент видит весь предыдущий разговор и может продолжить с того же места.

В более сложных сценариях handoff используется внутри Workflow как шаг перехода между этапами. Например, workflow «онбординг клиента» включает handoff от квалификационного агента к KYC-агенту, затем к агенту подключения сервисов:

@workflow
def client_onboarding(client_id: str):
    data = qualification_agent.run(client_id)
    if data["verified"]:
        kyc_result = kyc_agent.run(data)
        return service_setup_agent.run(kyc_result)
    else:
        return human_review_trigger(data)

Magentic-One: мультиагентная оркестрация

Magentic-One — это встроенный шаблон оркестрации в Microsoft Agent Framework, основанный на исследовательской системе Magentic-One от AutoGen. Это готовая мультиагентная архитектура, которая автоматически распределяет сложные задачи между несколькими специализированными агентами без ручного описания маршрутов.

В Magentic-One четыре предопределённых роли:

Orchestrator — главный планировщик. Получает задачу, разбивает её на подзадачи, назначает агентов и контролирует выполнение. Если один из агентов вернул ошибку, Orchestrator может переназначить задачу другому или запросить уточнение у человека.

Research Agent — ищет информацию через MCP-инструменты (веб-поиск, базы знаний, документы). Возвращает структурированные данные.

Code Agent — пишет и выполняет код. Может работать с Python-скриптами, SQL-запросами, bash-командами. Песочница (sandbox) для выполнения кода — встроенная функция SDK.

Review Agent — проверяет результат. Сравнивает с критериями задачи, выявляет ошибки, предлагает исправления.

Чтобы запустить Magentic-One, нужно вызвать Orchestrator с задачей:

from agent_framework.orchestrators import MagenticOne

orchestrator = MagenticOne()
result = orchestrator.run("Проанализируй конкурентов в нише AI-агентов для поддержки и подготовь отчёт")
print(result)

Orchestrator сам решает, сколько агентов задействовать, в каком порядке и нужен ли human-in-the-loop. Для операций с деньгами или изменениями в боевых системах Magentic-One по умолчанию запрашивает подтверждение человека — это защита от случайных или ошибочных действий агента.

По данным Microsoft, Magentic-One на типовых задачах (генерация отчётов, анализ данных, написание кода) показывает сопоставимую или лучшую точность, чем ручная настройка графа из 4-5 агентов. При этом время разработки сокращается с дней до часов — вы описываете задачу на естественном языке, а Framework строит пайплайн сам.

Сравнение с LangGraph и CrewAI

Microsoft Agent Framework — не единственный игрок на рынке мультиагентных фреймворков. LangGraph (от LangChain) и CrewAI — его прямые конкуренты. Выбор между ними зависит от стека технологий, требований к контролю и готовой инфраструктуры.

CrewAI — самый быстрый старт. Вы описываете агентов, задачи и процессы декларативно, и через 20 строк кода получаете работающую мультиагентную систему. 54K звёзд на GitHub, сообщество огромное, документация на русском есть. Но CrewAI меньше подходит для production-сценариев с нетривиальной логикой: графы сложно кастомизировать, а детерминированность выполнения ниже, чем у LangGraph. Лучший сценарий — прототипы, контент-генерация, обработка лидов.

LangGraph — полный контроль. Вы пишете StateGraph вручную: описываете схему состояния, добавляете узлы (агенты или функции), настраиваете условные рёбра. LangGraph даёт максимальную гибкость — циклы, параллельное выполнение, человеческое подтверждение на любом шаге. LangChain экосистема (100K+ звёзд) предоставляет LangSmith для трассировки и LangServe для деплоя. Но стартовый порог выше: нужно понимать state-графы, писать классы состояния и обрабатывать ошибки вручную. Лучший сценарий — production-системы с критичной логикой, where контроль над каждым шагом важнее скорости разработки.

Характеристика Microsoft Agent Framework LangGraph CrewAI
Стек Python + .NET Python Python
Парадигма Декораторы + workflow StateGraph (явные графы) Agent / Task / Crew
MCP Встроенная поддержка Через LangChain MCP Через инструменты
Handoff Встроенный Через conditional edges Process-based
HITL Checkpoint + resume interrupt() HumanInputTool
Песочница кода Встроенная Через инструменты Через инструменты
Cloud-ready Azure Foundry LangServe Docker / self-host
Лучший для Enterprise .NET / Azure Сложные state-системы Быстрые прототипы

Microsoft Agent Framework занимает свою нишу: там, где у заказчика уже есть инфраструктура Microsoft (Azure, .NET, Active Directory), и нужна глубокая интеграция. SDK также подходит командам, которые хотят получить production-ready мультиагентную систему без написания графов вручную — декораторы и Magentic-One заметно снижают порог входа. По сравнительному анализу 2026 года от независимых разработчиков, Framework опережает LangGraph по скорости разработки (3-5× быстрее для типовых сценариев) и не уступает по production-готовности.

Сравнение структур Microsoft Agent Framework, LangGraph и CrewAI

Ключевые примитивы трёх фреймворков: от декларативных декораторов до state-графов