{% extends "v2/base.html" %} {% block title %}Methodik — GWÖ-Antragsprüfer{% endblock %} {% set v2_active_nav = "" %} {% block head_extra %} {% endblock %} {% block main %}
GWÖ-Matrix 2.0 · Gemeinden · Transparenz-Dokumentation
Die Gemeinwohl-Ökonomie (GWÖ) ist ein Wirtschaftsmodell, das den Erfolg wirtschaftlichen Handelns nicht am Gewinn, sondern am Beitrag zum Gemeinwohl misst. Entwickelt von Christian Felber (2010), trägt die GWÖ eine internationale Bewegung mit über 11.000 Unterstützer:innen, 4.500 Mitgliedern und 1.000 bilanzierten Organisationen.
Das Kernstück ist die Gemeinwohl-Bilanz: ein standardisiertes Bewertungsverfahren nach einer Matrix aus fünf Werten (Menschenwürde, Solidarität, ökologische Nachhaltigkeit, soziale Gerechtigkeit, Transparenz & Demokratie) und fünf Berührungsgruppen. Die aktuelle Unternehmens-Matrix (Version 5.1) ist in über 35 Ländern erprobt.
→ Arbeitsbuch Unternehmen 5.1 (PDF) · Matrix-Übersicht
Für Gemeinden gibt es seit 2017 das Arbeitsbuch für Gemeinden Version 2.0. Es überträgt die Unternehmens-Matrix auf kommunale Handlungsfelder: statt „Kund:innen" stehen Bürger:innen im Fokus, statt „Lieferkette" geht es um öffentliche Beschaffung. Eine aktualisierte Version 2.1.A läuft seit 2023 im Pilotbetrieb.
→ Arbeitsbuch Gemeinden 2.0 (PDF) · Version 2.1.A Pilotfassung (PDF)
Dieser Antragsprüfer nutzt die Gemeinde-Matrix 2.0 als Bewertungsrahmen und wendet sie systematisch auf Parlamentsanträge aller deutschen Landtage und des Bundestags an. Parlamentsanträge gestalten die Rahmenbedingungen, unter denen Gemeinden handeln — ihre Gemeinwohl-Wirkung zu messen macht sie vergleichbar und transparent.
Jeder Antrag wird automatisch analysiert und erhält:
Ziel ist Transparenz: Bürger:innen können nachvollziehen, welche Anträge dem Gemeinwohl dienen — und welche dagegen arbeiten. Die Bewertungen sind öffentlich, maschinenlesbar (JSON/CSV/Atom-Feed) und unter CC BY 4.0 lizenziert.
5 Berührungsgruppen (Zeilen) × 5 Werte (Spalten) = 25 Bewertungsfelder. Jedes Feld wird von −5 (fundamental widersprechend) bis +5 (stark fördernd) bewertet. Der GWÖ-Score (0–10) ist ein gewichteter Durchschnitt.
| Wert | Leitfrage |
|---|---|
| 1. Menschenwürde | Werden Grundrechte geschützt? Rechtliche Gleichstellung? Schutz vor Diskriminierung? |
| 2. Solidarität | Wird das Gemeinwohl gefördert? Mehrwert für die Gemeinschaft? Kooperation statt Konkurrenz? |
| 3. Ökologische Nachhaltigkeit | Klimaschutz? Ressourcenschonung? Biodiversität? Kreislaufwirtschaft? |
| 4. Soziale Gerechtigkeit | Gerechte Verteilung? Daseinsvorsorge? Soziale Absicherung? Chancengleichheit? |
| 5. Transparenz & Demokratie | Bürgerbeteiligung? Offenlegung? Demokratische Prozesse? Rechenschaftspflicht? |
| Gruppe | Wer ist gemeint? |
|---|---|
| A · Lieferant:innen | Externe Beschaffung, Lieferketten, Dienstleister:innen |
| B · Finanzen | Umgang mit öffentlichen Mitteln, Haushalt, Steuerzahler:innen |
| C · Verwaltung | Mandatsträger:innen, Mitarbeitende, Ehrenamtliche |
| D · Bürger:innen | Wirkung innerhalb der Grenzen, Daseinsvorsorge |
| E · Gesellschaft & Natur | Wirkung über die Grenzen hinaus, Zukunft |
Klick auf ein Feld für Details.
| Symbol | Rating | Bedeutung |
|---|---|---|
| ++ | +4 bis +5 | Stark fördernd, vorbildlich |
| + | +1 bis +3 | Fördernd |
| ○ | 0 | Neutral / nicht berührt |
| − | −1 bis −3 | Widersprechend |
| −− | −4 bis −5 | Stark widersprechend |
| Eigenschaft | Wert |
|---|---|
| Sprachmodell | {{ model_name }} (DashScope / Alibaba Cloud) |
| Embedding-Modell | {{ embedding_model }} (1024 Dimensionen) |
| Chunk-Größe | 400 Wörter, 50 Wörter Overlap |
| Retry bei Parse-Fehlern | 3 Versuche mit steigender Temperatur |
| Zitat-Verifikation | Substring- oder 5-Wort-Anker-Match gegen Original-PDF |
Jeder Antrag trägt ein Datum (Einbringungsdatum). Welches Wahlprogramm gilt für eine Partei am 10. September 2025 eigentlich? Die Antwort ist nicht "das aktuellste, das auf der Parteiwebseite liegt" — sondern: das, gegen das die Partei zur Wahl angetreten ist und das mit der Vereidigung der Regierung politisch wirksam wurde.
Im Antrag-Detail steht deshalb ein Kasten "Bewertungs-Kontext" mit drei Angaben:
Die zugrundeliegende Datenbasis (16 Bundesländer + Bund × bis
zu 8 Parteien × Wahlprogramme + 12 Bundes- und
Landes-Grundsatzprogramme; 56 Wahlperioden, 70 Regierungen
historisch) liegt in den Modulen app/programme.py
und app/legislaturen.py. Architektur-Details in
ADR 0013.
Hinweis: aktuell sind im Embeddings-Index nur die jeweils gegenwärtigen Wahlprogramme indiziert. Antragsbewertungen aus früheren Wahlperioden zeigen den jetzigen Programm-Stand, nicht den damaligen. Das ist eine bewusste Etappe — die Architektur ist für historische Indexierung vorbereitet.
Wenn fraktions-aggregierte Plenum-Abstimmungen vorliegen, vergleicht der Prüfer das Stimmverhalten jeder Fraktion mit ihrem eigenen Wahlprogramm-Score für genau diesen Antrag und setzt — falls auffällig — kleine Hinweis-Symbole neben den Fraktions-Pill:
| Symbol | Konstellation | Schwelle | Wissenschaftlicher Begriff |
|---|---|---|---|
| ⚠ | Fraktion stimmt mit Nein, obwohl der Antrag inhaltlich gut zu ihrem Wahlprogramm passt | Wahlprogramm-Score ≥ 7 / 10 | Heuchelei-Indikator |
| ! | Fraktion stimmt mit Ja, obwohl der Antrag schlecht zum eigenen Wahlprogramm passt | Wahlprogramm-Score < 3 / 10 | Opportunismus-Indikator |
In der Bürger:innen-Ansicht (v3) werden beide Symbole unter dem neutraleren Sammelbegriff „Wahlprogramm-Konflikt" geführt; die wissenschaftliche Klassifikation erscheint im Tooltip beim Hovern.
Über jedem Abstimmungsergebnis steht ein Hinweis, ob die parlamentarische Mehrheit der GWÖ-Empfehlung folgt. Beispiele:
Die Logik ist deterministisch (kein LLM beteiligt) und in
app/marker.py
dokumentiert + getestet.
Volle Transparenz: hier liegen die exakten Anweisungen, mit denen das Sprachmodell ({{ model_name }}) jeden Antrag bewertet.
Beide Prompts werden in einem einzigen API-Call gesendet — nicht getrennt ausgeführt. Sie fließen gemeinsam ins Modell-Kontextfenster und werden zusammen bewertet.
| System-Prompt (statisch, ~5 KB) | User-Prompt (dynamisch, pro Antrag) |
|---|---|
| Wer und wie bewertet wird: GWÖ-Matrix-Definition, 25 Felder, Bewertungs-Skala, Empfehlungs-Kategorien, Ausgabe-JSON-Schema, strenge Regeln (max. 3 Verbesserungsvorschläge, wörtliche Zitate, …). | Was bewertet wird: BL-Spezifika, semantisch gefundene Wahlprogramm-Chunks, der Antragstext selbst, Pflicht-Fraktionen-Liste. |
Das Modell wendet die Matrix-Definition aus dem System-Prompt auf den Antragstext aus dem User-Prompt an. Ohne System-Prompt wüsste es nicht wonach es bewerten soll; ohne User-Prompt hätte es nichts zu bewerten.
Warum die Trennung?
Quelle: app/analyzer.py
(get_system_prompt() und get_user_prompt_template());
API-Aufruf in app/adapters/qwen_bewerter.py
(Zeilen 83–85, messages=[{"role":"system",…}, {"role":"user",…}]).
Der User-Prompt unten ist als Template abgebildet — die
Platzhalter {kontext}, {wahlprogramm_zitate},
{antrag} und {pflicht_fraktionen} werden
pro Antrag mit den konkreten Inhalten gefüllt.
{{ system_prompt }}
{{ user_prompt_template }}
tests/ mit deterministischen Fixtures abgesichert (siehe ADR 0003 + 0008).{{ adapter_count }} Parlamente angebunden:
| Parlament | Doku-System | Drucksachen | Plenum-Votes |
|---|---|---|---|
| {{ bl.name }} ({{ bl.code }}) | {{ bl.doku_system }} | ✓ aktiv | {% if bl.code in plenum_vote_parsers %} ✓ aktiv {% else %} ○ Stub {% endif %} |
Plenum-Votes = fraktions-aggregierte Abstimmungsergebnisse aus den Plenarprotokollen (#106). Dort wo der Parser aktiv ist, zeigt die Antrag-Detail-Seite einen Block „Abstimmungsergebnis" mit Ja/Nein/Enthaltung pro Fraktion. Stubs sind Tracking-Stellen fuer kuenftige Implementierungen (Issues #148–#163).
Programme & Quellen · Open Data (JSON) · Atom-Feed · Quellcode
| Komponente | Stand |
|---|---|
| Sprachmodell | {{ model_name }} |
| Embedding-Modell (READ) | {{ embedding_model }} (1024 Dimensionen) |
| Indexierte Programme | {{ programme_count }} mit {{ chunk_count }} Textabschnitten |
| Angebundene Parlamente | {{ adapter_count }} (16 Bundesländer + Bundestag) |
| GWÖ-Matrix | 2.0 Gemeinden (Arbeitsbuch 2017, Pilot 2.1.A 2023) |
| Bewertungs-Skala | −5 … +5 pro Matrix-Feld; 0 … 10 als Gesamt-Score |
| Citation-Verification | partei-skopiert seit Mai 2026 (Issue #175-bug fix) |
Diese Tabelle wird live aus dem System gerendert — die Werte sind genau die Konfiguration, mit der Bewertungen jetzt erstellt werden.