integración de AG-UI con Agent Framework

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.

  1. Chat de agente: chat de streaming básico con llamadas automáticas a herramientas
  2. Representación de herramientas de back-end: herramientas ejecutadas en back-end con resultados transmitidos al cliente
  3. Human in the Loop: Solicitudes de aprobación de funcionalidades para confirmar por el usuario
  4. Interfaz generativa de usuario agente: herramientas asíncronas para operaciones de larga duración con actualizaciones sobre el progreso
  5. Interfaz de usuario generativa basada en herramientas: componentes de interfaz de usuario personalizados representados en función de las llamadas a herramientas
  6. Estado compartido: sincronización de estado bidireccional entre el cliente y el servidor
  7. 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:

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

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:

  1. Introducción: Compilación del primer servidor y cliente de AG-UI
  2. Representación de herramientas de back-end: agregar herramientas de función a los agentes
  3. Flujos de trabajo: exponer flujos de trabajo de varios agentes a través de AG-UI
  4. Human-in-the-Loop: Implementación de flujos de trabajo de aprobación
  5. Compatibilidad de Aplicaciones MCP: el uso de Aplicaciones MCP con el punto de conexión AG-UI
  6. Administración de estado: sincronizar el estado entre el cliente y el servidor

Recursos adicionales

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.