This commit is contained in:
team3
2026-07-10 15:43:11 +02:00
commit 0a41166cca
72 changed files with 7772 additions and 0 deletions

16
templates/Artefakt-Fix.md Normal file
View File

@@ -0,0 +1,16 @@
<!-- template:Artefakt-Fix -->
Dieses Artefakt (Typ {typ}) hat Mängel. Behebe sie in EINEM Durchgang.
ARTEFAKT:
{artefakt}
MÄNGEL:
{maengel}
BELEGE (einzige erlaubte Faktenbasis — nichts erfinden):
{belege}
Antworte NUR mit JSON (keine Code-Fences). Für flashcard:
{{"frage": "…", "antwort": "…"}}
Für beispiel:
{{"text": "…"}}

View File

@@ -0,0 +1,26 @@
<!-- template:Artefakt-Generate -->
Unten Atome eines Lernthemas (Titel, Definition, Beleg-Zitate).
Erzeuge pro Atom:
- 2 Flashcards (typ "flashcard"): eine Frage + präzise Antwort. Die Antwort stützt sich
NUR auf Definition und Belege — nichts erfinden, nicht neu recherchieren.
- 1 Worked Example (typ "beispiel", Feld "text"): ein EINFACHES durchgerechnetes
Beispiel — die kleinste Instanz, die das Atom klärt. Keine mehrstufigen oder
verschachtelten Konstruktionen. Alle Werte/Aussagen müssen aus den Belegen ableitbar
sein. Wenn die Belege KEIN sinnvolles einfaches Beispiel hergeben, weglassen.
Regeln:
- Atom-ids wörtlich übernehmen, keine erfinden, keine Atome auslassen (außer Beispiel s. o.).
- Fragen müssen aus der Antwort heraus fair beantwortbar sein (keine Fangfragen,
keine Rezitation exakter Formulierungen verlangen).
- SELBSTSTÄNDIGKEIT: Jede Karte muss ohne die Quelle funktionieren. Wörter wie
„Beleg", „Quelle", „Musterlösung", „Skript", „Aufgabe 3" sind verboten. Die Frage
fragt Wissen ab („Was ist X?", „Warum gilt Y?"), nie was in einem Text steht,
erwähnt oder gestellt wird.
ATOME:
{atome}
Antworte NUR mit JSON (keine Code-Fences, keine Prosa, KEINE Datei):
[{{"atom": 12, "typ": "flashcard", "frage": "…", "antwort": "…"}},
{{"atom": 12, "typ": "beispiel", "text": "…"}}]

View File

@@ -0,0 +1,18 @@
<!-- template:Artefakt-Verify -->
Unten Artefakte (Flashcards/Beispiele) mit den Beleg-Zitaten ihres Atoms.
Prüfe jedes Artefakt GEGEN DIE BELEGE:
- ok=false, wenn eine Aussage den Belegen widerspricht oder nicht aus ihnen ableitbar ist.
- ok=false, wenn die Frage aus der Antwort heraus nicht fair beantwortbar ist.
- ok=false, wenn Frage oder Antwort auf Beleg, Quelle, Musterlösung oder einen
Aufgabenkontext verweist — Karten müssen ohne den Quelltext selbstständig
funktionieren und Wissen abfragen, nicht Textinhalte.
- Formulierungsgeschmack ist KEIN Mangel — inhaltlich korrekt in anderen Worten zählt voll.
- Bei ok=false: „mangel" = ein konkreter, behebbarer Satz.
- Antworte für JEDES Artefakt (id wörtlich übernehmen).
ARTEFAKTE:
{artefakte}
Antworte NUR mit JSON (keine Code-Fences):
[{{"artefakt": 5, "ok": true, "mangel": ""}}]

View File

@@ -0,0 +1,17 @@
<!-- template:Atom-Anker-Fix-Batch -->
Unten Atome ohne Quellen-Anker (Format „id: titel — definition") und ein Quelltext-Abschnitt.
Suche für JEDES Atom die Passage im Abschnitt, die es belegt, und kopiere sie
WÖRTLICH (exakt, Zeichen für Zeichen, 540 Wörter). Regeln:
- Nur melden, wenn die Passage das Atom wirklich belegt. Steht ein Atom nicht in
diesem Abschnitt: weglassen.
- Nichts paraphrasieren, nichts erfinden. Ids wörtlich übernehmen.
ATOME:
{atome}
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences):
[{{"atom": 12, "zitat": "…"}}]

