CommunitySchreiben & Editierengithub.com

SourceTrace – Wissensbaum-Prüfung

Prüft einen KI-generierten Wissensbaum (Wissensgraph, Concept Map, Mind Map) gegen die zugrunde liegenden Quellmaterialien wie Vorlesungsfolien oder Kursunterlagen als PNG/JPG-Bilder und liefert nachvollziehbare Belege für jeden Befund.

Was ist SourceTrace – Wissensbaum-Prüfung?

SourceTrace ist ein Skill für KI-Agenten (z. B. Claude Code, Cursor), der die Qualität eines automatisch erstellten Wissensbaums systematisch anhand der originalen Quellbilder überprüft. Der Skill wurde speziell für Bildungsmaterialien entwickelt, bei denen ein Studierender oder Kursleiter sicherstellen möchte, dass ein KI-generiertes Zusammenfassungsdiagramm mit den Inhalten der Vorlesungsfolien übereinstimmt. Er erkennt falsche Definitionen, ungenaue Beziehungen, nicht belegte Behauptungen, Übergeneralisierungen, vage Formulierungen und wichtige Auslassungen. Jeder Befund wird mit einem eindeutigen Beleg (Seitenzahl, wörtliches Zitat und Evidenz-ID) untermauert. Die Arbeitsweise ist streng regelbasiert: Nach der Eingabe von Quellbildern und dem Wissensbaum (im JSON-Format) extrahiert der Agent systematisch alle Evidenzen, prüft bidirektional (Wissensbaum → Quelle und Quelle → Wissensbaum), klassifiziert jedes Problem in genau eine Kategorie und erstellt eine strukturierte Prüfdatei (audit.json). Ein Skript generiert daraus einen menschenlesbaren Bericht (report.md). Die Ausgabe ist stets konsistent und nachvollziehbar – ideal für die revisionssichere Validierung von Lernmaterialien.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/ChenXuanyu-1216/SourceTrace/tree/main/source-trace

Installed? Explore more Schreiben & Editieren skills: steipete/notion, langchain-ai/langchain, bytedance/podcast-generation · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

SourceTrace

SourceTrace prüft einen KI-generierten Wissensbaum gegen die zugrunde liegenden Quellbilder und erklärt jedes Problem mit nachvollziehbaren Belegen. Der Nutzer muss niemals einen Befund blind glauben: Jeder Befund gibt an, warum es ein Problem ist, wo das Quellmaterial zu finden ist (Seite und Zitat) und worauf er sich stützt (Evidenz-IDs).

Ein einfaches Modell kann die Fehler meist erkennen. Was SourceTrace hinzufügt, ist, dass das Ergebnis überprüfbar ist: Jeder Knoten und jede Kante erhält eine Bewertung, jede Bewertung zitiert Belege, Kategorien und Risikostufen sind festgelegt, und die Ausgabe hat immer die gleiche Form.

Eingaben

  • Quellbilder: PNG/JPG, ein Bild pro Seite (z. B. als Bilder exportierte Folien). Sie sind die einzige Quelle der Wahrheit. Wenn der Nutzer eine PPT oder PDF hat, bitten Sie ihn, diese zuerst in Bilder zu exportieren.
  • Wissensbaum: JSON gemäß schemas/knowledge-tree.schema.json (Knoten mit id, label, definition, kind; Kanten mit id, source, target, relation). Wenn der Baum ein anderes Format oder andere Beziehungsnamen verwendet, konvertieren Sie ihn zuerst und teilen Sie dem Nutzer mit, was Sie gemappt haben.

Pfade wie scripts/…, schemas/… und references/… sind relativ zum Ordner dieses Skills.

Ausgaben

Schreiben Sie alle Dateien in einen Ausgabeordner, standardmäßig sourcetrace-output/ neben dem Wissensbaum:

DateiSchrittInhalt
evidence-index.json2Jedes aus den Bildern extrahierte Beweisstück (Sie schreiben es)
audit.json4–6Eine Bewertung für jeden Knoten und jede Kante, plus Auslassungen (Sie schreiben die Beurteilungen; das Skript vervollständigt sie)
report.md6Der menschenlesbare Bericht (generiert von scripts/build_report.py; schreiben Sie ihn nicht selbst)

