- Дата публикации
Microsoft Agent Framework 1.0: как собрать своих ИИ‑агентов на .NET и Python
Что нового
3 апреля 2026 года Microsoft выпустила в статусе General Availability (GA) Microsoft Agent Framework 1.0 — открытый фреймворк для агентных систем на .NET и Python.
Главные изменения по сравнению с релиз-кандидатами:
-
Стабильный продакшн‑релиз
- Зафиксированные API вместо «экспериментальных» пакетов.
- Версионирование и обещанная долгосрочная поддержка (LTS).
- Фреймворк позиционируется как готовый к промышленной эксплуатации, а не как playground.
-
A2A (Agent‑to‑Agent) протокол
- Структурированный протокол обмена сообщениями между агентами.
- Агент на Python может общаться и координироваться с агентом на .NET без самописных костылей.
- Сообщения стандартизированы, что упрощает кросс‑языковые и кросс‑процессные сценарии.
-
Полноценная поддержка MCP (Model Context Protocol)
- Агент может динамически находить внешние инструменты и источники данных.
- Подключение новых тулов и сервисов идёт через MCP, а не через кастомный код интеграции.
- Это снижает объём «клеевого» кода и упрощает масштабирование набора инструментов.
-
Устойчивые паттерны мультиагентной оркестрации
В 1.0 закреплены и задокументированы паттерны:- Sequential — линейная передача задачи между специализированными агентами.
- Group Chat — несколько агентов обсуждают и совместно решают задачу.
- Magentic‑One — сложный паттерн для задач с планированием и разбиением на подзадачи.
-
Middleware‑пайплайн
- Единая точка, куда можно «подвесить» логирование, телеметрию, фильтрацию контента, проверки на соответствие политикам.
- Не нужно переписывать промпты агентов — достаточно подключить middleware в цикл исполнения.
- Это критично для Responsible AI: можно централизованно внедрить контент‑фильтры и compliance.
-
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
Фреймворк полезен, если вы:
-
Строите долгоживущих агентов под продакшн
- Корпоративные ассистенты, которые помнят контекст и историю взаимодействий.
- Автономные системы, которые регулярно вызывают инструменты, ходят в базы, работают по расписанию.
-
Нужны сложные мультиагентные сценарии
- Один агент планирует, другой пишет код, третий проверяет, четвёртый общается с пользователем.
- Нужен «групповой чат» агентов, которые обсуждают задачу и приходят к решению.
-
Нужен строгий контроль потока и политики исполнения
- Вы хотите явно задать порядок шагов и точки, где подключается человек.
- Требуются централизованные проверки: безопасность контента, аудит, логирование.
-
Вы уже в экосистеме 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 вернуться, когда появятся требования по продакшн‑уровню и мультиагентным сценариям.