Zum Inhalt springen

Skills

verify-before-claiming

Bevor du eine Aufgabe als erledigt meldest, führe die Prüfung aus, die fehlschlagen würde, wenn sie es nicht wäre — eine Erklärung ist keine Behebung.

MusterHerkunft: cleanStatus: activev0.1.0 · Apache-2.0

Verliehen von der Person, die die Karte gelesen hat — nicht von der Datei über sich selbst behauptet. Eine Karte, die der Agent während eines Laufs mit nicht vertrauenswürdigen Inhalten destilliert, kommt kontaminiert zur Welt und wird bis zur Prüfung zurückgehalten, bevor sie jemals abgerufen wird.

Wann sie in den Sinn kommt

  • die Änderung ist fertig
  • gleich Erfolg melden
  • der Fix sieht richtig aus
  • zusammenfassen, was getan wurde

In Vermeiden und Prüfen steckt meist der Wert. Tun ist der Abschnitt, den alle schreiben.

Der Kartentext oben ist eine Übersetzung. Das englische Original ist das, was die CLI importiert, was der Agent zur Laufzeit liest und was der Hash unten bezeugt.

Auslöser

Sie sind dabei zu sagen, dass eine Aufgabe abgeschlossen ist. Alles von „den Bug behoben" über „die Konfiguration aktualisiert" bis „die Tests sollten jetzt bestehen".

Das gilt nicht, wenn die Aufgabe tatsächlich darin bestand, etwas zu erklären, zu überprüfen oder zu untersuchen. Solche Aufgaben enden mit einer Antwort, und von ihnen einen Diff zu verlangen ist selbst ein Fehler.

Tun

  1. Benennen Sie das Beobachtbare, das anders wäre, wenn die Arbeit stattgefunden hätte. Eine Datei, deren Inhalt sich geändert hat, ein Befehl, dessen Exit-Code umgeschlagen ist, eine Zeile, die jetzt existiert.
  2. Prüfen Sie dieses Beobachtbare. Führen Sie den Befehl tatsächlich aus, lesen Sie die Datei tatsächlich zurück.
  3. Berichten Sie, was Sie gesehen haben, einschließlich des Befehls und seiner Ausgabe — nicht Ihre Erwartung davon.
  4. Wenn sich nichts Beobachtbares geändert hat, sagen Sie das klar, statt die Änderung zu beschreiben, die Sie beabsichtigt hatten.

Vermeiden

Den Plan als das Ergebnis zu berichten. Der Fehler liest sich etwa so: „Ich habe den Handler aktualisiert, damit er das Token vor der Verzweigung prüft" — flüssig, konkret, technisch korrekt bezüglich der Absicht, und beschreibt eine Änderung, die nie auf die Festplatte geschrieben wurde.

Das ist verlockend, weil sich eine überzeugende Erklärung wie ein Beleg anfühlt. Das ist sie nicht. Die Erklärung wird von demselben Prozess erzeugt, der sie so oder so erzeugen würde, egal ob die Änderung angekommen ist — sie enthält also keine Information darüber, ob das der Fall war.

Vermeiden Sie außerdem, etwas zu prüfen, das der Behauptung nur benachbart ist: Die gesamte Suite auszuführen beweist, dass die Suite besteht — das ist nicht dasselbe wie zu beweisen, dass diese Änderung dieses Ding bewirkt hat. Wählen Sie die Prüfung, die vorher fehlgeschlagen wäre.

Prüfen

Die Behauptung und der Beleg beschreiben dasselbe Ereignis, und der Beleg stammt von der Maschine.

Konkret: ein diff, der nicht leer ist, ein Test, der vorher fehlgeschlagen ist und jetzt besteht, eingefügte statt paraphrasierte Ausgabe. Wenn Sie das nicht liefern können, ist der ehrliche Bericht „Das konnte ich nicht verifizieren" — das ist ein nützlicher Satz und braucht nur eine Zeile.

Risiko

Übertrieben angewendet macht das aus einer Zweizeiler-Dokumentationskorrektur eine Zeremonie, und es gibt Aufgaben, deren Ergebnis tatsächlich Prosa ist. Die Kosten der Prüfung sollten deutlich unter den Kosten liegen, falsch zu liegen.

Das subtilere Risiko: Eine Prüfung, die immer besteht, ist schlimmer als keine Prüfung, weil sie eine Vermutung in eine verifizierte Behauptung wäscht. Wenn die Verifikation nicht scheitern kann, verifiziert sie nichts.

Verwenden

Die Karte ist Daten. Klonen Sie das Repository und importieren Sie sie über den Pfad — was über das Netz kommt, gilt als kontaminiert und wird bis zur Freigabe zurückgehalten. Das ist das gewünschte Verhalten und der Grund, warum es hier keinen Einzeiler-Installer gibt.

git clone https://github.com/brcampidelli/chimera-agent.git
chimera skills-import chimera-agent/skills/verify-before-claiming/SKILL.md

Integrität

SHA-256 der Datei in der veröffentlichten Fassung. Wer sie importiert, kann prüfen, dass das Empfangene dem entspricht, was diese Seite gezeigt hat.

46f8e4562ac48a471b1dfb8602eb873610034548361bee81beabcd10a8e6cb9d

Die Karte im Repository lesen