Microsoft stellt einen praktischen Weg aus vier Sitzungen zum Aufbau eines KI-Agenten in C# mit dem Microsoft Agent Framework vor – von einem einfachen Aufruf, der die Schnittstelle IChatClient umschließt, bis hin zu einem Agenten, der überwacht, bewertet, verwaltet und in Microsoft Foundry bereitgestellt werden kann. Das Beispiel verwendet einen Lehrassistenten für persönliche Finanzen, damit die Unterschiede zwischen dem Lesen von Daten, dem Ändern von Dateien und dem Ausführen einer Aktion mit Auswirkungen, etwa einem simulierten Handelsgeschäft, sichtbar werden.
Was ist ein Agent Harness?
Das Sprachmodell kann Text erzeugen, stellt jedoch allein nicht die für einen Agenten erforderliche Betriebsschleife bereit. Diese Schleife ruft Werkzeuge auf, prüft deren Ergebnisse, aktualisiert den Plan, bewahrt den Speicher, verwaltet das Kontextfenster, fordert die Zustimmung des Benutzers für sensible Aktionen an und arbeitet anschließend weiter, bis die Aufgabe abgeschlossen ist. Die Quelle bezeichnet diese umgebende Schicht als harness, während der Begriff „claw“ auf einen Agenten im Stil von Befehlszeilenwerkzeugen verweist, der auf dieser Schicht aufbaut.
Im Beispiel genügt eine Konfiguration mit Anweisungen und Werkzeugen, um einen Agenten zu starten, der Funktionen automatisch aufrufen, den Verlauf nach Modellaufrufen speichern, Aufgabenlisten erstellen, den Kontext komprimieren, Dateispeicher verwenden und eine Websuche ausführen kann, sofern der Modelldienst dies unterstützt. Hinzu kommen Werkzeugzustimmungen und das Senden von Messdaten über OpenTelemetry. Diese Fähigkeiten bleiben durch benutzerdefinierte Anbieter austauschbar, deaktivierbar oder erweiterbar.
Vier Phasen zum Aufbau des Agenten
Die erste Sitzung beginnt damit, einen mit einem Modell in Microsoft Foundry verbundenen Chatclient in einen Agenten umzuwandeln, der mit einem benutzerdefinierten C#-Werkzeug zum Abrufen eines beispielhaften Aktienkurses ausgestattet ist. Wenn der Agent nach dem Kurs von MSFT gefragt wird, wählt das Modell das Werkzeug aus, das Harness ruft es auf und gibt das Ergebnis anschließend an das Modell zurück, damit dieses die Antwort erzeugt. Bei einer umfassenderen Aufgabe, etwa der Überprüfung einer Beobachtungsliste und dem Vorschlag, was als Nächstes recherchiert werden sollte, kann der Agent einen Plan und eine Aufgabenliste erstellen, ohne dass der Entwickler für die Demonstration eine eigenständige Planungs-Engine erstellen muss.
Die zweite Sitzung konzentriert sich auf den sicheren Umgang mit Benutzerdaten. Der Agent liest eine Portfolio-Datei im CSV-Format ausschließlich aus einem genehmigten Arbeitsverzeichnis, während die festgelegten Grenzen ihn am Zugriff auf beliebige Pfade im Dateisystem hindern. Das simulierte Handelsgeschäft wird außerdem in ein zustimmungspflichtiges Werkzeug eingeschlossen, sodass das Modell die Aktion anfordern, sie aber nicht unmittelbar ausführen kann. Lesende Vorgänge können dagegen automatisch weitergegeben werden, um den Benutzer nicht mit unnötigen Bestätigungsanfragen zu überlasten.
Die Quelle zeigt außerdem eine Zustimmungsrichtlinie mit einer zeitlichen Begrenzung: fünf Sekunden pro Versuch und höchstens fünf Versuche, mit einem erneuten Versuch bei fehlender oder ungültiger Eingabe, sofortiger Zustimmung bei Eingabe von y und Ablehnung bei Eingabe von n sowie automatischer Ablehnung nach dem letzten Versuch. Außerdem wird der Unterschied zwischen lokalem JSON-Speicher, den die application besitzt, und Microsoft Foundry Memory erörtert. Dabei wird betont, dass die Aussage des Modells „Ich habe das gespeichert“ nicht beweist, dass die Daten tatsächlich geschrieben oder im richtigen Geltungsbereich gespeichert wurden.
In der dritten Sitzung werden Fähigkeiten hinzugefügt, die spezialisiertes Wissen in Dateien bündeln, die nur bei Bedarf vollständig in die grundlegenden Anweisungen geladen werden. Hinzu kommen ein eingeschränkter Zugriff auf die Shell, CodeAct zur Ausführung von Code in einer kontrollierten Umgebung und Hintergrundagenten, die unabhängige Rechercheaufgaben parallel ausführen können. Die Quelle weist ausdrücklich darauf hin, dass Zustimmung und Richtlinien die Isolierung bei der Ausführung von Befehlen oder Code nicht ersetzen.
Was ändert sich praktisch in einer Produktionsumgebung?
Die vierte Sitzung ist der Überwachung, Governance, Bewertung und Bereitstellung gewidmet. Die Überwachung umfasst OpenTelemetry-Traces sowie Aufrufe von Werkzeugen und des Modells und den Tokenverbrauch, während die Governance mit Richtlinien von Microsoft Purview verknüpft wird. Wiederholte Bewertungen werden außerdem verwendet, um den Eindruck von der Qualität der Demonstration in ein messbares Signal zu überführen. Als Option wird die Bereitstellung des gehosteten Agenten in Foundry vorgestellt, wobei eine gemeinsame Definition von einer Konsolenanwendung, einem gehosteten Endpunkt und einer Bewertungsumgebung genutzt werden kann.
Die wichtigste Botschaft lautet, dass die Zusammensetzbarkeit von Fähigkeiten nicht bedeutet, dass sie alle in die Produktion übernommen werden müssen. Ein Entwicklungsagent benötigt möglicherweise Dateien oder eine Shell, doch der gemeinsame gehostete Container sollte nicht allein deshalb weitreichenden lokalen Zugriff erben, weil diese Berechtigungen während der Entwicklung nützlich waren. Die Festlegung dessen, was gelesen, geschrieben, ausgeführt, gespeichert oder nachverfolgt werden darf, bleibt eine Designentscheidung der entwickelnden Stelle.
Warum ist dieser Ansatz wichtig?
Die Harness-Schicht verringert die Notwendigkeit, die Schleife für Werkzeuge, Planung, Speicher und Zustimmungen für jedes Projekt neu aufzubauen, hebt jedoch nicht die Verantwortung für die Festlegung der Grenzen auf. Der praktische Wert der Serie besteht darin, fortgeschrittene Fähigkeiten mit den zugehörigen Kontrollen zu verknüpfen: Dateien mit einem genehmigten Verzeichnis, sensible Aktionen mit Zustimmung, Speicher mit einem überprüfbaren Speichervorgang, Codeausführung mit Isolierung und Richtlinien sowie die Bereitstellung mit Überwachung und Bewertung. Die Finanzbeispiele bleiben lehrreich; die verwendeten Kurse und Geschäfte sind Mock-Daten und dienen der Veranschaulichung, sie stellen keine Finanzberatung dar.