Als roter Faden wird von Grund auf ein kleines REST-API entwickelt und erweitert. Dabei wird ganz bewusst keine einzige Zeile Code selbst geschrieben oder geändert, um die Fähigkeiten von Copilot zu demonstrieren. Die Teilnehmenden werden in der Zusammenarbeit mit Github Copilot durch die einzelnen Entwicklungsphasen geführt, vom initialen Design bis hin zum Deployment. Weiterhin werden alltägliche Aufgaben wie etwa Tests, Dokumentation oder Fehlerbehandlung bis hin zur Integration von Docker und CI/CD gemeinsam mit Github Copilot bewerkstelligt.
Agenda
Tag 1: Grundlagen & Einstieg in GitHub Copilot
Überblick über Github Copilot
- Funktionsweise (KI, Sprachmodelle, Kontextverständnis)
- KI-basierte Code-Generierung: Möglichkeiten und Grenzen
- Copilot vs. andere Code-Assistenten
- Unterstützte Sprachen und Frameworks
- Lizenzierung und Datenschutz
- Typische Beispiele für Copilot-Einsatz
Copilot in VS Code effektiv nutzen
- Konfigurationsmöglichkeiten, Einstellungen
- Shortcuts und Arbeitsweise in VS Code
- Unterschied: Inline-Vervollständigung, Blockvervollständigung und Chat
- Unterschied: Prompts oder Kommentare zur Steuerung
- Praktische Live-Demonstration: „leere“ Methoden mit Hilfe von Github Copilot implementieren.
- Zur Überprüfung der Implementierung werden fertig implementierte Unit-Tests verwendet.
Neue Projekte mit Copilot entwerfen
- Einen neuen Workspace mit Copilot erstellen
- Kontext aufbauen: Kommentare als Steuerungsinstrument
- Inline-Suggestions vs. Chat-Interface nutzen
- Ask vs. Edit vs. Agent: Welcher Modus wann und wozu
- Iteration und Verfeinerung von Vorschlägen
- Praktische Übung: Erstellen eines neuen Workspaces mit Hello-World-REST-API (Endpoint: `/hello-world`)
Copilot in der Design-Phase
- Brainstorming & Requirements mit Copilot
- Text als Universal-Interface am Beispiel: Diagramme mit Mermaid-JS
- Architektur- und ER-Diagramme für das REST-API
- Projektsetup: Boilerplate-Code für das REST-API
- Praktische Übung: Erste Implementierung ohne Persistenzschicht, nur mit Controllern, Services & JSON-DTOs
REST-API erweitern
- Erweitern des API um eine Persistenzschicht: Entities und Repositories generieren
- Integration einer einfachen In-Memory-Datenbank (H2)
- Praktische Übung: Persistenz in Service-Layer und Business-Logik integrieren
Kollaboratives Arbeiten mit Copilot
- Pair Programming mit Copilot
- Copilot Chat & Erklärungen nutzen
- Code bewerten und verbessern
- Refactoring mit Copilot-Unterstützung
- Praktische Übung: Fehlersuche und Refactoring
Testen
- Test-Frameworks in ein Projekt integrieren
- Unit- und Integrationstests generieren
- Testdaten mit Copilot erzeugen
- Testabdeckung (Code Coverage)
- Praktische Übung: Unit- und Integrationstests für das REST-API
Tag 2: Fortgeschrittene Nutzung, Integration & Best Practices
Prompt Engineering für Entwickelnde
- Effiziente Promptgestaltung & Techniken zur Verbesserung der Vorschlagsqualität (z.B. präzisere Prompts, Code-Strukturierung)
- Iteratives Verbessern der Prompts
- Zero-Shot- & Multi-Shot-Prompting
- Prompt Chaining und Chain-of-Thought Prompting
- Generated-Knowledge Prompting
- System, User, Agent: „Copilot-Rollen“ und das Persona Pattern
- Kontext: Welche Informationen werden herangezogen? Wie kann ich dies gezielt beeinflussen?
- Tools für Prompt Engineering: Anthropic Console, OpenAI Playground, LangSmith
Dokumentation mit Copilot
- Dokumentation automatisch erstellen lassen
- OpenAPI-Dokumentation generieren lassen
- I18n: Sprachressourcen automatisiert übersetzen
- Einbinden externer REST-Tools am Beispiel von cURL & Postman
- Praktische Übung: Code-Dokumentation und OpenAPI-Dokumentation für das REST-API
Fortgeschrittene Fehlerbehebung
- Typische Fehlerbilder & Debugging mit Copilot
- Agent Mode: Ganzheitliche Unterstützung (Dateisystem, Terminal, Screenshots, …)
- Performance-Optimierung und Code-Profiling
- Auch Copilot macht mal Fehler: Beispiele für Copilot-Fehler und Lösungsansätze
- Praktische Übung: Gezielt platzierte Fehler auffinden & beheben lassen
Copilot & Security
- Authentifizierung integrieren
- Security-Aspekte bei KI-generiertem Code
- Kritische Punkte auffinden, bewerten und verbessern
- Praktische Übung: Authentifizierung zum REST-API hinzufügen
Team-Workflows
- Copilot in Code-Reviews nutzen
- Git in der Kommandozeile effektiver nutzen
- Custom Instructions und Workspace-Settings
Dockerisierung & CI/CD
- Dockerfiles generieren lassen
- Docker Compose einbinden am Beispiel von Postgresql und Traefik als Reverse-Proxy
- CI-Integration mit Github Actions oder Gitlab CI
- Deployment der REST-API in der Cloud (z.B. AWS, Azure, DigitalOcean)
- Praktische Übung: Dockerisierung des REST-API-Projekts und Deployment in der Cloud (Render, Railway, etc.)
Ausblick
- Grenzen von Copilot: Wann manuell arbeiten?
- Zukunft der KI-gestützten Entwicklung
- Bedingungen für erfolgreichen Einsatz von Github Copilot
- Skills, die im Umgang mit KI relevant sind
Teilnehmerkreis und Voraussetzungen
Copilot ist installiert und eingerichtet, VS Code als IDE vorhanden.
Mindestanzahl Teilnehmende: 2 Personen
Als roter Faden wird von Grund auf ein kleines REST-API entwickelt und erweitert. Dabei wird ganz bewusst keine einzige Zeile Code selbst geschrieben oder geändert, um die Fähigkeiten von Copilot zu de...
Mehr Informationen