131 lines
9.8 KiB
YAML
131 lines
9.8 KiB
YAML
# Pipeline-Graph creator3. Stufen strikt seriell; innerhalb einer Stufe fließt
|
|
# der Graph frei. Gates schließen ihre Stufe ab (deterministisch, hart).
|
|
# kanten.art: normal (DAG-Pflicht) | reparatur | ruecklauf (nur von Gates).
|
|
stufen: [korpus, inventar, struktur, guide, montage]
|
|
|
|
knoten:
|
|
- {id: recherche_plan, typ: llm, worker: korpus.recherche_plan, stufe: korpus,
|
|
titel: "Recherche-Plan", beschreibung: "Plant die Suchanfragen zum Thema",
|
|
skills: [planer, deutsch-praezise, recherche-plan], max_parallel: 16, timeout: [60, 20]}
|
|
- {id: suche, typ: system, worker: suche.suchen, stufe: korpus, max_parallel: 4,
|
|
titel: "Websuche", beschreibung: "Sucht Quellen im Web"}
|
|
- {id: laden, typ: system, worker: laden.laden, stufe: korpus, max_parallel: 4,
|
|
titel: "Quellen laden", beschreibung: "Lädt Quellen, friert den Text ein, beurteilt Nützlichkeit",
|
|
extra_skills: {urteil: [richter, deutsch-praezise, quellen-urteil]}}
|
|
- {id: soll_extraktion, typ: llm, worker: korpus.soll_extraktion, stufe: korpus,
|
|
titel: "Soll-Punkte sammeln", beschreibung: "Zieht aus jeder Quelle, was der Guide abdecken soll",
|
|
skills: [extraktor, deutsch-praezise, soll-extraktion], max_parallel: 16, klasse: mittel, timeout: [180, 60]}
|
|
- {id: soll_konsens, typ: llm, worker: korpus.soll_konsens, stufe: korpus,
|
|
titel: "Soll-Konsens", beschreibung: "Fasst gleiche Punkte zusammen, bestätigt wörtlich belegte",
|
|
skills: [richter, deutsch-praezise, soll-konsens], barriere: true, timeout: [240, 2]}
|
|
- {id: gate_korpus, typ: gate, worker: korpus.gate, stufe: korpus,
|
|
titel: "Gate Korpus", beschreibung: "Prüft Quellen und Soll, lässt sonst nachsuchen",
|
|
runden_max: 4}
|
|
|
|
- {id: atom_extraktion, typ: llm, worker: inventar.atom_extraktion, stufe: inventar,
|
|
titel: "Atome extrahieren", beschreibung: "Holt die kleinsten Lerneinheiten aus den Quellen",
|
|
skills: [extraktor, deutsch-praezise, atom-extraktion], max_parallel: 16, klasse: mittel, timeout: [240, 60]}
|
|
- {id: anker_fix, typ: llm, worker: inventar.anker_fix, stufe: inventar,
|
|
titel: "Anker reparieren", beschreibung: "Repariert Zitate, die nicht zur Quelle passen",
|
|
skills: [extraktor, deutsch-praezise, anker-fix], max_parallel: 16, timeout: [180, 4]}
|
|
- {id: dedup, typ: llm, worker: dedup.dedup, stufe: inventar,
|
|
titel: "Dubletten-Urteil", beschreibung: "Findet doppelte Atome und verschmilzt sie",
|
|
skills: [richter, deutsch-praezise, dedup-urteil], barriere: true, klasse: kurz, timeout: [120, 8]}
|
|
- {id: soll_zuordnung, typ: llm, worker: inventar.soll_zuordnung, stufe: inventar,
|
|
titel: "Soll-Zuordnung", beschreibung: "Ordnet jedes Atom einem Soll-Punkt zu",
|
|
skills: [richter, deutsch-praezise, soll-zuordnung], max_parallel: 16, klasse: kurz, timeout: [120, 3]}
|
|
- {id: luecke, typ: llm, worker: inventar.luecke, stufe: inventar,
|
|
titel: "Lücken füllen", beschreibung: "Extrahiert nach, wo Soll-Punkte ohne Atom sind",
|
|
skills: [extraktor, deutsch-praezise, luecke-nachextraktion], max_parallel: 16, klasse: mittel,
|
|
timeout: [180, 45], extra_skills: {freispruch: [richter, deutsch-praezise, luecke-freispruch]}}
|
|
- {id: verdichtung, typ: llm, worker: inventar.verdichtung, stufe: inventar,
|
|
titel: "Verdichtung", beschreibung: "Verschmilzt Splitter-Atome zum minimalen Set",
|
|
skills: [richter, deutsch-praezise, verdichtung], max_parallel: 16, klasse: kurz, timeout: [180, 0]}
|
|
- {id: gate_inventar, typ: gate, worker: inventar.gate, stufe: inventar,
|
|
titel: "Gate Atome", beschreibung: "Prüft Abdeckung und Dubletten, stößt Reparaturen an",
|
|
runden_max: 8}
|
|
|
|
- {id: lernziele, typ: llm, worker: struktur.lernziele, stufe: struktur,
|
|
titel: "Lernziele", beschreibung: "Formuliert Lernziele aus den Atomen",
|
|
skills: [planer, deutsch-praezise, lernziele], max_parallel: 16, klasse: kurz, timeout: [120, 3]}
|
|
- {id: bausteine, typ: llm, worker: struktur.bausteine, stufe: struktur,
|
|
titel: "Bausteine", beschreibung: "Bündelt Atome je Lernziel zu Bausteinen",
|
|
skills: [planer, deutsch-praezise, bausteine], max_parallel: 16, timeout: [120, 3]}
|
|
- {id: ordnung, typ: llm, worker: struktur.ordnung, stufe: struktur,
|
|
titel: "Reihenfolge", beschreibung: "Bringt Bausteine in Lernreihenfolge und Kapitel",
|
|
skills: [planer, deutsch-praezise, ordnung], barriere: true, timeout: [180, 3],
|
|
extra_skills: {schnitt: [planer, deutsch-praezise, themen-schnitt]}}
|
|
- {id: gate_struktur, typ: gate, worker: struktur.gate, stufe: struktur,
|
|
titel: "Gate Struktur", beschreibung: "Prüft die Gliederung, lässt Bausteine nachbessern"}
|
|
|
|
- {id: writer, typ: llm, worker: guide.writer, stufe: guide,
|
|
titel: "Schreiben", beschreibung: "Schreibt eine Guide-Section je Baustein",
|
|
skills: [autor, deutsch-praezise, guide-lesbarkeit, darstellung, writer], max_parallel: 16, timeout: [420, 0]}
|
|
- {id: kapitel_intro, typ: llm, worker: guide.kapitel_intro, stufe: guide, max_parallel: 16,
|
|
titel: "Kapitel-Intros", beschreibung: "Schreibt die Einleitung je Kapitel",
|
|
skills: [autor, deutsch-praezise, kapitel-intro], timeout: [90, 0]}
|
|
- {id: det_pruefung, typ: system, worker: guide.det_pruefung, stufe: guide, max_parallel: 8,
|
|
titel: "Format-Prüfung", beschreibung: "Prüft Sections deterministisch auf Regelverstöße"}
|
|
- {id: llm_pruefung, typ: llm, worker: guide.llm_pruefung, stufe: guide,
|
|
titel: "Inhalts-Prüfung", beschreibung: "Prüft Sections auf Fehler gegen die Quellen-Anker",
|
|
skills: [richter, deutsch-praezise, guide-pruefung], max_parallel: 16, klasse: mittel, timeout: [240, 60]}
|
|
- {id: fix, typ: llm, worker: guide.fix, stufe: guide,
|
|
titel: "Korrektur", beschreibung: "Behebt gefundene Befunde in den Sections",
|
|
skills: [autor, deutsch-praezise, guide-lesbarkeit, darstellung, guide-fix], max_parallel: 16,
|
|
timeout: [300, 0], extra_skills: {klaerung: [richter, deutsch-praezise, klaerung]}}
|
|
- {id: redundanz, typ: llm, worker: redundanz.pruefen, stufe: guide,
|
|
titel: "Dopplungs-Check", beschreibung: "Sucht Wiederholungen zwischen den Sections",
|
|
skills: [richter, deutsch-praezise, redundanz-urteil], barriere: true, klasse: kurz, timeout: [120, 8]}
|
|
- {id: lektorat, typ: llm, worker: guide.lektorat, stufe: guide,
|
|
titel: "Lektorat", beschreibung: "Liest den ganzen Guide: Dopplungen, Splitter, zähe Übergänge",
|
|
skills: [richter, deutsch-praezise, lektorat], max_parallel: 1, timeout: [300, 0]}
|
|
- {id: gate_guide, typ: gate, worker: guide.gate, stufe: guide,
|
|
titel: "Gate Guide", beschreibung: "Prüft den Text, stößt Fixes und Re-Prüfung an",
|
|
runden_max: 12}
|
|
|
|
- {id: montage, typ: system, worker: montage.montieren, stufe: montage,
|
|
titel: "Montage", beschreibung: "Fügt alle Teile zum fertigen Guide zusammen"}
|
|
|
|
kanten:
|
|
- {von: recherche_plan, nach: suche, art: normal}
|
|
- {von: suche, nach: laden, art: normal}
|
|
- {von: laden, nach: soll_extraktion, art: normal}
|
|
- {von: laden, nach: atom_extraktion, art: normal} # nur zweck=luecke-Quellen
|
|
- {von: soll_extraktion, nach: soll_konsens, art: normal}
|
|
- {von: soll_konsens, nach: gate_korpus, art: normal}
|
|
- {von: gate_korpus, nach: atom_extraktion, art: normal}
|
|
- {von: atom_extraktion, nach: anker_fix, art: normal}
|
|
- {von: anker_fix, nach: dedup, art: normal}
|
|
- {von: dedup, nach: soll_zuordnung, art: normal}
|
|
- {von: soll_zuordnung, nach: luecke, art: normal}
|
|
- {von: luecke, nach: gate_inventar, art: normal}
|
|
- {von: soll_zuordnung, nach: gate_inventar, art: normal}
|
|
- {von: gate_inventar, nach: lernziele, art: normal}
|
|
- {von: lernziele, nach: bausteine, art: normal}
|
|
- {von: bausteine, nach: ordnung, art: normal}
|
|
- {von: ordnung, nach: gate_struktur, art: normal}
|
|
- {von: gate_struktur, nach: writer, art: normal}
|
|
- {von: gate_struktur, nach: kapitel_intro, art: normal}
|
|
- {von: writer, nach: det_pruefung, art: normal}
|
|
- {von: det_pruefung, nach: llm_pruefung, art: normal}
|
|
- {von: llm_pruefung, nach: fix, art: normal}
|
|
- {von: fix, nach: redundanz, art: normal}
|
|
- {von: llm_pruefung, nach: redundanz, art: normal}
|
|
- {von: kapitel_intro, nach: redundanz, art: normal}
|
|
- {von: redundanz, nach: lektorat, art: normal}
|
|
- {von: redundanz, nach: gate_guide, art: normal}
|
|
- {von: gate_guide, nach: montage, art: normal}
|
|
|
|
- {von: gate_korpus, nach: recherche_plan, art: ruecklauf} # neue Runde, neue Lenses
|
|
- {von: gate_inventar, nach: suche, art: ruecklauf} # Web-Nachrecherche für Lücken
|
|
- {von: gate_korpus, nach: soll_konsens, art: reparatur} # Beleg-Nachsuche
|
|
- {von: gate_inventar, nach: anker_fix, art: reparatur}
|
|
- {von: gate_inventar, nach: luecke, art: reparatur}
|
|
- {von: gate_inventar, nach: verdichtung, art: reparatur} # Minimalität: Mini-Atome fusionieren
|
|
- {von: gate_inventar, nach: dedup, art: reparatur} # 2. Dedup-Runde für Lücken-Atome
|
|
- {von: gate_struktur, nach: bausteine, art: reparatur}
|
|
- {von: gate_guide, nach: fix, art: reparatur}
|
|
- {von: gate_guide, nach: writer, art: reparatur} # Neuschreiben bei kaputten Markern
|
|
- {von: gate_guide, nach: det_pruefung, art: reparatur} # Re-Prüfung gefixter Sections
|
|
- {von: gate_guide, nach: redundanz, art: reparatur}
|