Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
AG-UI — это протокол, позволяющий создавать веб-приложения агента ИИ с расширенными функциями, такими как потоковая передача в режиме реального времени, управление состоянием и интерактивные компоненты пользовательского интерфейса. Интеграция agent Framework AG-UI обеспечивает простое подключение между агентами и веб-клиентами.
Что такое AG-UI?
AG-UI — это стандартизованный протокол для создания интерфейсов агента ИИ, которые предоставляют:
- Размещение удаленных агентов: развертывание агентов ИИ в качестве веб-служб, доступных несколькими клиентами
- Потоковая передача в реальном времени: потоковая передача ответов агента с использованием событий Server-Sent (SSE) для немедленной обратной связи
- Стандартизованный обмен данными: согласованный формат сообщений для взаимодействия с надежным агентом
- Управление сеансами: поддержание контекста беседы в нескольких запросах
- Дополнительные функции: человеческое участие в процессе утверждения, синхронизация состояний и настраиваемая отрисовка пользовательского интерфейса
Когда следует использовать AG-UI
При необходимости рекомендуется использовать AG-UI:
- Создание веб-приложений или мобильных приложений, взаимодействующих с агентами ИИ
- Развертывание агентов в качестве служб, доступных несколькими одновременными пользователями
- Передавайте ответы агента в режиме реального времени для немедленной обратной связи.
- Реализация рабочих процессов утверждения, в которых пользователи подтверждают действия перед выполнением
- Синхронизация состояния между клиентом и сервером для интерактивных возможностей
- Создание кастомных компонентов UI на основе вызовов инструментов агента
Поддерживаемые возможности
Интеграция Agent Framework с AG-UI поддерживает все 7 функций протокола AG-UI:
- Агентический чат: простой потоковой чат с автоматическим вызовом средства
- Рендеринг серверного инструмента: инструменты, выполняемые на серверной части, результаты потоками передаются в клиент
- Человек в цикле: запросы на утверждение функции для подтверждения пользователя
- Агентский генеративный пользовательский интерфейс: асинхронные инструменты для длительных операций с обновлениями прогресса
- Генеративный пользовательский интерфейс на основе инструментов: пользовательские компоненты интерфейса, отрисованные на основе вызовов инструментов
- Общее состояние: двунаправленная синхронизация состояния между клиентом и сервером
- Прогнозные обновления состояния: аргументы средства потоковой передачи в качестве оптимистических обновлений состояния
Сборка пользовательских интерфейсов агентов с помощью CopilotKit
CopilotKit предоставляет широкие компоненты пользовательского интерфейса для создания пользовательских интерфейсов агента на основе стандартного протокола AG-UI. CopilotKit поддерживает интерфейсы потокового чата, вызов инструментов фронтенда и бэкенда, взаимодействия с человеком в процессе, генеративный пользовательский интерфейс, разделяемое состояние и многое другое. Примеры различных сценариев пользовательского интерфейса агента, поддерживаемых CopilotKit, см. в примере приложения DojoAG-UI .
CopilotKit помогает сосредоточиться на возможностях агента, предоставляя отшлифованный пользовательский опыт без изобретания велосипеда. Дополнительные сведения о начале работы с Microsoft Agent Framework и CopilotKit см. в документации по интеграции Microsoft Agent Framework для CopilotKit .
AG-UI и использование direct Agent
Хотя агентов можно запускать непосредственно в приложении с помощью методов Run и RunStreamingAsync Agent Framework, AG-UI предоставляет дополнительные возможности:
| Функция | Использование прямого агента | интеграция AG-UI |
|---|---|---|
| Развертывание | Интегрированное в приложение | Удаленная служба через HTTP |
| Клиентский доступ | Одно приложение | Несколько клиентов (интернет, мобильные устройства) |
| Стриминг | Асинхронная итерация в процессе | события Server-Sent (SSE) |
| Управление состоянием | Управляемое приложением | Моментальные снимки состояния на уровне протокола |
| Контекст сеанса | Управляемое приложением | Идентификаторы сеансов, управляемых протоколом |
| Рабочие процессы утверждения | Настраиваемая реализация | Встроенный шаблон промежуточного ПО |
Общие сведения об архитектуре
Интеграция AG-UI использует ASP.NET Core и соответствует чистой архитектуре на основе ПО промежуточного слоя:
┌─────────────────┐
│ Web Client │
│ (Browser/App) │
└────────┬────────┘
│ HTTP POST + SSE
▼
┌─────────────────────────┐
│ ASP.NET Core │
│ MapAGUI("/", agent) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ AIAgent │
│ (with Middleware) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ IChatClient │
│ (Azure OpenAI, etc.) │
└─────────────────────────┘
Ключевые компоненты
-
ASP.NET базовая конечная точка:
MapAGUIметод расширения обрабатывает HTTP-запросы и потоковую передачу SSE -
AIAgent: агент Agent Framework, созданный из
IChatClientили пользовательской реализации - Конвейер ПО промежуточного слоя: необязательное ПО промежуточного слоя для утверждений, управления состоянием и пользовательской логики
- Адаптер протокола: преобразуется между типами agent Framework и событиями протокола AG-UI
- Клиент чата: клиент чата Microsoft.Extensions.AI (Azure OpenAI, OpenAI, Ollama и т. д.)
Как структура агентной системы интегрируется в AG-UI
Общие сведения о сопоставлении концепций Agent Framework с AG-UI помогают создавать эффективные интеграции:
| Концепция агентного фреймворка | эквивалент AG-UI | Description |
|---|---|---|
AIAgent |
Конечная точка агента | Каждый агент становится конечной точкой HTTP |
agent.Run() |
HTTP-запрос POST | Клиент отправляет сообщения через HTTP |
agent.RunStreamingAsync() |
События, посылаемые сервером | Потоковая передача ответов через SSE |
AgentResponseUpdate |
события AG-UI | Автоматически преобразованы в события протокола |
AIFunctionFactory.Create() |
Серверные инструменты | Выполнение на сервере, результаты транслируются |
ApprovalRequiredAIFunction |
Человек в контуре | Посредническое ПО преобразуется в протокол утверждения |
AgentSession |
Управление сеансами |
ConversationId поддерживает контекст |
ChatResponseFormat.ForJsonSchema<T>() |
Снимки состояния | Структурированные данные преобразуются в события состояния. |
Installation
Интеграция AG-UI включена в пакет размещения ASP.NET Core:
dotnet add package Microsoft.Agents.AI.Hosting.AGUI.AspNetCore
Этот пакет включает все зависимости, необходимые для интеграции AG-UI, включая Microsoft.Extensions.AI.
Дальнейшие шаги
Чтобы приступить к работе с интеграцией AG-UI, выполните приведенные действия.
- Начало работы. Создание первого сервера и клиента AG-UI
- Отрисовка серверного инструмента: добавьте функциональные инструменты вашим агентам
Дополнительные ресурсы
AG-UI и использование direct Agent
Хотя агентов можно запускать непосредственно в приложении с помощью методов run и run(..., stream=True) Agent Framework, AG-UI предоставляет дополнительные возможности:
| Функция | Использование прямого агента | интеграция AG-UI |
|---|---|---|
| Развертывание | Интегрированное в приложение | Удаленная служба через HTTP |
| Клиентский доступ | Одно приложение | Несколько клиентов (интернет, мобильные устройства) |
| Стриминг | Асинхронная итерация в процессе | события Server-Sent (SSE) |
| Управление состоянием | Управляемое приложением | Двунаправленная синхронизация на уровне протокола |
| Контекст потока | Управляемое приложением | Идентификаторы управляемых протоколом потоков |
| Рабочие процессы утверждения | Настраиваемая реализация | Встроенная поддержка протокола |
Общие сведения об архитектуре
Интеграция AG-UI использует чистую модульную архитектуру:
┌─────────────────┐
│ Web Client │
│ (Browser/App) │
└────────┬────────┘
│ HTTP POST + SSE
▼
┌─────────────────────────┐
│ FastAPI Endpoint │
│ (add_agent_framework_ │
│ fastapi_endpoint) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ AgentFrameworkAgent │
│ (Protocol Wrapper) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Orchestrators │
│ (Execution Flow Logic) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Agent │
│ (Agent Framework) │
└────────┬────────────────┘
│
▼
┌─────────────────────────┐
│ Chat Client │
│ (Azure OpenAI, etc.) │
└─────────────────────────┘
Ключевые компоненты
- Конечная точка FastAPI: конечная точка HTTP, которая обрабатывает потоковую передачу SSE и маршрутизацию запросов
- AgentFrameworkAgent: легковесная оболочка, которая адаптирует агенты фреймворка Agent Framework к протоколу AG-UI
- Оркестраторы: Обработка различных потоков выполнения (по умолчанию, человеческое взаимодействие, управление состояниями)
- Мост событий: преобразование событий Agent Framework в события протокола AG-UI
- Адаптеры сообщений: двунаправленное преобразование между AG-UI и форматами сообщений Agent Framework
- Стратегии подтверждения: расширяемые стратегии для сообщений подтверждения для конкретного домена
Как структура агентной системы интегрируется в AG-UI
Общие сведения о сопоставлении концепций Agent Framework с AG-UI помогают создавать эффективные интеграции:
| Концепция агентного фреймворка | эквивалент AG-UI | Description |
|---|---|---|
Agent |
Конечная точка агента | Каждый агент становится конечной точкой HTTP |
agent.run() |
HTTP-запрос POST | Клиент отправляет сообщения через HTTP |
agent.run(..., stream=True) |
События, посылаемые сервером | Потоковая передача ответов через SSE |
| Обновления ответов агента | события AG-UI |
TEXT_MESSAGE_CONTENT, TOOL_CALL_STARTи т. д. |
Средства функций (@tool) |
Серверные инструменты | Выполнено на сервере, результаты передаются клиенту |
| Режим утверждения инструмента | Человек в контуре | Запросы на утверждение и ответы через протокол |
| История разговоров | Управление потоками |
threadId поддерживает контекст между запросами |
Installation
Установите пакет интеграции AG-UI:
pip install agent-framework-ag-ui --pre
При этом устанавливается как базовая платформа агента, так и компоненты интеграции AG-UI.
Дальнейшие шаги
Чтобы приступить к работе с интеграцией AG-UI, выполните приведенные действия.
- Начало работы. Создание первого сервера и клиента AG-UI
- Отрисовка серверного инструмента: добавьте функциональные инструменты вашим агентам
Дополнительные ресурсы
- Документация по Agent Framework
- Документация по протоколуAG-UI
- AG-UI приложение Dojo — пример приложения, демонстрирующего интеграцию Agent Framework
- Репозиторий GitHub Agent Framework