Fall 4 von 6 · eigenes Werkzeug Stand 02.09.2026

Der Müllrechner

Ein Rechner, der Bürgern die jährlichen Restmüllkosten ihrer Stadt oder ihres Landkreises zeigt. Die Zahlen stehen in Gebührensatzungen, jede anders aufgebaut, jede irgendwo auf einer kommunalen Webseite. Die Datei, die sie holt, heißt agent.php. Sie ist kein Agent, und dieser Fall ist hier, weil der Name der beste Aufhänger für die Abgrenzung ist.

Befund

Workflow  Drei feste Stufen, zwei Modellaufrufe, keine Schleife. Ergebnis ist ein Entwurf mit Belegzitat, den ein Mensch prüft.

Vorbildlich an einer Stelle, dünn an zwei anderen: die Freigabe ist zwingend und der Beleg hängt am Vorschlag, aber es gibt weder Messlatte noch Kostendeckel.

01

Aufgabe

Für eine Stadt die aktuelle Restmüllgebühr finden: Grundgebühr, Behältergrößen, Leerungsrhythmus, Gültigkeit. Quelle muss die amtliche Satzung sein, nicht eine Vergleichsseite. Vorher war das Handarbeit mit Suchmaschine und PDF-Reader, je Stadt eine halbe bis eine Stunde.

  1. AQuelle finden. Ein Modellaufruf mit Websuche über meine eigene Suchinstanz: welche Adresse ist die amtliche Gebührensatzung dieser Stadt?
  2. BWerte holen. Die Seite wird geladen, der Text geht mit einem zweiten Modellaufruf in ein festes Schema: Gebühren, Behälter, Zeitraum, Zitat der Fundstelle, Selbsteinschätzung.
  3. CEntwurf ablegen. Das Ergebnis landet als Vorschlag mit Status „Entwurf“ in einer Tabelle, mit Belegzitat und dem Rohtext der Seite daneben.
02

Vorfrage

Alle vier Bedingungen, weil die erste zunächst nach Agent klingt.

  • NEINWeg unbekannt? Nein. Jede Satzung ist anders, aber der Weg ist immer derselbe: suchen, laden, auslesen, ablegen. Die Unsicherheit steckt im Inhalt, nicht im Ablauf. Damit ist es ein Workflow, in dem das Modell zweimal als Schritt vorkommt.
  • JAErgebnis prüfbar? Ja. Das Zitat der Fundstelle steht am Vorschlag, die Satzung ist öffentlich. Ein Mensch sieht in einer Minute, ob die Zahl stimmt.
  • JAFehler umkehrbar? Ja. Es entsteht ein Entwurf. Die Datei schaltet nie selbst live, das steht als Regel in ihrer zweiten Zeile.
  • JANutzen trägt? Ja. Zwei Aufrufe mit kleinen Textmengen gegen eine halbe Stunde Suchen.

Wäre der Weg unbekannt, sähe es anders aus: wenn das Modell selbst entscheiden müsste, ob es die Satzung, das Ratsinformationssystem oder das Amtsblatt durchsucht, und wie oft. Das war einmal die Versuchung. Sie hätte dieselben Zahlen geliefert, langsamer, teurer, und ohne dass hinterher jemand sagen könnte, warum die Stadt X drei Suchen gebraucht hat und Y zwölf.

03

Bauform

AuslöserEin Formular in der Prüfseite: Stadt eintragen, Knopf. Der Lauf startet im Hintergrund, die Seite fragt alle paar Sekunden nach dem Stand. Alternativ ein Aufruf von der Kommandozeile. Das ist Bauform 03 aus Abschnitt 06, die schmale eigene Seite, und die tragfähige Variante aus dem Schichtenbild: nicht im Web-Request, sondern daneben.
LaufStufe A und B nacheinander, je ein Modellaufruf mit engem Ausgabelimit und zwei Minuten Zeitlimit. Dann eine Plausibilitätsprüfung ohne Modell und ein Vergleich mit dem Stand, der gerade live ist. Was abweicht, wird markiert.
RückgabeDie Prüfseite zeigt den Vorschlag neben dem Live-Stand, mit Belegzitat, Selbsteinschätzung und Rohtext zum Aufklappen. Annehmen oder verwerfen. Nichts ist vorausgewählt.
04

Messlatte

Es gibt keineDer Müllrechner hat eine Plausibilitätsprüfung und einen Vergleich mit dem Live-Stand. Beides prüft, ob ein Vorschlag möglich ist, nicht, ob er richtig ist. Was fehlt: zehn Städte, deren Gebühren ich sicher kenne, als fester Testsatz, gegen den jede Änderung am Prompt läuft. Die Städte gibt es, sie stehen längst live. Der Testsatz steht aus, und das ist genau der Schritt 1 und 2 aus Abschnitt 03, der übersprungen wird, weil er langweilig ist.
05

Grenzen

Freigabe

Zwingend. „Schaltet NIE selbst live“ steht als Kommentar im Kopf der Datei. Jeder Vorschlag geht durch die Prüfseite, und dort entscheidet ein Mensch je Stadt.

Kostendeckel

Keiner. Nur das Ausgabelimit je Aufruf und das Zeitlimit. Der Rechner läuft noch nicht über die Schleuse, und damit fehlt ihm das Tagesbudget. Bei fünf Städten am Tag ist das kein Problem, bei einer Schleife wäre es eines.

Spur

Je Lauf ein Protokoll im Dateisystem, und am Vorschlag selbst Rohtext und Belegzitat. Wer später fragt, woher die Zahl kommt, bekommt eine Antwort.

Personendaten

Keine. Gebührensatzungen sind öffentlich, der Rechner speichert keine Eingaben der Nutzer.

06

Was schiefging

29.05.2026 · ein Schlüssel im Klartext

Der Zugangsschlüssel zum Anbieter wurde in einem Chatfenster im Klartext übertragen. Rotiert am selben Tag. Die Lehre ist alt und gilt trotzdem: ein Schlüssel, der einmal in einem Textfeld stand, ist verbrannt.

Juni 2026 · vier Cent Drift

Die Satzungen nennen Quartalsgebühren, der Rechner braucht Monate. Die Umrechnung des Modells rundete anders als die des Rechners, und die Jahressumme wich um rund vier Cent ab. Kein großer Betrag, aber genau die Art Abweichung, die eine Messlatte in Sekunden findet und ein Mensch beim Durchwinken nie.

 

Quellen

Die drei Stufen und die Regel „schaltet nie selbst live“: muellrechner/agent.php, Zeilen 9 bis 12. Prüfseite: muellrechner/admin.php. Projektstand und Vorfälle: 05_Projects/muellrechner.md.