Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
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, можно увидеть в примере приложения AG-UI Dojo .
Чтобы подключить интерфейс CopilotKit React к серверной части Agent Framework AG-UI, зарегистрируйте вашу конечную точку как HttpAgent в среде выполнения CopilotKit. Это позволяет инструментам интерфейса пользователя CopilotKit работать как клиентские средства AG-UI, а функции AG-UI (потоковая передача, утверждения, синхронизация состояния) работают автоматически.
CopilotKit помогает сосредоточиться на возможностях агента, предоставляя отшлифованный пользовательский опыт без изобретания велосипеда. Дополнительные сведения о начале работы с Майкрософт Agent Framework и CopilotKit см. в документации по интеграции Майкрософт 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 Core Endpoint: метод расширения
MapAGUIобрабатывает HTTP-запросы и потоковую передачу SSE -
AIAgent: агент Agent Framework, созданный из
IChatClientили пользовательской реализации - Конвейер ПО промежуточного слоя: необязательное ПО промежуточного слоя для утверждений, управления состоянием и пользовательской логики
- Адаптер протокола: преобразуется между типами agent Framework и событиями протокола AG-UI
- Chat Client: клиент чата Майкрософт.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, включая Майкрософт.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
- Отрисовка серверного инструмента: добавьте функциональные инструменты вашим агентам
- Рабочие процессы: предоставление рабочих процессов с несколькими агентами через AG-UI
- Человек в цикле: реализация рабочих процессов утверждения
- Совместимость приложений MCP: использование приложений MCP с конечной точкой AG-UI
- Управление состояниями: синхронизация состояния между клиентом и сервером
Дополнительные ресурсы
- Документация по Agent Framework
- Документация по протоколуAG-UI
- AG-UI приложение Dojo — пример приложения, демонстрирующего интеграцию Agent Framework
- Интеграция CopilotKit MAF — подключение интерфейсов CopilotKit React к AG-UI серверной части
- Agent Framework GitHub Репозиторий