Основные понятия агента

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

Среда выполнения и исполнение

  • Выполнение агентов объясняет обычные и потоковые запуски, параметры выполнения, ответы, сообщения и содержимое.
  • Конвейер агента объясняет, как промежуточное ПО, поставщики контекста, вызов модели и инструменты участвуют в процессе выполнения.
  • Маршрутизация моделей во время выполнения объясняет, в каких случаях в ходе беседы можно переключаться между моделями или провайдерами инференса без потери контекста.

Типы агентов

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

Агенты чат-клиента

Агенты чат-клиента — это агенты, принадлежащие приложениям, поддерживаемые клиентом вывода модели. Они поддерживают инструменты вызова функций, многошаговые диалоги, инструменты, размещенные на стороне провайдера, где это доступно, структурированные выходные данные, потоковую передачу, промежуточное ПО, а также локальную историю диалогов или историю диалогов, управляемую сервисом.

Любой клиент вывода, который реализует Microsoft.Extensions.AI.IChatClient , может вернуть ChatClientAgent:

using Microsoft.Agents.AI;

AIAgent agent = new ChatClientAgent(
    chatClient,
    instructions: "You are a helpful assistant.");

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

Сведения о возможностях поставщика, поддержке журнала бесед и выборе конечной точки ПАКЕТА SDK см. в разделе "Поставщики моделей".

Создайте стандарт Agent из любого клиента, реализующего SupportsChatGetResponse:

from agent_framework import Agent

agent = Agent(
    client=client,
    instructions="You are a helpful assistant.",
)

Тот же Agent интерфейс работает между поддерживаемыми поставщиками моделей. Вместо этого прямые типы агентов, такие как FoundryAgent, A2AAgent, GitHubCopilotAgent и ClaudeAgent, подключаются к управляемым или удалённым средам выполнения агентов.

Доступные клиенты вывода см. в разделе "Поставщики моделей".

Go-пакеты поставщиков моделей создают стандартный тип *agent.Agent с помощью специфичных для поставщика конструкторов. Это предоставляет коду приложения единый интерфейс для запуска, сеанса, инструмента, промежуточного ПО и потоковой передачи, при этом каждый поставщик сам отвечает за инициализацию клиента.

Сведения о конструкторах и путях импорта см. в разделе "Поставщики моделей".

Беседы и память

Понятия диалога включают сеансы, поставщики контекста, хранилище, уплотнение и встроенный поставщик памяти истории чата.

Middleware

Концепции промежуточного ПО охватывают определение, область применения, упорядочение, разделяемое состояние, контекст выполнения, завершение, ошибки и переопределение результатов.

Safety

Безопасность агента описывает шаблоны проектирования для ограничения поведения агента и снижения операционного риска. Принудительное применение безопасности с помощью FIDES остается возможностью агента.

Дальнейшие действия