GitHub Copilot Agent Mode: Ein Erfahrungsbericht
GitHub Copilot hat mit seinem neuen Agent Mode eine beeindruckende Erweiterung erfahren. Diese Funktion ermöglicht es Entwicklern, komplexe Aufgaben autonom zu bearbeiten. Im Gegensatz zur herkömmlichen Version, die hauptsächlich Code-Vervollständigungen anbietet, kann der Agent Mode eigenständig Code iterieren, Fehler erkennen und beheben sowie Terminalbefehle vorschlagen und analysieren. Dieses Feature ermöglicht es, ganze Anwendungen von Grund auf neu zu erstellen, Refactorings über mehrere Dateien hinweg durchzuführen, Tests zu schreiben und auszuführen sowie Legacy-Code auf moderne Frameworks zu migrieren.
Ich bin täglich aufs Neue vom Copiloten im Agent Mode begeistert. Und ich stelle immer wieder fest, dass Anweisungen an diesen – nachdem der Kontext zuvor auf ein Thema gerichtet wurde – möglichst allgemein gefasst werden sollten, um ihm die Möglichkeit zu geben, Vorschläge zur Implementierung zu machen. Denn man muss sich klarmachen, dass er etliche Implementierungen auswendig kennt – das Schwarmwissen vieler Nutzer auf GitHub – und dass er dieses Wissen zur Anwendung bringen wird. Dabei geht er möglicherweise professioneller an die Sache heran, als man selbst es tun würde.
Aktuell muss ich in einer Anwendung die Benutzerprofile erweitern: um Profilbilder etc. Im ersten Schritt ergänzte der Agent das Datenmodell des Benutzers und die SQL-Datenbank um die erforderlichen Felder bzw. Spalten. Nachdem das geschehen ist, bleibe ich allgemein, weise aber darauf hin, dass er noch nicht codieren soll, damit ich gegebenenfalls Änderungen am Plan vornehmen kann.
Mein Prompt: "Das ist aber erst der Anfang. Wann und wo wird der User sein Bild hochladen? In welcher Größe und in welchem Format akzeptieren wir es? Noch nicht coden."
Woraufhin der Agent mich angenehm mit seinem Plan überrascht:
Planung für das Profilbild-Feature:
-
Zeitpunkt des Uploads:
- Primär während der Profilbearbeitung unter "Account/Manage"
- Optional auch während der Registrierung (könnte aber den Registrierungsprozess verkomplizieren)
-
Technische Spezifikationen:
-
Erlaubte Formate:
- JPEG/JPG
- PNG
- WebP (modernes Webformat mit guter Kompression)
-
Größenbeschränkungen:
- Maximale Dateigröße: 5 MB
- Optimale Bildauflösung: 400x400 Pixel
- Größere Bilder sollten automatisch auf diese Größe skaliert werden
- Quadratischer Zuschnitt für einheitliche Darstellung
-
Erlaubte Formate:
-
Speicherung und Verarbeitung:
- Speicherort: wwwroot/img/profiles/
- Eindeutige Benennung: userId_timestamp.extension
-
Vor dem Speichern:
- Validierung des Dateityps
- Überprüfung der Dateigröße
- Bildoptimierung (Komprimierung)
- Generierung eines Thumbnails für Kommentare/Listen
-
Sicherheitsaspekte:
- Überprüfung des MIME-Types
- Virenscanner-Integration möglich
- Nur authentifizierte Benutzer dürfen Bilder hochladen
- Alte Bilder eines Users automatisch löschen
-
UI/UX:
- Drag & Drop-Unterstützung
- Vorschau vor dem Upload
- Crop-Tool für Bildausschnitt
- Fortschrittsanzeige während des Uploads
- Fehlermeldungen bei ungültigen Dateien
Möchten Sie, dass wir mit der Implementierung eines dieser Aspekte beginnen?
Ja,klar. Natürlich wollte ich das. Und zwar alles!
Für diejenigen, die mehr über die neuen Funktionen des GitHub Copilot Agent Mode erfahren möchten, empfehle ich erstens einen Beitritt zu meiner Facebook Gruppe. Und zweitens dieses Video: