2026-08-01T18:29:04.910Z
AI-Agent Beobachtbarkeit: Fingerabdrücke bei jedem Laufen
Ein sechsläufiger Audit zeigt, wie ein abgearbeiteter Konfigurationsfingerprint die Freisetzung von Fehlern unter einem unveränderten aufgezeichneten Agentensystem trennt.
Die kürzeste nützliche Antwort ist: Fügen Sie einen run manifest Fingerabdruck an jeden Agent Run an, dann vergleichen Sie die Gesundheit erst, nachdem Sie wissen, ob die Laufzeit, Modell Snapshot, Anforderung, Politik, Werkzeugschema und Einsatzbild gleich waren. Eine Spur sagt, was ein Rennen getan hat. Das Manifest sagt Ihnen, welche Version des Systems es getan hat. Dieser Fingerabdruck ist kein Gesundheits Score und beweist nicht, warum ein Lauf gescheitert ist. Es ist ein Zweigschlüssel. Wenn eine Regression unter einem neuen Fingerabdruck auftaucht, überprüfen Sie zuerst die Konfigurationsdrift. Wenn es unter dem alten Fingerabdruck erscheint, suchen Sie nach nicht aufgezeichneten Umgebungen, Abhängigkeiten, Anbietern, Daten oder Änderungen der Berechtigungen. Ein stabiler Agentenname kann ein anderes System verbergen. Nehmen wir an, support triage vervollständigt am Freitag zwei Tickets korrekt und verpasst am Montag eine erforderliche Eskalation. Beide Rennen haben denselben Agentennamen. Beide senden Herzschläge aus. Beide sind Anrufwerkzeuge. Die Zusammenstellung von ihnen fühlt sich natürlich an und kann falsch sein. Zwischen diesen Runden hat sich eines geändert: Manifester Bestandteil Aufzeichnungen Vermeiden Sie die Aufzeichnung Auslaufzeit Name und genaue Version oder Verpflichtung Host Pfad, Zugangs Token Modell Anbieter und festgeschnürter Schnappschuss, wenn verfügbar API Schlüssel, vollständige Antwort Schnell SHA 256 des überarbeiteten Anforderungspakets Rohkunden oder Systempfehler Politik Hash oder unveränderliche Revision Geheime Werte, die in die Politik eingebettet sind Werkzeuge kanonische Schema Hash Anmeldeinformationen, Werkzeuglast Ausrüstung Bildverwässerung oder Quellverbindung Registrierungspasswort Dies folgt einer etablierten Beobachtbarkeitsidee, anstatt ein zweites Spurenformat zu erfinden. Die OpenTelemetry Resource SDK beschreibt eine Ressource als unveränderliche Darstellung des Telemetrieproduzenten. Bei einem Agentenlauf ist die Ausführungskonfiguration Teil dieser Identität. Bewahren Sie die Spuren ID für eine Ausführung und den Manifest Fingerabdruck für die Version, die sie produziert hat; keiner ersetzt den anderen. Ein nützliches Manifest ist bewusst langweilig. Es enthält stabile Identifikatoren, nicht Beobachtungen wie Latenz, Tokenzahl, Ausgangsstatus oder Ergebnis. Diese gehören neben dem offenkundigen. Wenn man sie in den Hash mischt, entsteht für jeden Lauf ein neuer Fingerabdruck und wird der Vergleich zerstört. Es gibt auch eine Grenze für die Privatsphäre: Hash einen Anruf oder eine Politik lokal, laden Sie aber nicht das Original hoch, nur um seine Identität zu erklären. Hashes können immer noch Informationen durchlecken, wenn die Eingabe aus einem kleinen, absehbaren Set stammt, also verwenden Sie unsichtbare Veröffentlichungs IDs oder einen geklügelten lokalen Digest, wenn diese Bedrohung wichtig ist. Setzen Sie niemals Anmeldeinformationen in das Manifest, noch bevor Sie das ganze Objekt hashen. Kanonizieren vor dem Hashing Das Hashing von rohem JSON ist eine Falle, da sich die Reihenfolge des Objektschlüssels und die unbedeutenden Serialisierungsmöglichkeiten unterscheiden können, während die dargestellte Konfiguration gleich bleibt. Die JSON Kanonisationsregelung in RFC 8785 definiert deterministische Serialisierung, einschließlich rekursiver Eigenschaftssortierung. Bei Fragen der Interoperabilität sollte der Produktionscode eine überarbeitete Implementierung des JCS verwenden. Für ein kompaktes lokales Experiment reicht die folgende Node.js Funktion für gewöhnliche endliche JSON Werte aus: Das Experiment verwendete Node.js v22.23.1 . Es ist absichtlich enger als RFC 8785: Es sortiert Objektschlüssel wiederholt und lehnt nicht endliche Zahlen ab, ist jedoch kein Anspruch auf vollständige intersprachige JCS Konformität. Diese Beschränkung gehört neben dem Code, nicht in einer Fußnote, nachdem ein Leser sie kopiert hat. Das Manifest selbst kann klein bleiben: Die oben genannten Platzhalterwerte sind Festungsidentifikatoren, nicht Ansprüche des Anbieters. In einem echten Sammler, ableiten Sie sie auf den Gastgeber aus festgeklemmten Veröffentlichungen. Das breitere Prinzip ähnelt dem Herkunft von SLSA: Überprüfbare Informationen darüber zu behalten, wo, wann und wie etwas hergestellt wurde. Ein Laufmanifest nimmt dieses Prinzip zur Diagnose aus; es ist nicht automatisch eine SLSA Bestätigung. Ein sechsläufiges Wiederholung zeigt sowohl den Wert als auch die Grenze Ich habe die Regel gegen sechs synthetische NDJSON Aufzeichnungen für einen Agenten getestet. Die Linien 101 und 102 enthalten die gleichen offensichtlichen Werte in unterschiedlicher Schlüsselreihenfolge JSON. Laufen Sie 103 ändert nur den Prompt Hash, 104 ändert nur den Modell Snapshot und 105 ändert nur den Tool Schema Hash. Die Ausführung von 106 ist aufgrund eines Abhängigkeitsuntergangs gescheitert, den das Feststellungsmanifest nicht darstellt. Der Prüfungsbefehl lautete: Das deterministische Ergebnis: Zwei Beobachtungen sind wichtiger als die Zahlen. Zuerst verbirgte ein Agentenname vier aufgezeichnete Konfigurationen. Zweitens produzierten die beiden unterschiedlich geordneten Basisobjekte den gleichen SHA 256 Fingerabdruck, so dass die Serialisierung nicht falsche Drift erzeugte. Der Gegenbeispiel ist der wichtige Teil: run 106 hat mit dem Ausgangsfingerabdruck versagt. Ein unveränderter Fingerabdruck machte den Lauf nicht gesund und bewies nicht, dass die Umgebung unverändert war. Es zeigte nur, dass die aufgezeichneten Konfigurationsfelder unverändert waren. Die nächste Untersuchung sollte Beweise außerhalb der Verfügbarkeit, Eingabedaten, Netzwerkroute, Zulassungszustand und Abhängigkeitsfrischheit des Anbieters untersuchen. Das Gerät ist synthetisch, so dass es die Mechanik demonstriert und eine Überforderung verfälscht; es schätzt nicht, wie oft Konfigurationsdrift echte Vorfälle verursacht. Dies würde Produktionsdaten mit kontrollierten Freisetzungen und überprüften Ergebnissen erfordern. Verwandeln Sie den Fingerabdruck in eine Triegeentscheidung Verwenden Sie den Fingerabdruck erst, wenn der Lauf ein beobachtbares Ergebnis hat. Allein Aktivitäten Emissierte Token, gerufenen Werkzeuge oder ein noch lebender Prozess erstellen keinen nützlichen Fortschritt. Ausgangsgegenstände Vergleich von Fingerabdrücken Erster Zweig Gelassen Genau wie bei der Ausgangslinie Halten Sie als vergleichbare gesunde Referenz Versagt Ändert Differenzieren Sie die bearbeiteten Manifestfelder; berücksichtigen Sie eine begrenzte Rückführung oder Wiedergabe Versagt Das gleiche . Überprüfen Sie Abhängigkeiten, Berechtigungen, Eingabe, Anbieterzustand und fehlende Manifestdeckung Unbekannt Entweder . Erfassen oder definieren Sie die erwartete Lieferleistung vor der Diagnose von Drift Drei Betriebsregeln halten dies ehrlich: 1. freien Sie den Vergleichspunkt. Wählen Sie einen verifizierten erfolgreichen Lauf für die gleiche Aufgabenklasse, nicht nur den jüngsten grünen Status. 2. Haltet eine bearbeitete Feld Level Karte. Das Ganze Manifest Hash sagt different. Einzelne Komponentenverzehrungen sagen, wo zu überprüfen ist, ohne den Inhalt zu enthüllen. 3. Verifizieren Sie das Ergebnis nach dem Eingriff. Ein erfolgreicher Rücklaufbefehl ist Aktivität. Erholung bedeutet, dass das erwartete Lieferwert erscheint, der Test bestanden oder eine andere deterministische Akzeptanzprüfung abgeschlossen ist. Rollen Sie nicht automatisch jeden veränderten Fingerabdruck zurück. Eine Freisetzung kann absichtlich sein und ein Fehler kann eher aus dem Eingang als aus der Freisetzung kommen. Verwenden Sie die Änderung als Beweis für eine Überprüfung, bewahren Sie die menschliche Zustimmung für die Folgeaktionen und notieren Sie, was nach der Aktion passiert ist. Wenn dies in die Überwachung der Gesundheit von Agenten passt Der Fingerabdruck verbindet drei gesundheitliche Fragen, die allein durch Spuren nicht sauber gelöst werden können: hat sich eine Entscheidungspolisi geändert, hat sich ein Werkzeugvertrag geändert und hat sich die Qualität der Ergebnisse unter demselben aufgezeichneten System zurückgegangen? Es verbessert auch die Übermittlung von Vorfällen, weil ein anderer Betreiber die genaue Freigabeidentität vergleichen kann, ohne Hinweise, Geheimnisse oder Rohwerkzeugnutzlasten zu erhalten. Das beabsichtigte Gesundheitsmodell von Sidewisp umfasst Ausführung, Speicher und Kontext, Werkzeuge, Ergebnisse, Verfügbarkeit und Kosten. Ein künftiger Host Side Adapter könnte ein abgewiesenes Manifest als Beweis für diese Diagnosen verwenden, aber das ist geplanter Territoriumnicht ein versandter Überwachungsanspruch. Sidewisp befindet sich derzeit in einer privaten Vorschauphase. Die öffentliche Website und das Artikelsystem sind live; Produktionsagent Gesundheits Sammlung, Laufzeitadapter und automatisierte Wiederherstellung sind nicht allgemein verfügbar. Wenn dieses Beweismodell einem Fehler entspricht, den Sie heute betreiben, ist der beschränkte nächste Schritt, sich der privaten Vorschau Warteliste anzuschließen und die Laufzeit und Ergebnisprüfung zu beschreiben, die Sie nicht annehmen müssen, dass Sidewisp sie bereits sammelt.