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 ein Redesign. Herkömmliche Entwicklungsmethoden müssen sich an die Fähigkeiten und Eigenschaften von KI anpassen, um ihren maximalen Nutzen zu entfalten. Dieses Kapitel stellt vier KI-native Entwicklungsmuster vor und hilft Ihnen dabei, eine neue Entwicklungsperspektive zu entwickeln.

TDD (Test-Driven Development) 2.0

Traditionelles TDD ist ein Rot-Grün-Refactoring-Zyklus, und im KI-Zeitalter wird dieser 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

Ein 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.

Mit KI eine Ubiquitous Language (Ubiquitous Language) herausarbeiten

Eine einheitliche Sprache ist der Kern von DDD, und KI kann uns dabei helfen, Fachbegriffe 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 Beziehungen zwischen 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
  • • Kontext-Mapping-Diagramm erstellen

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äftsobjekte mit eindeutigen Kennungen und generiert Entitätsklassen und 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-Agents zusammenarbeiten, um Entwicklungsaufgaben zu erledigen.

Plan-Execute-Evaluate-Zyklus

Plan

Planungsphase

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

Execute

Ausführungsphase

Der Coding-Agent generiert Code auf Basis des Plans, und der Testing-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 selbst

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

Architekturdokumenttypen
  • • Systemarchitekturdiagramme und Dokumente zur Technologieauswahl
  • • API-Design-Richtlinien und Schnittstellendokumentation
  • • Datenbankdesign und Datenmodelle
  • • Aufteilung von Microservices und Service-Grenzen
  • • Sicherheitsrichtlinien und Berechtigungsmodell
Vorteile
  • Der generierte Code entspricht automatisch dem Architekturdesign
  • Architekturdifferenzen und Refactoring-Kosten reduzieren
  • Neue Mitglieder können die Architektur schnell verstehen und standardkonformen Code generieren

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
  • 5In der Lage sein, den geeigneten KI-nativen Entwicklungsmodus entsprechend den Projektmerkmalen auszuwählen