Kapitel 4

KI-nativer Entwicklungsmodus

Beherrschen Sie die Entwicklungsparadigmen des KI-Zeitalters, von TDD 2.0 bis hin zu Agent-Driven Development, und machen Sie KI zu Ihrem besten Entwicklungspartner.

Zentrale Erkenntnis: KI-native Denkweise

Im Zeitalter des KI-Programmierens,Der Entwicklungsmodus erfordert eine Neuplanung. Traditionelle Entwicklungsmethoden müssen sich an die Fähigkeiten und Eigenschaften von KI anpassen, um ihren maximalen Wert zu entfalten. Dieses Kapitel stellt vier KI-native Entwicklungsmodi vor und hilft Ihnen, eine neue Denkweise für die Entwicklung zu entwickeln.

TDD (Test-Driven Development) 2.0

Traditionelles TDD ist ein Rot-Grün-Refactoring-Zyklus, und das KI-Zeitalter macht diesen Zyklus schneller und intelligenter.

KI-generierte Testfälle (Given-When-Then)

Verwenden Sie Testfälle im BDD-Stil (Behavior-Driven Development), damit KI Anforderungen leichter versteht und Tests generieren kann.

Given-When-Then-Format
Given Benutzer ist angemeldet
When Der Nutzer hat auf die Schaltfläche „Bestellung absenden“ geklickt
Then Das System erstellt eine Bestellung und gibt die Bestellnummer zurück
KI-Vorteile
  • KI kann schnell eine große Anzahl von Testfällen generieren und Randfälle abdecken
  • Das Given-When-Then-Format erleichtert es der KI, die Testabsicht zu verstehen
  • Testfälle sind Dokumentation, und KI kann auf Grundlage von Tests Implementierungscode generieren

KI-Beschleunigungsmechanismus für den Rot-Grün-Refactoring-Zyklus

Rot

Tests schreiben

KI generiert anhand der Anforderungen Testfälle und deckt Funktionen schnell ab

Grün

Implementierung schreiben

Die KI generiert anhand von Testfällen eine minimal lauffähige Implementierung und besteht die Tests schnell

Refactoring

Code optimieren

KI analysiert die Codequalität, schlägt Refactoring-Vorschläge vor und führt Optimierungen durch

Praxis: Lass die KI zuerst Tests schreiben, dann die Implementierung

Schritt 1: Anforderungen beschreiben
"Implementieren Sie eine Benutzeranmeldefunktion, die die Überprüfung von Benutzername und Passwort erfordert"
Schritt 2: Die KI generiert Testfälle
KI generiert anhand der Anforderungen Testfälle im Given-When-Then-Format
Schritt 3: Die KI generiert den Implementierungscode
KI generiert auf Basis von Testfällen eine minimale, lauffähige Implementierung und stellt sicher, dass die Tests bestehen
Schritt 4: KI-Refactoring-Optimierung
KI analysiert die Codequalität, schlägt Refactoring-Maßnahmen vor und führt sie aus

DDD (Domain-Driven Design) with AI

Domain-driven Design erfordert ein tiefes Verständnis des Geschäftsbereichs, und KI kann uns dabei helfen, Domänenwissen besser herauszuarbeiten.

KI verwenden, um eine Ubiquitous Language herauszuarbeiten

Eine einheitliche Sprache ist der Kern von DDD, und KI kann uns dabei helfen, Domänenbegriffe aus Geschäftsdokumenten zu extrahieren.

KI-gestützter Workflow
  • 1.Geschäftsdokumente, Anforderungsdokumente und User Stories eingeben
  • 2.KI analysiert Dokumente und extrahiert Fachbegriffe und Konzepte
  • 3.KI erkennt Synonyme und verwandte Beziehungen von Begriffen
  • 4.Ein einheitliches Sprachlexikon erstellen, um eine konsistente Terminologie im Team sicherzustellen

KI-gestützte Aufteilung von Bounded Contexts (Bounded Contexts)

Der Bounded Context ist das wichtigste Konzept in DDD, und KI kann dabei helfen, Kontextgrenzen zu erkennen und aufzuteilen.

Kontext erkennen
  • • KI analysiert Geschäftsbereiche und identifiziert unterschiedliche Geschäftskontexte
  • • Abhängigkeiten zwischen Kontexten erkennen
  • • Kontext-Mapping-Muster identifizieren (Shared Kernel, Kunde-Lieferant usw.)
