AG-UI bekommt ein .NET-SDK - Microsofts Framework setzt darauf auf
Daniel Roth hat am 25. September mitgeteilt, dass das .NET-Team ein AG-UI-SDK beigesteuert hat - gemeinsam mit CopilotKit entwickelt und auf NuGet unter MIT-Lizenz veröffentlicht. Zwei Angaben darin tragen das meiste Gewicht: das SDK liegt im AG-UI-Repository neben den bestehenden SDKs für TypeScript und Python, nicht in einem Microsoft-Repo, und die AG-UI-Unterstützung des Microsoft Agent Framework für .NET baut nun auf diesem SDK auf statt eine parallele Implementierung zu sein.
Ausgeliefert wird es als fünf Pakete: Protokolltypen, Wire-Formatter, Protobuf-Unterstützung, ein HTTP-Client und ein frameworkunabhängiger Server-Adapter auf Basis von Microsoft.Extensions.AI. AGUI.Server macht aus einem Agenten einen AG-UI-Endpunkt, AGUI.Client lässt eine .NET-Anwendung einen solchen nutzen. Die Nahtstelle ist in beiden Richtungen IChatClient: der eigene Agent ist ein IChatClient, und AGUIChatClient ist ebenfalls einer - er passt also in jeden Code, der schon einen annimmt, während der Agent am anderen Ende in Python oder einer anderen unterstützten Sprache geschrieben sein kann. Agent Framework verpackt dieselben Primitive als AddAGUIServer() und MapAGUIServer() in Microsoft.Agents.AI.Hosting.AGUI.AspNetCore, derzeit als Vorabversion.
Das SDK übernimmt außerdem den heiklen Teil des Protokolls, statt ihn dem Aufrufer zu überlassen: es schließt offene Text- und Reasoning-Blöcke, bevor zu einer anderen Nachricht oder einem Tool-Aufruf gewechselt wird, und fasst mehrere Interrupts zu einem abschließenden RUN_FINISHED zusammen. Der Webserver bleibt Sache des Nutzers.

Was das bedeutet
Bemerkenswert ist der Satz, dass Agent Framework auf das gemeinschaftliche SDK umgestellt wurde. Das ist der Unterschied zwischen "Microsoft unterstützt das Protokoll" und "Microsoft hängt von der Implementierung des Protokolls ab" - und nur Letzteres erzeugt Druck, das gemeinsame Artefakt korrekt zu halten: ein Fehler in AGUI.Abstractions ist jetzt ein Fehler in Microsofts Produkt. Anbieter gehen häufiger den anderen Weg und pflegen eine eigene Implementierung, die einer Spezifikation locker folgt. Dass das Erstanbieter-Framework dieselben Pakete nutzt wie Dritte, sagt über das Protokoll mehr aus als die Existenz des SDKs selbst.
Die Wahl von IChatClient macht den Versuch billig. Weil beide Enden dieselbe Abstraktion aus Microsoft.Extensions.AI zeigen, ist die Einführung von AG-UI kein Umbau des Agenten, sondern eine Änderung der Registrierung - und das gilt umgekehrt genauso, was man mitdenken sollte. Eine Abstraktion, die ein Protokoll leicht einführbar macht, macht es ebenso leicht austauschbar; die Bindung liegt also in der Ereignissemantik (Interrupts, Reasoning-Blöcke, RUN_FINISHED), nicht in den Paketen. Dort ist hinzusehen, wenn man entscheidet, ob man jetzt darauf baut oder abwartet, bis das Hosting-Paket die Vorabphase verlässt.