- Дата публикации
Microsoft запустила серверless‑рантайм для AI‑агентов в Azure Functions (паблик превью)
Что нового
Microsoft открыла публичный превью Azure Functions serverless agents runtime — нового способа запускать AI‑агентов в Azure Functions как полноценную нагрузку, а не как «надстройку» над кодом.
Ключевые изменения:
-
Markdown‑first модель разработки
Агент — это один файл.agent.md. Вверху — YAML‑метаданные с триггером и настройками, ниже — обычный markdown‑текст с инструкциями для агента на естественном языке. -
Агенты как первый класс граждан в Azure Functions
Вы описываете поведение в markdown, а не пишете обвязку вокруг SDK, очередей и сервисов. Триггеры, масштабирование, логирование и идентификация работают так же, как для обычных функций. -
Поддержка большинства триггеров Azure Functions
Из коробки доступны:- HTTP
- Timer
- Queue
- Service Bus
- Event Hubs
- Cosmos DB
- Blob Storage
- Event Grid
Плюс новые триггеры на основе подключений: сообщения в Microsoft Teams, почта и события календаря в Outlook.
-
Интеграция с 1400+ Azure connectors через MCP
Любое подключение, у которого включён MCP‑endpoint, можно использовать как «инструмент» агента: отправлять почту, постить в Teams, создавать записи в SaaS‑системах, читать данные — без ручной работы с аутентификацией и API. -
Встроенная поддержка MCP
Агенты могут:- вызывать внешние MCP‑серверы как инструменты;
- сами выступать MCP‑сервером для других агентов и клиентов.
-
Изолированные сессии для кода и браузера
Код и браузер (через Playwright) запускаются в Azure Container Apps dynamic sessions. Каждая сессия агента изолирована от других. -
Общий конфиг для всех агентов в приложении
agents.config.yaml— системные инструменты и модель по умолчанию;mcp.json— список MCP‑серверов (включая MCP‑совместимые Azure‑коннекторы);/tools— пользовательские Python‑инструменты;/skills— переиспользуемые фрагменты промптов.
-
Провайдеры моделей из коробки
Поддерживаются Microsoft Foundry, Azure OpenAI и OpenAI. Конкретные деплойменты вы указываете в конфиге. -
Экономика serverless
Запуск на плане Flex Consumption: масштабирование до нуля, биллинг по секундам, управляемая идентичность, VNet‑интеграция, Application Insights и знакомые DevOps‑инструменты для деплоя.
Как это работает
Агент = один .agent.md файл
Базовая идея: агент — это единица работы. Вы описываете, что он делает, а инфраструктура Azure Functions отвечает за как он запускается и масштабируется.
Пример: агент, который каждый день собирает техновости и отправляет дайджест по почте.
---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
---
You are a news assistant. When triggered, do the following:
1. Scour the web for today's top tech news headlines. Use reputable sources;
Include links to the original articles.
2. Summarize the top stories in a concise, well-formatted HTML email body.
3. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary"
followed by today's date.
Что здесь происходит:
- В YAML‑шапке описан триггер
timer_triggerс cron‑расписанием0 0 15 * * *— агент запускается каждый день в 15:00 (UTC). - Текст ниже — промпт, который видит модель: что искать, как форматировать, куда отправлять.
$TO_EMAIL— переменная окружения/настройка, которую вы задаёте в конфигурации функции.
Вы кладёте этот файл в приложение Azure Functions, деплоите — и агент начинает работать по расписанию. Никакого кода для HTTP‑клиентов, SMTP или Playwright внутри файла не требуется.
Общая конфигурация агентов
Поведение всех агентов в одном Function App можно настраивать общими файлами рядом с .agent.md:
agents.config.yaml— системные инструменты и модель по умолчанию.
# agents.config.yaml
system_tools:
dynamic_sessions_code_interpreter:
endpoint: $ACA_SESSION_POOL_ENDPOINT
model: $AZURE_OPENAI_DEPLOYMENT
Здесь:
dynamic_sessions_code_interpreter— системный инструмент, который запускает код в Azure Container Apps dynamic sessions. Endpoint берётся из переменной$ACA_SESSION_POOL_ENDPOINT.modelуказывает деплоймент Azure OpenAI, который будет использоваться по умолчанию всеми агентами.
mcp.json— список MCP‑серверов, доступных агентам.
// mcp.json
{
"servers": {
"office365": {
"type": "http",
"url": "$MICROSOFT_365_CONNECTION_MCP_ENDPOINT",
"auth": {
"scope": "https://apihub.azure.com/.default"
}
}
}
}
Здесь описан MCP‑сервер office365, который даёт доступ к Microsoft 365 через HTTP‑endpoint. Аутентификация строится на scope https://apihub.azure.com/.default.
Функция использует managed identity для доступа к этому endpoint. Вам не нужно хранить и прокручивать секреты.
- Папки
/toolsи/skills
/tools— ваши Python‑инструменты, которые агенты могут вызывать как функции./skills— переиспользуемые куски промптов.
Все эти элементы опциональны. Если они есть, любой агент в приложении может их использовать. При необходимости вы можете переопределить настройки в самом .agent.md файле через метаданные.
Триггеры и события
Serverless‑рантайм опирается на существующий каталог триггеров Azure Functions. Вы можете запускать агентов:
- по HTTP‑запросу;
- по таймеру;
- по сообщениям в Queue или Service Bus;
- по событиям из Event Hubs и Event Grid;
- при изменениях в Cosmos DB или Blob Storage;
- по сообщениям в Microsoft Teams;
- по входящим письмам и событиям календаря в Outlook.
С точки зрения разработчика, вы просто меняете trigger.type и аргументы в YAML‑шапке агента.
Инструменты и внешние сервисы
Через Azure connectors и MCP агенты получают доступ к более чем 1400 внешним системам:
- почта (Microsoft 365 и другие через коннекторы);
- мессенджеры и коллаборативные сервисы (Teams и др.);
- CRM, ERP и прочие SaaS;
- базы данных и аналитические хранилища.
Алгоритм:
- Настраиваете connection в Azure.
- Включаете для него MCP‑endpoint.
- Добавляете его в
mcp.jsonкак сервер. - Агент начинает вызывать его как инструмент, без прямой работы с токенами и SDK.
Исполнение кода и браузер
Для задач вроде обхода сайтов или сложной логики вы можете подключить:
- code interpreter в Azure Container Apps dynamic sessions;
- Playwright‑браузер в тех же динамических сессиях.
Каждая сессия агента изолирована. Это снижает риски при выполнении стороннего кода и упрощает масштабирование.
Интерфейсы доступа
Для агентов автоматически доступны:
- встроенный чат‑UI (для взаимодействия через веб‑интерфейс);
- HTTP API (для интеграции с приложениями и бэкендами);
- MCP‑endpoint (агент сам может быть MCP‑сервером).
Дополнительный код для этого не нужен — всё входит в рантайм.
Что это значит для вас
Для кого это полезно
Serverless‑рантайм в Azure Functions хорошо подходит, если вы:
- уже используете Azure Functions и хотите добавить AI‑агентов без отдельной инфраструктуры;
- строите фоновую автоматизацию: дайджесты, мониторинг, reconciliation между системами;
- хотите реагировать на события: сообщения, письма, алерты, изменения в БД;
- связываете несколько SaaS‑систем в единый сценарий: CRM → почта → мессенджер → база.
Примеры задач, которые можно собрать за минуты:
- Ежедневный брифинг, который по таймеру сканирует веб, собирает новости и отправляет сводку в Outlook.
- Чат‑агент в Microsoft Teams, который отвечает на вопросы команды и ходит за данными в подключённые системы.
- Дежурный агент, который при инциденте опрашивает логи в Azure Data Explorer и присылает отчет, что произошло.
Где рантайм особенно уместен
-
Регулярные фоновые процессы
- ежедневные/еженедельные отчёты;
- мониторинг метрик и логов;
- сверка данных между системами.
-
Реакция на события
- новые письма от клиентов;
- сообщения в Teams‑канале поддержки;
- новые записи или изменения в базе.
-
Интеграция SaaS‑ландшафта
Один агент может:- получить команду из Teams;
- найти клиента в Salesforce‑подобной системе через коннектор;
- отправить письмо через Microsoft 365;
- обновить запись в базе.
-
Единый бэкенд для чат‑интерфейсов
Вы можете сделать HTTP‑точку входа или использовать встроенный чат‑UI, а под капотом вызывать те же агенты, которые работают по таймеру или событиям.
Где продукт не подойдёт
- Если вы не используете Azure и не планируете переходить, рантайм мало поможет: он тесно завязан на экосистему Azure Functions и Azure connectors.
- Если вам нужна строгая on‑prem‑инфраструктура без облака, этот вариант не подойдёт.
- Для задач с жёсткими требованиями к латентности в миллисекундах и без внешних интеграций проще написать обычную функцию или сервис без LLM‑агента.
Доступность и ограничения
- Azure Functions serverless agents runtime сейчас в публичном превью. Это значит: продукт достаточно зрелый для экспериментов и пилотов, но не финализирован.
- Работа идёт на плане Flex Consumption с оплатой по секундам и масштабированием до нуля.
- Для доступа к Azure и Azure OpenAI из России могут потребоваться юридические и сетевые обходные решения, включая VPN и зарубежные аккаунты. Это критично учитывать при планировании.
Если вы строите корпоративную автоматизацию вокруг Microsoft 365, Teams и Azure, рантайм даёт удобный способ описывать агентов текстом и запускать их на тех же рельсах, что и обычные функции.
Место на рынке
Azure Functions serverless agents runtime занимает нишу агентов как serverless‑нагрузки внутри Azure.
Ключевые особенности на фоне других подходов к агентам:
-
Глубокая интеграция с Azure Functions
Если ваш стек уже крутится в Azure, вы получаете: знакомые триггеры, мониторинг через Application Insights, управляемую идентичность, VNet‑интеграцию и единый пайплайн деплоя. -
1400+ Azure connectors как инструменты
Большинство агентных фреймворков требуют писать код под каждый внешний сервис. Здесь вы создаёте connection, включаете MCP‑endpoint и описываете его вmcp.json. -
Markdown‑first вместо кода‑first
Вместо того чтобы писать много обвязки, вы создаёте один.agent.mdфайл. Для команд, где продакт‑менеджеры или аналитики участвуют в дизайне агентов, это снижает порог входа. -
Модели как plug‑and‑play провайдеры
Из коробки поддерживаются Microsoft Foundry, Azure OpenAI и OpenAI. Вы можете переключать деплойменты в конфиге, не меняя логику триггеров и интеграций.
Чего в анонсе нет:
- конкретных бенчмарков по скорости ответа агентов;
- сравнения стоимости с альтернативными решениями;
- ограничений по размеру контекста и количеству токенов.
Поэтому оценивать производительность и стоимость придётся на собственных пилотах.
Как запустить
Ниже — ключевые файлы, которые понадобятся для старта, с сохранением примеров из анонса.
1. Опишите агента в .agent.md
---
name: Daily Tech News Email
description: Fetches top tech news and emails a summary daily.
trigger:
type: timer_trigger
args:
schedule: "0 0 15 * * *"
---
You are a news assistant. When triggered, do the following:
1. Scour the web for today's top tech news headlines. Use reputable sources;
Include links to the original articles.
2. Summarize the top stories in a concise, well-formatted HTML email body.
3. Email the summary to $TO_EMAIL with the subject "Daily Tech News Summary"
followed by today's date.
Положите файл в проект Azure Functions. При деплое на Flex Consumption агент начнёт запускаться по расписанию.
2. Настройте системные инструменты и модель
# agents.config.yaml
system_tools:
dynamic_sessions_code_interpreter:
endpoint: $ACA_SESSION_POOL_ENDPOINT
model: $AZURE_OPENAI_DEPLOYMENT
- Замените
$ACA_SESSION_POOL_ENDPOINTна endpoint пула Azure Container Apps dynamic sessions. - Задайте
$AZURE_OPENAI_DEPLOYMENTна нужный деплоймент Azure OpenAI или другой поддерживаемый провайдер.
3. Подключите Microsoft 365 (или другие сервисы) через MCP
// mcp.json
{
"servers": {
"office365": {
"type": "http",
"url": "$MICROSOFT_365_CONNECTION_MCP_ENDPOINT",
"auth": {
"scope": "https://apihub.azure.com/.default"
}
}
}
}
$MICROSOFT_365_CONNECTION_MCP_ENDPOINT— MCP‑endpoint созданного вами Microsoft 365 connection в Azure.- Managed identity Function App используется для аутентификации, так что секреты в коде не нужны.
После этого агент сможет отправлять письма через Microsoft 365, не зная ничего о конкретном API.
4. (Опционально) Добавьте свои инструменты и «скиллы»
- Создайте папку
/toolsи положите туда Python‑скрипты с функциями, которые хотите вызывать из агента. - Создайте
/skillsдля переиспользуемых фрагментов промптов, например шаблонов писем или стандартных инструкций по тону.
Все агенты в Function App автоматически увидят эти инструменты и навыки, если вы не переопределите настройки локально в .agent.md.
Что дальше
Serverless agents runtime уже доступен в публичном превью, документация — по короткой ссылке aka.ms/azure-functions-agents-docs.
Microsoft активно дорабатывает рантайм на основе реальных сценариев. Если вы давно хотели собрать «умных» фоновых ботов вокруг Microsoft 365, Teams и Azure‑данных, сейчас удобный момент для пилота: инфраструктура Functions уже знакома, а агенты описываются в одном markdown‑файле.