Fact-Check-X 统一入口
Dieser Skill übernimmt nur die Orchestrierung und enthält keine der drei Geschäftsebenen. Er ruft die Schwester-Skills in folgender Reihenfolge auf:
llm-answer-reference-compare: Mehrplattform-Antworten, Zitate und On-Site-Beweissammlung.fact-check-x-knowledge-compare: Strukturierter lokaler Wissenspunktabgleich (optional).fact-check-x-authoritative-verify: Parallele autoritative Verifikation pro Wissenspunkt und Plattform-Leistungsbericht.
Die gesamte semantische Aufschlüsselung und Beweisbewertung wird vom Skill des aktuellen Agenten durchgeführt. Die Skripte rufen keine Modell-APIs auf.
Abhängigkeitslokalisierung
Wenn sich die vier Skills im selben Verzeichnis befinden, können sie direkt ausgeführt werden. Alternativ kann Folgendes gesetzt werden:
export FACTCHECK_SKILLS_DIR="<übergeordnetes Verzeichnis der vier Skills>"
Überprüfung der Abhängigkeiten:
python3 scripts/fact_check_x.py locate
Vollständiger Ablauf
Zunächst results.json erfassen, dann den Wissenspunktvergleich vorbereiten:
python3 scripts/fact_check_x.py prepare-comparison \
--results <results.json> \
--run-dir <run>
Der Befehl erstellt synchron den Bericht mit Originalantworten und Zitaten, generiert 01-capture-report.html im Stammverzeichnis des Ausführungsordners und gibt den benutzersichtbaren Pfad über deliverables zurück. Der Aufrufer muss zuerst diesen Pfad verwenden, um einen echten Markdown-Dateilink zu senden, bevor er mit dem Wissenspunktvergleich fortfährt; die Anzeige von Backtick-Pfaden ist untersagt.
Im standardmäßigen interaktiven Modus muss der Aufrufer nach dem Senden des Produkts dieser Phase den Benutzer fragen, ob er „Weiter zum nächsten Schritt“, „Aktuelles Ergebnis korrigieren“ oder „Beenden und Produkte behalten“ möchte, und darf erst nach Erhalt der Fortsetzungsanweisung mit der nächsten Phase fortfahren. Nur wenn der Benutzer in der ursprünglichen Anfrage explizit eine vollständig automatische Durchführung angefordert hat, darf kontinuierlich ausgeführt werden, wobei die Produkte jeder Phase dennoch schrittweise präsentiert werden müssen.
Der aktuelle Agent liest <run>/comparison-task.json, schreibt <run>/comparison-analysis.json und führt dann Folgendes aus:
Bei der Aufschlüsselung muss die Atomarität sowohl die Wissenspunkte als auch die claims der einzelnen Plattformen einschränken. Ein einzelner Originalsatz, der mehrere unabhängige Pflichten, Bedingungen, Objekte, Werte oder Konsequenzen enthält, muss aufgeteilt werden; jeder claim darf nur die aktuelle Tatsache enthalten. Wesentliche neue Tatsachen, die exklusiv auf einer Plattform hinzugefügt wurden, müssen als separater, unverankerter Wissenspunkt aufgeführt werden und dürfen nicht mit einem vagen Wissenspunkt zusammengelegt werden, der einen Ankerpunkt zur Umgehung der Prüfung wiederverwendet.
python3 scripts/fact_check_x.py complete-comparison \
--results <results.json> \
--run-dir <run>
Der Befehl generiert 02-comparison-report.html im Stammverzeichnis des Ausführungsordners und gibt den Pfad über deliverables zurück; der Aufrufer muss ihn dem Benutzer als eigenständige, anklickbare Datei präsentieren. Der Bericht muss einen klar als „nicht verifiziert“ gekennzeichneten Gesamtentwurf enthalten. Im standardmäßigen interaktiven Modus darf erst nach Bestätigung des Benutzers mit der autoritativen Verifikation fortgefahren werden.
Erstellen Sie für jeden Wissenspunkt eine unabhängige Cloud-Anfrage und führen Sie die parallele Beweissammlung durch:
python3 scripts/fact_check_x.py prepare-authority --run-dir <run>
python3 scripts/fact_check_x.py search-authority --run-dir <run> --max-workers 12
Wenn es nicht prüfungsfreie Wissenspunkte gibt, aber auf dem Rechner noch keine vertrauenswürdige Suchkonfiguration vorhanden ist, geben prepare-authority und search-authority status=configuration_required, userPrompt und configuration.command zurück und beenden mit einem Exit-Code ungleich Null. Der Aufrufer zeigt zuerst den Login-Hinweis an und führt dann den Befehl im Vordergrund aus. Der Benutzer muss sich nur auf der automatisch geöffneten ShenZhiDao MaaS-Seite anmelden; die Komponente verwendet automatisch einen vorhandenen vollständigen Key wieder oder erstellt einen neuen Fact-Check-X-spezifischen Key, verifiziert ihn und speichert ihn in ~/.fact-check-x/credentials/trusted-search-key. Codex, Claude Code, WorkBuddy und andere Träger teilen diese Konfiguration; wenn ein vorhandener Key erkannt wird, wird der Login übersprungen. Nach erfolgreicher Konfiguration führt der Aufrufer automatisch prepare-authority erneut aus. Der Benutzer darf nicht aufgefordert werden, einen Key zu kopieren, die Shell-Konfiguration zu bearbeiten oder mit „bereits konfiguriert“ zu antworten; auch darf die Verwendung von ShenZhiDao-Quellen oder einer normalen Suche zur Umgehung nicht erlaubt sein.
Nur wenn die vertrauenswürdige Suche einen 401/403-Fehler zurückgibt, wird der vorhandene Key als ungültig betrachtet und die automatische Konfiguration gestartet. Timeout, Netzwerkausfälle oder Dienstfehler behalten die vorhandene Konfiguration bei und wiederholen den Vorgang automatisch; wenn der Vorgang auch nach Wiederholung fehlschlägt, wird die Suche mit einem technischen Fehler beendet. Der Benutzer wird nicht aufgefordert, sich erneut anzumelden, und es wird auch nicht auf eine manuelle Faktenprüfung umgestellt.
prepare-authority schreibt authority-gate.json. Erst nachdem der vertrauenswürdige Suchdurchlauf normal abgeschlossen wurde und der Gate-Status auf searched wechselt, darf finalize-authority ausgeführt werden; das manuelle Schreiben von evidence oder result kann den Gate nicht umgehen.
Der aktuelle Agent liest nacheinander authority/requests und authority/evidence, schreibt die Bewertung in authority/assessments/<Wissenspunkt-ID>.json und führt dann Folgendes aus:
Im prüfungsfreien Modus ist trustedAnchor.officialAnswer die autoritative Schlussfolgerung für den aktuellen Wissenspunkt; die Liste der Ankerbeweise dient der Quellenrückverfolgung und erfordert keine wörtliche Wiederholung der Schlussfolgerung in Titel oder Zusammenfassung. Wenn die Plattformbehauptung semantisch mit officialAnswer übereinstimmt oder direkt daraus abgeleitet werden kann, lautet das Urteil supported unter Angabe der gültigen Ankerbeweis-IDs. Nur wenn die Plattformbehauptung wesentliche Tatsachen hinzufügt, die von der autoritativen Schlussfolgerung nicht gestützt werden, oder wenn tatsächlich keine Entscheidung getroffen werden kann, wird insufficient verwendet. Die Zitiertreue aus der Wissensvergleichsphase und die faktische Richtigkeit dieser Phase werden getrennt beibehalten; eine Behauptung, die bereits durch die autoritative Schlussfolgerung bestätigt wurde, darf nicht aufgrund unzureichender Zitate der Plattform selbst abgelehnt werden.
{
"authoritativeFinding": "Durch autoritative Belege gestützte Schlussfolgerung des Wissenspunkts",
"verdicts": {
"<Plattform-ID>": {
"verdict": "supported",
"reason": "Behauptung stimmt mit E1 überein",
"evidenceIds": ["E1"]
}
}
}
verdict darf nur supported, contradicted oder insufficient sein; die Beweis-IDs müssen in der aktuellen Beweisdatei vorhanden sein. Alte Top-Level-Felder wie verdict, officialAnswer oder platformAssessment werden abgelehnt.
python3 scripts/fact_check_x.py finalize-authority --run-dir <run>
finalize-authority generiert die endgültige Antwort nach der autoritativen Verifikation: Wissenspunkte mit ausreichenden Belegen werden in die endgültige Antwort aufgenommen; Wissenspunkte mit unzureichenden Belegen werden in evidenceGaps geschrieben und von der endgültigen Antwort sowie dem Nenner der Genauigkeitsberechnung ausgeschlossen. Solange die technische Kette erfolgreich ist, gibt der Befehl status=completed zurück, und der Aufrufer fährt mit dem vierten Schritt fort. Nur wenn der technische Befehl mit einem Exit-Code ungleich Null endet, wird der Vorgang angehalten und die aktuelle Phase wiederholt.
Nach Abschluss der Bewertung generiert finalize-authority unabhängig 03-authority-report.html und gibt den Pfad über deliverables zurück. Der Aufrufer muss diesen autoritativen Bericht zuerst anzeigen; im standardmäßigen interaktiven Modus wird nur bei Status completed und nach Bestätigung des Benutzers Folgendes ausgeführt:
python3 scripts/fact_check_x.py deliver --results <results.json> --run-dir <run>
Wenn die vertrauenswürdige Suche no_evidence zurückgibt, wird dies als insufficient_evidence protokolliert: Ein leeres Ergebnis bedeutet nur, dass diesmal kein beurteilbares Material beschafft werden konnte, und darf nicht direkt als „erfunden“ eingestuft werden; nach der Aufzeichnung der Beweisgrenzen wird mit der Generierung der folgenden Berichte fortgefahren.
deliver muss im Stammverzeichnis des Ausführungsordners vier separate, lesbare Berichte generieren und zurückgeben:
01-capture-report.html: Originalantworten, Referenzen und Zitatbelege;02-comparison-report.html: Strukturierter Wissenspunktvergleich;03-authority-report.html: Autoritative Schlussfolgerungen pro Wissenspunkt, offizielle Belege und Plattformurteile;04-final-report.html: Plattformleistung, Gesamtkennzahlen, wichtigste Erkenntnisse und vollständige Belege.
Ohne einen dieser Berichte darf 05-complete-report-package.zip weder erstellt noch ausgeliefert werden.
Abschließend bleiben erhalten:
capture/results.json,capture/report.html,capture/report.md;comparison-task.json,comparison-analysis.json,comparison.json,comparison.html;- Für jeden Wissenspunkt separate request-, evidence-, assessment- und result-Dateien;
authority/batch.json,verification.json,report.html,pipeline.json;- Die vier Phasenberichte und
05-complete-report-package.zip.
Wissenspunktvergleich überspringen
Der Wissenspunktvergleich ist eine optionale Fähigkeit. Wenn bereits strukturierte Wissenspunkte vorhanden sind, können sie gemäß dem Datenvertrag des autoritativen Verifikationsmoduls direkt als Einzel-Wissenspunkt-Anfragen erstellt werden, um fact-check-x-authoritative-verify unabhängig aufzurufen. Der einheitliche Einstiegspunkt zwingt den Benutzer nicht, zuerst mehrere KI-Antworten zu erfassen.
Ausführungsgrenzen
- In der Phase der Originalantworten wird nur erfasst, nicht verifiziert; die vertrauenswürdige Suche kann mit vollständigen Textparametern verwendet werden, um den von der Plattform bereits angegebenen Text derselben Quelle zu ergänzen, aber es dürfen keine neuen Zitate hinzugefügt oder vorhandene ersetzt werden.
- Der Wissenspunktvergleich vergleicht nur die Originalantworten mit den beigefügten Quellen; es wird nicht online nach der Wahrheit gesucht.
- Die Cloud-Ebene empfängt nur den aktuellen Wissenspunkt; wenn die Behauptungen der verschiedenen Plattformen identisch sind, werden sie nicht hochgeladen; nur Unterschiede werden hochgeladen.
- Wenn ShenZhiDao bereits einen qualifizierten offiziellen Ankerpunkt besitzt, wird keine erneute Suche durchgeführt.
- Der endgültige Bericht muss den stabilen Berichtsrenderer des autoritativen Verifikationsmoduls verwenden.
Lieferfreigabe
python3 tests/smoke_test.py
python3 "${CODEX_HOME:-$HOME/.codex}/skills/.system/skill-creator/scripts/quick_validate.py" .
Vollständiger Standard siehe Abnahmekriterien.