Was ist Spec-Driven Development?

Die meisten KI-gestützten Codierungsprozesse beginnen auf die gleiche Weise. Sie geben einem Agenten einen kurzen Prompt. Sie beobachten, wie er Code schreibt. Es sieht schnell aus. Dann stellen Sie fest, dass der Agent das Falsche gebaut hat. Sie verbringen eine Stunde damit, es zu korrigieren.

Der Agent hatte keine Schwierigkeiten beim Schreiben des Codes. Er hatte Schwierigkeiten, Ihre Absicht zu verstehen.

Spec-Driven Development löst dieses Problem. Anstatt nach Code zu fragen, erstellen Sie zuerst eine Spezifikation (Spec). Diese Spezifikation ist ein schriftlicher Plan. Sie korrigieren den Plan, bis er stimmt. Erst dann lassen Sie den Agenten bauen.

Neue Tools wie AWS Kiro und GitHub spec-kit machen dies einfach. Aber die Idee ist alt. Es ist einfach gute Ingenieurskunst.

Eine gute Spezifikation hat drei Teile:

• Anforderungen: Was das Feature tut und wie man den Erfolg misst. Dies beschreibt das Verhalten, nicht den Code. • Design: Der technische Plan. Dies umfasst Architektur, Datenmodelle und Einschränkungen. • Aufgaben: Kleine, testbare Einheiten. Diese sind einfach genug, damit ein Agent sie in einem Durchgang abschließen kann.

Jeder Teil speist den nächsten. Anforderungen leiten das Design. Das Design erstellt die Aufgaben. Die Aufgaben leiten den Agenten.

In der Vergangenheit war das Schreiben von Code langsam. Das Schreiben von Spezifikationen fühlte sich wie Zeitverschwendung an. Jetzt schreibt die KI Code in Minuten. Der Flaschenhals ist nicht mehr das Tippen. Der Flaschenhals ist die Entscheidung darüber, was genau gebaut werden soll.

Eine Spezifikation verlagert Ihre Fehler an einen kostengünstigen Ort. Ein falscher Satz in einem Dokument ist leicht zu korrigieren. Eine fehlerhafte Implementierung in einer Codebasis ist teuer rückgängig zu machen.

Code zu reviewen ist schwer. Man muss das, was der Autor beabsichtigt hat, per Reverse Engineering erschließen. Eine Spezifikation zu reviewen ist einfach. Man einigt sich auf die Absicht, bevor überhaupt Code existiert.

Diese Methode hilft Ihnen auch bei der Skalierung. Sie können verschiedenen Agenten unterschiedliche Aufgaben geben. Die Spezifikation fungiert als Vertrag, um sie aufeinander abzustimmen.

Dieser Ansatz ist nicht immer die Lösung.

  • Er ist Overkill für kleine Korrekturen. Schreiben Sie keine Spezifikation für eine Änderung in einer einzigen Zeile.
  • Spezifikationen können veralten. Wenn sich der Code ändert, die Spezifikation aber nicht, wird die Spezifikation zur Lüge.
  • Agenten gehorchen nicht immer. Eine Spezifikation reduziert Verwirrung, aber Sie müssen das Ergebnis dennoch überprüfen.

Nutzen Sie eine Spezifikation, um Ihre Absicht klar zu machen. Nutzen Sie sie, um Fehler zu finden, solange sie noch nur Worte sind.

Quelle: https://dev.to/jcamarate/what-is-spec-driven-development-with-ai-coding-agents-56mc

Optionale Lern-Community: https://t.me/GyaanSetuAi