View File

@@ -0,0 +1,12 @@
<!-- template:Atom-Anker-Fix -->
Atom: „{titel}" — {definition}
Suche im QUELLTEXT unten die Passage, die dieses Atom belegt, und kopiere sie
WÖRTLICH (exakt, Zeichen für Zeichen, 540 Wörter). Wenn der Text das Atom
NICHT enthält: leeres Zitat. Nichts paraphrasieren.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences):
{{"zitat": "…"}}

View File

@@ -0,0 +1,25 @@
<!-- template:Atom-Extraktion-Aufgaben -->
Thema: „{topic}". Quelle: „{quelle}" — eine AUFGABENSAMMLUNG (Übungen/Klausuren).
Extrahiere die GEÜBTEN KONZEPTE, nicht die Aufgaben. Für jede Aufgabe im Quelltext:
Welches Konzept/Verfahren/welche Aussage wird hier geprüft? DAS wird das Atom.
Regeln:
- „titel"/„definition": das Konzept ALLGEMEIN, destilliert — OHNE Instanzdetails der
Aufgabe (konkrete Zahlen, erfundene Namen, Story-Verkleidungen, Punktzahlen).
Beispiel: Die Aufgabe „Zeigen Sie, dass Problem X mit deg ≥ 42 einen Hamiltonkreis…"
ergibt das Atom „NP-Vollständigkeit des Hamiltonkreis-Problems" — nie „X mit deg ≥ 42".
- Aufgabeninstanzen, Aufgabennummern, Punktzahlen sind KEINE Atome und gehören in
kein Feld außer dem Zitat.
- „typ": begriff | aussage | verfahren. „level": E | M | S.
- „zitat": die Aufgabenstelle WÖRTLICH kopiert (540 Wörter) — sie ist der Beleg,
dass dieses Konzept geübt wird.
- Prüft eine Aufgabe mehrere Konzepte, wird jedes ein eigenes Atom.
- Arbeite AUSSCHLIESSLICH mit dem Quelltext, nichts erfinden.
- „braucht": Titel anderer Atome DIESES Auszugs, die Voraussetzung sind. Leer, wenn keine.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences, keine Prosa, KEINE Datei):
[{{"titel": "…", "typ": "aussage", "definition": "…", "zitat": "…", "level": "M", "braucht": []}}]

View File

@@ -0,0 +1,27 @@
<!-- template:Atom-Extraktion -->
Thema: „{topic}". Quelle: „{quelle}".
Extrahiere aus dem QUELLTEXT unten ALLE Atome. Ein Atom ist die kleinste eigenständig
lernbare Einheit, mit Typ:
- **begriff** — eine Definition (z. B. „DFA")
- **aussage** — Satz, Lemma, Eigenschaft (z. B. „Pumping-Lemma")
- **verfahren** — Schritt-für-Schritt-Methode (z. B. „Potenzmengenkonstruktion")
Test: Kann man es einzeln abprüfen? Dann Atom. Beispiele und Übungsaufgaben sind
KEINE Atome. Regeln:
- Arbeite AUSSCHLIESSLICH mit dem Quelltext. Kein externes Wissen, keine Websuche, nichts erfinden.
- „titel": Konzeptname aus den Begriffen der Quelle. Katalognummern („Satz 7.13") sind
KEIN Titel; kein Lehrbuch-Oberbegriff, der nicht im Text steht.
- „definition": 12 Sätze, eigenständig verständlich (dient später dem Dubletten-Vergleich).
- „zitat": die Kernpassage WÖRTLICH aus dem Quelltext kopiert (exakt, Zeichen für Zeichen,
540 Wörter). Ohne wörtliches Zitat kein Atom.
- „level": E (Einstieg) | M (Mittel) | S (Schwer).
- „braucht": Titel anderer Atome DIESES Auszugs, die man vorher verstanden haben muss
(nur echte Voraussetzungen, keine bloße Verwandtschaft). Leer, wenn keine.
- Vollständigkeit zählt: JEDES lernbare Konzept des Auszugs wird ein Atom.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences, keine Prosa, KEINE Datei):
[{{"titel": "…", "typ": "begriff", "definition": "…", "zitat": "…", "level": "M", "braucht": []}}]

14
templates/Atom-Luecke.md Normal file
View File

