Skip to main content

Verwenden von Copilot CLI als KI-KMU

Verwenden Sie Copilot CLI als immer verfügbarer Fachexperte, um zu erfahren, wie eine Codebasis funktioniert, damit Sie sie sicher verwalten oder neue Features hinzufügen können.

Einleitung

Wenn Sie mit der Arbeit an einer unbekannten Codebasis beginnen oder aufgefordert werden, einen Teil einer großen Codebasis zu ändern, die Sie noch nie berührt haben, benötigen Sie in der Regel einen Fachexperten (SME), um Sie schnell zu beschleunigen. Das KMU ist in der Regel ein erfahrenerer Entwickler im Team, der weiß, wie der Code zusammenpasst und Ihre Fragen beantworten kann. KMU sind nicht immer verfügbar – sie befinden sich möglicherweise in einer anderen Zeitzone, beschäftigt mit ihrer eigenen Arbeit oder gar nicht mehr im Team.

Wenn Sie eine unbekannte Codebasis verstehen müssen, verlassen Sie sich in der Regel auf einen Teamkollegen, der den Code kennt. Wenn diese Person nicht verfügbar ist, kann Copilot CLI die Lücke füllen. In diesem Tutorial werden Sie Copilot CLI Fragen zum Code eines Repositorys stellen, Prompting-Techniken kennenlernen, die im Code verankerte Antworten liefern, und das nötige Vertrauen gewinnen, um erste Änderungen vorzunehmen.

Wann verwende ich einen KI-KMU (oder sogar wann verwende ich einen KI-KMU?)

Dieses Lernprogramm ist jederzeit nützlich, wenn Sie eine Codebasis schneller verstehen müssen. Beispiel:

  • Sie sind gerade einem Team oder einem Open Source Projekt beigetreten und müssen schnell auf dem Laufenden bleiben.
  • Sie müssen einen Bereich einer großen Codebasis ändern, in der Sie noch nie gearbeitet haben.
  • Sie haben einen Dienst oder eine Bibliothek geerbt, den die ursprünglichen Autoren nicht mehr beibehalten.

Das Lernprogramm geht davon aus, dass Sie in einem Terminal arbeiten und Code in der sprache lesen, die vom Projekt verwendet wird, das Sie erkunden. Sie benötigen keine vorherigen Erfahrungen mit Copilot CLI.

Voraussetzungen

Bevor Sie beginnen, stellen Sie sicher, dass Sie folgendes haben:

1. Starten einer Sitzung im Repository

Öffnen Sie ein Terminal, und wechseln Sie in das Stammverzeichnis des Repositorys, das Sie kennenlernen möchten. Wird Copilot CLI im Stammverzeichnis des Repositorys gestartet, steht ihm die gesamte Codebasis als Kontext zur Verfügung.

Shell
cd PATH/TO/YOUR/REPOSITORY
copilot

Sie befinden sich jetzt in einer interaktiven Copilot CLI Sitzung. Alles, was Sie an der Eingabeaufforderung eingeben, wird an das Modell gesendet, das Dateien im Repository lesen, Shellbefehle wie git log oder grep, ausführen und Ihre Fragen basierend auf dem Gefundenen beantworten können.

Tipp

  • Wenn Sie Copilot CLI vertrauen, Befehle ohne Anforderung einer Genehmigung auszuführen, wobei Dateiänderungen blockiert werden, beginnen Sie mit copilot --deny-tool='write' --allow-all-tools. Siehe Zulassen und Verweigern der Verwendung von Tools.
  • Wenn Sie in einer sehr großen Codebasis arbeiten, erhalten Sie möglicherweise bessere Ergebnisse, indem Sie mit dem entsprechenden Unterverzeichnis beginnen Copilot CLI . Dadurch wird der Kontext auf die relevantesten Dateien beschränkt.

2. Grundantworten im Code, nicht die Dokumente

Die meisten Repositorys enthalten eine Mischung aus Code und Dokumentation: README-Dateien, Entwurfsnotizen, Architekturdiagramme usw. Die Dokumentation ist nützlich, um sich über ein Projekt zu informieren, aber es ist möglicherweise veraltet. Wenn Sie Copilot CLI eine Frage dazu stellen, wie sich der Code verhält, und es die Antwort aus einer veralteten Markdown-Datei bezieht, erhalten Sie eine selbstsichere, aber falsche Antwort.

