AG-UI integratie met Agent Framework

AG-UI is een protocol waarmee u webgebaseerde AI-agenttoepassingen kunt bouwen met geavanceerde functies zoals realtime streaming, statusbeheer en interactieve UI-onderdelen. De integratie van Agent Framework AG-UI biedt naadloze connectiviteit tussen uw agents en webclients.

Wat is AG-UI?

AG-UI is een gestandaardiseerd protocol voor het bouwen van AI-agentinterfaces die het volgende bieden:

  • Extern agenthosting: AI-agents implementeren als webservices die toegankelijk zijn voor meerdere clients
  • Realtime streaming: Reacties van streamagents met behulp van Server-Sent gebeurtenissen (SSE) voor directe feedback
  • Gestandaardiseerde communicatie: consistente berichtindeling voor betrouwbare agentinteracties
  • Sessiebeheer: gesprekscontext onderhouden voor meerdere aanvragen
  • Geavanceerde functies: Goedkeuringen van human-in-the-loop, statussynchronisatie en aangepaste UI-rendering

Wanneer gebruikt u AG-UI

Overweeg het gebruik van AG-UI wanneer u het volgende moet doen:

  • Web- of mobiele toepassingen bouwen die communiceren met AI-agents
  • Agents implementeren als services die toegankelijk zijn voor meerdere gelijktijdige gebruikers
  • Stream agent-antwoorden in real time om onmiddellijke feedback aan gebruikers te geven.
  • Goedkeuringswerkstromen implementeren waarbij gebruikers acties bevestigen vóór uitvoering
  • Status synchroniseren tussen client en server voor interactieve ervaringen
  • Aangepaste UI-onderdelen weergeven op basis van agenthulpprogramma-aanroepen

AG-UI scenario's

AG-UI definieert zeven showcasescenario's. MAF-ondersteuning verschilt per SDK; gebruik de taalspecifieke sectie op deze pagina voor het huidige ondersteuningsniveau en de implementatierichtlijnen.

  1. Agentic Chat: Eenvoudige streamingchat met automatisch aanroepen van hulpprogramma's
  2. Rendering van back-endhulpprogramma: hulpprogramma's uitgevoerd op back-end met resultaten die naar de client worden gestreamd
  3. Human in the Loop: Goedkeuringsaanvragen voor functie voor bevestiging van de gebruiker
  4. Agentic Ative UI: Async-hulpprogramma's voor langlopende bewerkingen met voortgangsupdates
  5. Op hulpprogramma's gebaseerde gebruikersinterface: Aangepaste UI-onderdelen die worden weergegeven op basis van hulpprogramma-aanroepen
  6. Gedeelde status: Synchronisatie van twee richtingen tussen client en server
  7. Voorspellende statusupdates: Toolargumenten streamen als optimistische statusupdates

Agent-UIs bouwen met CopilotKit

CopilotKit biedt uitgebreide UI-onderdelen voor het bouwen van gebruikersinterfaces van agents op basis van het standaardprotocol AG-UI. CopilotKit ondersteunt streaming-chatinterfaces, aanroepen van tools voor frontend en backend, menselijke interacties in de loop, generatieve UI, gedeelde status en nog veel meer. U kunt voorbeelden zien van de verschillende scenario's voor de gebruikersinterface van de agent die CopilotKit ondersteunt in de AG-UI Dojo-voorbeeldtoepassing .

Als u een CopilotKit React-front-end wilt verbinden met een Agent Framework AG-UI back-end, moet u uw eindpunt registreren als een HttpAgent in de CopilotKit-runtime. Hierdoor kunnen de frontend-tools van CopilotKit naadloos overgaan naar AG-UI client-tools, en werken alle AG-UI-functies (streaming, goedkeuringen, statussynchronisatie) automatisch.

CopilotKit helpt u zich te concentreren op de mogelijkheden van uw agent terwijl u een professionele gebruikerservaring levert zonder het wiel opnieuw uit te vinden. Raadpleeg de Microsoft Agent Framework-integratie voor CopilotKit-documentatie voor meer informatie over hoe u mee aan de slag kunt gaan met Microsoft Agent Framework en CopilotKit.

.NET-integratie

De .NET-integratie maakt een MAF AIAgent beschikbaar als een AG-UI HTTP-eindpunt. De hostingadapter converteert de antwoordstroom van de agent naar AG-UI gebeurtenissen; kernagentgedrag, zoals het uitvoeren en goedkeuren van hulpprogramma's, blijft onderdeel van MAF.

Gebruik de .NET-integratie om het volgende te doen:

