Дата публикации
ai_products

Microsoft Agent Framework 1.0: как собрать своих ИИ‑агентов на .NET и Python

Что нового

3 апреля 2026 года Microsoft выпустила в статусе General Availability (GA) Microsoft Agent Framework 1.0 — открытый фреймворк для агентных систем на .NET и Python.

Главные изменения по сравнению с релиз-кандидатами:

  1. Стабильный продакшн‑релиз

    • Зафиксированные API вместо «экспериментальных» пакетов.
    • Версионирование и обещанная долгосрочная поддержка (LTS).
    • Фреймворк позиционируется как готовый к промышленной эксплуатации, а не как playground.
  2. A2A (Agent‑to‑Agent) протокол

    • Структурированный протокол обмена сообщениями между агентами.
    • Агент на Python может общаться и координироваться с агентом на .NET без самописных костылей.
    • Сообщения стандартизированы, что упрощает кросс‑языковые и кросс‑процессные сценарии.
  3. Полноценная поддержка MCP (Model Context Protocol)

    • Агент может динамически находить внешние инструменты и источники данных.
    • Подключение новых тулов и сервисов идёт через MCP, а не через кастомный код интеграции.
    • Это снижает объём «клеевого» кода и упрощает масштабирование набора инструментов.
  4. Устойчивые паттерны мультиагентной оркестрации
    В 1.0 закреплены и задокументированы паттерны:

    • Sequential — линейная передача задачи между специализированными агентами.
    • Group Chat — несколько агентов обсуждают и совместно решают задачу.
    • Magentic‑One — сложный паттерн для задач с планированием и разбиением на подзадачи.
  5. Middleware‑пайплайн

    • Единая точка, куда можно «подвесить» логирование, телеметрию, фильтрацию контента, проверки на соответствие политикам.
    • Не нужно переписывать промпты агентов — достаточно подключить middleware в цикл исполнения.
    • Это критично для Responsible AI: можно централизованно внедрить контент‑фильтры и compliance.
  6. DevUI Debugger

    • Локальный браузерный дебаггер.
    • Показывает в реальном времени: сообщения между агентами, вызовы инструментов, изменения состояния.
    • Удобен для отладки сложных сценариев с несколькими агентами и workflow.

Цифр по производительности, стоимости вызовов LLM или размерам контекста Microsoft в этом анонсе не приводит. Фокус — на архитектуре, стабильности и интеропе.

Как это работает

Microsoft Agent Framework — это SDK и рантайм для двух ключевых сущностей: агенты и воркфлоу.

Агент

Агент в понимании Microsoft — это не просто обёртка над промптом, а долгоживущий компонент с состоянием. Он умеет:

  • вызывать LLM (через модельных клиентов);
  • интерпретировать входы пользователя и других агентов;
  • вызывать инструменты и MCP‑серверы;
  • поддерживать сессию и контекст разговора;
  • формировать ответы.

Агент — это «единица рассуждений и принятия решений». Он знает, что нужно сделать, и какие инструменты ему для этого доступны.

Workflow

Workflow — это отдельный слой, который управляет тем, как всё исполняется:

  • графовая оркестрация агентов и функций;
  • жёсткий порядок выполнения шагов;
  • чекпоинты и сценарии с участием человека (human‑in‑the‑loop).

Разделение обязанностей выглядит так:

| Задача | Отвечает | |--------|----------| | Рассуждения и интерпретация | Агент | | Политика выполнения и контроль потока | Workflow |

Идея в том, что агент не должен сам решать, в какой последовательности запускать других агентов или функции. Это работа workflow‑движка.

Архитектура под капотом

Фреймворк состоит из нескольких ключевых блоков:

  • Model clients — клиенты для LLM (чат‑completion, ответы). Они абстрагируют конкретного провайдера модели.
  • Agent sessions — управление состоянием и историей разговоров. Агент может быть «долгоживущим», а не одноразовым вызовом.
  • Context providers — память и retrieval, которые подмешивают релевантный контекст в запросы к модели.
  • Middleware pipeline — цепочка обработчиков, через которую проходят запросы и ответы: фильтры, логирование, телеметрия, проверка политик.
  • MCP clients — клиенты Model Context Protocol для поиска и вызова внешних тулов и источников данных.
  • Workflow engine — графовый движок, который соединяет агентов и функции в сценарии с чётким контролем потока.