Ändern Sie niemals den Wissensbaum des Nutzers. SourceTrace berichtet und empfiehlt; der Nutzer entscheidet.

Arbeitsablauf

Führen Sie die sechs Schritte der Reihe nach aus. Springen Sie nicht vor zur Bewertung des Baums, bevor der Evidenzindex existiert: Die Prüfung gegen einen Index – und nicht gegen Ihren Eindruck der Folien – ist es, was die Befunde nachvollziehbar macht.

1. Quellenerfassung

python scripts/validate_input.py --tree <knowledge-tree.json> --images <Bildordner oder -dateien> --json
  • Fehler ("valid": false): Stoppen Sie, zeigen Sie dem Nutzer die Fehler in Klartext an und bitten Sie ihn, die Eingabe zu korrigieren. Prüfen Sie keinen ungültigen Wissensbaum.
  • Warnungen (z. B. DISCONNECTED_TREE, ISOLATED_NODE, DUPLICATE_EDGE): Fahren Sie fort. build_report.py fügt sie in den Abschnitt „Struktur“ des Berichts ein.
  • summary.images gibt jedem Bild seine source_id und page. Verwenden Sie diese genau in Schritt 2.

Betrachten Sie dann jedes Bild und notieren Sie seinen Titel, Text, Tabellen und Diagramme.

2. Evidenzextraktion

Erstellen Sie evidence-index.json gemäß references/evidence-extraction.md. Lesen Sie diese Datei vor der Extraktion; kurz gesagt:

  • Ein Eintrag pro Folientitel, Aufzählungspunkt, Tabellenzeile und Diagrammbeziehung.
  • Zitieren Sie Text wortwörtlich in seiner Originalsprache. Kleine Wortänderungen sind das, was die Prüfung erfassen muss.
  • Extrahieren Sie alles, einschließlich Hausaufgaben oder Lesenotizen.
  • Setzen Sie certainty ehrlich; low-Evidenz kann allein keinen Baumeintrag widerlegen.

Validieren Sie ihn dann und beheben Sie jeden Fehler, bevor Sie fortfahren:

python scripts/validate_evidence.py --index <output>/evidence-index.json

3. Wissensmapping

Behandeln Sie den Baum als eine Menge von zu testenden Behauptungen, niemals als Fakt. Teilen Sie ihn auf in:

  • Knoten: Sind Bezeichnung und Definition richtig?
  • Kanten: Ist die Beziehung zwischen den beiden Knoten richtig? Lesen Sie Kanten als Quelle Beziehung Ziel.

Prüfen Sie sie getrennt. Ein Knoten kann richtig sein, während eine ihn verwendende Kante falsch ist (und umgekehrt), und jede erhält ihre eigene Bewertung.

Listen Sie für jeden Knoten und jede Kante die Beweisstücke auf, die darauf Bezug nehmen. Durchsuchen Sie den gesamten Index, nicht nur die erwartete Seite: Manche Behauptungen werden erst durch die Kombination zweier Seiten bestätigt oder widerlegt.

4. Bidirektionale Prüfung

  • Baum → Quelle: Entscheiden Sie für jeden Knoten und jede Kante, ob die Evidenz sie stützt. Jeder Knoten und jede Kante erhält eine Bewertung, auch die richtigen; das Bestätigen des Richtigen ist Teil des Ergebnisses.
  • Quelle → Baum: Gehen Sie den Evidenzindex durch und finden Sie bedeutende Inhalte, die kein Knoten und keine Kante abdeckt.

Befolgen Sie references/audit-rules.md für Bewertungen, was als bedeutend gilt und die Randfälle.

5. Konflikterkennung

Klassifizieren Sie jedes Problem in genau eine Kategorie und vergeben Sie eine Risikostufe. Verwenden Sie die Entscheidungsreihenfolge in references/audit-rules.md: Gehen Sie die Fragen der Reihe nach durch und stoppen Sie beim ersten „Ja“. Wählen Sie keine Kategorie danach, wie sich ein Befund anfühlt; die Reihenfolge sorgt dafür, dass zwei Durchläufe konsistent sind.

