Start Debugging

Workflow в Microsoft Agent Framework теперь переживают перезапуск процесса благодаря стеку Durable Task

Оберните Workflow Agent Framework в Microsoft.Agents.AI.DurableTask, и каждый шаг исполнителя получает чекпоинт. Падение, передеплой, перезапуск: запуск продолжится с того же места.

Шиджу Кришнанкутти опубликовал Durable Workflows in Microsoft Agent Framework в .NET Blog 2026-05-06. Главная новость: модель программирования workflow из Microsoft.Agents.AI.Workflows теперь интегрируется со стеком Durable Task через предварительный пакет Microsoft.Agents.AI.DurableTask, благодаря чему многошаговый запуск агента может ставить чекпоинт после каждого исполнителя и продолжаться в другом процессе после падения, события масштабирования или передеплоя. Это та недостающая часть, которая позволяет вывести мульти-агентный конвейер из консольной демки в нечто, что действительно можно хостить.

То, что уже было

Workflow это направленный граф узлов Executor<TInput, TOutput>, соединённых через WorkflowBuilder. Эта часть находится в стабильном пакете Microsoft.Agents.AI.Workflows и не является новой:

using Microsoft.Agents.AI.Workflows;

Workflow cancelOrder = new WorkflowBuilder(orderLookup)
    .WithName("CancelOrder")
    .AddEdge(orderLookup, orderCancel)
    .AddEdge(orderCancel, sendEmail)
    .Build();

await foreach (var evt in InProcessExecution.RunStreamingAsync(cancelOrder, orderId))
{
    Console.WriteLine(evt);
}

InProcessExecution.RunStreamingAsync выполняет граф в памяти. Если хост умирает между orderCancel и sendEmail, заказ отменён, клиент никогда не получит письмо, и нет записи о повторных попытках. Для примеров приемлемо, для всего, что касается денег, опасно.

Что изменилось 2026-05-06

Microsoft.Agents.AI.DurableTask позволяет выполнять тот же workflow поверх Durable Task. Каждый вызов исполнителя становится Durable-активностью, поэтому прогресс получает чекпоинт после каждого узла, а runtime переигрывает историю при перезапуске. Из анонса: “Stateful, durable execution: workflows survive process restarts and failures” и “automatic checkpointing: progress is saved after each step”.

В сочетании с Microsoft.Agents.AI.Hosting.AzureFunctions и пакетами Microsoft.DurableTask.Client.AzureManaged / Microsoft.DurableTask.Worker.AzureManaged, нацеленными на Durable Task Scheduler, хост Azure Functions сам генерирует HTTP-триггер, оркестратор и activity-функции:

var builder = FunctionsApplication.CreateBuilder(args);

builder.ConfigureDurableWorkflows(workflows =>
{
    workflows.AddWorkflow("CancelOrder", sp => BuildCancelOrderWorkflow(sp),
        exposeMcpToolTrigger: true);
});

builder.Build().Run();

exposeMcpToolTrigger: true заслуживает отдельного внимания: workflow появляется как MCP-инструмент, и агент Claude или Copilot может вызвать CancelOrder, а durable runtime берёт на себя остальное.

Паттерны, которые становятся полезнее с включённой долговечностью

Три возможности workflow, которые были приятным дополнением в процессе, становятся несущими, как только запуск может длиться часами:

Пакет Microsoft.Agents.AI.DurableTask всё ещё в предварительной версии, поэтому фиксируйте версию явно и следите за фидом Microsoft Agent Framework DevBlogs на предмет ломающих изменений до GA.

Comments

Sign in with GitHub to comment. Reactions and replies thread back to the comments repo.

< Назад