Поделиться через


Microsoft Agent Framework

Agent Framework предлагает две основные категории возможностей:

Description
Агенты Отдельные агенты, использующие LLM для обработки входных данных, вызова инструментов и серверов MCP, и создания ответов. Поддерживает Azure OpenAI, OpenAI, Anthropic, Ollama и многое другое.
Рабочие процессы Рабочие процессы на основе графов, которые подключают агенты и функции для многоэтапных задач с поддержкой типобезопасной маршрутизации, контрольных точек и поддержки "человек в цикле".

Платформа также предоставляет основные строительные блоки, включая клиентов модели (завершения чата и ответы), сеанс агента для управления состоянием, поставщиков контекста для памяти агента, промежуточное ПО для перехвата действий агента и клиентов MCP для интеграции инструментов. Вместе эти компоненты обеспечивают гибкость и возможность создания интерактивных, надежных и безопасных приложений ИИ.

Начало работы

dotnet add package Azure.AI.OpenAI --prerelease
dotnet add package Azure.Identity
dotnet add package Microsoft.Agents.AI.OpenAI --prerelease
using System;
using Azure.AI.OpenAI;
using Azure.Identity;
using Microsoft.Agents.AI;

AIAgent agent = new AzureOpenAIClient(
        new Uri(Environment.GetEnvironmentVariable("AZURE_OPENAI_ENDPOINT")!),
        new AzureCliCredential())
    .GetChatClient("gpt-4o-mini")
    .AsAIAgent(instructions: "You are a friendly assistant. Keep your answers brief.");

Console.WriteLine(await agent.RunAsync("What is the largest city in France?"));
pip install agent-framework --pre
    credential = AzureCliCredential()
    client = AzureOpenAIResponsesClient(
        project_endpoint=os.environ["AZURE_AI_PROJECT_ENDPOINT"],
        deployment_name=os.environ["AZURE_OPENAI_RESPONSES_DEPLOYMENT_NAME"],
        credential=credential,
    )

    agent = client.as_agent(
        name="HelloAgent",
        instructions="You are a friendly assistant. Keep your answers brief.",
    )
    # Non-streaming: get the complete response at once
    result = await agent.run("What is the largest city in France?")
    print(f"Agent: {result}")

Это агент, вызывающий LLM и возвращающий ответ. Здесь можно добавить инструменты, многоэтапные беседы, посредническое ПО и рабочие процессы для создания готовых приложений.

Когда использовать агентов и когда рабочие процессы

Используйте агент, когда... Используйте рабочий процесс, когда...
Задача не имеет чётких рамок или носит характер диалога Процесс имеет четко определенные шаги
Вам требуется использование автономных инструментов и планирование Вам нужен явный контроль над порядком выполнения
Один вызов LLM, возможно, с инструментами, достаточен Несколько агентов или функций должны координироваться

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

Почему платформа агента?

Agent Framework объединяет простые абстракции агента AutoGen с корпоративными функциями семантического ядра — управление состояниями на основе сеансов, безопасность типов, ПО промежуточного слоя, телеметрия — и добавляет рабочие процессы на основе графов для явной оркестрации с несколькими агентами.

Семантическое ядро и AutoGen впервые внедрили концепции агентов ИИ и оркестрации с несколькими агентами. Agent Framework является прямым преемником, созданным теми же командами. Он объединяет простые абстракции AutoGen для шаблонов с одним и несколькими агентами с функциями корпоративного уровня семантического ядра, такими как управление состояниями на основе сеансов, безопасность типов, фильтры, телеметрия и обширная поддержка внедрения. Помимо простого объединения, Agent Framework вводит рабочие процессы, которые предоставляют разработчикам точный контроль над путями выполнения мультиагентных систем, а также надежную систему управления состояниями для долгосрочных сценариев с участием человека. Короче говоря, agent Framework — это следующее поколение семантического ядра и автогена.

Дополнительные сведения о миграции из семантического ядра или автогена см. в руководстве по миграции из семантического ядра и миграции из AutoGen.

Как семантический ядро, так и AutoGen, значительно пользуются сообществом с открытым исходным кодом, и то же самое ожидается для Agent Framework. Microsoft Agent Framework приветствует вклады и будет улучшать новые функции и возможности.

Замечание

Microsoft Agent Framework в настоящее время находится в общедоступной предварительной версии. Отправьте отзыв или проблемы в репозитории GitHub.

Это важно

Если вы используете Microsoft Agent Framework для создания приложений, работающих с сторонними серверами или агентами, это делается в вашем собственном риске. Мы рекомендуем просматривать все данные, совместно используемые сторонними серверами или агентами, и учитывать сторонние методики хранения и расположения данных. Вы несете ответственность за управление тем, как данные будут передаваться за пределы границ соответствия и географических границ вашей организации, а также за любые связанные с этим последствия.

Дальнейшие шаги

Вернитесь глубже: