update
This commit is contained in:
@@ -408,17 +408,17 @@ async def _generate_sections(
|
||||
"Wähle, was diesem Zweck dient — lass weg, was dafür nicht nötig ist."
|
||||
)
|
||||
|
||||
# Subbausteine je Baustein (Sidecar) — früh geladen: ProGuide wählt darüber aus,
|
||||
# Nicht-FullGuide filtert später Rand-Subbausteine. Fehlt sie → {} (Fallback).
|
||||
# Subbausteine je Baustein (Sidecar) — früh geladen: „Guide" wählt darüber aus
|
||||
# (Bausteine mit ≥1 relevantem Sub) und filtert später Rand-Subs. Fehlt sie → {} (Fallback).
|
||||
subs_raw = _load_subbausteine(topic)
|
||||
|
||||
# Schritt 0: Auswahl. ProGuide ist deterministisch — alle Bausteine mit ≥1
|
||||
# Schritt 0: Auswahl. „Guide" ist deterministisch — alle Bausteine mit ≥1
|
||||
# relevantem Subbaustein. Fallback (keine Relevanz-Daten): alle Bausteine.
|
||||
if format_name == "ProGuide":
|
||||
if format_name == "Guide":
|
||||
auswahl = [num for num in entries
|
||||
if any(s.get("relevanz") == "relevant" for s in subs_raw.get(_titel(entries[num]), []))]
|
||||
if not auswahl:
|
||||
_log(topic, "ProGuide: keine Relevanz-Daten — alle Bausteine genommen")
|
||||
_log(topic, "Guide: keine Relevanz-Daten — alle Bausteine genommen")
|
||||
auswahl = list(entries)
|
||||
else:
|
||||
# Auswahl-Konsens (5 Agenten → Voting → Mapping → Klärungs-Loop)
|
||||
@@ -501,16 +501,14 @@ async def _generate_sections(
|
||||
# dieselbe Aufteilung: 1 Agent je ~30 Bausteine (gedeckelt).
|
||||
total_sections = sum(len(c["nums"]) for c in plan)
|
||||
chunks = _split_chunks(plan, min(WRITER_MAX, max(1, math.ceil(total_sections / WRITER_SECTIONS))))
|
||||
# Subbausteine je Baustein. Rand-Subbausteine fliegen aus allen Guides AUSSER
|
||||
# FullGuide (Fokus). Subs ohne Relevanz-Feld (Alt-Themen) bleiben erhalten.
|
||||
# Subbausteine je Baustein. Rand-Subbausteine fliegen aus dem Guide (Fokus auf
|
||||
# Relevantes). Subs ohne Relevanz-Feld (Alt-Themen) bleiben erhalten.
|
||||
# Fehlt die Sidecar → leer → Inhalte/Writer laufen auf Baustein-Granularität.
|
||||
subs_by_titel = subs_raw
|
||||
if format_name != "FullGuide":
|
||||
subs_by_titel = {
|
||||
t: [s for s in subs if s.get("relevanz") != "rand"]
|
||||
for t, subs in subs_raw.items()
|
||||
}
|
||||
subs_by_titel = {t: subs for t, subs in subs_by_titel.items() if subs}
|
||||
subs_by_titel = {
|
||||
t: [s for s in subs if s.get("relevanz") != "rand"]
|
||||
for t, subs in subs_raw.items()
|
||||
}
|
||||
subs_by_titel = {t: subs for t, subs in subs_by_titel.items() if subs}
|
||||
zuteilungen = [_zuteilung_subs(chunk, entries, subs_by_titel) for chunk in chunks]
|
||||
chunk_sizes = [sum(len(c["nums"]) for c in chunk) for chunk in chunks]
|
||||
writer_count = len(chunks)
|
||||
|
||||
Reference in New Issue
Block a user