AG-UI clients bepalen hoe tekst, hulpprogramma's, goedkeuring en status-gebeurtenissen moeten worden weergegeven.

Architecture

Het C#-hostingpakket voegt een ASP.NET Core-eindpunt toe rond een gewone MAF-agent:

AG-UI client -- HTTP POST / SSE --> MapAGUIServer --> AIAgent

MapAGUIServer past de AG-UI aanvraag aan MAF-berichten en uitvoeringsopties aan. Vervolgens wordt het streaming-antwoord van de agent geconverteerd naar AG-UI gebeurtenissen met behulp van de AG-UI .NET SDK.

Installation

dotnet add package Microsoft.Agents.AI.Hosting.AGUI.AspNetCore --prerelease

Volgende stappen 

AG-UI versus Direct Agentgebruik

Hoewel u agents rechtstreeks in uw toepassing kunt uitvoeren met behulp van Agent Framework run en run(..., stream=True) methoden, biedt AG-UI extra mogelijkheden:

Feature Direct Agent-gebruik integratie van AG-UI
Deployment Ingesloten in toepassing Externe dienst via HTTP
Clienttoegang Eén toepassing Meerdere clients (web, mobiel)
Streaming Asynchrone iteratie in het proces Server-Sent Gebeurtenissen (SSE)
Toestandbeheer Door toepassing beheerd Synchronisatie op bidirectioneel protocolniveau
Draadcontext Door toepassing beheerd Door protocol beheerde thread-id's
Goedkeuringswerkstromen Aangepaste implementatie Ingebouwde protocolondersteuning

Overzicht van architectuur

De AG-UI-integratie maakt gebruik van een schone, modulaire architectuur:

┌─────────────────┐
│  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.)   │
└─────────────────────────┘

Belangrijke onderdelen

  • FastAPI-eindpunt: HTTP-eindpunt dat SSE-streaming verwerkt, configureerbare keepalive-opmerkingen en aanvraagroutering
  • AgentFrameworkAgent: Lichtgewicht wrapper waarmee Agent Framework-agents worden aangepast aan AG-UI protocol
  • Orchestrators: verschillende uitvoeringsstromen verwerken (standaard, human-in-the-loop, statusbeheer)
  • Event Bridge: Converteert Agent Framework-gebeurtenissen naar AG-UI protocol-gebeurtenissen
  • Berichtadapters: Bidirectionele conversie tussen AG-UI en Agent Framework-berichtindelingen
  • Bevestigingsstrategieën: Uitbreidbare strategieën voor domeinspecifieke bevestigingsberichten

Hoe Agent Framework wordt omgezet in AG-UI

Inzicht in hoe de concepten van Agent Framework zijn toegewezen aan AG-UI helpt u bij het bouwen van effectieve integraties:

Agent Framework-concept AG-UI equivalent Beschrijving
Agent Agenteindpunt Elke agent wordt een HTTP-eindpunt
agent.run() HTTP POST-aanvraag Client verzendt berichten via HTTP
agent.run(..., stream=True) Server-verzonden gebeurtenissen Streaming antwoorden via SSE
Updates van reactie van agent AG-UI-gebeurtenissen TEXT_MESSAGE_CONTENT, TOOL_CALL_START, enz.
Functiehulpprogramma's (@tool) Hulpprogramma's voor back-end Uitgevoerd op server, resultaten gestreamd naar client
Modus voor goedkeuring van tools Human-in-the-Loop Goedkeuringsaanvragen/antwoorden via protocol
Gespreksgeschiedenis Threadbeheer threadId onderhoudt context tussen aanvragen

Installation

Installeer het AG-UI-integratiepakket:

pip install agent-framework-ag-ui --pre

Hiermee worden zowel het core agentframework als AG-UI integratieonderdelen geïnstalleerd.

Volgende stappen

Ga als volgende aan de slag met AG-UI-integratie:

  1. Aan de slag: uw eerste AG-UI-server en -client bouwen
  2. Rendering van back-end tools: functiehulpmiddelen toevoegen aan uw agents
  3. Werkstromen: Werkstromen met meerdere agents beschikbaar maken via AG-UI
  4. Human-in-the-Loop: Goedkeuringswerkstromen implementeren
  5. Compatibiliteit met MCP-apps: MCP-apps gebruiken met uw AG-UI-eindpunt
  6. Statusbeheer: status synchroniseren tussen client en server

Aanvullende bronnen

Go ondersteunt AG-UI door provider/aguiprovider voor zowel servers als clients.

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

Zie de AG-UI Go-voorbeelden voor volledige server- en clientvoorbeelden.