@@ -0,0 +1,14 @@
<!-- template:Atom-Luecke -->
Soll-Punkt ohne Atome: „{punkt}". Quelle: „{quelle}".
Der QUELLTEXT unten enthält die Belegstelle dieses Punkts. Extrahiere die Atome
(kleinste lernbare Einheiten) GENAU ZU DIESEM PUNKT. Gleiche Regeln wie immer:
- typ: begriff | aussage | verfahren. Beispiele/Aufgaben sind keine Atome.
- „zitat": Kernpassage WÖRTLICH kopiert (540 Wörter). Ohne wörtliches Zitat kein Atom.
- Nur was im Text steht, nichts erfinden. Keine Katalognummern als Titel.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences):
[{{"titel": "…", "typ": "begriff", "definition": "…", "zitat": "…"}}]

18
templates/Atom-Merge.md Normal file
View File

@@ -0,0 +1,18 @@
<!-- template:Atom-Merge -->
Unten Paare von Atomen (je Titel, Definition, Beleg-Zitat aus der Quelle).
Entscheide pro Paar: Meinen A und B EXAKT dasselbe Konzept (gleich=true) oder nicht
(gleich=false)? Regeln:
- Vergleiche die BELEGE und Definitionen, nicht die Titelwörter.
- gleich=true NUR bei identischem Gegenstand. Verwandt, Teilaspekt, Spezialfall,
gleiche Aussage über verschiedene Objekte (z. B. Pumping-Lemma regulär vs. kontextfrei),
umgekehrte Richtung einer Beziehung → gleich=false.
- Ein falscher Merge zerstört Information; eine stehengebliebene Dublette ist harmlos.
IM ZWEIFEL gleich=false.
- Antworte für JEDES Paar.
PAARE:
{paare}
Antworte NUR mit JSON (keine Code-Fences):
[{{"paar": 1, "gleich": false}}]

View File

