init
This commit is contained in:
87
LEKTIONEN.md
Normal file
87
LEKTIONEN.md
Normal file
@@ -0,0 +1,87 @@
|
||||
# Lektionen-Herkunft creator3
|
||||
|
||||
Basis: `../creator2/LEKTIONEN.md` (83 bezahlte Lektionen aus creator/creator2).
|
||||
Übernommen als Anforderungen: 1-6, 10, 12-37, 40, 42-49, 52-83 + die vier
|
||||
Meta-Regeln. Entfallen (CLI-/PDF-/uni-spezifisch): 7-9, 11, 38-39, 41, 51.
|
||||
Lektion 50 (API statt CLI) ist die Gründungsentscheidung von creator3.
|
||||
|
||||
## Neue Lektionen aus der creator2-Analyse (2026-07-22)
|
||||
|
||||
84. **Budget default AN** — creator2s „hartes" Budget war per Default 0=aus und
|
||||
in allen Echtläufen abgeschaltet. creator3: `RUN_BUDGET_TOKENS=10M` Default
|
||||
(config.py), Prüfung VOR und NACH jedem Call (llm.py).
|
||||
85. **Gates überall hart, nicht nur beim Korpus** — creator2 gatete nur E0;
|
||||
E1-E4 stiegen bei Stillstand trotzdem auf. creator3: jede Stufe hat ein
|
||||
Gate-Knoten, rot ohne Fortschritt (Fingerprint 2× identisch) → PAUSE
|
||||
(engine.py `_gate_abschluss`).
|
||||
86. **Dopplung inhaltlich prüfen, nicht nur Marker** — creator2 garantierte nur
|
||||
Marker-Einmaligkeit. creator3: Satzpaar-Jaccard über Section-Grenzen +
|
||||
Panel „redundant vs. didaktisch gewollt" (redundanz.py), Fix ersetzt durch
|
||||
Ein-Satz-Refresher + Anker-Link.
|
||||
87. **Akronym↔Langform explizit als Dedup-Kanal** — Lektion 28 war in creator2
|
||||
nie umgesetzt; Cosinus/Jaccard sehen „HTTP"↔„Hypertext Transfer Protocol"
|
||||
nicht (dedup.py `_kanal`, textkit.py `ist_akronym_von`).
|
||||
88. **Nach der Soll-Zuordnung einmal nachdeduplizieren** — der
|
||||
Gleicher-Soll-Punkt-Kanal kann erst feuern, wenn soll_ids gesetzt sind;
|
||||
Dedup vor Zuordnung allein übersieht Synonym-Paare (inventar.gate).
|
||||
89. **Engine denkt in Topics, nicht in Runs** — Tasks/Gates sind topic-scoped;
|
||||
ein neuer Run auf fertigem Topic ist ein No-Op (Resume-Test: 0 Events).
|
||||
|
||||
## Lektionen aus Echtlauf 1 (Pomodoro, 2026-07-22: 353 Soll-Punkte, 2789 Atome,
|
||||
## 5,4M Tokens für ein Mini-Thema)
|
||||
|
||||
90. **Soll-Band ist Pflicht, nicht Deko** — ohne Ziel ≈ √Kandidaten bestätigt
|
||||
der Konsens jeden Mikro-Punkt mit 2 Blog-Belegen; alles danach skaliert mit
|
||||
(korpus.soll_konsens: Band + 2. Faltungs-Pass).
|
||||
91. **Websuche braucht Deckel UND Relevanz-Urteil** — 36 Queries × 8 Treffer
|
||||
luden 195 Quellen inkl. App-Werbelisten (128 Atome!). Jetzt: QUELLEN_MAX=24,
|
||||
Wikipedia zuerst, Kurz-Judge filtert Listen/Shops (suche._relevanz_filter).
|
||||
92. **Extraktion belegnah, nicht flächendeckend** — ganze Quellen × 2 Reader
|
||||
ergab 1135 Atome ohne Soll-Bezug. Jetzt: nur ±4k-Fenster um Soll-Belege;
|
||||
Quellen ohne Beleg liefern keine Atome (korpus.gate).
|
||||
93. **Vollständigkeit braucht einen Gegenspieler: Verdichtung** — Ziel ist das
|
||||
minimale Abdeckungs-Set („Entfernen eines Atoms erzeugt eine Lücke").
|
||||
Sammeln allein produziert Splitter (582 Atome, 51k-Wörter-Guide). Jetzt:
|
||||
Verdichtungs-Knoten je Soll-Punkt (Panel-Schnitt, Fusion vererbt Anker —
|
||||
Abdeckung bleibt), Granularitäts-Regel im Extraktor, Beleg-Abdeckung als
|
||||
Kennzahl. Writer-Input als Prosa statt Feldern (TITEL:-Leak, 41 Sections).
|
||||
94. **Befunde brauchen Identität über Runden** — llm_pruefung fügte denselben
|
||||
Befund jede Runde als neue Zeile ein; die Eskalations-Kette (geklaert-Flag)
|
||||
startete endlos von vorn. Jetzt: Dedupe über (art, item, detail-Kern),
|
||||
finale Zustände (freispruch/eskaliert) blocken Wiedereintrag UND Live-Checks
|
||||
(guide.befund_merken). Und: Beifang-Atome ohne Soll-Bezug werden nach der
|
||||
Zuordnung verworfen — sonst 90 Ballast-Atome → 8 Sammelziele → 32 Bausteine.
|
||||
95. **Verweis heißt Prosa, nicht Link** — „Verweis statt Wiederholung" mit
|
||||
Anker-Links erzeugte Sprung-Zwang und Link-Flut (Gutachten: Leser will
|
||||
linear lesen). Jetzt: Rückbezug = Halbsatz ohne Link; det-Checks
|
||||
link_im_text/atom_echo/h_ebene erzwingen es; Fettzeilen-Echo (Atom-Input
|
||||
wörtlich + Paraphrase) war die Haupt-Dopplungsquelle.
|
||||
96. **Abdeckung heißt Beleg-Stellen, nicht Punkte** — ein Atom je Soll-Punkt
|
||||
genügte formal, ließ aber Facetten aus (Namensherkunft fehlte trotz 7
|
||||
Belegen). Jetzt: Facetten-Gate — jede Beleg-Stelle braucht ein Atom im
|
||||
±4k-Umkreis, sonst gezielte Fenster-Nachextraktion (Cap 2, dann
|
||||
eskaliert). Wikipedia läuft über die Action-API statt robots-blockierter
|
||||
HTML-Seiten.
|
||||
97. **Redundanz braucht Phrasen- und Zahlen-Kanäle** — Satz-Jaccard 0,6 übersah
|
||||
identische Phrasen in längeren Sätzen („Ich melde mich in 20 Minuten" 3×)
|
||||
und dieselbe Studie in Paraphrase (a20≈a78). Jetzt: 5-Wort-Shingle-Kanal
|
||||
(redundanz.py), Zahlen+Eigennamen-Signatur als Dedup-Kanal (dedup.py),
|
||||
Urteil „enthalten" merged Teilmengen-Atome, Ziel-Dedup fängt synonyme
|
||||
Lernziele („einordnen"/„verorten" → Doppel-Bausteine → Writer-Echos).
|
||||
98. **Kuratierte Quelle = 1 Beleg genügt** — das ≥2-Belege-Band schützte vor
|
||||
Blog-Halluzination, warf aber Einzelquellen-Facetten weg (Overflow-
|
||||
Pomodoros nur in Wikipedia). Jetzt: Wikipedia-Beleg bestätigt allein
|
||||
(SOLL_MIN_BELEGE_WIKI); Wikipedia wird geseedet statt ersucht und läuft
|
||||
MIT durch den Relevanz-Judge („Pasta"/„Xinjiang" wurden geladen).
|
||||
99. **Takt statt Breite** — die Parallel-Drossel (12 gleichzeitig) begrenzte
|
||||
das Falsche: Rate-Limits zählen Starts pro Minute, nicht offene
|
||||
Verbindungen (0×429 in 5k Calls). Jetzt: 1 Call-Start je TAKT_SEKUNDEN
|
||||
(llm._slot), Knoten-Klassen bündeln kurze Aufgaben (lang=1, mittel=3,
|
||||
kurz=10 Tasks je Call, engine._buendel_claimen + Ergebnis.teil_status).
|
||||
100. **Bündel-Item-Retry statt Verwerfen** — fehlt ein Item in einer
|
||||
Bündel-Antwort, geht NUR sein Task auf „neu" (versuch+1, dann sichtbar
|
||||
„fehler"); Skills erzwingen je Item einen Block (OK/LEER/NICHTS als
|
||||
explizites Nichts). Dedup: fehlende Paar-Urteile → EIN Nach-Call, danach
|
||||
parse-Befund statt stiller „verwandt"-Kante. Stille None-Pfade
|
||||
(kapitel_intro, lernziele, bausteine, anker_fix, luecke) sind jetzt
|
||||
Raise → Task-Retry. Stille Fehler sind NIE erlaubt.
|
||||
Reference in New Issue
Block a user