Microsoft выложила первую версию фреймворка для разработки агентских решений, в том числе мульти-агенских. Это эволюция Semantic Kernel и наследник AutoGen. https://github.com/microsoft/agent-framework

Получился вроде нетяжелый и удобный фреймворк для работы с агентами. Им можно давать общий пул запросов, запускать параллельно или последовательно, организовывать в связанные графы.

Например для реализации простой HandOff оркестрации нужно:

  • Создать агентов с инструментами

//например агент researcher
var researcher = new ChatClientAgent(chatClient,
    new ChatClientAgentOptions
    {
        Name = "Researcher",
        Description = "Web search, real-time information, weather, news, and general knowledge.",
        ChatOptions = new ChatOptions
        {
            Instructions = "Search the web for any real-time information",
            Tools = [ AIFunctionFactory.Create(webSearchTools.Search),]
        }
    });
  • Создать оркестратор, где агент triage определяет кого вызвать, а вызванный агент после обработки возвращает управление обратно

var workflow = AgentWorkflowBuilder
    .CreateHandoffBuilderWith(triage)
    .WithHandoffs(triage, [clerk, archivist, secretary, researcher])
    .WithHandoff(researcher, triage, "Hand back to Triage when done or if the request is not about search/information.")
    .WithHandoff(...)
    .EmitAgentResponseEvents(true)
    .Build();

Я попробовал - домашний ИИ помощник, созданный за выходные, с интерфейсом через телеграм-бота, c памятью на sqlite, и бандой на пятерых агентов бодро крутится на Raspberry PI 3b.