@@ -0,0 +1,13 @@
<!-- template:Atom-Soll-Stich -->
Atom: „{titel}" — {definition}
Beleg aus der Quelle: {beleg}
SOLL-PUNKTE (Format „id: punkt"):
{soll}
Stichentscheid: Gehört dieses Atom zum Thema? Wenn ja, nenne die id des passendsten
Soll-Punkts. Wenn es wirklich themenfremd ist: "fremd". Du MUSST entscheiden.
Der Beleg zeigt, dass es im Material steht — Zweifel sprechen für Zuordnung, nicht für fremd.
Antworte NUR mit JSON (keine Code-Fences):
{{"soll": 3}} oder {{"soll": "fremd"}}

View File

@@ -0,0 +1,15 @@
<!-- template:Atom-Soll-Zuordnung -->
SOLL-PUNKTE (Format „id: punkt"):
{soll}
ATOME (Format „id: titel — definition"):
{atome}
Ordne JEDES Atom genau EINEM Soll-Punkt zu (dem thematisch passendsten).
Regeln:
- Nur die ids oben verwenden, keine erfinden.
- Passt wirklich KEIN Punkt (Atom ist themenfremd), setze "soll": 0.
- Antworte für jedes Atom.
Antworte NUR mit JSON (keine Code-Fences):
[{{"atom": 12, "soll": 3}}]

28
templates/Guide-Fix.md Normal file
View File

@@ -0,0 +1,28 @@
<!-- template:Guide-Fix -->
Überarbeite diese Guide-Section in EINEM Durchgang unter ALLEN Aufträgen unten.
AUFTRÄGE:
{auftraege}
FAKTENBASIS (einzige Wahrheit; zitierte Fakten wörtlich):
{fakten}
SECTION (kompakt):
{kompakt}
SECTION (lang):
{lang}
Regeln:
- Alle Marker-Zeilen (<!-- atom: … -->) EXAKT erhalten bzw. fehlende exakt einfügen —
je Atom genau eine, unsichtbar, keine Überschrift.
- Struktur erhalten: `####`-Zwischenüberschriften, „**Kernpunkte:**"- und
„**Prüfe dich:**"-Block am Ende; andere Überschriften-Ebenen bleiben verboten.
- Mathe in KaTeX (`$…$` / `$$…$$`) setzen bzw. belassen.
- Nur die beauftragten Stellen ändern; den Rest wörtlich erhalten.
- Frei und didaktisch formulieren (Deutsch); jede Zahl/Behauptung muss aus der
Faktenbasis ableitbar sein. Keine Aufgabennummern/Punktzahlen/„Zeigen Sie…".
- Nichts erfinden; Korrekturen ausschließlich aus der Faktenbasis.
Antworte NUR mit JSON (keine Code-Fences):
{{"kompakt": "…", "lang": "…"}}

View File

@@ -0,0 +1,32 @@
<!-- template:Guide-Pruefer -->
Prüfe diese Guide-Section in EINEM Durchgang. Lernziel: {ziel}
FAKTENBASIS (einzige Wahrheit — Definitionen + wörtliche Belege):
{fakten}
SECTION (kompakt):
{kompakt}
SECTION (lang):
{lang}
Prüfe:
1. FAKTEN: Jeder inhaltliche Claim (Zahl, Name, Behauptung) muss aus der Faktenbasis
ABLEITBAR sein. Widerspruch oder klar Erfundenes → art "falsch". Freie, sinngemäße
Formulierung ist ausdrücklich ERWÜNSCHT und kein Befund — der Text soll lehren,
nicht abschreiben. Belegte/korrekte Claims NICHT auflisten.
2. COVERAGE: Fehlt ein Atom-Inhalt, sodass das Lernziel nicht erreichbar ist → art "luecke".
3. LESBARKEIT: Grobe Mängel (Gedankensprünge, unerklärte Fachbegriffe, fremdsprachige
Passagen, Aufgaben-Metadaten wie Aufgabennummern/Punktzahlen/„Zeigen Sie…") →
art "stil", als konkreter, behebbarer Auftrag. Geschmack ist kein Befund.
4. SELBSTSTÄNDIGKEIT: Der Text verweist auf seine Quellen („laut/gemäß Beleg",
„im Skript", „aus der Hausaufgabe/Präsenzaufgabe bekannt", „die Quelle
betrachtet…") → art "stil". Der Leser kennt keine Quellen; solche Verweise
sind durch die Aussage selbst zu ersetzen. Normale Wendungen wie „ein Beleg
dafür, dass" (= Nachweis) sind KEIN Befund.
„detail" = ein Satz, der den Befund für einen Fix-Agenten eindeutig macht.
Keine Befunde → leere Liste.
Antworte NUR mit JSON (keine Code-Fences):
{{"befunde": [{{"art": "falsch", "detail": "…"}}]}}

53
templates/Guide-Writer.md Normal file
View File

@@ -0,0 +1,53 @@
<!-- template:Guide-Writer -->
Schreibe EINE Guide-Section für den Baustein „{titel}".
Lernziel: {ziel}
Unten die Atome mit Marker, Definition, Belegen, ggf. Beispiel und Fragen-Pool.
Regeln (hart):
1. LEHREN, NICHT ABSCHREIBEN: Formuliere frei und didaktisch in eigenen Worten —
Lehrbuchton, auf Deutsch (fremdsprachige Belege sinngemäß übersetzen). Die
Faktenbasis unten ist die einzige Quelle der Wahrheit: Jede Zahl, jeder Name,
jede Behauptung muss aus ihr ABLEITBAR sein. Nichts erfinden, nichts
dazurecherchieren — ein Fakten-Gate prüft jeden Claim.
Aufgaben-Metadaten sind im Lehrtext VERBOTEN: keine Aufgabennummern, Punktzahlen,
„Zeigen Sie…"-Formulierungen, keine Story-Verkleidungen aus Übungsaufgaben.
KEINE Blockquotes („>"): Belege nie wörtlich einblocken — Inhalt gehört in
eigenen Worten in den Fließtext.
Der Text darf seine Quellen NIE erwähnen: kein „laut Beleg", „gemäß dem Beleg",
„im Skript", „aus der Hausaufgabe bekannt" — der Leser kennt keine Quellen,
der Text steht für sich.
2. MARKER: Übernimm für jedes Atom seine Marker-Zeile EXAKT wie angegeben, direkt vor
dem Absatz, der das Atom behandelt. Der Marker ist eine unsichtbare Schnittstelle,
KEINE sichtbare Überschrift. Jeder Marker genau einmal. Kein Atom auslassen.
3. STRUKTUR von „lang" (in dieser Reihenfolge):
- Erster Satz direkt zur Sache — kein Vorgeplänkel, keine Motivation-Floskeln.
- Absätze GLEICHMÄSSIG kurz: 4090 Wörter. Nie über ~110 Wörter — dann teilen.
- Je Konzept eine `####`-Zwischenüberschrift (Inhaltsaussage, nicht nur Stichwort) —
nur bei echtem Konzeptwechsel, nicht nach jedem zweiten Absatz.
Andere Überschriften-Ebenen (#, ##, ###) sind VERBOTEN.
- Atom-Reihenfolge einhalten (sie ist didaktisch sortiert). EINFACHE Beispiele an
der passenden Stelle einweben, wo sie das Atom klären — kleinste sinnvolle
Instanz, Werte müssen aus der Faktenbasis ableitbar sein. Komplexe oder
mehrstufige Beispiele weglassen oder auf ihren Kern vereinfachen.
- Kohäsion: Jeder Absatz knüpft explizit an den vorigen an (Konnektor oder
Übergangssatz). Fachbegriffe konsistent wiederverwenden — keine Synonym-Variation.
- Abschluss: „**Kernpunkte:**" mit 35 Stichpunkten (nur Verdichtung, KEINE neuen
Formulierungen) und „**Prüfe dich:**" mit genau 2 Fragen aus dem FRAGEN-POOL
(wörtlich übernehmen, ohne Antworten).
4. MATHE: Mathematische Ausdrücke in KaTeX setzen: inline `$…$`, abgesetzt `$$…$$`
(z. B. `$0^{{2n}}1^{{2n}}$` statt roher Notation). NIE nackte LaTeX-Befehle
ohne Delimiter in den Fließtext (`\leq`, `\text{{…}}`, Mengenklammern brauchen
IMMER umschließende `$…$`) — ohne Delimiter rendert nichts.
5. LÄNGE: „lang" hat {min_woerter}{max_woerter} Wörter. Die Obergrenze ist ein HARTES
Limit, kein Zielwert. Minimal schlägt ausführlich: jeder Satz zahlt aufs Lernziel
ein, kein Fülltext, keine Wiederholungen.
6. „kompakt": 23 Stichpunkte (Markdown-Liste) — Verdichtung der Section, KEINE
Paraphrase, keine Marker.
7. Keine Vorgriffe auf Stoff, der nicht in den Atomen unten steht.
ATOME:
{atome}
Antworte NUR mit JSON (keine Code-Fences, keine Prosa, KEINE Datei):
{{"kompakt": "…", "lang": "…"}}

View File

@@ -0,0 +1,12 @@
<!-- template:Kanten-Zyklus -->
Der Voraussetzungs-Graph enthält einen Zyklus (unten die Kanten, Format
„von→zu: X braucht Y").
Wähle die SCHWÄCHSTE Kante — die, deren Voraussetzungs-Behauptung am wenigsten
zwingend ist (eher Verwandtschaft als echte Voraussetzung). Genau eine.
ZYKLUS:
{kanten}
Antworte NUR mit JSON (keine Code-Fences), mit den ids der gewählten Kante:
{{"von": 12, "zu": 7}}

View File

@@ -0,0 +1,17 @@
<!-- template:Kapitel-Intro -->
Schreibe einen Advance Organizer für das Guide-Kapitel „{titel}".
Unten die Abschnitte des Kapitels (Titel: Lernziel).
Regeln:
- 24 Sätze: Was kommt in diesem Kapitel, wie hängen die Abschnitte zusammen,
worauf baut es auf.
- NUR Landkarte, KEINE Inhalte vorwegnehmen — nichts erklären, nichts definieren
(das wäre Redundanz zum Kapiteltext).
- Kein Vorgeplänkel, keine Motivation-Floskeln („In diesem spannenden Kapitel…").
ABSCHNITTE:
{bausteine}
Antworte NUR mit JSON (keine Code-Fences):
{{"intro": "…"}}

View File

@@ -0,0 +1,19 @@
<!-- template:Kapitel-Schnitt -->
Unten die BAUSTEINE eines Lern-Guides in ihrer endgültigen Lese-Reihenfolge
(Format „id: titel — lernziel").
Setze Kapitelgrenzen. Regeln:
- Ein Kapitel = ein zusammenhängendes Teilthema. Grenze dort, wo ein neues beginnt.
- Antworte mit EINER Zeile je Kapitel: "titel" plus "bis" = id des LETZTEN
Bausteins dieses Kapitels. Die Reihenfolge ist fix — du setzt nur Grenzen.
Das letzte "bis" muss die letzte id der Liste sein.
- Richtwert: etwa {richtwert} Kapitel — weiche ab, wo Themenwechsel es verlangen.
- „titel" = kurze Inhaltsaussage über ALLE Bausteine des Kapitels (kein
Baustein-Titel-Duplikat, keine Nummerierung).
{hinweis}
BAUSTEINE:
{bausteine}
Antworte NUR mit JSON (keine Code-Fences):
[{{"titel": "…", "bis": 12}}, {{"titel": "…", "bis": 27}}]

View File

@@ -0,0 +1,16 @@
<!-- template:Korpus-Recherche -->
Du bist Recherche-Agent für das Lernthema „{topic}". Deine Perspektive (Lens): **{lens}**.
- curriculum: Was lehren Universitäts-Curricula/Modulhandbücher zu diesem Thema?
- lehrbuch: Kapitelgliederungen + Kerninhalte der Standard-Lehrbücher.
- syllabus: Kurs-Syllabi/Vorlesungspläne realer Kurse.
- uebungen: Übungssammlungen/Aufgabentypen, die zu diesem Thema geübt werden.
Auftrag: Finde über die Websuche 23 hochwertige Quellen aus deiner Lens und extrahiere deren
INHALT (nicht nur Links): Gliederung, zentrale Begriffe, Aussagen, Verfahren — als
zusammenhängender Fließtext/Markdown, so wörtlich wie möglich an der Quelle.
Mindestens 500 Wörter Inhalt pro Quelle, sonst Quelle weglassen. Nichts erfinden —
nur was wirklich in der Quelle steht.
Antworte NUR mit JSON (keine Code-Fences, keine Prosa davor/danach, KEINE Datei schreiben):
[{{"titel": "…", "url": "…", "inhalt": "…"}}]

View File

@@ -0,0 +1,12 @@
<!-- template:Korpus-Soll-Beleg -->
Soll-Punkt: „{punkt}"
Suche im QUELLTEXT unten eine Passage, die diesen Punkt belegt. Wenn es eine gibt:
kopiere sie WÖRTLICH (exakt, 530 Wörter). Wenn der Text den Punkt NICHT behandelt:
leeres Zitat. Nichts paraphrasieren, nichts erfinden.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences):
{{"zitat": "…"}}

View File

@@ -0,0 +1,25 @@
<!-- template:Korpus-Soll-Konsens -->
Thema: „{topic}". Unten Soll-Punkt-KANDIDATEN aus verschiedenen Quellen (Format „id: punkt").
Gruppiere Kandidaten, die DASSELBE Teilthema meinen (Paraphrasen, Synonyme,
Acronym vs. Ausschreibung). Regeln:
- Du GRUPPIERST nur — ob ein Punkt bestätigt wird, entscheidet der Code (Quellenzählung).
- VOLLSTÄNDIGKEIT: JEDE Kandidaten-id muss genau einmal vorkommen — in einer
Themen-Gruppe oder in einer Ablehnungs-Gruppe. Nichts stillschweigend weglassen.
- Ablehnen ("abgelehnt": true + "grund") darfst du nur, was kein eigenständig
lernbares Teilthema ist: Meta-Überschriften („Einführung"), reine Aufgabeninstanzen.
- MINDESTENS {band} Punkte, nach oben offen — im Zweifel feiner trennen. Die Punkte
sind eine Prüf-CHECKLISTE („was gehört alles zum Thema"), keine Kapitel — jeder
Punkt muss einzeln belegbar und prüfbar sein.
- Verschiedene Teilthemen sind verschiedene Punkte: NICHT über-mergen. Ein Oberbegriff,
der mehrere lernbare Teilthemen verschluckt (z. B. „NP-Vollständigkeit" für zehn
einzelne Reduktionen), ist ein Fehler. Im Zweifel getrennt lassen.
- Ids wörtlich übernehmen, keine erfinden.
- „punkt" = die klarste Formulierung der Gruppe (aus den Kandidaten wählen, nicht neu erfinden).
{hinweis}
KANDIDATEN:
{kandidaten}
Antworte NUR mit JSON (keine Code-Fences):
[{{"punkt": "…", "kandidaten": [1, 2]}}, {{"abgelehnt": true, "grund": "…", "kandidaten": [3]}}]

17
templates/Korpus-Soll.md Normal file
View File

@@ -0,0 +1,17 @@
<!-- template:Korpus-Soll -->
Thema: „{topic}". Quelle: „{quelle}".
Extrahiere aus dem QUELLTEXT unten die Soll-Punkte: die prüfungsrelevanten Teilthemen,
die dieses Material zum Thema abdeckt. Ein Soll-Punkt ist ein kurzes Teilthema
(310 Wörter), kein ganzer Satz. Regeln:
- Arbeite AUSSCHLIESSLICH mit dem Quelltext unten. Kein externes Wissen, nichts erfinden.
- Zu jedem Punkt ein Beleg-Zitat: eine Passage WÖRTLICH aus dem Quelltext kopiert
(exakt, Zeichen für Zeichen, 530 Wörter). Ohne wörtlichen Beleg keinen Punkt melden.
- Katalognummern („Satz 7.13", „Kapitel 3") sind keine Punkte — der Inhalt zählt.
- Metadaten, Organisatorisches, Literaturlisten sind keine Soll-Punkte.
QUELLTEXT:
{text}
Antworte NUR mit JSON (keine Code-Fences, keine Prosa):
[{{"punkt": "…", "zitat": "…"}}]

20
templates/Lernziele.md Normal file
View File

@@ -0,0 +1,20 @@
<!-- template:Lernziele -->
Soll-Punkt: „{punkt}". Unten die Atome dieses Punkts (Format „id: titel — definition").
Backward Design: Formuliere Lernziele („Kann …") und ordne JEDES Atom genau einem
Ziel zu. Ein Ziel = eine didaktische Einheit, die man in einer Sitzung lernt.
Regeln:
- Ziele beschreiben Können, nicht Stoff („Kann reguläre Sprachen mit dem Pumping-Lemma
widerlegen", nicht „Pumping-Lemma").
- Atome, die man ZUSAMMEN lernt (Voraussetzungskette, gleicher Aufgabentyp), gehören
in EIN Ziel. Richtwert 48 Atome pro Ziel — kein hartes Limit, Kohärenz geht vor.
- Atom-ids wörtlich übernehmen, keine erfinden, jede id höchstens einmal.
- „titel": ein Kapitelname zum Ziel — 36 Wörter, Substantiv-Stil (z. B.
„Reduktion von SAT auf CLIQUE"), KEIN „Kann…"-Satz, keine Katalognummern.
{pflicht}
ATOME:
{atome}
Antworte NUR mit JSON (keine Code-Fences):
[{{"ziel": "Kann …", "titel": "…", "atome": [12, 13]}}]

View File

@@ -0,0 +1,13 @@
<!-- template:QA-Guide-Falsch-Check -->
Bestätigungs-Pass: Unten Verdachts-Claims (Format „nr: claim") und die Faktenbasis.
Entscheide pro Claim: Widerspricht er der Faktenbasis WIRKLICH (falsch=true)?
Sei streng gegen den Verdacht — nur ein klarer Widerspruch zählt. Antworte für jeden Claim.
FAKTENBASIS:
{fakten}
CLAIMS:
{claims}
Antworte NUR mit JSON (keine Code-Fences):
[{{"claim": 1, "falsch": false}}]

View File

@@ -0,0 +1,14 @@
<!-- template:QA-Guide-Falsch -->
Unabhängiges Audit: Finde in der Guide-Section unten Claims, die der Faktenbasis
WIDERSPRECHEN (fachlich falsch). Nur echte Widersprüche — fehlende Belegung allein
ist kein Befund, Formulierungsvarianten sind keiner. Zitiere den Claim wörtlich.
Keine Funde → leere Liste.
FAKTENBASIS:
{fakten}
SECTION:
{text}
Antworte NUR mit JSON (keine Code-Fences):
[{{"claim": "…"}}]

View File

@@ -0,0 +1,14 @@
<!-- template:Soll-Abgedeckt -->
Soll-Punkt: „{punkt}"
Vorhandene Atome des Themas:
{atome}
Gezielte Nachextraktion hat für diesen Punkt keine eigenen Atome gefunden.
Entscheide: Ist der Punkt durch die vorhandenen Atome INHALTLICH bereits abgedeckt
(z. B. weil er ein Ober-/Unterthema eines anderen Punkts ist)?
- abgedeckt=true nur, wenn die Atome den Punkt wirklich tragen.
- abgedeckt=false, wenn hier tatsächlich Stoff fehlt.
Antworte NUR mit JSON (keine Code-Fences):
{{"abgedeckt": false}}