From 5044e27f7caae854ae7f27f1ebe5ed45b2a79c71 Mon Sep 17 00:00:00 2001 From: Claude Date: Mon, 27 Jul 2026 23:57:19 +0200 Subject: [PATCH] Zusammenfassung: keine '(Namen: ...)'-Zeile mehr unter jedem Absatz Extraktion bleibt als Arbeitsdatum fuer den Rolling Context zwischen den Chunks. Bestehende Summaries bereinigt (#74 7503 -> 7203 Zeichen). --- app/llm.js | 6 +++++- docs/05-llm-analyse.md | 10 ++++++++++ docs/08-changelog.md | 9 +++++++++ 3 files changed, 24 insertions(+), 1 deletion(-) diff --git a/app/llm.js b/app/llm.js index 6aec753..3227e90 100644 --- a/app/llm.js +++ b/app/llm.js @@ -634,8 +634,12 @@ async function analyzeLong(raw, hint = CORRECTION_HINT) { // Deterministic conglomerate: chronological, one block per section with its // LLM headline. No LLM re-weighting = no mis-weighting. GUI renders pre-line. + // NOTE: the extracted proper nouns (s.names) are NOT printed under each block + // any more — they are working data for the rolling context between chunks + // (keeps the model's spelling of people/companies stable), not something the + // reader wants under every paragraph. const body = sections.map((s, k) => - `${s.thema || `Teil ${k + 1}`}:\n${s.sum}${s.names.length ? `\n(Namen: ${s.names.join(', ')})` : ''}` + `${s.thema || `Teil ${k + 1}`}:\n${s.sum}` ).join('\n\n'); const allNames = uniqStr(sections.flatMap(s => s.names)); const summary = [overview, body, allNames.length ? `Genannte Namen: ${allNames.join(', ')}` : ''] diff --git a/docs/05-llm-analyse.md b/docs/05-llm-analyse.md index 6ca0109..c449d67 100644 --- a/docs/05-llm-analyse.md +++ b/docs/05-llm-analyse.md @@ -111,6 +111,16 @@ GUI rendert mit `white-space: pre-line` (style.css) → Bullets und Absätze sic Feld/eigene Liste. **Teilnehmer kommen NICHT vom LLM**, sondern aus der Diarization (Kap. 04) — das LLM hatte alle im Gespräch *erwähnten* Namen als Teilnehmer gelistet (11 statt 3 bei Aufnahme #69). +## Sektions-Konglomerat: was im Text landet + +Der Body der Zusammenfassung ist deterministisch aus den Chunk-Ergebnissen gebaut (kein LLM-Reduce): +pro Abschnitt `thema`-Überschrift + Text, davor der Überblick-Absatz, am Ende eine Zeile +„Genannte Namen: …". + +- Die pro Abschnitt extrahierten Eigennamen (`s.names`) werden seit 2026-07-27 **nicht mehr unter jeden + Absatz gedruckt** („(Namen: Kai, Dennis, …)") — sie sind Arbeitsdaten für den Rolling Context zwischen + den Chunks (halten die Schreibweise von Personen/Firmen stabil), kein Lesestoff. + ## Namen nachträglich in eine fertige Analyse übernehmen (seit 2026-07-27) Die Zusammenfassung entsteht aus einem Dialog, in dem jeder Sprecher ein **Label** trägt: seinen Namen, diff --git a/docs/08-changelog.md b/docs/08-changelog.md index bf73e06..c098ae7 100644 --- a/docs/08-changelog.md +++ b/docs/08-changelog.md @@ -3,6 +3,15 @@ Chronik der Entwicklungsschritte. **Regel: jede zukünftige Änderung bekommt hier einen Eintrag** (Datum, Was, Warum, betroffene Dateien/Backups). +## 2026-07-27 (3) — „(Namen: …)"-Zeilen aus der Zusammenfassung entfernt + +- **Problem (Nutzer):** unter jedem Absatz der Zusammenfassung stand „(Namen: Kai, Dennis, …)". +- **Fix (`llm.js`, `.bak-nonames`):** `composeSummary()` druckt die pro Abschnitt extrahierten Eigennamen + nicht mehr in den Body. Die Extraktion bleibt — sie ist Arbeitsdatum für den Rolling Context zwischen + den Chunks (stabile Schreibweise von Personen/Firmen) und für die Schluss-Zeile „Genannte Namen: …". +- **Bestand bereinigt:** Skript entfernte die Zeilen aus bereits gespeicherten Zusammenfassungen + (#74: 7503 → 7203 Zeichen), keine Neu-Analyse nötig. + ## 2026-07-27 (2) — Namen nachträglich in die fertige Zusammenfassung übernehmen - **Problem (Nutzer):** alle 20 Sprecher von #74 benannt, in der Zusammenfassung stand trotzdem weiter