KategorieBedeutung
conceptual-errorDie Definition eines Knotens widerspricht der Quelle.
incorrect-relationshipEine Kante widerspricht der Quelle, auch wenn beide Knoten richtig sind.
unsupported-expansionInhalt nicht in der Quelle gefunden, selbst wenn allgemein wahr.
overgeneralizationGestützter Inhalt über das hinaus, was die Quelle sagt, ausgedehnt.
ambiguousZu vage oder unsicher, um zu bestätigen oder abzulehnen.
omissionBedeutender Quellinhalt fehlt im Baum.

6. Prüfbericht

Schreiben Sie Ihre Beurteilungen in audit.json, lassen Sie dann das Skript sie prüfen und den Bericht erstellen. Sie entscheiden; das Skript zählt, nummeriert, sortiert und formatiert. Diese Trennung stellt sicher, dass zwei Durchläufe denselben Bericht erzeugen.

audit.json wie von Ihnen geschrieben (v0.1, Schema schemas/audit.schema.json):

{
  "schema_version": "0.1",
  "items": [
    { "target": "N001", "verdict": "supported", "evidence": ["EV-002"] },
    { "target": "N002", "verdict": "finding", "evidence": ["EV-008"],
      "category": "conceptual-error", "risk": "high",
      "reason": "...", "recommendation": "..." }
  ],
  "omissions": [
    { "category": "omission", "tier": "core", "risk": "medium", "evidence": ["EV-016"],
      "reason": "...", "recommendation": "..." },
    { "category": "omission", "tier": "core", "risk": "high", "risk_reason": "zentrales Konzept der Vorlesung",
      "evidence": ["EV-003"], "reason": "...", "recommendation": "..." }
  ]
}
  • items: genau ein Eintrag pro Knoten und Kante des Baums.
  • reason: warum es ein Problem ist, in ein bis zwei Sätzen, mit den exakten abweichenden Wörtern als Zitat.
  • recommendation: eine konkrete Überarbeitung, die innerhalb des Baum-Schemas bleibt (nur erlaubte kind- und relation-Werte).
  • tier (nur Auslassungen): core oder supporting, wie in references/audit-rules.md definiert.
  • risk_reason: nur, wenn das Risiko vom Standard abweicht.
  • Lassen Sie summary, structure_warnings und finding_id weg; das Skript berechnet sie.

Führen Sie dann aus:

python scripts/build_report.py --tree <knowledge-tree.json> --index <output>/evidence-index.json --audit <output>/audit.json
  • Fehler: Es wird nichts geschrieben. Korrigieren Sie audit.json und führen Sie es erneut aus, bis es erfolgreich ist. Umgehen Sie die Prüfungen nicht.
  • Erfolg: Das Skript überschreibt audit.json mit summary, structure_warnings und finding_ids (F-001, F-002, … in Berichtsreihenfolge) und schreibt report.md daneben. Die Berichtssprache folgt den Folien; übergeben Sie --lang zh oder --lang en, wenn der Nutzer eine andere Sprache wünscht.

Teilen Sie dem Nutzer abschließend mit, wo der Bericht liegt, die Zusammenfassungszahlen und die wichtigsten Probleme in einigen Zeilen. Fügen Sie nicht den gesamten Bericht ein.

Bei ungewöhnlichen Eingaben

  • Unleserliches Bild: Extrahieren Sie, was Sie mit low-Sicherheit können, erwähnen Sie die Seite im reason der betroffenen Befunde und teilen Sie dies dem Nutzer mit; erfinden Sie keine Inhalte.
  • Der Baum deckt Material ab, das nicht in den Bildern ist (z. B. wurden nur einige Folien bereitgestellt): Melden Sie diese Elemente als unsupported-expansion und teilen Sie dem Nutzer mit, dass fehlende Seiten die Ursache sein können.
  • Sehr große Foliensammlungen oder Bäume: Arbeiten Sie in Schritt 2 Seite für Seite und in Schritt 4 Knoten für Knoten, und schreiben Sie die Ergebnisse während der Arbeit in die Dateien, anstatt alles im Kopf zu behalten.

Verwandte Skills