CMD Master
Zurück zum Blog
Arnošt Havelka

Wie erfahrene Entwickler KI anders einsetzen

Nützliche Engineering-Muster für den Einsatz von KI: kontextreiche Prompts, Analyse zuerst, kleinere Änderungen, Belege, Review und Validierung.

Wie erfahrene Entwickler KI anders einsetzen

Erfahrene Entwickler nutzen KI nicht alle auf dieselbe Weise, aber starke Engineering-Gewohnheiten ergeben ein erkennbares Muster: Sie geben Kontext, fordern Analyse an, grenzen die Änderung ein und validieren die Ausgabe. Der Unterschied liegt weniger in cleveren Prompt-Formulierungen als darin, dass sie Urteilsvermögen nicht ohne Belege delegieren.

Das sind nützliche Praktiken, keine Aussagen über jeden erfahrenen Entwickler oder eine Hierarchie darüber, wer KI verwenden darf.

Vage Anfragen im Vergleich zu kontextreichen Briefings

Weniger zuverlässige AnfrageZuverlässigeres Engineering-Muster
„Refaktoriere diese Komponente.“Erkläre die Duplizierung, das zu bewahrende Verhalten, die eingegrenzten Dateien und die Tests, die grün bleiben müssen.
„Behebe die mobile Navigation.“Beschreibe das Usability-Problem auf Mobilgeräten und schütze dabei Desktop-Verhalten und Routenstatus.
„Mache das schneller.“Bitte um einen gemessenen Engpass, konkurrierende Hypothesen und die kleinste messbare Verbesserung.

Kontext ermöglicht einem Assistenten, zwischen plausiblen technischen Optionen zu wählen. Ohne ihn optimiert der Assistent möglicherweise den sichtbaren Code statt des tatsächlichen Nutzerproblems.

Antworten zuerst im Vergleich zu Analyse zuerst

Eine kurze Implementierungsanfrage ist für ein offensichtliches Hilfsprogramm in Ordnung. Bei Zustandsübergängen, Datenzuständigkeit, Berechtigungsprüfungen oder einem Produktionsfehler ist sie riskant.

Ein analyseorientierter Prompt sieht so aus:

Verfolge vor der Bearbeitung, wie Benachrichtigungspräferenzen vom Formular zum
gespeicherten Nutzerdatensatz und zurück zur UI gelangen.

Identifiziere den einzigen Writer, den Lesepfad und den Fehlerpfad. Trenne bestätigtes
Verhalten von Annahmen. Liste dann die kleinsten Dateien auf, die sich wahrscheinlich
ändern, sowie den Test, der den gemeldeten Fehler beweisen würde.

Der Assistent wird zuerst zum Recherchepartner. Der Entwickler kann das Modell des Systems prüfen, bevor er einen Patch akzeptiert.

Große Änderungen im Vergleich zu schrittweisen Änderungen

Eine breite Aufgabe kann einen Bugfix, ein Refactoring, eine Überarbeitung von Tests und eine Stiländerung kombinieren. Das macht Ursache und Wirkung schwer erkennbar.

Nutze stattdessen Checkpoints:

1. Reproduziere den Fehler und beschreibe den aktuellen Pfad.
2. Nimm die kleinste Verhaltenskorrektur vor.
3. Füge einen fokussierten Regressionstest hinzu und führe ihn aus.
4. Zeige den Diff und erkläre verbleibende Bereinigung getrennt.

Das ist keine Beschäftigungstherapie. Kleine Änderungen machen Review, Rollback und Reaktion auf Vorfälle sicherer.

Ausgabe vertrauen im Vergleich zu Ausgabe validieren

KI-generierter Code kann gut formatiert, typsicher und trotzdem für das Produkt falsch sein. Starke Workflows validieren auf mehreren Ebenen:

  • Statische Prüfungen: Typprüfung, Linting, Schemaprüfung.
  • Verhaltensprüfungen: fokussierte Unit- oder Integrationstests.
  • Produktprüfungen: ein manueller Workflow, der dem Problem des Nutzers entspricht.
  • Review-Prüfungen: Inspektion des Diffs auf Regressionen bei Umfang, Berechtigungen, Locale und Nebeneffekten.

Bitte den Assistenten, diese Prüfungen vorzuschlagen, und führe die relevanten selbst aus. Falls sich eine Prüfung nicht lokal ausführen lässt, dokumentiere die Lücke, statt Erfolg zu behaupten.

Implementierungsorientiertes im Vergleich zu problemorientiertem Denken

Die erste Implementierungsidee ist oft der teuerste Weg, ein Symptom zu lösen. Beginne beim Problem:

Problem: Ein Lernender verliert die aktuelle Aufgabe, nachdem er auf einem kleinen
Bildschirm Browser-Tabs gewechselt hat.

Nimm nicht an, dass eine neue Persistenzschicht die Antwort ist. Prüfe die aktuelle
Navigation, die Zuständigkeit für Zustand und das Wiederherstellungsverhalten. Empfiehl
die kleinste Änderung, die dem Lernenden die Rückkehr zur aktiven Aufgabe ermöglicht,
ohne Zustand zu duplizieren oder den Datenschutz zu schwächen.

Das lässt Raum für eine einfachere Antwort: eine Routing-Korrektur, eine Korrektur für veralteten Zustand oder eine andere mobile Interaktion.

Gewohnheiten erfahrener Entwickler sind Review-Gewohnheiten

Das übertragbarste Muster ist nicht „nutze ein bestimmtes Modell“ oder „schreibe längere Prompts“. Es besteht darin, Arbeit überprüfbar zu machen:

  1. Erkläre, warum die Änderung wichtig ist.
  2. Nenne, was weiterhin zutreffen muss.
  3. Frage, welche Belege den Plan widerlegen könnten.
  4. Begrenze die erste Änderung.
  5. Definiere den Nachweis, dass sie funktioniert hat.

So denkt ein gutes Teammitglied über ein Ticket oder einen Pull Request nach. KI macht den Bedarf an explizitem Kontext lediglich sichtbarer.

Ein Prompt-Muster zum Übernehmen

Problem: [Auswirkung auf Nutzer oder System.]
Belege: [Reproduktion, fehlschlagender Test, Logs oder aktuelles Verhalten.]
Annahme: [Was deiner Meinung nach passieren könnte.]
Umfang: [Was zuerst geprüft werden soll.]
Einschränkungen: [Was darf sich nicht ändern?]
Ergebnis: [Beobachtbarer Erfolg.]
Validierung: [Tests, manueller Pfad, Messung, Review.]

Analysiere das aktuelle Verhalten vor der Bearbeitung. Hinterfrage die Annahme und
schlage die kleinste durch die Belege gestützte Änderung vor.

Beginne mit wie man bessere KI-Prompts schreibt für die vollständige Struktur und nutze dann Prompt Engineering für Entwickler, um sie an Implementierungs-, Debugging- und Review-Arbeit anzupassen. Für eine Checkliste dessen, was schiefläuft, wenn diese Gewohnheiten übersprungen werden, lies Fehler von KI-Coding-Assistenten und wie du sie vermeidest.

Bei befehlsbasierter Arbeit gilt derselbe Grundsatz: Prüfe die tatsächliche Eingabe und Ausgabe, statt das Verhalten eines Skripts zu erraten. Übe Kommandozeilen-Szenarien im Browser, bevor du Automatisierung schreibst oder prüfst.

Quellen

Diese Dokumentationslinks liefern verlässliche Details zu den in diesem Artikel verwendeten Befehlen.