Для межагентного общения используется A2A‑протокол: агенты обмениваются структурированными сообщениями, а не сырым текстом, что упрощает автоматический парсинг и координацию.

Что это значит для вас

Когда стоит использовать Microsoft Agent Framework

Фреймворк полезен, если вы:

  1. Строите долгоживущих агентов под продакшн

    • Корпоративные ассистенты, которые помнят контекст и историю взаимодействий.
    • Автономные системы, которые регулярно вызывают инструменты, ходят в базы, работают по расписанию.
  2. Нужны сложные мультиагентные сценарии

    • Один агент планирует, другой пишет код, третий проверяет, четвёртый общается с пользователем.
    • Нужен «групповой чат» агентов, которые обсуждают задачу и приходят к решению.
  3. Нужен строгий контроль потока и политики исполнения

    • Вы хотите явно задать порядок шагов и точки, где подключается человек.
    • Требуются централизованные проверки: безопасность контента, аудит, логирование.
  4. Вы уже в экосистеме Microsoft / Azure

    • Агент в примерах создаётся через Azure.AI.Projects и Foundry‑сервисы.
    • Если у вас уже есть Azure‑инфраструктура, интеграция будет проще.

Когда лучше не использовать

  • Простые скрипты и чат‑боты
    Если задачу можно решить одной функцией с вызовом LLM и без сложного состояния, фреймворк будет избыточен.
    Microsoft прямо формулирует принцип: если задачу можно решить детерминированным кодом — делайте это и не подключайте агента.

  • Жёстко ограниченные по ресурсам окружения
    Мультиагентные сценарии, middleware и workflow — это дополнительная сложность и накладные расходы. Для простых CLI‑утилит это может быть лишним.

  • Если вы не используете Azure и не готовы к облачной интеграции
    Примеры опираются на Azure Foundry и авторизацию через AzureCliCredential.
    Можно использовать как открытый фреймворк, но максимум удобства — в связке с Azure.

Доступность в России

Microsoft официально ограничивает доступ к части облачных сервисов из России.

Для работы примеров с Azure Foundry и авторизацией через Azure CLI, скорее всего, понадобится:

  • зарегистрированный Azure‑аккаунт в поддерживаемом регионе;
  • возможное использование VPN для доступа к облачным endpoint'ам.

Фреймворк как open source‑код можно изучать и локально, но полноценная продакшн‑интеграция с Azure из России может потребовать обходных путей и юридической оценки.

Место на рынке

Microsoft Agent Framework 1.0 существует не в вакууме. Ближайшие аналоги:

  • Semantic Kernel / AutoGen (тоже от Microsoft);
  • LangChain / CrewAI в Python‑мире.

Сравнение по ключевым параметрам (по данным анонса):

Философия

  • Microsoft Agent Framework 1.0 — единый SDK, ориентированный на продакшн и корпоративные сценарии.
  • Semantic Kernel / AutoGen — больше про исследование и отдельные инструменты, меньше про цельную продакшн‑историю.
  • LangChain / CrewAI — высокоуровневые абстракции для разработчиков, но без единого стандарта на рантайм.

Интеграция

  • Agent Framework — глубоко интегрирован с Microsoft Foundry и Azure.
  • Semantic Kernel / AutoGen — тоже хорошо дружат с экосистемой Microsoft, но без нового A2A/MCP‑фокуса.
  • LangChain / CrewAI — в основном облачно‑агностичные, но чаще требуют «клеевого» кода под конкретных провайдеров.

Интероперабельность

  • Agent Framework — встроенные A2A и MCP, рассчитанные на кросс‑фреймворковые и кросс‑языковые сценарии.
  • Semantic Kernel / AutoGen — в основном внутри своего стека.
  • LangChain / CrewAI — используют собственные коннекторы и схемы общения.

