A Weekend With Claude

Dieses Wochenende ist wieder Zeit für die 24 Stunden von Le Mans und heuer findet auch der Formel 1 Grand Prix von Kanada statt. Für ein Motorsport-Herz gibt es kaum etwas Besseres.

Die Idee: Weg von WordPress

Schon länger trage ich die Idee mit mir herum, meine Website von WordPress zu befreien und stattdessen eine ganz einfache, selbst entwickelte Lösung zu erstellen. Damit könnte ich mir den ganzen Overhead ersparen. Als C#-Entwickler sind PHP und Python für mich eher abschreckend – zugegebenermaßen eine sehr persönliche Meinung. Wer jahrelang in diesen Sprachen programmiert, findet C# wahrscheinlich genauso fürchterlich.

Um aus dem mehr oder weniger sinnvollen „blöd im Kreis herumfahren" (wie Niki Lauda es einst ausdrückte) etwas Konstruktives zu machen, dachte ich mir: Warum nicht während Le Mans etwas in ASP.NET Core und C# bauen? Vor einiger Zeit hatte ich bereits begonnen, kam aber aus Zeitgründen nicht weiter.

Die Anforderungen

Meine Vorstellungen waren bewusst simpel gehalten:

  • Ein einfaches Blog mit Kategorien, aber ohne Kommentarfunktion
  • Ein paar statische Seiten – quasi ein kleines CMS
  • Einen Admin-Bereich für die Eingabe
  • Als Herausforderung: Mehrsprachigkeit
  • Alles so einfach wie möglich

Claude als Entwicklungspartner

Beim Experimentieren fiel mir auf, dass Claude ziemlich guten Code erzeugen kann und bei Problemen oft zielführender hilft als eine Google- oder Bing-Suche. Also warum nicht Claude zur Hilfe nehmen?

Als Le Mans startete, begann ich mit einem naiven Prompt: „Ich möchte meine Website mit .NET Core Razor bauen. Ich möchte ein sehr simples Design und ein kleines Backend für meine Posts. Als Backend will ich MSSQL mit Entity Framework. Kannst du mir dabei helfen?"

Und schon ging es los. Claude produzierte Code und ich konnte parallel Le Mans schauen. 😊

Erste Erfolge

Der generierte Code war umfangreich und für den Start wirklich gut geeignet. Ich erstellte ein Visual Studio-Projekt, kopierte den Code hinein – und alles lief. Schneller geht's nicht: Ich hatte eine Seite mit Blog-Funktionalität und dazugehörigem Admin-Bereich.

Da ich nicht präzise genug war, musste ich noch die Namespaces anpassen. Das ist übrigens essenziell: Je mehr konkrete Vorgaben, desto besser wird der Code.

Interessante Beobachtungen

Ab hier wurde es richtig interessant. Je länger der Chat dauerte, desto uneinheitlicher wurde der Code und desto variabler die Patterns, die Claude anwendete. Mal mit ViewModels, mal ohne, mal Services, mal statische Klassen. Das fand ich faszinierend, da ich eigentlich von konsistentem Code ausgegangen war.

Aber es war kein großes Problem – bis nach ein paar Stunden die maximale Chat-Länge erreicht war.

Die Herausforderung: Chat-Begrenzungen

Hier wurde es kompliziert. Claude kann leider nicht auf bisherige Chats aufbauen, aber das Wissen über bereits erstellten Code wäre von Vorteil gewesen.

Claude-Projekte klangen wie eine Lösung, aber weder die Chat-Veröffentlichung noch der GitHub-Verweis funktionierten für Claude. Also fügte ich den gesamten Source-Code Datei für Datei zum Projektwissen hinzu. Rückblickend wäre es besser gewesen, gleich mit einem Projekt zu starten – aber so konnte ich mehr Le Mans schauen...

Entwicklungsschleifen und Missverständnisse

Die Weiterentwicklung ging recht flott vonstatten, bis auf einige Schleifen, in denen Claude und ich uns nicht verstanden. Es gab durchaus witzige Missverständnisse: Als ich das Language-Model und die Handhabung vereinfachen wollte, machte Claude gleich ein ganzes Übersetzungssystem daraus.

Manchmal war er auch stur und wollte partout bestimmte Code-Teile nicht umbauen.

Wiederkehrende Fehler

Interessant ist, dass sich gewisse Fehler hartnäckig durchziehen. Claude verwendet gerne Inline-Styles, was grundsätzlich okay ist. Jedoch bei @media und @keyframes vergisst er gelegentlich das erste oder zweite @, weil diese in Razor-Seiten escaped werden müssen.

Besonders schwierig erwies es sich, gewisse Design-Entscheidungen von Claude rückgängig zu machen. Aber schlussendlich hat alles gut geklappt.

Code-Review mit einem KI-Partner

Teilweise fühlte es sich wie eine lange Code-Review-Session an. Den meisten Code habe ich so belassen, wie Claude ihn produziert hat. Im Nachgang muss der Code allerdings noch im Hinblick auf Performance und Vereinheitlichung überarbeitet werden.

Fazit

Es war ein unterhaltsames Experiment – vor allem wenn Claude sich in Themen versteift und partout nicht auf seinen „Meister" hören will. Das erinnert mich an so manchen meiner Juniors.

Und Le Mans? Das war ebenfalls sehr spannend: keine langen Safety-Car-Phasen und alle immer am Drücken. Gewonnen haben Robert Kubica, Yifei Ye und Phil Hanson – sehr eindrucksvoll. Der Österreicher Richard Lietz triumphierte zusammen mit Ryan Hardwick (USA) und Riccardo Pera (ITA) in einem Manthey-Porsche in der LMGT3-Kategorie.

Ein perfektes Wochenende für Motorsport und Code!

 

Zuletzt bearbeitet: 15.06.2025 20:23