Blog
Jenseits der Eingabeaufforderung mit dem GitHub Copilot Agent Modus
Randy Pagels

Einführung
Für viele Entwickler begann GitHub Copilot als eine Möglichkeit, schnell Code aus kurzen Eingabeaufforderungen zu generieren. Dann kamen der Chat- und der Bearbeitungsmodus hinzu, die den Nutzen auf die Beantwortung von Fragen, die Änderung von Dateien und die Unterstützung bei gezielten Änderungen erweiterten. Jetzt geht der GitHub Copilot Agent Mode noch einen Schritt weiter. Anstatt nur Code vorzuschlagen, kann er mehrstufige Entwicklungsaufgaben in Ihrem Repository durchführen, und zwar anhand von Anweisungen in natürlicher Sprache.
Stellen Sie sich den Agent Mode als einen fähigen Teamkollegen vor, der Ihre Codebasis versteht, Aktionen durchführen, Befehle ausführen und koordinierte Änderungen vornehmen kann, ohne dass Sie manuell das Tool wechseln müssen. Ganz gleich, ob Sie neue Tests hinzufügen, große Teile des Codes umstrukturieren, Berichte erstellen oder Fehler beheben müssen, Agent Mode kann einen Großteil der Arbeit automatisieren.
In diesem Artikel geht es darum, wie Sie den GitHub Copilot Agent Mode verwenden können, um gängige und fortgeschrittene Entwickler-Workflows zu automatisieren. Wir werden ein Beispielprojekt aus der Luftfahrt verwenden, das auf der Ära der Gebrüder Wright basiert und in C# geschrieben ist, um die Szenarien realistisch und ansprechend zu gestalten. Sie werden sehen, wie der Agent Mode funktioniert:
- Generieren Sie Unit-Tests, die Ihren vorhandenen Mustern entsprechen
- Refactoring des Codes unter Beibehaltung der Abhängigkeiten
- Erstellen Sie Berichte zur Codeabdeckung
- Fehlersuche und Problembehebung mit minimalem manuellen Eingriff
- Verbessern Sie die mit der Backend-Logik verknüpften Benutzererfahrungen im Frontend
Ziel ist es nicht, vollständige Code-Implementierungen zu zeigen, sondern die praktischen Schritte zur effektiven Nutzung des Agent-Modus zu erläutern. Am Ende sollten Sie ein klares Bild davon haben, wann und wie Sie den Agent Mode einsetzen können, um Ihre Arbeit zu beschleunigen und sich auf die Lösung von Problemen zu konzentrieren und nicht auf sich wiederholende Einrichtungs- und Wartungsaufgaben.
Was der Agentenmodus ist und wie er funktioniert
Der GitHub Copilot Agent Mode ist so konzipiert, dass er über einfache Code-Vorschläge hinausgeht. Während der Chat-Modus Fragen beantwortet und der Bearbeitungsmodus gezielte Datei-Änderungen vornimmt, kann der Agent-Modus mehrstufige Arbeitsabläufe in Ihrem Projekt ausführen, ohne dass Sie die Aufgabe manuell in kleinere Teile zerlegen müssen.
In der Praxis kann der Agent-Modus:
- Interpretieren Sie natürlichsprachliche Anfragen im Kontext Ihres Repositorys.
- Führen Sie Aktionen für mehrere Dateien oder Verzeichnisse durch.
- Verwenden Sie Ihre vorhandenen Tools und Konfigurationen, um Befehle auszuführen oder Skripte zu starten.
- Verknüpfen Sie zusammenhängende Aufgaben miteinander, damit das Ergebnis mit Ihrer Gesamtabsicht übereinstimmt.
Während Chat und Edit oft isoliert arbeiten, kann der Agent Mode eine umfassendere Sichtweise einnehmen. Wenn Sie ihn beispielsweise bitten, "Unit-Tests für den FlightsController hinzuzufügen und die CI-Pipeline zu aktualisieren, um sie einzubeziehen", kann er die Tests erstellen, die Konfiguration der Pipeline anpassen und die Änderungen mit einer einzigen Anweisung validieren.
Wie es funktioniert
Der Agentenmodus funktioniert durch die Kombination mehrerer Funktionen:
- Verifizierung: Sie kann bestätigen, ob die Änderung die beabsichtigte Wirkung hatte, z.B. durch die Durchführung von Tests oder das Linting von Code.
- Repository Context Awareness: Es versteht die Struktur, den Code und die Abhängigkeiten Ihres Projekts.
- Aufgabenplanung: Sie unterteilt Ihre Anfrage in kleinere Schritte, die nacheinander ausgeführt werden können.
- Ausführung von Aktionen: Er wendet Codeänderungen an, führt Befehle aus oder aktualisiert Konfigurationsdateien nach Bedarf.
Wann Sie jeden Modus verwenden sollten
Jeder Copilot-Modus hat seinen eigenen Sweet Spot. Die Wahl des richtigen Modus hängt davon ab, wie groß die Veränderung ist und wie viel Kontext Sie geben müssen.
- Der Chat ist am besten geeignet, wenn Sie eine schnelle Antwort oder Erklärung benötigen. Nutzen Sie ihn, um Ideen zu erkunden, Code zu klären oder Beispiele zu erhalten, ohne Dateien zu ändern.
- Bearbeiten ist für gezielte Änderungen. Markieren Sie einen Codeblock oder eine Datei und bitten Sie um ein Refactoring, eine Neufassung oder eine Verbesserung. Das funktioniert gut, wenn Sie den Umfang bereits kennen.
- Agent ist für größere, mehrstufige Arbeitsabläufe gedacht. Verwenden Sie ihn, wenn Sie neue Funktionen hinzufügen, Tests erstellen, Fehler beheben oder Änderungen über mehrere Dateien und Tools hinweg koordinieren möchten. Er versteht den Repository-Kontext und kann Prüfungen durchführen, bis der Auftrag abgeschlossen ist.
Leitfaden für schnelle Entscheidungen
- Erforschen oder Lernen des Codes → Frag-Modus
- Klar, was und wo geändert werden soll → Bearbeitungsmodus
- Automatisieren von mehrstufigen Arbeiten → Agent-Modus
Im weiteren Verlauf dieses Artikels werden wir uns auf den Agentenmodus als Haupttreiber der Automatisierung konzentrieren. Der Hauptunterschied besteht darin, dass Sie, anstatt viele kleine, separate Befehle zu erteilen, Ihre Absicht in einer Anfrage in natürlicher Sprache ausdrücken und die Orchestrierung dem Agenten überlassen können.
Automatisierung in Aktion: Beispiele der Gebrüder Wright
Der Agentenmodus ist am einfachsten zu verstehen, wenn Sie ihn in der Praxis sehen. Die folgenden Beispiele verwenden die API und das Frontend der Gebrüder Wright als Hintergrund, um zu veranschaulichen, wie Automatisierung die tägliche Entwicklungsarbeit unterstützt. Jedes Szenario zeigt eine andere Art von Aufgabe, wie z.B. das Hinzufügen von Tests, das Refactoring von Diensten, die Behebung von Fehlern oder die Verbesserung der Benutzeroberfläche. In jedem Fall nimmt der Agent nicht nur die Änderung vor, sondern überprüft auch das Ergebnis, bevor er die Arbeit an Sie zurückgibt.
Beispiel 1: Ausweitung der Testabdeckung
Die API der Gebrüder Wright enthielt eine FlightsController mit Methoden, für die es nur wenige oder gar keine automatisierten Tests gab. Normalerweise würde dies bedeuten, dass man Testdateien von Hand schreibt, Muster aus anderen Teilen des Projekts kopiert und die Abdeckung langsam aufbaut. Stattdessen übernahm Agent Mode die komplette Abwicklung des Prozesses.
Beispiel Prompt
Goal: Add focused unit tests for WrightBrothers.API FlightsController and ensure they pass.
Context and constraints:
- Match the patterns and assertions used in PilotsControllerTests.
- Target methods: GetFlights, ScheduleFlight, CancelFlight.
- Place new tests in the WrightBrothers.Tests project.
- If tests fail, update either the tests or the FlightsController as appropriate, not both at the same time unless necessary.
- Re-run tests after each change.
- Stop when tests for these targets are green and provide a short summary of what changed.
Mit einer Anfrage scannte der Agent die vorhandenen PilotsControllerTests, um die Testkonventionen zu lernen, erstellte eine neue Datei FlightsControllerTests und füllte sie mit Fällen für die gewünschten Methoden. Anschließend führte er die Testsuite aus, identifizierte Fehler, wendete minimale Korrekturen an und wiederholte die Tests, bis alles erfolgreich war.
Das Endergebnis war eine Reihe von konsistenten, funktionierenden Tests, die zum Stil des Projekts passten und das Sicherheitsnetz für zukünftige Änderungen erweiterten. Agent Mode schrieb nicht nur die Tests, sondern überprüfte auch, ob sie funktionierten. So konnte das Team auf das Ergebnis vertrauen, ohne die Entwicklung zu verlangsamen.
Beispiel 2: Einführung einer Dienstebene
Der PlanesController in der API der Gebrüder Wright hatte zu viel zu tun. Er enthielt sowohl Controller-Verantwortlichkeiten als auch Geschäftslogik, was das Testen, die Wartung und die Erweiterung des Codes erschwerte. Eine gängige Best Practice ist die Einführung einer Service-Schicht, so dass der Controller schlank bleibt, während der Service die Kernoperationen übernimmt. Dies ist die Art von Refaktorierung in mehreren Schritten, die normalerweise eine sorgfältige Planung und mehrere Bearbeitungen in verschiedenen Dateien erfordert.
Beispiel Prompt
Goal: Refactor WrightBrothers.API PlanesController to use a dedicated PlaneService with DI, then run tests and fix any failures until green.
Context and constraints:
- Create IPlaneService and PlaneService in WrightBrothers.Core or the appropriate domain layer.
- Move business logic out of PlanesController into PlaneService.
- Keep API contracts and routes unchanged.
- Register PlaneService in Program.cs.
- Preserve logging behavior.
- If tests fail, apply minimal fixes and re-run until passing.
- Summarize changes in markdown with file paths and rationale.
Mit dieser Anfrage erstellte Agent Mode eine IPlaneService-Schnittstelle und eine PlaneService-Implementierung, migrierte die Geschäftslogik vom Controller in den Dienst und aktualisierte den Controller, um auf Konstruktorinjektion zu setzen. Anschließend änderte er Program.cs, um den neuen Dienst zu registrieren. Nach der Umstrukturierung führte der Agent die Testsuite aus, korrigierte kleine Unstimmigkeiten in den Tests und wiederholte sie, bis alle Tests erfolgreich waren.
Das Endergebnis war eine sauberere Architektur mit klarer Trennung der Belange. Die öffentliche API blieb stabil, so dass die Kunden des Systems keinen Unterschied bemerkten, aber der Code hinter den Kulissen wurde einfacher zu handhaben und besser wartbar.
Beispiel 3: Messung der Code-Abdeckung
Als die Wright Brothers API wuchs, begann die Testsuite viele Szenarien abzudecken, aber niemand wusste genau, wie viel der Codebasis wirklich getestet wurde. Ohne eine klare Messung konnte man leicht davon ausgehen, dass das System sicher war, obwohl noch Lücken vorhanden waren. Die Berichterstattung über die Codeabdeckung löst dieses Problem, indem sie zeigt, welche Methoden und Klassen von den Tests ausgeübt werden, aber das Einrichten und Aufspüren der fehlenden Abdeckung kann viel Zeit in Anspruch nehmen.
Der Agentenmodus kann sowohl die Berichterstattung über die Abdeckung konfigurieren als auch den Prozess der Erhöhung der Abdeckung auf ein bestimmtes Ziel automatisieren.
Beispiel Prompt
Goal: Generate code coverage for WrightBrothers.API and increase coverage to at least 85%, then run all tests until passing.
Context and constraints:
- Use coverlet or the project’s preferred coverage tool integrated with xUnit.
- Output an HTML coverage report in a 'coverage' folder at the solution root.
- Identify untested public methods in FlightsController, PlanesController, and PilotsController.
- Identify untested public methods in all controllers located in the /Controllers/ folder.
- For uncovered code, create new unit tests in WrightBrothers.Tests matching the existing style.
- If tests fail, fix them or adjust code with minimal changes and re-run until passing.
- Provide a final markdown summary with coverage percentage, files updated, and key tests added.
Mit dieser Anweisung konfigurierte der Agent Mode die Abdeckungssammlung, führte die Suite aus und erstellte einen HTML-Bericht. Er analysierte die Ergebnisse, um Methoden zu finden, die nicht von Tests abgedeckt wurden, und generierte dann neue Unit-Tests für diese Fälle. Wenn die neu hinzugefügten Tests Probleme aufzeigten, nahm der Agent kleine Korrekturen entweder an den Tests oder am Code vor und führte die Tests erneut aus, bis alle Tests bestanden.
Am Ende der Schleife hatte das Projekt konsistente, funktionierende Tests und einen Abdeckungsbericht, der eine Abdeckung von mehr als 88% zeigte. Das Team konnte die Datei coverage/index.html öffnen, um die Details zu überprüfen und genau zu wissen, welche Bereiche gut getestet waren und welche noch Aufmerksamkeit erforderten.
Der Prozess hat gezeigt, dass der Agent Mode mehr kann als nur Tests hinzuzufügen. Er kann die Qualität auf strukturierte Weise messen, verbessern und bestätigen, was Zeit spart und den manuellen Aufwand reduziert.

