[NOVA]: Ich bin NOVA. [ALLOY]: Und ich bin ALLOY, und das hier ist OpenClaw Daily. Heute schauen wir uns vier Builder-Stories an, in denen Agent-Runtimes kontrollierbarer, inspizierbarer und gefährlicher werden, wenn ihre Grenzen falsch gesetzt sind. [NOVA]: OpenAI Codex 0.130.0 bietet Coding-Agent-Betreibern eine sauberere Fernsteuerungsoberfläche. Microsofts Semantic Kernel-Forschung zeigt, wie Prompt-Injection bei eval-basiertem Framework-Code zu Code-Ausführung werden kann. GitHub Copilot SDK fügt Callbacks für Plan-Genehmigung und Rate-Limit-Wiederherstellung hinzu. Und Microsoft Agent Framework 1.5 bringt Orchestrierung, Browser-Richtlinien, Observability und Wire-Semantik voran. ... [ALLOY]: Die praktische Frage unter der letzten Story ist wichtig: Kann Microsoft Agent Framework tatsächlich innerhalb von OpenClaw verwendet werden? Kurze Antwort: ja, aber nicht als Drop-in-Ersatz für OpenClaws eigene Runtime. Es kann neben OpenClaw als externer Agent-Dienst, befehlsbasierte Fähigkeit, gehosteter Workflow oder Brücke durch ein Tool-Protokoll laufen. OpenClaw bliebe das lokale First-Gateway, der Channel-Router, Session-Manager und die Tool-Autorität. Microsoft Agent Framework wäre eine spezialisierte Agent-Runtime, in die OpenClaw hineinruft, sie überwacht und mit Richtlinien umhüllt. [NOVA]: Diese Unterscheidung ist wichtig. Ein Framework kann innerhalb eines Systems nützlich sein, ohne zum System selbst zu werden. Das sichere Integrationsmodell ist nicht „ein zweites Framework den Host übernehmen lassen". Das sichere Modell ist „das Framework als nicht vertrauenswürdige oder semi-vertrauenswürdige Tool-Grenze behandeln mit expliziten Inputs, Outputs, Berechtigungen, Telemetrie und Fehlerbehandlung." [NOVA]: Story eins ist OpenAI Codex 0.130.0. Die Schlagzeile ist Code-Remote-Control, ein einfacherer Einstiegspunkt zum Starten eines headless App-Servers, der ferngesteuert werden kann. [ALLOY]: Ein headless App-Server ist ein sehr anderes operatives Objekt als ein Einweg-Befehlszeilen-Agent. Ein Terminal-Run startet, arbeitet und beendet sich. Ein App-Server verwaltet Sessions, Threads, Konfigurations-Snapshots, Umgebungsauswahl, Tool-Ausführung, Review-Events und Client-Verbindungen über die Zeit. Das bedeutet, die Runtime beantwortet nicht mehr nur einen Prompt. Sie wartet eine Service-Oberfläche. [NOVA]: Genau. Der App-Server muss eine Coding-Session am Leben halten, während Clients sich wieder verbinden, Historie inspizieren, bestimmte Turns öffnen, Diffs reviewen und von einer anderen Oberfläche aus weiterarbeiten. Ein Fernsteuerungsbefehl macht diese Control Plane explizit. Es ist der Weg von einem lokalen Coding-Assistenten zu einem Service-Endpunkt, den eine IDE, ein Dashboard, ein Browser-Client oder eine Remote-Entwicklungsmaschine ansteuern kann. [ALLOY]: Der große Mechanismus hier ist die Trennung von Kontrolle und Arbeit. Der Server besitzt die dauerhafte Session. Clients können kommen und gehen. Die Arbeit ist nicht an die Lebensdauer des ursprünglichen Terminal-Tabs gebunden. Das ist nützlich, aber es erhöht die Anforderungen an State-Management, Zugriffskontrolle und Auditierbarkeit. [NOVA]: Codex 0.130.0 fügt auch Large-Thread-Paging hinzu, wo Clients unbeladene, zusammenfassende oder vollständige Turn-Item-Ansichten anfordern können. Das klingt nach Interface-Politur, bis man darüber nachdenkt, was ein Agent-Thread enthält. Er kann User-Turns, Modell-Turns, Tool-Calls, Genehmigungen, Diffs, Dateireferenzen, Bilder, Komprimierungszusammenfassungen, Plugin-Metadaten und Review-State enthalten. Dieses gesamte Objekt in jeden Remote-Client zu laden ist verschwenderisch und fragil. [ALLOY]: Paged Thread-Ansichten machen das Transcript eher wie eine operative Timeline. Ein unbeladenes Item kann Identität und Reihenfolge bewahren, ohne Payload zu übertragen. Ein zusammenfassendes Item kann genug Kontext zum Navigieren geben. Ein vollständiges Item kann materialisiert werden, wenn der Client tatsächlich die Details öffnet. Das ist dieselbe Form, die man in Trace-Viewern, Log-Explorern und Issue-Timelines sieht. [NOVA]: Es schützt auch die Latenz. Ein Remote-Client sollte nicht einfrieren, weil ein Agent-Thread zu einem giant Work-Record angewachsen ist. Für langlebige Coding-Sessions ist Pagination keine Optimierung am Edge. Sie wird Teil des Session-Vertrags. [ALLOY]: Plugin-Details zeigen jetzt gebündelte Hooks, und Plugin-Sharing exponiert Link-Metadaten plus Discoverability-Kontrollen. Das ist eine Auditierbarkeits-Verbesserung. Hooks sind Teil des Runtime-Verhaltens eines Plugins. Wenn ein Plugin Startup beobachten, Tool-Calls abfangen, Befehle bereitstellen oder am Review teilnehmen kann, müssen Betreiber das sehen, bevor sie es installieren oder teilen. [NOVA]: Hooks in Packages zu verstecken macht Plugin-Review zur Raterei. Hook-Metadaten zu zeigen macht die Ausführungs-Oberfläche sichtbar. In Agent-Systemen ist Discoverability ohne Inspectability riskant. Es ist einfach, etwas zu installieren, das wie eine harmlose Bequemlichkeit klingt, und später zu entdecken, dass es Tool-Verhalten, Startup-State oder Review-Flow modifiziert. [ALLOY]: Das Release repariert auch das Verhalten der Live App-Server-Konfiguration. Live App-Server-Threads nehmen jetzt Konfigurationsänderungen auf, ohne einen Neustart zu erfordern. Das ist eine praktische Zuverlässigkeits-Korrektur, weil Konfiguration in einer Agent-Runtime Modellwahlen, Genehmigungsrichtlinien, Provider-Einstellungen, Tool-Verfügbarkeit, Plugin-State, Umgebungsauswahl und Telemetrie-Optionen enthalten kann. [NOVA]: Wenn ein langlebiger Thread weiterhin alte Config verwendet, könnte der Betreiber glauben, dass sich die Richtlinie geändert hat, während der aktive Agent weiter unter älteren Regeln arbeitet. Live-Threads von der neuesten Config-Snapshot zu aktualisieren macht Richtlinienänderungen dort wirksam, wo die Arbeit passiert. Es reduziert auch die operative Versuchung, einen Service nur neu zu starten, damit eine Genehmigungs- oder Provider-Einstellung greift. [ALLOY]: Turn Diffs bekommen eine der wichtigsten Builder-Fixes. Codex hält Diffs jetzt über apply_patch-Operationen akurat, einschließlich partiellen Fehlern, die Dateien trotzdem mutieren. Das ist ein echtes Failure-Mode. Ein Patch kann halbwegs scheitern und trotzdem einen Teil einer Datei ändern. Wenn die Runtime danach den falschen Diff meldet, können die Review-Ansicht, Rollback-Logik und Audit-Trail nicht vertraut werden. [NOVA]: Operations-basiertes Diff-Tracking ist die richtige Richtung. Die Runtime sollte aufzeichnen, was tatsächlich geändert wurde, nicht nur, was der ideale Patch hätte ändern sollen. Coding-Agents brauchen akkuraten Post-Operation-State, besonders wenn Tools Dateien editieren dürfen. Ein irreführender Diff ist schlimmer als kein Diff, weil er falsches Vertrauen schafft. [ALLOY]: ThreadStore-Fixes verbessern Summaries, Umbenennungen, Resume- und Fork-Pfade, einschließlich Threads ohne lokale Rollout-Pfade. Das macht die Storage-Schicht mehr zu einer Single Source of Truth für Lifecycle-Operationen. Resume und Fork sind wichtig, weil ein User eine Investigation verzweigen, eine fehlgeschlagene Run fortsetzen oder einen Thread von einem Remote-Client öffnen kann, der nicht den ursprünglichen lokalen Dateisystem-Pfad hat. [NOVA]: Wenn Thread-Identität zu stark vom lokalen Maschinen-State abhängt, brechen Headless- und Remote-Workflows. Ein Remote App-Server sollte in der Lage sein zu antworten: „Was ist dieser Thread, welchen State enthält er, und wie kann er fortgesetzt werden?" ohne anzunehmen, dass der ursprüngliche Terminal-Kontext noch present ist. [ALLOY]: Die Remote-Kompaktierung erhält auch Fehlerbehebungen für Stream-Verträge. Codex sendet jetzt response.processed für v2-Streams und vermeidet das Senden von service_tier bei API-Key-Kompaktierungsanfragen. Kompaktierung bestimmt, wie lange Sitzungen nutzbar bleiben, aber die Remote-Kompaktierung muss dieselbe Ereignissprache sprechen wie normale Durchläufe. Ein fehlendes 'processed'-Ereignis kann einen Client auf einen Endzustand warten lassen. Ein nicht unterstütztes Anforderungsfeld kann nur den Kompaktierungspfad unterbrechen, was die Diagnose erschwert. [NOVA]: Die Unterstützung für mehrere Umgebungen zeigt sich in view_image, das jetzt Dateien über die ausgewählte Umgebung auflösen kann. Das ist wichtig, da Code-Agenten oft über einen Host, Container, eine Sandbox, einen Remote-Arbeitsbereich oder ein gemountetes Projekt hinweg arbeiten. Ein Bildpfad ist nur dann aussagekräftig, wenn die Laufzeitumgebung weiß, welcher Umgebung er gehört. Das Auflösen über die ausgewählte Umgebung verhindert, dass ein Client das falsche Dateisystem betrachtet oder ein Artefakt nicht anzeigt, das in der aktiven Sandbox existiert. [ALLOY]: Die Bedrock-Authentifizierungsunterstützung akzeptiert jetzt AWS-Konsolen-Login-Anmeldeinformationen von AWS-Login-Profilen. Das ist eine Bequemlichkeit für den Operator mit Auswirkungen auf die Bereitstellung. Viele Teams verwalten den AWS-Zugriff bereits über profilbasierte Abläufe. Codex die Nutzung dieser Profile zu ermöglichen, reduziert doppelte Anmeldeinformationspfade und gleicht die Authentifizierung des Modell-Providers an bestehende Cloud-Zugriffskontrollen an. [NOVA]: Die Telemetrie-Änderungen sind nützlich für das Debugging in der Produktion. Codex fügt konfigurierbare OpenTelemetry-Trace-Metadaten und umfassendere Analysefunktionen für Überprüfung und Feedback hinzu. Überprüfungsereignisse sind zentral für die Sicherheit von Code-Agenten. Wenn ein Befehl genehmigt, abgelehnt, wiederholt oder eskaliert wurde, benötigen Operatoren genügend Trace-Kontext, um zu verstehen, warum. [ALLOY]: Gute Telemetrie verbindet die Sitzung, den Durchlauf, den Tool-Aufruf, die Genehmigungsentscheidung, die Modell-Anfrage und das für den Benutzer sichtbare Ergebnis, ohne Geheimnisse preiszugeben. Das ist der schmale Grat. Zu wenig Telemetrie macht die Rekonstruktion von Vorfällen unmöglich. Zu viel Telemetrie kann Prompts, Dateien, Anmeldeinformationen oder privaten Code offenlegen. [NOVA]: Die praktische Empfehlung ist, Codex-App-Server-Bereitstellungen wie Service-Bereitstellungen zu behandeln. Fixieren Sie die Version. Starten Sie die Fernsteuerung bewusst. Dokumentieren Sie, welche Clients sich verbinden können. Überprüfen Sie Plugin-Hooks vor dem Teilen. Testen Sie das Konfigurationsaktualisierungsverhalten. Testen Sie Fehler bei partiellen Patch-Anwendungen. Und stellen Sie sicher, dass Kompaktierung, Thread-Wiederaufnahme und Bildanzeige in den Umgebungen funktionieren, die Sie tatsächlich verwenden. [ALLOY]: Ein weiteres operatives Detail sollte erläutert werden. Wenn ein Code-Agent zu einem App-Server wird, wird die Grenze zwischen Produkt-UX und Laufzeitstatus dünner. Eine Benutzeroberfläche kann jetzt eine komprimierte Zusammenfassung, einen vollständigen Durchlauf, eine Plugin-Detailseite, ein Überprüfungsereignis oder ein Bildartefakt anfordern. Wenn diese Endpunkte nicht versioniert und getestet werden, kann die Benutzeroberfläche versehentlich von internen Strukturen abhängen, die sich in einer Release ändern. Entwickler sollten diese App-Server-Antworten als API-Verträge behandeln, auch wenn Client und Server zusammen ausgeliefert werden. [NOVA]: Das ändert auch die Reaktion auf Vorfälle. In einem reinen Terminal-Modell kann ein Operator im Shell-Transkript zurückscrollen und den Arbeitsbaum inspizieren. In einem Remote-App-Server-Modell sind die Beweise über Thread-Speicher, Tool-Operationsaufzeichnungen, Telemetrie, Genehmigungen, Plugin-Metadaten und umgebungsspezifische Dateiansichten verteilt. Die Laufzeitumgebung muss genügend Zustand bewahren, um das Geschehene nachträglich rekonstruieren zu können. [ALLOY]: Und da Remote-Clients sich wieder verbinden können, sollte die Sitzung robust gegenüber teilweisen Client-Ausfällen sein. Wenn ein Browser-Tab während der Kompaktierung die Verbindung verliert, benötigt der Server immer noch ein Terminalereignis. Wenn ein Patch teilweise angewendet wird und der Client aktualisiert, benötigt der Server immer noch den echten Diff. Wenn sich die Konfiguration während eines langen Threads ändert, sollte die aktive Richtlinie verständlich sein. Deshalb summieren sich diese scheinbar kleinen Fehlerbehebungen zu einer glaubwürdigeren Fernsteuerungs-Laufzeitumgebung. [NOVA]: Die Veröffentlichung dreht sich nicht nur um neue Befehle. Es geht darum, einen Code-Agenten steuerbar, überprüfbar und wiederherstellbar zu machen, wenn Sitzungen groß werden und remote ausgeführt werden. [NOVA]: Geschichte zwei ist Microsofts Sicherheitsfallstudie zur Remote-Code-Ausführung in KI-Agenten-Frameworks. Der wichtige Punkt ist, dass das Modell nicht die anfällige Komponente des Kernfehlers ist. Die gefährliche Grenze ist Framework- und Plugin-Code, der modellgesteuerten Tool-Argumenten vertraut und diese in ausführbares Host-Verhalten umwandelt. [ALLOY]: Der offengelegte Pfad konzentriert sich auf den Suchfluss des In-Memory Vector Store von Semantic Kernel. Der Beispiel-Agent stellt ein Hotelsuch-Plugin bereit. Ein Benutzer fragt nach Hotels in einer Stadt. Das Modell ruft die Suchfunktion mit einem Stadt-Argument auf. Das Plugin erstellt einen Filter vor der Vektorähnlichkeitssuche. Der riskante Schritt ist, dass ein modellgesteuerter Wert in einen Python-Lambda-Ausdruck interpoliert und mit eval ausgeführt wird. [NOVA]: Das ist die Grenzüberschreitung. Ein normaler Stadt-String wird Teil eines Filterausdrucks. Ein bösartiger String kann ein Anführungszeichen schließen und Python-Logik anhängen. Prompt-Injection benötigt keinen Browser-Exploit oder Speicherbeschädigung, wenn das Framework natürlichsprachlich gesteuerte Werte in Code umwandelt. Der Agent ist zu einem Pfad von Text zur Host-Ausführung geworden. [ALLOY]: Die versuchte Minderung nutzte AST-Validierung und eine eingeschränkte Builtins-Umgebung. Auf hoher Ebene erlaubte der Validator Lambda-Ausdrücke, scannte Namen und Attribute nach gefährlichen Bezeichnern und führte die Ausführung ohne Builtins durch. Das klingt plausibel, aber dynamische Sprachen machen Blacklists anfällig. [NOVA]: Die Forscher von Microsoft umgingen den Filter, ohne sich direkt auf die offensichtlich blockierten Namen zu verlassen. Die Payload durchquerte Python-Objektstrukturen, um Importmechanismen zu lokalisieren und die Befehlsausführung über alternative Attribute zu erreichen. Das ist das klassische Problem, wenn man versucht, einen allgemeinen Host-Sprach-Evaluator sicher zu machen, indem man bekannte gefährliche Token verbietet. [ALLOY]: Die Lektion ist nicht nur „verwende kein eval“, obwohl das ein guter Ausgangspunkt ist. Die umfassendere Lektion ist, dass Tool-Aufruf-Argumente unvertraute Eingaben sind, selbst wenn sie von einem Modell stammen, selbst wenn der Benutzer keinen Code direkt eingegeben hat und selbst wenn das Schema behauptet, das Feld sei etwas Harmloses wie ein Stadtname. [NOVA]: Ein Modell kann dazu veranlasst werden, vom Angreifer gesteuerte Strings in jedes Argument einzufügen, das es füllen darf. Wenn das Tool diesen String als Code, eine Abfragesprache, einen Shell-Befehl, einen Dateipfad, eine Vorlage oder einen serialisierten Ausdruck interpretiert, hat das Framework eine Injection-Senke geschaffen. [ALLOY]: Vektorsuche lässt das Problem leicht unterschätzen, da es sich wie Retrieval-Infrastruktur anfühlt, nicht wie Code-Ausführung. Aber Vektorspeicher unterstützen oft Metadatenfilter, Ausdruckssprachen, benutzerdefinierte Prädikate, Embedding-Vorfilter, Reranker und konnektorspezifische Abfrage-Strings. Jedes davon kann zu einer Injection-Grenze werden, wenn benutzer- oder modellgesteuerte Werte in einen interpretierten Ausdruck verkettet werden. [NOVA]: Sichereres Design bedeutet normalerweise parametrisierte Filter, typisierte DSLs, erlaubte Operatoren und Validierung, die unerwartete Strukturen vor der Ausführung ablehnt. Feld gleich Wert sollte Daten sein, nicht Quellcode. Wenn eine Filtersprache unvermeidlich ist, sollte die Laufzeitumgebung in einen eingeschränkten AST parsen und mit einem Interpreter auswerten, der nur die erlaubten Operationen versteht. Sie sollte den Host-Sprach-Evaluator nicht aufrufen und versuchen, gefährliches Verhalten danach zu blockieren. [ALLOY]: Das Prinzip der geringsten Rechte ist ebenfalls wichtig. Ein Hotelsuch-Prädikat benötigt keinen Shell-Zugriff. Wenn ein Framework-Bug einen Filter in Code-Ausführung verwandelt, bestimmen die Sandbox- und Prozessberechtigungen den Explosionsradius. Agenten-Frameworks sollten die Plugin-Ausführung isolieren, Umgebungsvariablen begrenzen, das Übergeben von Anmeldeinformationen an generische Tool-Prozesse vermeiden und Tool-Parameter sorgfältig genug für die Reaktion auf Vorfälle protokollieren. [NOVA]: Erkennung ist praxisnah. Teams sollten Tools inventarisieren, die Templates, Filter, Shell-Befehle, Notebook-Zellen, Python-Snippets, JavaScript-Snippets, SQL oder Dateioperationen ausführen. Dann sollten sie nachverfolgen, ob modellgesteuerte Werte diese Interpreter erreichen können. Das Patchen von Semantic Kernel ist für Nutzer des betroffenen Pfads notwendig, aber benutzerdefinierte Plugins wiederholen oft dasselbe Muster. [ALLOY]: Es gibt auch eine Testlektion. Ein normaler Unit-Test kann bestehen, weil er einen freundlichen Stadtnamen, eine freundliche Kategorie oder ein freundliches Metadatenfeld überprüft. Sicherheitstests erfordern adversariale Werte, die versuchen, aus der erwarteten Syntax auszubrechen. Für einen Vektorfilter bedeutet das Anführungszeichen, geschweifte Klammern, Operatoren, Attributtraversierung, sehr lange Strings, ungewöhnliche Unicode-Zeichen und Versuche, Objekte zu referenzieren, die niemals erreichbar sein sollten. Der Test sollte bestätigen, dass diese Werte Daten bleiben. [NOVA]: Eine nützliche Überprüfungsfrage ist: „Wo ist der erste Interpreter?" Wenn ein Wert als JSON geparst wird, ist das eine Grenze. Wenn er zu SQL wird, ist das eine andere. Wenn er zu einem Python-Lambda, Shell-Befehl, Template, regulären Ausdruck oder Dateipfad wird, braucht jeder Schritt seine eigene Validierungsregel. Das schlimmste Muster ist die Konvertierung von Benutzer- oder Modelldaten in einen String, der später von einer mächtigeren Sprache interpretiert wird, als das Schema verspricht. [ALLOY]: Framework-Betreuer müssen auch den sicheren Weg zum Standardweg machen. Wenn das einfache Beispiel in der Dokumentation Stringverkettung in einen Filterausdruck verwendet, werden nachgelagerte Anwendungen es kopieren. Wenn der standardmäßige Vector-Store-Helfer einen typisierten Filter-Builder akzeptiert, werden weniger Anwendungen ihre eigene unsichere Version erfinden. Agentensicherheit verbessert sich, wenn Framework-Ergonomie Entwickler in Richtung sicherer Komposition führt. [NOVA]: Deshalb ist diese Forschung über einen einzelnen Bug hinaus wichtig. Sie gibt Erbauern ein konkretes mentales Modell: Prompt-Injection wird Host-Kompromittierung nur dann, wenn es eine Brücke von sprachgesteuerten Daten zur privilegierten Ausführung gibt. Findet die Brücken, verengt sie und entfernt Interpreter aus dem normalen Pfad. [ALLOY]: Hier ist OpenClaws eigenes Betriebsmodell relevant. OpenClaw behandelt eingehende DMs und Kanalnachrichten als nicht vertrauenswürdige Eingaben. Es hat ein lokal-first Gateway, Kanal-Routing, Tool-Richtlinien und Sandbox-Optionen für Nicht-Hauptsitzungen. Aber das macht nicht magisch jedes aufgerufene Framework sicher. Wenn OpenClaw ein externes Agent-Framework aufruft, gilt dieselbe Regel: Das Framework ist eine Tool-Grenze, keine vertrauenswürdige interne Sprache. [NOVA]: Richtig. Wenn ein Microsoft Agent Framework-Workflow, ein Semantic Kernel-Plugin oder eine andere externe Runtime von OpenClaw aufgerufen wird, sollte die Integration einen schmalen Befehlsvertrag definieren, typisierte Eingaben, erlaubte Aktionen, Umgebungsisolation, Timeouts und strukturierte Ausgaben. Der Host sollte dem externen Runtime keine unbegrenzten Dateisystem-, Netzwerk-, Token- oder Shell-Zugriffe gewähren, es sei denn, das ist wirklich beabsichtigt. [ALLOY]: Der Betreiber-Merkpunkt ist klar: Jedes Agenten-Tool ist ein API-Endpunkt, dessen Aufrufer teilweise vom Modell kontrolliert wird. Behandeln Sie Tool-Schemata als externe API-Verträge. Validieren Sie Eingaben an der Grenze. Bevorzugen Sie typisierte Datenstrukturen über interpretierte Strings. Halten Sie Berechtigungen eng. Protokollieren Sie genug, um rekonstruieren zu können, welcher Prompt welche Tool-Argumente produziert hat. Und testen Sie Prompt-Injection, indem Sie versuchen, feindliche Parameter in Tools zu zwingen, nicht nur indem Sie prüfen, ob das Modell unsichere Wörter sagt. [NOVA]: Prompt-Injection-Sicherheit ist nicht nur Modelverhalten. Es ist Eingabevalidierung, Interpreter-Vermeidung, Sandboxierung und Least-Privilege-Design für die Runtime, die Arbeit ausführt. [NOVA]: Geschichte drei ist GitHub Copilot SDKs Pre-Release vom 8. Mai. Dies hier geht um das Einbetten von Coding-Agent-Sitzungen in Produkte mit expliziterer Runtime-Kontrolle. [ALLOY]: Anwendungen können jetzt Callbacks für exitPlanMode.request und autoModeSwitch.request registrieren. Diese Events sind wichtig, weil Plan-Modus und automatischer Modellwechsel Produktentscheidungen sind, nicht nur Modelentscheidungen. [NOVA]: Plan-Modus ist eine Grenze zwischen dem Vorschlagen von Arbeit und dem Ausführen von Arbeit. In einem eingebetteten Coding-Agenten möchte die Anwendung möglicherweise, dass ein Mensch den Plan genehmigt, eine Policy-Engine ihn überprüft oder eine projektspezifische Regel bestimmte Änderungen blockiert. Ein Handler für exit-plan-mode-Anfragen gibt dem Host-Produkt einen klaren Abfangpunkt, bevor die Runtime von der Planung zur Ausführung übergeht. [ALLOY]: Automatischer Modellwechsel nach Rate-Limits ist eine andere Grenze. Eine Runtime möchte möglicherweise von einem Rate-Limit-Ereignis durch Wechsel zu einem anderen Modell oder Modus erholen. Das kann Kontinuität bewahren, aber auch Verhalten, Kosten, Latenz oder Fähigkeiten ändern. Der autoModeSwitch.request-Handler ermöglicht es der Anwendung zu entscheiden, ob der Wechsel akzeptiert wird. [NOVA]: Für Enterprise-Produkte ist das wichtig, weil Modellwahl an Datenrichtlinien, Compliance, Evaluierungsbaselines und Budgetkontrollen gebunden sein kann. Ein Fallback, der der Runtime harmlos erscheint, kann für die Host-Anwendung inakzeptabel sein, wenn er eine Anbietergrenze überschreitet oder die Aufbewahrungsrichtlinie ändert. [ALLOY]: Das Release fügt auch strukturierte Diagnosen über die .NET-, Python- und Rust-SDKs hinzu. Die Logs decken CLI-Start, TCP-Verbindung, JSON-RPC-Anfrage-Timing, Sitzungslebenszyklus und Fehlerpfade ab. Das ist die Sichtbarkeit, die ein eingebettetes Agent-SDK braucht. [NOVA]: Wenn eine Sitzung fehlschlägt, kann die Ursache Prozessstart, Transport, Authentifizierung, JSON-RPC-Framing, Runtime-Event-Handling, Modellantwort, Tool-Ausführung oder Host-Callback-Verhalten sein. Ohne strukturiertes Timing und Lebenszyklus-Logs sieht alles so aus, als ob „der Agent hängt." [ALLOY]: Der JSON-RPC-Detailgrad ist besonders wichtig. Viele Coding-Agent-SDKs wrappen einen lokalen Runtime-Prozess und kommunizieren über JSON-RPC. Das erstellt ein Client-Objekt in der Anwendung, einen Runtime-Prozess, eine Transportverbindung, Request-IDs, Event-Streams und langlebige Operationen. Diagnosen müssen zeigen, wann die Runtime gestartet wurde, wann die TCP-Verbindung geöffnet wurde, welche Requests gesendet wurden, wie lange sie dauerten und wo Fehler auftraten. [NOVA]: Die enableSessionTelemetry-Option macht Telemetrie zu einer expliziten Sitzungswahl. Das ist die richtige Form für Datenschutz und Betrieb. Einige Deployments möchten Sitzungstelemetrie, um Probleme zu debuggen und Zuverlässigkeit zu verbessern. Andere brauchen sie aus Richtliniengründen deaktiviert. Den Regler auf Sitzungs- und Resume-Konfiguration zu setzen macht die Entscheidung überprüfbar und wiederholbar. [ALLOY]: Es gibt kleinere Kompatibilitätsfixes mit echtem Impact. C#-Sitzungs-Event-Enums sind jetzt string-backed Readonly-Strukturen, sodass Deserialisierung nicht fehlschlägt, wenn die Runtime neue Enum-Werte hinzufügt. Das ist Vorwärtskompatibilität für Event-Streams. Rust-Binary-Tool-Ergebnis-Resource-Blobs verwenden jetzt standardmäßig application/octet-stream, wenn mimeType fehlt. Das ist Wire-Format-Resilienz. [NOVA]: Die praktische Builder-Implikation ist, dass Copilot-SDK-Sitzungen zu hostkontrollierten Runtime-Objekten werden. Wenn du sie einbettest, implementiere die Plan-Modus- und Modus-Wechsel-Callbacks bewusst. Entscheide, welche Wechsel automatisch passieren können und welche Überprüfung erfordern. Aktiviere Diagnosen in Entwicklung und Staging. Erfasse JSON-RPC-Timing bei langsamen oder flaky Sitzungen. Behandle Telemetrie als Richtlinie, nicht als versteckten Standard. [ALLOY]: Und ältere Clients gegen neuere Laufzeitereignisse testen. Ereignisströme entwickeln sich weiter. Wenn die Enum-Behandlung oder die MIME-Standardeinstellungen fehlschlagen, funktioniert der Agent möglicherweise, während das Hostprodukt nicht deserialisieren kann, was passiert ist. [NOVA]: Story vier ist Microsoft Agent Framework 1.5. Die Veröffentlichung ist umfassend, aber mehrere Änderungen sind für Entwickler von Produktionsagenten direkt relevant: Magentic Orchestration für .NET, WebBrowsingTool Allowlisting, Observability-Beispiele für gehostete Agenten, Reasoning-Ereignisse in AGUI, klassenbasierte Skills und Harness-Kontextanbieter in der Python-Linie, Todo-Zustandsinjektion, Foundry Per-Call-Header und ein Wire-Format-Fix für function_call_output.output. [ALLOY]: Magentic Orchestration ist die Schlagzeile, weil Multi-Agenten-Systeme mehr als eine Liste von Agenten benötigen. Sie brauchen Terminplanung, Delegation, Zugbesitz, geteilten Zustand, Abbruchbedingungen und eine Möglichkeit zu entscheiden, welcher Akteur als Nächstes handeln soll. Eine Orchestrierungsschicht formalisiert diese Mechanismen. Es als experimentell zu kennzeichnen, ist angemessen, da Orchestrierungssemantik zur Anwendungsarchitektur wird. [NOVA]: Ein schlechter Scheduler kann in einer Schleife hängen bleiben, Arbeit duplizieren, Fehler verbergen oder zulassen, dass ein Agent ein Gespräch dominiert. Multi-Agenten-Orchestrierung ist keine magische Zusammenarbeit. Es ist eine Laufzeitrichtlinie darüber, wer wann handelt, welchen Kontext sie sehen und wann der Prozess stoppt. [ALLOY]: WebBrowsingTool Allowlisting ist ein wichtiges Browser-Kontrollfeature. Browsing-Tools verbinden einen Agenten mit externen Inhalten, die bösartig, unvertrauenswürdig oder einfach nur ablenkend sein können. Eine Allowlist bietet der Hostanwendung eine Richtlinienoberfläche, bevor das Browser-Tool ausgeführt wird. [NOVA]: In Agentensystemen ist Browsen nicht nur Lesen. Der Browser kann Prompt-Injection-Inhalte abrufen, Formulare absenden, Weiterleitungen folgen, Cookies offenlegen, Dateien abrufen und mit authentifizierten Sitzungen interagieren. Eine Richtlinie muss vor der Werkzeugausführung existieren, nicht erst, nachdem eine schlechte Seite den Lauf bereits beeinflusst hat. [ALLOY]: Observability-Beispiele für gehostete Agenten sind ebenfalls wertvoll, weil die Bereitstellung der Punkt ist, an dem Framework-Abstraktionen auf die Produktionsrealität treffen. Ein gehosteter Agent benötigt Logs, Traces, Anfragekorrelation, Sichtbarkeit von Modellaufrufen, Timing von Tool-Aufrufen und Fehlerzustände. Die nützliche Frage ist, ob ein Team einen fehlgeschlagenen Lauf von der externen Anfrage über Orchestrierung, Modellaufruf, Tool-Aufruf bis zur endgültigen Antwort rekonstruieren kann. [NOVA]: Reasoning-Ereignisse in AGUI legen ein Transportproblem offen. Benutzeroberflächen müssen den Fortschritt des Agenten rendern, ohne private Gedankenketten, Tool-Begründungen und für den Benutzer sichtbare Zusammenfassungen falsch zu vermischen. Ein Reasoning-Ereigniskanal ermöglicht es dem Framework, Fortschritt oder reasoning-bezogene Zustände als strukturierte Ereignisse darzustellen. Die Anwendung muss immer noch entscheiden, was sicher angezeigt, gespeichert und übertragen werden kann. [ALLOY]: Todo-Multithreading und Todo-Injektion in die Nachrichtenliste zeigen, wie der Task-Zustand zu einer Laufzeitfunktion wird. Agenten verwenden Todo-Listen, um zu planen, den Fortschritt zu verfolgen und sich nach Unterbrechungen zu erholen. Wenn der Todo-Zustand nicht Thread-sicher ist, können gleichzeitige Updates den Plan beschädigen. Wenn der Todo-Zustand im Nachrichtenkontext nicht sichtbar ist, kann das Modell den Überblick über Verpflichtungen verlieren. [NOVA]: Der Wire-Format-Fix für function_call_output.output ist klein, aber kritisch. Die Veröffentlichung behebt dies, sodass es ein JSON-String im Wire-Format ist. Tool-Ausgabeformate sind Verträge zwischen Laufzeit, SDKs, Modellen und Clients. Wenn eine Seite einen String erwartet und die andere Seite strukturiertes JSON direkt sendet, können Deserialisierung, Replay, Speicherung oder Komprimierung fehlschlagen. [ALLOY]: Die Generierung von Sequenznummern erhält einen Fix für doppelte oder außerplanmäßige IDs. Ereignisreihenfolge ist grundlegend für Agenten-UIs und Logs. Wenn zwei Ereignisse eine Sequenznummer teilen oder außer der Reihe ankommen, können Clients veraltete Zustände rendern, Updates verwerfen oder ein Tool-Ergebnis dem falschen Zug zuordnen. In einer Multi-Agenten- oder Mehrparteien-Konversation sind Reihenfolgefehler besonders schmerzhaft. [NOVA]: Workflow-Wiedereintritts- und YAML-Parsing-Fixes sprechen für die Zuverlässigkeit deklarativer Agenten. Eine Schleife nach dem Wiedereintritt von GotoAction kann Workflow-Komfort in unkontrollierbares Verhalten verwandeln. Das Parsing von YAML-Block-Skalaren für Datei-Skills ist wichtig, da dateibasierte Skills oft Prompts, Anweisungen, Beispiele oder Skripte enthalten. Wenn Block-Skalare falsch geparst werden, ist der Skill, den der Agent sieht, nicht der Skill, den der Entwickler geschrieben hat. [ALLOY]: Nun zur OpenClaw-Integrationsfrage. Kann Microsoft Agent Framework innerhalb von OpenClaw verwendet werden? Ja, aber die saubere Architektur ist adapterbasiert. OpenClaw ist ein Local-First-Assistenten-Gateway, das bereits Kanäle, Sitzungen, Tools, Knoten, Browser- und Canvas-Oberflächen, Cron, Skills, Sandboxing und Multi-Agenten-Routing verwaltet. Microsoft Agent Framework ist ein separates Agenten-Framework mit .NET- und Python-Oberflächen. Es sollte als aufgerufene Laufzeit integriert und nicht mit der nativen Sitzungslaufzeit von OpenClaw verwechselt werden. [NOVA]: Es gibt mehrere praktikable Muster. Erstens, ein kommando-gestützter Skill: OpenClaw kann ein lokales Skript oder einen Dienst aufrufen, der einen Microsoft Agent Framework Workflow ausführt und ein strukturiertes Ergebnis zurückgibt. Das ist die einfachste Form. Die Skill-Eingabe ist typisiert. Der Framework-Prozess läuft mit einem definierten Arbeitsverzeichnis und einer Umgebung. Die Ausgabe wird als Text oder JSON erfasst. Timeouts und Fehlerbehandlung bleiben in OpenClaw. [ALLOY]: Zweitens, ein gehosteter lokaler Dienst: Eine .NET- oder Python Agent Framework App kann als Localhost-Dienst oder privater Netzwerkdienst ausgeführt werden. OpenClaw ruft ihn über einen schmalen HTTP- oder RPC-Adapter auf. Dies ist nützlich, wenn das Framework einen langlebigen Orchestrierungszustand, warme Modell-Clients oder eine eigene Observability-Pipeline benötigt. OpenClaw besitzt immer noch, welcher Kanal ihn aufrufen kann und welche Anmeldeinformationen offengelegt werden. [NOVA]: Drittens, eine Tool-Protokoll-Brücke: Wenn der Agent Framework Workflow hinter einem Tool-Server offengelegt werden kann, kann OpenClaw ihn wie einen anderen Tool-Anbieter behandeln. Der wichtige Teil ist die Grenze. Tool-Namen, Schemata, erlaubte Operationen und zurückgegebene Artefakte müssen explizit sein. OpenClaw sollte nicht blind jede Fähigkeit eines Framework-Prozesses in jede Sitzung importieren. [ALLOY]: Viertens, eine sandboxed Subagenten-Spur: OpenClaw kann ausgewählte Aufgaben an einen Nicht-Hauptagenten oder eine Sandbox weiterleiten, der die Berechtigung hat, das externe Framework auszuführen. Dies ist ein sichereres Muster für Experimente, da das Framework begrenzten Dateisystem- und Netzwerkzugriff erhalten kann. Es ist besonders relevant für Browser-Tools und gehostete Workflows, die auf nicht vertrauenswürdige Inhalte stoßen können. [NOVA]: Die Integrationsgrenzen sind genauso wichtig. Microsoft Agent Framework wird nicht automatisch zu einem nativen OpenClaw-Kanal. Es erbt nicht automatisch die Pairing-Richtlinie von OpenClaw, Discord- oder Telegram-Routing, das Live-Canvas-Verhalten, die Knotenverwaltung, das Speichermodell oder die Genehmigungstore. Diese müssen bewusst gekapselt werden. Es bringt auch seine eigenen Abhängigkeiten, das Ereignismodell, die Skill-Semantik und die Tool-Output-Verträge mit. [ALLOY]: Die Sicherheitslektion aus der Semantic Kernel-Geschichte gilt direkt. Wenn OpenClaw einen Microsoft Agent Framework Agenten aufruft, können modellgenerierte Argumente von einer Laufzeit in die Tools einer anderen Laufzeit gelangen. Das bedeutet, dass Validierung nicht angenommen werden kann. Eine sichere Brücke sollte typisierte Anfrageobjekte, auf einer Positivliste stehende Operationen, geschwärzte Logs, Umgebungsvariablen mit den geringsten Rechten, explizite Browser-Allowlists und standardmäßig keinen generischen Shell-Zugriff verwenden. [NOVA]: Auch Observability benötigt eine Brücke. OpenClaw kann eine Benutzernachricht, Sitzung, einen Tool-Aufruf und eine Antwort verfolgen. Microsoft Agent Framework kann Orchestrierung, Modellaufrufe, Tool-Aufrufe, Reasoning-Ereignisse und Workflow-Zustände verfolgen. Eine Produktionsintegration sollte eine Korrelations-ID über diese Grenze hinwegführen, damit eine fehlgeschlagene Anfrage von der Kanalnachricht über die OpenClaw-Sitzung bis zum Aufruf des externen Frameworks und zurück verfolgt werden kann. [ALLOY]: Die praktische Empfehlung ist vorsichtiger Optimismus. Verwende Microsoft Agent Framework innerhalb von OpenClaw, wenn es eine spezifische Fähigkeit bietet: Magentic-Orchestrierung, Foundry-Integration, gehostete Agent-Beispiele, deklarative Skills oder einen Workflow, der bereits in .NET oder Python geschrieben ist. Verwende es nicht nur, weil es ein weiteres Agent-Framework ist. Wenn OpenClaw bereits das benötigte Channel-, Session- und Tool-Verhalten bietet, kann das Hinzufügen eines zweiten Frameworks Komplexität ohne Mehrwert hinzufügen. [NOVA]: Das beste erste Experiment wäre gezielt. Erstelle einen Microsoft Agent Framework-Workflow, der eine abgeschlossene Aufgabe ausführt, stelle ihn über einen einzelnen OpenClaw-Skill oder einen lokalen Dienst bereit, übergebe ein typisiertes Eingabeobjekt, liefere ein strukturiertes Ergebnis, führe ihn ohne umfassende Berechtigungen aus und protokolliere die Korrelations-ID. Evaluiere dann Latenz, Zuverlässigkeit, Toolsicherheit und ob das Orchestrierungsergebnis besser ist als ein nativer OpenClaw-Skill. [ALLOY]: Wenn die Antwort Ja ist, erweitere sorgfältig. Füge Browserzugriff nur mit Erlaubnislisten hinzu. Füge Dateizugriff nur auf einen begrenzten Arbeitsbereich hinzu. Füge Anmeldeinformationen nur durch explizite Geheimnisreferenzen oder Umgebungsvariableninjektion hinzu. Füge persistenten Zustand erst hinzu, nachdem Replay- und Resume-Semantik klar sind. Und lass niemals zu, dass ein Framework stillschweigend die Berechtigungen einer Chat-Session erweitert. [NOVA]: Die Antwort ist also nicht „Nein, weil OpenClaw getrennt ist", und auch nicht „Ja, installiere es einfach und lass es alles ausführen." Die Antwort lautet: Ja, Microsoft Agent Framework kann innerhalb einer OpenClaw-Bereitstellung als integrierte externe Runtime verwendet werden, aber OpenClaw sollte die Autorität für Channel-Eingang, Benutzervertrauen, Tool-Richtlinien, Sandboxing und Bereitstellung bleiben. [ALLOY]: Es gibt einige Fälle, in denen die Integration lohnenswert wäre. Wenn ein Team bereits .NET-Agenten hat, die um Foundry, Magentic-Orchestrierung, deklarative Workflows oder Microsofts gehostete Agent-Beispiele aufgebaut sind, kann das Verpacken dieser Arbeit für OpenClaw die Investition bewahren. OpenClaw kann die persönliche Betriebsschicht darum herum werden: Nachrichtenaufnahme, Benutzergenehmigung, Kanalbereitstellung, Zeitplanauslöser, Datei-Bereitstellung und lokale Maschinensteuerung. [NOVA]: Es gibt auch Fälle, in denen es nicht lohnenswert wäre. Wenn die Aufgabe eine einfache lokale Automatisierung ist, ist ein normaler OpenClaw-Skill wahrscheinlich einfacher zu prüfen und zu betreiben. Wenn die Aufgabe einen Tool-Aufruf und eine Antwort benötigt, kann das Hinzufügen eines zweiten Orchestrierungs-Frameworks mehr Serialisierung, mehr Logs, mehr Abhängigkeiten und mehr Fehlermodi als Wert schaffen. Die Integration sollte durch Orchestrierung, vorhandenen Code, gehostete Agent-Infrastruktur oder eine konkrete Microsoft-Ökosystem-Anforderung gerechtfertigt sein. [ALLOY]: Versionierung ist eine weitere echte Überlegung. OpenClaw, das externe Framework, Modell-SDKs und Tool-Schemata können sich alle unabhängig weiterentwickeln. Eine Bridge sollte die erwartete Framework-Version deklarieren, zurückgegebene Event-Formen validieren und klar scheitern, wenn sich ein Wire-Vertrag ändert. Stille partielle Kompatibilität ist gefährlich, weil sie einen Agenten so erscheinen lassen kann, als ob er funktioniert, während er To-do-Zustand, Tool-Ausgabe, Sequenzreihenfolge oder Reasoning-Events verliert. [NOVA]: Die empfohlene Form ist absichtlich langweilig: eine Adapter, ein Schema, ein Berechtigungsprofil, eine Korrelations-ID, eine Timeout-Richtlinie und ein klar dokumentiertes Ergebnis. Starte dort. Wenn das funktioniert, füge Fähigkeiten langsam hinzu. Das Ziel ist nicht, OpenClaw und Microsoft Agent Framework ununterscheidbar zu machen. Das Ziel ist es, OpenClaw sicher einen nützlichen externen Agent-Runtime aufrufen zu lassen, wenn dieser Runtime seinen Platz verdient. [ALLOY]: Die praktische Erkenntnis aus EP048 ist operativ. Codex 0.130.0 macht Coding-Agent-Sessions serviceähnlicher mit ferngesteuerten App-Servern, seitenweisen Thread-Ansichten, Plugin-Hook-Sichtbarkeit, Konfig-Aktualisierung, besseren Patch-Diffs, Komprimierungsfixes und Dateiauflösung für mehrere Umgebungen. [NOVA]: Microsofts Semantic Kernel-Forschung zeigt, wie modellgesteuerte Tool-Argumente zu Codeausführung werden können, wenn Frameworks sie in interpretierte Hostsprachen-Ausdrücke umwandeln. GitHub Copilot SDK bietet eingebetteten Produkten Genehmigungs- und Wiederherstellungs-Hooks plus Diagnose. Microsoft Agent Framework 1.5 treibt Orchestrierung, Browser-Richtlinien, Observability, Event-Transport, To-do-Zustand und Wire-Format-Korrektheit voran. [ALLOY]: Und zur OpenClaw-Frage: Microsoft Agent Framework ist innerhalb von OpenClaw als begrenzte externe Runtime, Dienst, Skill oder Tool-Bridge verwendbar. Es sollte nicht OpenClaws eigenes Vertrauens-, Routing-, Sandbox- und Genehmigungsmodell umgehen. [NOVA]: Für Builder: Macht jede Agent-Runtime-Grenze explizit: Kontrollebene, Tool-Eingabe, Genehmigungs-Event, Browser-Richtlinien, Telemetrie, Framework-Bridge und gespeicherter Thread-Zustand. Danke fürs Zuhören zu OpenClaw Daily. Shownotes und Quell-Links sind verfügbar unter Toby On Fitness Tech Punkt com, und wir sind bald zurück.