Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
AG-UI es un protocolo que permite crear aplicaciones de agente de IA basadas en web con características avanzadas, como streaming en tiempo real, administración de estado y componentes de interfaz de usuario interactivos. La integración de Agent Framework AG-UI proporciona conectividad sin problemas entre los agentes y los clientes web.
¿Qué es AG-UI?
AG-UI es un protocolo estandarizado para crear interfaces de agente de IA que proporciona:
- Hospedaje de agente remoto: implementación de agentes de IA como servicios web accesibles por varios clientes
- Streaming en tiempo real: transmisión de respuestas del agente mediante eventos enviados por el servidor (EES) para retroalimentación inmediata
- Comunicación estandarizada: formato de mensaje coherente para interacciones de agente confiables
- Administración de sesiones: mantener el contexto de conversación en varias solicitudes
- Características avanzadas: aprobaciones con intervención humana, sincronización de estado y renderizado personalizado de la interfaz de usuario
Cuándo usar AG-UI
Considere la posibilidad de usar AG-UI cuando necesite:
- Creación de aplicaciones web o móviles que interactúan con agentes de inteligencia artificial
- Implementación de agentes como servicios accesibles por varios usuarios simultáneos
- Emitir respuestas del agente en tiempo real para proporcionar retroalimentación inmediata al usuario.
- Implementación de flujos de trabajo de aprobación en los que los usuarios confirman acciones antes de la ejecución
- Sincronizar el estado entre el cliente y el servidor para experiencias interactivas
- Representación de componentes de interfaz de usuario personalizados basados en llamadas a herramientas de agente
escenarios de AG-UI
AG-UI define siete escenarios de presentación. La compatibilidad con MAF varía según el SDK; use la sección específica del idioma de esta página para obtener la guía de implementación y el nivel de soporte técnico actuales.
- Chat de agente: chat de streaming básico con llamadas automáticas a herramientas
- Representación de herramientas de back-end: herramientas ejecutadas en back-end con resultados transmitidos al cliente
- Human in the Loop: Solicitudes de aprobación de funcionalidades para confirmar por el usuario
- Interfaz generativa de usuario agente: herramientas asíncronas para operaciones de larga duración con actualizaciones sobre el progreso
- Interfaz de usuario generativa basada en herramientas: componentes de interfaz de usuario personalizados representados en función de las llamadas a herramientas
- Estado compartido: sincronización de estado bidireccional entre el cliente y el servidor
- Actualizaciones de estado predictivo: argumentos de la herramienta de transmisión como actualizaciones de estado optimista
Compilación de interfaces de usuario del agente con CopilotKit
CopilotKit proporciona componentes enriquecidos de la interfaz de usuario para crear interfaces de usuario de agente basadas en el protocolo estándar AG-UI. CopilotKit admite interfaces de chat en streaming, llamadas de front-end y back-end, interacciones humanas en el bucle, interfaz de usuario generativa, estado compartido y mucho más. Puede ver ejemplos de los distintos escenarios de interfaz de usuario del agente compatibles con CopilotKit en la aplicación de ejemplo AG-UI Dojo .
Para conectar un front-end de CopilotKit React a un back-end de Agent Framework AG-UI, registre su punto de conexión como un HttpAgent en el entorno de ejecución de CopilotKit. Esto permite que las herramientas de front-end de CopilotKit se integren como las herramientas de cliente de AG-UI, y que todas las características de AG-UI (streaming, aprobaciones, sincronización de estado) funcionen automáticamente.
CopilotKit le ayuda a centrarse en las funcionalidades del agente al tiempo que ofrece una experiencia de usuario pulida sin reinventar la rueda. Para obtener más información sobre cómo empezar a trabajar con Microsoft Agent Framework y CopilotKit, consulte la documentación Microsoft Agent Framework integration for CopilotKit.
Integración de .NET
La integración .NET expone un MAF AIAgent como un punto de conexión HTTP de AG-UI. El adaptador de hospedaje convierte el flujo de respuesta del agente en eventos AG-UI; el comportamiento del agente principal, como la ejecución de herramientas y la aprobación, sigue siendo parte de MAF.
Use la integración de .NET para:
- Transmita texto del agente a través de eventos enviados por el servidor (SSE).
- Mostrar las llamadas de herramientas de backend y frontend como eventos AG-UI.
- Envíe solicitudes de aprobación de herramientas MAF al cliente y devuelva la decisión.
- Intercambiar el estado del cliente, las instantáneas de estado y los deltas, y las propiedades reenviadas.
-
Reanude las sesiones hospedadas persistentes mediante el AG-UI
threadId. - Exponga flujos de trabajo convertidos a agentes a través del mismo punto de conexión.
Los clientes de AG-UI deciden cómo mostrar los eventos de texto, herramientas, aprobación y estado.
Architecture
El paquete de hospedaje de C# agrega un punto de conexión de ASP.NET Core alrededor de un agente MAF normal:
AG-UI client -- HTTP POST / SSE --> MapAGUIServer --> AIAgent
MapAGUIServer adapta la solicitud de AG-UI a los mensajes de MAF y las opciones de ejecución. A continuación, convierte la respuesta de streaming del agente en eventos de AG-UI mediante el SDK de AG-UI .NET.
Instalación
dotnet add package Microsoft.Agents.AI.Hosting.AGUI.AspNetCore --prerelease
Pasos siguientes
Recursos relacionados
AG-UI frente al uso del agente directo
Aunque puede ejecutar agentes directamente en su aplicación utilizando los métodos run y run(..., stream=True) del Marco de Agente, AG-UI proporciona capacidades adicionales.
| Feature | Uso del agente directo | integración de AG-UI |
|---|---|---|
| Deployment | Incrustado en la aplicación | Servicio remoto a través de HTTP |
| Acceso de cliente | Aplicación única | Varios clientes (web, móviles) |
| Streaming | Iteración asincrónica en proceso | Server-Sent Eventos (SSE) |
| Administración de estados | Administrado por la aplicación | Sincronización de nivel de protocolo bidireccional |
| Contexto de hilo | Administrado por la aplicación | Identificadores de subprocesos administrados mediante protocolo |
| Flujos de trabajo de aprobación | Implementación personalizada | Compatibilidad con protocolos integrados |
Introducción a la arquitectura
La integración de AG-UI usa una arquitectura modular limpia:
┌─────────────────┐
│ 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.) │
└─────────────────────────┘
Componentes clave
- Punto de conexión fastAPI: punto de conexión HTTP que controla el streaming de SSE, comentarios keepalive configurables y enrutamiento de solicitudes
- AgentFrameworkAgent: contenedor ligero que adapta los agentes de Agent Framework al protocolo AG-UI
- Orquestadores: manejan diferentes flujos de ejecución (predeterminado, con intervención humana, gestión de estado)
- Puente de Eventos: convierte eventos de Agent Framework en eventos de protocolo de AG-UI
- Adaptadores de Mensajes: conversión bidireccional entre AG-UI y formatos de mensaje de Agent Framework
- Estrategias de confirmación: estrategias extensibles para mensajes de confirmación específicos del dominio
Cómo se traduce Agent Framework en AG-UI
Comprender cómo se asignan los conceptos de Agent Framework a AG-UI le ayuda a crear integraciones eficaces:
| Concepto del marco de trabajo del agente | AG-UI equivalente | Description |
|---|---|---|
Agent |
Punto de conexión del agente | Cada agente se convierte en un punto de conexión HTTP. |
agent.run() |
Solicitud HTTP POST | El cliente envía mensajes a través de HTTP |
agent.run(..., stream=True) |
Eventos enviados por el servidor | Streaming de respuestas a través de SSE |
| Actualizaciones de respuesta del agente | eventos de AG-UI |
TEXT_MESSAGE_CONTENT, TOOL_CALL_START, etc. |
Herramientas de funciones (@tool) |
Herramientas de back-end | Ejecutados en el servidor, los resultados son enviados al cliente |
| Modo de aprobación de herramientas | Humano en el Bucle | Solicitudes o respuestas de aprobación a través del protocolo |
| Historial de la conversación | Administración de subprocesos |
threadId mantiene el contexto entre las solicitudes. |
Instalación
Instale el paquete de integración de AG-UI:
pip install agent-framework-ag-ui --pre
Esto instala tanto el marco de trabajo del agente principal como los componentes de integración de AG-UI.
Pasos siguientes
Para empezar a trabajar con la integración de AG-UI:
- Introducción: Compilación del primer servidor y cliente de AG-UI
- Representación de herramientas de back-end: agregar herramientas de función a los agentes
- Flujos de trabajo: exponer flujos de trabajo de varios agentes a través de AG-UI
- Human-in-the-Loop: Implementación de flujos de trabajo de aprobación
- Compatibilidad de Aplicaciones MCP: el uso de Aplicaciones MCP con el punto de conexión AG-UI
- Administración de estado: sincronizar el estado entre el cliente y el servidor
Recursos adicionales
- Documentación de Agent Framework
- Documentación del protocoloAG-UI
- AG-UI Aplicación Dojo : aplicación de ejemplo que muestra la integración de Agent Framework
- Integración MAF de CopilotKit - Conectar interfaces frontales de CopilotKit React a interfaces traseras de AG-UI
- Repositorio de GitHub de Agent Framework
Go admite AG-UI a través de provider/aguiprovider tanto para servidores como para clientes.
import "github.com/microsoft/agent-framework-go/provider/aguiprovider"
mux := http.NewServeMux()
mux.Handle("/", aguiprovider.NewJSONHTTPHandler(myAgent, aguiprovider.HandlerConfig{}))
if err := http.ListenAndServe(":8888", mux); err != nil {
log.Fatal(err)
}
Tip
Consulte los ejemplos deAG-UI Go para obtener ejemplos completos de cliente y servidor.