Beispiel 4: Debuggen eines Backend-Fehlers
Eine der wertvollsten Anwendungen des Agentenmodus ist die Behebung von Fehlern, die von Benutzern gemeldet werden. In der API der Gebrüder Wright tauchte ein seltsames Problem auf: Die Abfrage eines Fluges nach ID ergab den falschen Datensatz. Zum Beispiel, wenn Sie zu navigieren:
http://localhost:1903/flights/2
hätte den Flug mit Id = 2 zurückgeben müssen. Stattdessen wurde der Flug mit Id = 3 angezeigt.
Die Überprüfung des Repository ergab die Ursache. Die Methode FlightRepository.GetFlightById war falsch geschrieben:
public Flight GetFlightById(int id)
{
return Flights.ElementAt(id); // ❌ Wrong — ElementAt is zero-based, IDs are not
}
Durch die Verwendung von ElementAt(id) behandelte die Methode die Flug-ID als einen auf Null basierenden Index. Wenn Sie also nach der ID 2 fragten, wurde das dritte Element in der Liste zurückgegeben.
Beispiel Prompt
There's a bug in the FlightsController. When I go to /flights/2, the app returns the wrong flight — it shows the flight with ID 3 instead of 2.
Please investigate and fix the bug so that the correct flight is returned when requesting by ID.
- Make any updates necessary to resolve this.
- Run the backend project to verify the fix.
- Hint: After starting the backend, navigate to http://localhost:1903/flights/2 to test the fix.
Fix, Rebuild, Rerun, and verify the endpoint works.
Mit dieser Anfrage untersuchte Agent Mode den FlightsController und das FlightRepository, fand das Problem und wandte eine minimale Korrektur an, indem er nach einer passenden ID suchte, anstatt sie als Index zu behandeln:
public Flight GetFlightById(int id)
{
return Flights.FirstOrDefault(f => f.Id == id);
}
Der Agent hat dann das Projekt neu erstellt, das Backend neu gestartet und den Test erneut durchgeführt, indem er http://localhost:1903/flights/2 aufrief . Dieses Mal wurde der richtige Flugdatensatz zurückgegeben. Zum Abschluss hinterließ er eine kurze Zusammenfassung und idealerweise einen Regressionstest, damit das Problem nicht unbemerkt wieder auftauchen konnte.
Das Wichtigste dabei ist, dass Agent Mode mehr getan hat, als nur den Code zu bearbeiten. Er hat den Fehler reproduziert, die kleinstmögliche Korrektur vorgenommen, das Verhalten überprüft und das Ergebnis dokumentiert.
Beispiel 5: Verbesserung der UX für den Flugplan
Das Projekt der Gebrüder Wright beinhaltete einen React-Client, der einen Flugplan anzeigte. Das Raster funktionierte, war aber schwer zu bedienen. Die Zeilen konnten nicht sortiert werden, das Blättern wurde nicht unterstützt und die Bearbeitung eines Fluges erforderte das Navigieren aus dem Raster heraus auf eine separate Seite. Das Entwicklungsteam wünschte sich ein besseres Erlebnis mit sortierbaren Spalten, Paging für lange Listen und einem Inline-Modal, um Flüge direkt zu bearbeiten.
Diese Art der Aktualisierung erfordert in der Regel Änderungen sowohl im Frontend als auch im Backend. Der Client benötigt neue Benutzeroberflächenkomponenten, während das Backend bestätigen muss, dass der Aktualisierungsendpunkt existiert und korrekt funktioniert. Diese Teile von Hand zu koordinieren, kann mühsam sein, aber der Agent Mode ist für diese Art von End-to-End-Workflow gut geeignet.
Beispiel Prompt
Goal: Improve the flight schedule UX in the React client with sorting, paging, and an Edit Flight modal, then run all checks until green.
Context and constraints:
- The frontend lives in /client.
- Use the existing GET /api/flights endpoint for the grid.
- For updates, prefer the existing PUT /api/flights/{id}. If it does not exist, add a minimal UpdateFlight endpoint that matches project conventions.
- Preserve public API contracts if possible.
- Implement client-side sorting and paging using accessible table semantics.
- Add an Edit Flight modal that allows editing Departure, Arrival, PlaneId, and PilotId with validation.
- After changes, run type checks, lint, unit tests, and smoke tests if available. Fix issues with minimal changes and re-run.
- Summarize changes with file paths, validation rules, and any new API surface.
Mit dieser Aufforderung inspizierte Agent Mode die React-Grid-Komponente, fügte Steuerelemente zum Sortieren und Paginieren hinzu und führte eine neue modale Komponente zur Inline-Bearbeitung von Flügen ein. Im Backend überprüfte er die Existenz von **PUT /api/flights/{id}**. Wenn der Endpunkt fehlte, wurde eine Minimalversion erstellt, die mit dem Rest der API übereinstimmt und dieselben DTO-Muster verwendet.
Der Agent führte dann Typprüfungen, Linting und Unit-Tests sowohl für das Backend als auch für das Frontend durch. Wenn Fehler auftauchten, z. B. nicht übereinstimmende Typen zwischen Client und Server, wurden diese mit minimalen Änderungen korrigiert, die Tests erneut durchgeführt und bestätigt, dass alles bestanden wurde. Schließlich lieferte es eine Zusammenfassung der berührten Dateien und der im Modal erzwungenen Validierungen.
Das Ergebnis war ein reibungsloseres Benutzererlebnis. Die Navigation im Raster wurde durch Sortieren und Blättern erleichtert, und für die Bearbeitung von Flügen musste die Seite nicht mehr verlassen werden. Durch die Koordinierung von Client- und Server-Updates hat Agent Mode bewiesen, dass es in der Lage ist, praktische Verbesserungen im gesamten Stack zu liefern und gleichzeitig das Projekt stabil zu halten.
Bewährte Praktiken und fortgeschrittene Verwendungen
Der Agentenmodus kann eine Menge, aber er funktioniert am besten, wenn Sie ihm den richtigen Rahmen geben. Klare Ziele, intelligente Einschränkungen und wiederholbare Muster helfen dem Agenten, zuverlässig zu bleiben und Ihr Projekt stabil zu halten. Im Folgenden finden Sie Gewohnheiten, fortgeschrittene Ideen und Vorlagen für Eingabeaufforderungen, die Sie direkt auf Ihre eigene Arbeit anwenden können.
Bewährte Praktiken für den täglichen Gebrauch
- Geben Sie die Absicht, den Umfang und die Anhaltebedingungen klar an. Dadurch wird sichergestellt, dass der Agent richtig plant und weiß, wann er aufhören muss.
- Verwenden Sie eine Verifizierungs-Fixierungs-Verifizierungs-Schleife. Lassen Sie den Agenten nach jeder Änderung Tests, Lint- oder Typprüfungen durchführen, minimale Korrekturen vornehmen und dann erneut ausführen, bis er grün ist.
- Verankerung auf bestehenden Konventionen. Verweisen Sie auf eine Datei oder ein Beispiel, das Ihren bevorzugten Stil und Ihre Struktur zeigt.
- Bevorzugen Sie minimale Änderungen. Bitten Sie um die kleinste sichere Überarbeitung, damit der Agent nicht zu viele Änderungen vornimmt, die zu Abwanderung führen.
- Fordern Sie eine Zusammenfassung der Änderungen an. Eine kurze Markdown-Notiz, in der die Dateien und die Gründe dafür aufgeführt sind, erleichtert die Überprüfung erheblich.
- Halten Sie CI/CD-Schutzmaßnahmen ein. Branchenregeln, erforderliche Überprüfungen und Kontrollen sind nach wie vor unerlässlich.
Fortgeschrittene Anwendungen - Die "Kunst des Möglichen"
- Skalieren Sie sich wiederholende Arbeiten. Kombinieren Sie den Agentenmodus mit dem Copilot-Codierungsagenten, um Änderungen über mehrere Repositories hinweg auszurollen.
- Nehmen Sie Sicherheitsfragen in Angriff. Kombinieren Sie mit Sicherheitskampagnen und Copilot Autofix, um Schwachstellen in großem Umfang zu beheben.
- Erhöhen Sie die Deckung und setzen Sie sie durch. Setzen Sie Abdeckungs-Gates in der KI und lassen Sie den Agenten so lange Tests durchführen, bis der Schwellenwert erreicht ist.
- Schützen Sie sich vor API-Abweichungen. Verwenden Sie Vertragsprüfungen, um sicherzustellen, dass die DTOs und Endpunkte zwischen Backend und Client aufeinander abgestimmt sind.
- Halten Sie die Dokumente aktuell. Bitten Sie den Agenten, README-Abschnitte, Diagramme oder Nutzungsausschnitte als Teil einer Änderung zu aktualisieren.
- Saatgutdaten für Tests. Generieren Sie luftfahrtbezogene Einbauten für Flugplätze, Flugzeuge, Piloten und Flüge, um Demos realistischer zu gestalten.
Praktische Prompt-Muster
- Richtlinie für minimale Änderungen "Wenden Sie die kleinste sichere Änderung an, ändern Sie keine öffentlichen Routen oder DTO-Formen, fassen Sie Änderungen in Markdown zusammen."
- Selbstheilungsschleife "Führen Sie nach jeder Änderung Tests, Lint- und Typprüfungen durch. Wenn etwas fehlschlägt, reparieren Sie nur das Nötigste, wiederholen Sie den Vorgang, bis er grün ist, und hören Sie dann auf.
- Stilanker "Passen Sie die Konventionen in PilotsControllerTests und Program.cs für DI an, halten Sie die Namensgebung und Assertion-Helfer konsistent."
- Nachvollziehbarkeit "Geben Sie eine Zusammenfassung mit Dateipfaden, dem Grund für jede Änderung und eventuellen Folgemaßnahmen aus."
Schlussfolgerung und nächste Schritte
Der GitHub Copilot Agent Mode verlagert die KI-Hilfe von der Anregung zur Ausführung. In den Beispielen der Gebrüder Wright haben wir gesehen, wie er Tests erstellt und repariert, Dienste refaktorisiert, die Abdeckung erhöht, Fehler reproduziert und behebt und das Frontend verbessert, während er seine Arbeit kontinuierlich verifiziert.
Nächste Schritte für Ihre eigenen Projekte:
- Probieren Sie den Agentenmodus zunächst in einer sicheren Filiale aus, damit Sie die Ergebnisse in Ruhe überprüfen können.
- Verankern Sie Prompts in den Konventionen Ihres Projekts, um Änderungen konsistent zu halten.
- Prüfen und testen Sie jede Ausgabe, wie Sie es auch bei der Pull-Anfrage eines Nachwuchsentwicklers tun würden.
- Experimentieren Sie mit der Skalierung von sich wiederholenden Arbeiten mit dem Copilot Coding Agent.
Der Agentenmodus funktioniert am besten, wenn er Teil des regulären Entwicklungsflusses wird und nicht nur ein einmaliges Tool ist. Verwenden Sie ihn für Ihre nächste Überarbeitung, Fehlerbehebung oder Verbesserung der Benutzeroberfläche und sehen Sie, wie viel manuellen Aufwand Sie damit vermeiden können. Die neuesten Anleitungen finden Sie in der GitHub Copilot Dokumentation unter https://docs.github.com/copilot.
Verfasst von
Randy Pagels
I am a DevOps Architect and Trainer at Xebia USA. I lead and educate customers in designing and implementing solutions that adhere to industry standards and DevOps best practices.
Unsere Ideen
Weitere Blogs

KI-Revolution bei der Datenextraktion: Strukturierung von E-Mails, PDFs und...
Lassen Sie uns einige der realen Anwendungsfälle erkunden, die sich aus diesem Gespräch ergeben und die zeigen, wie generative KI das Mögliche neu...
Klaudia Wachnio
Contact