Bevor Sie mit dem Stellen von Fragen beginnen, bitten Copilot CLI Sie, ihre Antworten auf den Code selbst zu basieren und alle Unsicherheiten zu kennzeichnen, anstatt Lücken auszufüllen. Beispiel:

Copilot prompt
For the rest of this session, when I ask how something works, base your answer on the code in this repository, not on documentation files such as README.md or files under docs/. If a documentation file conflicts with the code, treat the code as the source of truth. If you can't find a definitive answer in the code, say so - don't guess.

Sie können diese Art von Präambel in eine benutzerdefinierte Anleitungsdatei einfügen und sie in Sitzungen wiederverwenden, sodass Sie sie nicht jedes Mal erneut eingeben müssen. Siehe Hinzufügen von benutzerdefinierten Anweisungen für GitHub Copilot-CLI.

3. Verschaffen Sie sich einen Überblick über die Codebasis

Beginnen Sie mit allgemeinen Fragen, um eine mentale Karte des Projekts zu erstellen. Das Ziel besteht darin, die Form des Codes zu verstehen (wo die Einstiegspunkte sind, welche Verzeichnisse was enthalten und wie die Hauptteile zusammenpassen), bevor Sie einen Drilldown zu einem bestimmten Feature durchführen.

Probieren Sie Eingabeaufforderungen aus, z. B.:

Copilot prompt
Give me an overview of this codebase. What does the application do, what are the main components, and how do they communicate? Cite the files you used as evidence.
Copilot prompt
What are the entry points for this application? For each entry point, tell me which file contains the entry point and which directories contain the code it calls into.

Das Verlangen nach Zitaten und Beweisen ist wichtig. Wenn Copilot CLI Ihnen sagt: „Das wird in src/auth/middleware.ts behandelt“, können Sie diese Datei öffnen und die Antwort selbst überprüfen. Wenn die Quellenangabe nicht mit dem übereinstimmt, was Sie herausfinden, ist das ein nützliches Signal, nachzuhaken und weiterführende Fragen zu stellen.

4. Näher auf eine bestimmte Funktion eingehen

Sobald Sie einen Überblick haben, können Sie sich auf den Bereich eingrenzen, den Sie ändern müssen. Behandeln Sie dies als Unterhaltung, nicht als einzelne Abfrage. Jede Antwort enthält Begriffe, Dateinamen und Konzepte, die Sie in Ihrer nächsten Frage verwenden können.

Es empfiehlt sich, ähnliche Fragen zu stellen, die sich einem Thema aus unterschiedlichen Blickwinkeln nähern. Dies hilft Ihnen, sicherzustellen, dass Sie das Gesamtbild erhalten, und gibt Ihnen die Gewissheit, dass Copilot nicht missverstanden hat, was Sie herausfinden möchten, und kein wichtiges Detail übersehen hat.

Nehmen wir zum Beispiel an, Sie wurden aufgefordert, für einen bestimmten API-Endpunkt eine Ratenbegrenzung zu implementieren, und Sie haben zuvor noch nie an diesem Teil des Codes gearbeitet; dann könnten Sie mit Fragen beginnen wie:

Copilot prompt
Is there any existing rate limiting in this codebase? If so, where is it implemented, and how is it configured?
Copilot prompt
If I wanted to add per-user rate limiting to the /api/v1/upload endpoint, which files would I most likely need to change, and which existing patterns in the codebase should I follow?

Wenn Sie innerhalb derselben CLI-Sitzung Anschlussfragen stellen, können Sie tiefer in die Details einer Funktion einsteigen und Copilot den nötigen Kontext geben, um Ihnen konkrete Antworten zu liefern, mit denen Sie genau die Informationen erhalten, die Sie benötigen.

5. Untersuchen Sie das Verhalten und Randfälle

Der Lesecode teilt Ihnen mit, was der Code tut. Häufig wird ihnen nicht mitgeteilt, was der Code tun soll oder wie er sich in ungewöhnlichen Situationen verhält. Dies sind die Fragen, bei denen ein menschlichen KMU am wertvollsten ist – und wo Copilot CLI Sie helfen können, wenn kein Mensch verfügbar ist.

