Every change worth building starts with an intent

Sam's Blog

Jede Veränderung, die es wert ist, gebaut zu werden, beginnt mit einer Absicht

Eine Woche SDD: von einer ersten Version zu einem Werkzeug, das seine eigene Arbeit prüft.

Tagsüber bin ich Softwareentwickler und Senior-Architekt. Abends und am Wochenende male ich als Sam Grudge: Herzen, in Öl auf Leinwand, Schicht für Schicht aufgebaut, bis die Farbe leuchtet (hearts-colors.com). Die beiden Leben scheinen weit voneinander entfernt. Immer öfter treffen sie sich in einer Frage: Was möchte ich mit meinen eigenen Händen tun, und was kann ich einer Maschine überlassen?

SDD stammt aus meinem Brotjob. Es ist eine spezifikationsgetriebene Entwicklungsmethode für KI-Coding-Agenten (Claude Code und Codex), und es ist Open Source auf GitHub. Die Idee ist einfach. Bevor der Agent Code schreibt, verfasst er eine kurze Spezifikation: Anforderungen und konkrete Beispiele dafür, wie sich das Verhalten gestalten soll, auch wenn etwas schiefgeht. Ich genehmige sie. Dann baut der Agent testgetrieben, überprüft es gegen die Spezifikation und führt ein lebendiges Protokoll darüber, wie sich das System verhält.

Was sich in einer Woche verändert hat

Die erste Version erschien am 7. Oktober. Sie bewältigte kleine Änderungen von Anfang bis Ende, mit einer Genehmigung, testgetriebenen Aufgaben und einer lebendigen Spezifikation. Sieben Tage und vierzehn Versionen später:

  • Größere Arbeiten folgen ihrem eigenen Weg. Eine umfangreichere Änderung erhält drei Genehmigungen statt einer: die Spezifikation, den Plan und die Ergebnisse.
  • Eine genehmigte Spezifikation wird gesperrt. Eine spätere Änderung erfordert eine protokollierte, genehmigte Ergänzung. Fehler durchlaufen ihren eigenen Prozess, und ein Regressionstest landet in der lebendigen Spezifikation, damit der Fehler nicht heimlich zurückkehren kann.
  • Ein Kritiker prüft die Spezifikation, bevor irgendetwas gebaut wird. Er überprüft jede Anforderung und stellt mir nur die Fragen, die ich selbst entscheiden muss, höchstens fünf.
  • SDD entwickelt jetzt SDD. Seit Version 0.5 läuft das Projekt nach seiner eigenen Methode, mit „Produktions“-Strenge: der zweithöchsten von vier Stufen.
  • Die Testsuite wuchs von 82 auf 208 Tests.

Das Werkzeug fand Lücken in sich selbst

Die erste Änderung, die SDD an sich selbst vornahm, war ein Fehler, den es in seinen eigenen Genehmigungen entdeckt hatte. Die abschließende „Ergebnis“-Genehmigung berücksichtigte das Urteil des Prüfers nicht, sodass Arbeiten mit festgestellten Lücken dennoch genehmigt werden konnten. Die Verfassung des Projekts, seine nicht verhandelbaren Regeln, konnte nach der Genehmigung unbemerkt geändert werden, auch um das Strenge-Niveau zu senken.

Beides ist jetzt behoben. Eine Genehmigung deckt nun genau das ab, was genehmigt wurde. Das Ergebnis-Tor akzeptiert nur ein bestandenes Urteil, und die Verfassung trägt einen Fingerabdruck: Jede spätere Änderung wird gemeldet und blockiert den Fortschritt, bis ich erneut zustimme.

Am meisten gefiel mir, wie man dorthin kam. Die Verifikation lief dreimal, jeweils in einer neuen Sitzung ohne Erinnerung an die vorherige Arbeit. Die ersten beiden Runden brachten Lücken zutage: Regeln, die die Spezifikation festlegte, aber kein Test bewies. Jedes Mal wurde die Spezifikation geändert, die fehlenden Tests geschrieben, und der Prüfer schaute erneut. Die dritte Runde bestand. Nichts wurde einfach durchgewunken.

Schichten

Eines meiner Gemälde besteht aus Schichten. Die frühen verschwinden unter der Farbe, aber sie tragen alles. SDD funktioniert auf die gleiche Weise: Absicht, dann Spezifikation, Plan, Tests und Verifikation, jede davon sichtbar und überprüfbar unter dem Code.

Auf meiner Website sage ich, dass jede Geschichte, die es wert ist, erzählt zu werden, mit einem Herzen beginnt. In der Software beginnt jede Veränderung, die es wert ist, gebaut zu werden, mit einer Absicht. Dieser Teil bleibt bei mir. Ebenso die Entscheidungen und Genehmigungen, die meine eigenen Worte tragen.

Die Mühsal delegieren

Nicht jede Schicht braucht die Hand eines Meisters. Eine Verifikationsrunde dauerte etwa 14 Minuten und fast 180.000 Tokens, und vieles davon war mechanisch: Tests gegen alten Code wiederholen, absichtlich Regeln brechen, um zu beweisen, dass ein Test sie erkennt, Beweise sammeln. Ein Skript kann diese Arbeit erledigen, ganz ohne Modell.

Das ist der nächste Schritt. Ein Hauptmodell wird orchestrieren: Es spricht mit mir, hält die Kontrollpunkte und verteilt die Arbeit. Unabhängige Prüfer werden als separate Agenten auf den stärksten Modellen laufen. Routineaufgaben gehen an günstigere, schnellere Modelle. Jede Art von Arbeit geht an das Werkzeug, das dazu passt, so wie ein Pinsel für einen Pinselstrich geeignet ist und ein Spachtel für einen anderen.

Das ist das Versprechen der KI, das mir wichtig ist. Sie nimmt das Handwerk nicht weg. Sie nimmt die Mühsal rund um das Handwerk weg, sodass ich den Teil behalte, den ich liebe. Im Büro ist das Architektur und Urteilsvermögen. Im Atelier ist es das nächste Herz.

SDD ist Open Source unter der MIT-Lizenz: github.com/fpapleux/sdd-skill. Die Release Notes listen jede Version auf.