Рантайм и языки

  • Agent Framework — одинаковый API для .NET и Python, что важно для смешанных команд.
  • Semantic Kernel — Python‑first, C# поддерживается, но без полного паритета.
  • LangChain / CrewAI — в первую очередь Python.

Контроль исполнения

  • Agent Framework — графовые детерминированные workflow с чётким контролем потока.
  • Semantic Kernel / AutoGen — больше экспериментальных, менее формализованных паттернов.
  • LangChain / CrewAI — комбинируют роли и агентные паттерны, но без отдельного, столь формального workflow‑движка.

Цифровых сравнений по скорости, стоимости токена или размеру контекста Microsoft здесь не приводит, поэтому говорить о конкретных процентах и кратности не приходится.

Установка / Как запустить

Ниже — примеры из официальных материалов Microsoft. Они показывают, как создать простого агента на C# и Python, который отвечает на вопрос.

Простой агент на C#

using Azure.AI.Projects;
using Azure.Identity;
using Microsoft.Agents.AI;

AIAgent agent = new AIProjectClient(
    new Uri("https://your-foundry-service.services.ai.azure.com/api/projects/your-project"),
    new AzureCliCredential())
    .AsAIAgent(
        model: "gpt-5.4-mini",
        instructions: "You are a friendly assistant. Keep your answers brief.");

Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));

Что здесь происходит:

  • AIProjectClient подключается к вашему проекту в Azure Foundry.
  • AsAIAgent превращает его в агента с конкретной моделью gpt-5.4-mini и инструкциями.
  • RunAsync запускает диалог с учётом состояния сессии.

Простой агент на Python

from agent_framework.foundry import FoundryChatClient
from azure.identity import AzureCliCredential

client = FoundryChatClient(
    project_endpoint="https://your-foundry-service.services.ai.azure.com/api/projects/your-project",
    model="gpt-5.4-mini",
    credential=AzureCliCredential(),
)

agent = client.as_agent(
    name="HelloAgent",
    instructions="You are a friendly assistant. Keep your answers brief.",
)

result = await agent.run("What is the largest city in France?")
print(result)

Ключевые моменты:

  • В Python‑версии используется тот же подход: Foundry‑клиент превращается в агента через as_agent.
  • Инструкции и модель те же, что и в C#‑примере.
  • Абстракция агента едина для обоих языков, что упрощает перенос идей между стеками.

Как выбирать между агентом и workflow

Microsoft формулирует простую матрицу принятия решений:

Используйте агента, когда:

  • задача открытая, с множеством вариантов ответа;
  • нужен автономный вызов инструментов;
  • есть одна ключевая точка принятия решения.

Используйте workflow, когда:

  • шаги задачи хорошо определены и должны идти в строгом порядке;
  • важна предсказуемость и контроль потока;
  • в решении участвуют несколько агентов и/или функций.

Базовый принцип: если задача решается обычным детерминированным кодом — пишите код. Агент подключайте только там, где действительно нужны рассуждения и работа с неструктурированными запросами.

Для кого это всё

Кому подойдёт:

  • командам, которые уже используют .NET и Python и хотят единый подход к агентам;
  • продуктовым и enterprise‑командам, которым важны стабильные API и долгосрочная поддержка;
  • разработчикам, которые строят сложные сценарии с несколькими агентами и строгим контролем потока.

Кому будет тяжело или не нужно:

  • одиночным разработчикам, которым нужен просто «чат с GPT‑5.4‑mini» без сложной архитектуры;
  • тем, кто не хочет связываться с Azure и корпоративной инфраструктурой;
  • проектам, где важна максимальная простота деплоя и минимум внешних зависимостей.

Если вы уже играете с LangChain или CrewAI и упираетесь в отсутствие единого корпоративного стандарта, Agent Framework 1.0 даёт более строгую, «взрослую» архитектуру с поддержкой Microsoft. Если вы только начинаете и делаете первый прототип, возможно, проще стартовать с лёгкой обёртки вокруг LLM, а к Agent Framework вернуться, когда появятся требования по продакшн‑уровню и мультиагентным сценариям.


Читайте также