E-Book, Deutsch, 546 Seiten
Kofler / Öggl / Springer Coding mit KI
2. Auflage 2026
ISBN: 978-3-367-11297-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Das Praxisbuch für die Softwareentwicklung
E-Book, Deutsch, 546 Seiten
ISBN: 978-3-367-11297-5
Verlag: Rheinwerk
Format: EPUB
Kopierschutz: 0 - No protection
Wird in wenigen Jahren niemand mehr Code schreiben, wie es NVIDIA-Chef Jensen Huang prophezeit? Werden intelligente Systeme Bugs jagen, Apps erstellen und Menschen überflüssig machen? Wahrscheinlich nicht.
Aber sicher ist, dass KI rasend schnell verändert, wie wir Software entwickeln. Wer die neuen KI-Helfer nicht nutzt, macht sich das Leben unnötig schwer und läuft Gefahr, den Anschluss zu verlieren.
In diesem Buch erfahren Sie, was Agentic Coding bereits leisten kann und wo die Grenzen von GitHub Copilot, Claude, Antigravity und Cursor liegen. Michael Kofler, Bernd Öggl und Sebastian Springer zeigen Ihnen anhand praxisnaher Beispiele , wie Sie heute schon mit KI-Unterstützung schneller, effizienter und fehlerfreier programmieren können. Ein pragmatischer Leitfaden für alle, die wissen wollen, was künstliche Intelligenz für die Softwareentwicklung bedeutet.
Aus dem Inhalt:
- Agentic Coding
- Debugging, Refactoring und Unit-Tests
- MCP und Skills
- Server-Setup für lokale LLM-Ausführung
- Modelle mit dem Docker Model Runner ausführen
- LLMs per API nutzen
- Reasoning and Thinking
- RAGs und SQL-to-Text
- Risiken, Grenzen und Ausblick
Autoren/Hrsg.
Weitere Infos & Material
Vorwort ... 9
TEIL I. KI-Tools verstehen ... 15
1. Einführung ... 17
1.1 ... Coding per Chat ... 17
1.2 ... Codeassistenten ... 27
1.3 ... Die Kunst des Prompting ... 40
1.4 ... Grundlagen von Large Language Models (LLMs) ... 48
1.5 ... LLM-Interna und -Optimierung ... 63
2. Pair Programming ... 75
2.1 ... Die richtigen KI-Tools zum Lernen ... 76
2.2 ... Code in Funktionen strukturieren ... 78
2.3 ... Beispiel: IBAN-Validierung ... 88
2.4 ... Objektorientiert programmieren ... 95
2.5 ... Beispiel: Quiz ... 103
2.6 ... Beispiel: Sudoku lösen ... 108
3. Agentic Coding ... 117
3.1 ... Agentic Coding in der Software-Entwicklung ... 117
3.2 ... Agentic Coding mit Cursor ... 120
3.3 ... Die Kernfeatures von Cursor ... 124
3.4 ... Der Agentic Coding Workflow ... 135
3.5 ... Fazit ... 146
TEIL II. Coding mit KI-Unterstützung ... 149
4. Debugging ... 151
4.1 ... Webapplikationen ... 152
4.2 ... App-Entwicklung ... 162
4.3 ... Entwicklung am Raspberry Pi ... 167
4.4 ... Visual Studio und VSunhbox voidb@x protect penalty @M Code ... 171
4.5 ... Fazit ... 173
5. Refactoring ... 175
5.1 ... Einführung ins Refactoring ... 176
5.2 ... Refactoring mit KI-Werkzeugen ... 176
5.3 ... Best Practices ... 190
5.4 ... Wann Sie KI nicht zum Refactoring einsetzen sollten ... 192
5.5 ... Fazit ... 193
6. Software testen ... 195
6.1 ... Erzeugen von Testdaten ... 196
6.2 ... KI-gestützte Testautomatisierung ... 200
6.3 ... Testgetriebene Entwicklung mit KI ... 207
6.4 ... Arbeiten mit Abhängigkeiten ... 213
6.5 ... Optimieren von Tests ... 220
6.6 ... E2E-Tests ... 226
6.7 ... Fazit ... 231
7. Software dokumentieren ... 233
7.1 ... Inline-Dokumentation ... 235
7.2 ... Funktions- und Klassendokumentation ... 239
7.3 ... API-Dokumentation ... 243
7.4 ... Veraltete Dokumentation ... 247
7.5 ... Fazit ... 250
8. Datenbanken ... 253
8.1 ... Datenbankdesign ... 254
8.2 ... SQL-Kommandos ... 261
8.3 ... Administration ... 268
8.4 ... Datenbank-Handling mit MCP ... 273
9. Scripting und Systemadministration ... 279
9.1 ... Scripting ... 279
9.2 ... Reguläre Muster ... 284
9.3 ... KI-Hilfe im Terminal mit llm ... 289
9.4 ... Systemadministration ... 292
9.5 ... Linux-Administration per SSH und KI ... 297
TEIL III. Tools für Profis ... 305
10. Sprachmodelle lokal ausführen ... 307
10.1 ... Die Qual der LLM-Wahl ... 308
10.2 ... Vorteile der lokalen Ausführung von Modellen ... 314
10.3 ... GPT4All ... 315
10.4 ... Ollama ... 318
10.5 ... Die Ollama Cloud ... 324
10.6 ... Open WebUI für Ollama ... 325
10.7 ... Continue ... 333
10.8 ... Ollama-API ... 336
10.9 ... Tabby ... 339
10.10 ... Fazit ... 341
11. Der eigene LLM-Server ... 343
11.1 ... Hardware ... 345
11.2 ... GPU-Bibliotheken, Treiber und Kernel-Einstellungen ... 346
11.3 ... LM Studio ... 354
11.4 ... Agentic Coding mit Roo Code ... 368
11.5 ... llama-server ... 371
11.6 ... Fazit ... 377
12. Agentic-Coding-CLIs ... 379
12.1 ... Einführung ... 379
12.2 ... Claude Code ... 382
12.3 ... Codex CLI ... 396
12.4 ... goose ... 400
13. MCP und Skills ... 407
13.1 ... Tool Calling ... 408
13.2 ... Model Context Protocol (MCP) ... 409
13.3 ... Skills ... 428
14. Retrieval Augmented Generation (RAG) und Text-to-SQL ... 439
14.1 ... Schnellstart RAG ... 440
14.2 ... Das viel-falter-Projekt ... 445
14.3 ... Dokumente laden ... 446
14.4 ... Index erzeugen ... 448
14.5 ... Vector-Store-Datenbanken ... 452
14.6 ... RAG-Abfragen ... 455
14.7 ... Text-to-SQL ... 461
15. KI-APIs nutzen ... 473
15.1 ... Die API von OpenAI ... 473
15.2 ... Die API von Claude ... 482
15.3 ... Die API von Gemini ... 484
15.4 ... APIs lokaler Modelle ... 485
15.5 ... Beispiel: Alt-Texte für eine WordPress-Site generieren ... 490
15.6 ... Docker Model Runner ... 496
16. Risiken und Ausblick ... 513
16.1 ... Probleme und Einschränkungen beim Einsatz von KI-Tools ... 513
16.2 ... Beispielhaftes KI-Versagen ... 520
16.3 ... Ethische Fragen ... 529
16.4 ... AI Slop, Vibe Coding und die Zukunft der Software-Entwicklung ... 535
Index ... 541
1 Einführung
Dieses »Hello, World!«-Kapitel gibt einen ersten Überblick über den Einsatz von KI-Tools bei der Programmentwicklung. Wir spannen dabei den Bogen von dialogbasierten Coding-Hilfen wie ChatGPT über die simple Code-Vervollständigung im Editor hin zu Agentic Coding, bei dem Sie KI-Tools mit der Implementierung vollständiger Features beauftragen. Das Thema »Agentic Coding« wird uns durch nahezu alle weiteren Kapitel des Buchs verfolgen.
Eine neue Dimension bekommt Coding mit KI, wenn Sie dem KI-Tool die Kontrolle über Teile Ihres Computers überlassen, z. B. mithilfe von Programmen, die das Model Context Protocol unterstützen (siehe Kapitel 13, »MCP und Skills«). Damit kann das KI-Tool außerhalb der Entwicklungsumgebung Aktionen durchführen, z. B. ein GitHub-Issue bearbeiten, Commits durchführen, einen Datenbankserver einrichten, Programme starten oder externe Testprozeduren ausführen.
Die Anwendungsmöglichkeiten reichen über die reine Codeentwicklung hinaus und schließen administrative Arbeiten oder Sicherheitstests mit ein. Idealerweise verwenden Sie für diese Art der KI-Anwendung abgesicherte Umgebungen, also Sandboxes oder virtuelle Maschinen. MCP, Skills und vergleichbare Verfahren bergen das Potenzial in sich, nicht nur die Programmentwicklung zu automatisieren, sondern auch angrenzende Aufgaben inklusive Test und Debugging.
Wenn Sie dieses Buch lesen, haben Sie höchstwahrscheinlich schon KI-Coding-Tools ausprobiert. Überfliegen Sie dennoch die folgenden Seiten – vielleicht können wir Sie schon im Einführungskapitel auf neue Ideen bringen, bevor wir in den weiteren Kapiteln mehr in die Tiefe gehen. Insbesondere hinweisen wollen wir auf Abschnitt 1.4, »Grundlagen von Large Language Models (LLMs)«, und Abschnitt 1.5, »LLM-Interna und -Optimierung«: Dort fassen wir zusammen, wie Sprachmodelle hinter den Kulissen funktionieren. Dieses Wissen ist hilfreich, um die Grenzen der aktuellen Technik besser zu verstehen.
1.1 Coding per Chat
Den intuitivsten und niederschwelligsten Einstieg in das KI-unterstützte Coding bieten Chat-Systeme wie ChatGPT. Zuletzt gab es eine große Auswahl derartiger Tools. Fünf populäre Dienste sind:
-
https://chatgpt.com (das Original von OpenAI)
-
https://claude.ai (Anthropic)
-
https://gemini.google.com (Google)
-
https://mistral.ai (Frontier AI/Frankreich)
-
https://www.deepseek.com/en (DeepSeek/China)
Alle Dienste können in eingeschränktem Umfang kostenlos genutzt werden. Bei intensiver Verwendung bzw. zum Freischalten von Zusatzfunktionen benötigen Sie aber ein kostenpflichtiges Abo.
Historisch gesehen war ChatGPT der erste öffentliche KI-Chat-Dienst. Seine Funktionen waren in den letzten Jahren prägend für die öffentliche Wahrnehmung von »künstlicher Intelligenz«. Die Konkurrenz hat aber schnell aufgeholt, und alle hier genannten Dienste funktionieren ausgezeichnet.
Unter Software-Entwicklern hatten 2025 https://claude.ai und dort verankerte Dienste den besten Ruf. Der Firma Anthropic ist es besonders gut gelungen, den Bedürfnissen von IT-Profis gerecht zu werden. Immer wieder gewannen Sprachmodelle von Anthropic Coding-Benchmark-Tests. Derartige Tests versuchen, den Einsatz von Sprachmodellen zum Software-Development so objektiv wie möglich zu vergleichen.
Im extrem schnelllebigen KI-Zeitalter kann es aber jederzeit passieren, dass ein Sprachmodell neue Konzepte realisiert und in der Entwicklergunst steigt oder fällt. Ende 2025 gelang dieses Kunststück Google mit Gemini. Dieses Sprachmodell funktioniert so gut, dass OpenAI Angst bekam, nicht mehr konkurrenzfähig zu sein, und »Alarmstufe Rot« ausrief (Code Red).
Deswegen werden Sie in diesem Buch vergeblich nach konkreten Aussagen suchen, welches denn nun der beste KI-Dienst, der beste KI-Editor, das beste Sprachmodell für eine bestimmte Aufgabe ist. Selbst wenn wir in der Lage wären, diese Frage heute konkret zu beantworten, kann sich das morgen schon wieder ändern. Im Gegenteil empfehlen wir Ihnen, immer wieder über den eigenen Tellerrand zu sehen und für einen Tag ein Werkzeug auszuprobieren, das nicht Bestandteil Ihres üblichen Baukastens ist.
Zwei Beispiele
Sie brauchen in einem Python-Script eine Funktion, die ein zufälliges Passwort in einer vorgegebenen Länge liefert. Statt den Code selbst zu schreiben, sparen Sie ein, zwei Minuten Zeit, wenn Sie diese triviale Aufgabe an ChatGPT abgeben. Den Code können Sie nun unkompliziert kopieren und in Ihr Script einbauen. Vergessen Sie die erforderlichen Importe nicht! Wenn Sie gerade dabei sind, Programmieren zu lernen, ist das Beispiel vielleicht erhellend. IT-Profis werden aber nur mit der Achsel zucken aufgrund der offensichtlichen Trivialität.
Abbildung 1.1 ChatGPT hat einen Passwortgenerator in eine Funktion verpackt.
Das zweite Beispiel ist komplexer. Wir bitten Claude um detaillierte Informationen über neue Concurrency-Features in Swift 6.2. Bemerkenswert ist das Timing: Als wir den Prompt im Dezember 2025 in der Weboberfläche von Claude formulierten, war das Sprachmodell Sonnet 4.5 aktuell. Ein kurzer Prompt »When was your training cutoff?« ergibt, dass Sonnet 4.5 nur mit Wissen bis Anfang 2025 trainiert wurde. Das Release von Swift 6.2 fand viel später im Herbst 2025 statt. Das Sprachmodell von Claude konnte damals also gar nicht wissen, welche Features 6.2 implementiert hat.
Abbildung 1.2 Claude berücksichtigt bei dieser Anfrage Informationen nach dem Training-Cutoff-Zeitpunkt.
Glücklicherweise sind moderne KI-Tools in der Lage, selbst im Internet zu recherchieren. Alternativ oder ergänzend können Sie Links zu Webseiten angeben bzw. PDF- oder Markdown-Dateien mit Dokumentation hochladen, die das Sprachmodell zusätzlich zum antrainierten Wissen berücksichtigen soll. Mit diesen Zusatzinformationen war Claude zum Testzeitpunkt in der Lage, Detailinformationen zu präsentieren, die weit über die recht mageren Release Notes von Apple hinausgingen.
Darstellung von Prompts und Antworten
Abbildungen mit Screenshots von Chat-Oberflächen oder KI-Editoren sind in diesem Buch die Ausnahme. Stattdessen präsentieren wir Prompts und Antworten wie im folgenden Beispiel. Darin sollen alle Datumsangaben einer Zeichenkette vom US-Format (12/31/2026) in das ISO-Format (2026-12-31) umgewandelt werden.
Prompt: Python: I want to replace all US dates by ISO dates in a string. Can you help?
I’ll help you convert US date formats (MM/DD/YYYY) to ISO format (YYYY-MM-DD) in a string using Python. Here’s a solution using regular expressions:
from datetime import datetime
# Replace US dates (MM/DD/YYYY) with ISO dates (YYYY-MM-DD)
def us_to_iso_dates(text):
def replace_date(match):
month, day, year = match.groups()
try:
datetime(int(year), int(month), int(day))
return f"{year}-{month.zfill(2)}-{day.zfill(2)}"
except ValueError:
return match.group(0)
return re.sub(r'\b(\d{1,2})/(\d{1,2})/(\d{4})\b',
replace_date,
text)
# Example
text = "Meeting: 12/15/2025 and 3/5/2026"
print(us_to_iso_dates(text))
# Output: Meeting: 2025-12-15 and 2026-03-05
Key features:
-
Validates dates. Invalid dates like 13/45/2024 are left unchanged.
-
Uses word boundaries (\b) to avoid matching partial numbers
(more details …)
Der Code funktioniert in der präsentierten Form ausgezeichnet. Wenn Sie mit regulären Ausdrücken nicht vertraut sind, können Sie sich den Aufbau des Musters in einer Folgefrage erläutern lassen:
Prompt: Could you explain the regular pattern?
Sure! Let me break down the regular expression pattern r'\b(\d{1,2})/(\d{1,2})/(\d{4})\b':
- ...