Grenzen abgrenzen
  • • Die KI schlägt einen Plan zur Aufteilung der Kontextgrenzen vor
  • • Integrationspunkte zwischen Kontexten identifizieren
  • • Kontextzuordnung erzeugen

Codegenerierungsstrategie für Entitäten/Wertobjekte/Aggregatwurzeln

KI kann auf Grundlage des Domänenmodells automatisch die Code-Struktur für Entitäten, Value Objects und Aggregatwurzeln generieren.

Entität (Entity)

KI erkennt Geschäftobjekte mit eindeutigen Kennungen und erzeugt Entitätsklassen sowie ID-Eigenschaften

Wertobjekt (Value Object)

KI erkennt unveränderliche Werttypen und generiert Wertobjektklassen sowie Validierungslogik

Aggregate Root

Die KI identifiziert Aggregatgrenzen und generiert Aggregat-Root-Klassen sowie Geschäftsregeln

ADD (Agent-Driven Development)

Agent-Driven Development ist ein neues Entwicklungsparadigma, bei dem mehrere KI-Agenten zusammenarbeiten, um Entwicklungsaufgaben zu erledigen.

Plan-Execute-Evaluate-Zyklus

Plan

Planungsphase

Der Architekt-Agent analysiert Anforderungen, erstellt einen Entwicklungsplan und zerlegt Aufgaben

Execute

Ausführungsphase

Der Coding-Agent generiert Code basierend auf dem Plan, und der Test-Agent generiert Testfälle

Evaluate

Bewertungsphase

Der Review-Agent prüft die Codequalität, macht Verbesserungsvorschläge und optimiert iterativ

Multi-Agenten-Kollaborationsmuster

Architekt-Agent
  • • Anforderungen analysieren
  • • Die Architektur entwerfen
  • • Einen Plan erstellen
Coding Agent
  • • Code generieren
  • • Funktionen implementieren
  • • Code-Optimierung
Test-Agent
  • • Tests generieren
  • • Tests ausführen
  • • Qualitätsprüfung

RAG-DD (RAG-Driven Development)

RAG-Driven Development nutzt eine private Wissensdatenbank, um die Codegenerierungsfähigkeiten der KI zu verbessern und die KI Code auf Grundlage des Wissens und der Erfahrung des Teams generieren zu lassen.

Codegenerierung auf Basis einer privaten Wissensdatenbank

Die Architekturunterlagen, Entwurfsmuster, Best Practices und sonstiges Wissen des Teams in einer Wissensdatenbank bündeln, damit die KI dieses Wissen bei der Codegenerierung heranziehen kann.

Wissensdatenbank-Inhalte
  • Architektur-Design-Dokumente und Entwurfsmuster
  • Codierungsstandards und Best Practices
  • Frühere Projekterfahrungen und Lehren
  • Der Tech-Stack und die Toolchain des Teams
Workflow
1. Der Benutzer stellt die Anforderungen vor
2. Relevantes Wissen im RAG-System abrufen
3. KI generiert Code auf der Grundlage der abgerufenen Kenntnisse
4. Der generierte Code entspricht der Architektur und den Standards des Teams

Architekturdokumente sind der Kontext

Verwenden Sie Architektur-Dokumente als zentralen Kontext des RAG-Systems, um sicherzustellen, dass der generierte Code dem Architekturentwurf entspricht.

Archtektur-Dokumenttypen
  • • Systemarchitekturdiagramme und Dokumente zur Technologieauswahl
  • • API-Design-Richtlinien und Schnittstellendokumentation
  • • Datenbankdesign und Datenmodelle
  • • Aufteilung von Microservices und Servicegrenzen
  • • Sicherheitsrichtlinien und Berechtigungsmodell
Vorteile
  • Der generierte Code entspricht automatisch dem Architekturdesign
  • Architekturdrift und Refactoring-Kosten reduzieren
  • Neue Teammitglieder können die Architektur schnell verstehen und normgerechten Code erzeugen

Lernergebnisse

Nach Abschluss dieses Kapitels werden Sie:

  • 1Die Kernideen von TDD 2.0 verstehen und KI nutzen, um die testgetriebene Entwicklung zu beschleunigen
  • 2Verstehen, wie DDD with AI funktioniert, und KI zur Unterstützung des Domain-Modelings einsetzen können
  • 3Das Multi-Agenten-Kollaborationsmuster von Agent-Driven Development beherrschen
  • 4Den Wert von RAG-Driven Development verstehen und eine private Wissensdatenbank aufbauen können
  • 5Je nach Projekteigenschaften den passenden KI-nativen Entwicklungsmodus auswählen können