Einige Beispiele für Verhaltensfragen und Fragen zu Randfällen, die Sie möglicherweise stellen könnten:

Copilot prompt
What happens if the database connection drops while a request is being processed? Walk me through the error handling, based on the code.
Copilot prompt
The `getUser` function takes a `userId` parameter. What validation is performed on it before it reaches the database query? Are there any code paths where an unvalidated value could reach the query?

Wenn Sie eine Antwort erhalten, folgen Sie "Mir den Code anzeigen" oder "in welcher Datei haben Sie dies gefunden?" falls dies noch nicht zitiert wurde. Dadurch haben Sie eine Möglichkeit, die Antwort nachzusehen und zu überprüfen.

6. Verwenden des Git-Verlaufs als andere Quelle

Viele nützliche Kontexte befinden sich im Git-Verlauf und nicht im aktuellen Code: Warum eine Funktion so geschrieben wurde, wie sie war, als ein Fehler zuletzt behoben wurde, der ursprünglich ein Modul hinzugefügt hat. Copilot CLI kann git Befehle für Sie ausführen und die Ausgabe verwenden, um Fragen zu beantworten, die sich nicht allein durch das Lesen des Codes leicht beantworten lassen.

Probieren Sie Eingabeaufforderungen aus, z. B.:

Copilot prompt
When was the `PaymentProcessor` class introduced, and what was the original commit message? Has it been substantially refactored since then?
Copilot prompt
Look at the last 20 commits that touched files under `src/billing/`. Summarize what kinds of changes have been made recently.
Copilot prompt
Who has made the most commits to `src/auth/`? Use that information to suggest the best person on this team to ask about authentication.

7. Überprüfen, bevor Sie vertrauen

Copilot CLI ist ein leistungsfähiger KMU, aber es ist nicht unfehlbar. Es kann Code falsch lesen, ähnlich aussehende Dateien miteinander verwechseln oder sich gelegentlich Dinge ausdenken. Behandeln Sie ihre Antworten so, wie Sie Ratschläge von einem hilfreichen, aber falliblen Kollegen behandeln: nützlich als Ausgangspunkt, aber es lohnt sich zu überprüfen, bevor Sie auf etwas Wichtiges reagieren.

Ein paar Gewohnheiten helfen Ihnen, Ärger zu vermeiden:

  • Überprüfen Sie die zitierten Dateien. Wenn Copilot CLI auf eine bestimmte Datei bzw. Zeilennummer verweist, öffnen Sie sie und prüfen Sie dies. Wenn das Zitat falsch ist, behandeln Sie die restliche Antwort mit mehr Skepsis.
  • Führen Sie Dinge selbst aus. Wenn Copilot CLI Ihnen sagt, dass eine Funktion bei leerer Eingabe null zurückgibt, schreiben Sie einen kurzen Test oder einen REPL-Aufruf, der sie mit einer leeren Eingabe aufruft, und prüfen Sie das.
  • Von Menschen gegenprüfen lassen. Wenn die Antwort wichtig ist (Sicherheit, Datenintegrität, alles, wobei es Ihnen peinlich wäre, in der Produktion falschzuliegen), verwenden Sie Copilot CLIs Antwort als Ausgangspunkt und prüfen Sie sie mit einem menschlichen Fachexperten oder einem Code-Review.

Conclusion

In diesem Lernprogramm haben Sie als Ihr persönliches KMU verwendet Copilot CLI , um:

  • Verschaffen Sie sich einen Überblick über eine unbekannte Codebasis, die in echten Dateien verankert ist.
  • Tauchen Sie tiefer in eine bestimmte Funktion ein, damit Sie wissen, welche Dateien Sie ändern müssen und welchen Mustern Sie folgen sollten.
  • Untersuchen Sie das Verhalten, Randfälle und den Git-Verlauf.
  • Überprüfen Sie Die Antworten, damit Sie sich darauf verlassen können, wenn es wichtig ist.

Auf diese Weise Copilot CLI ersetzt man nicht die menschlichen KMU, aber es macht Sie weniger abhängig von ihnen für die täglichen Fragen, die während der Arbeit entstehen. Ihre menschlichen Teamkollegen können ihre Zeit auf die Fragen verwenden, die tatsächlich ihre Erfahrung erfordern, und Sie können weitermachen, wenn sie nicht da sind.

Nächste Schritte