Analiza monitów i słów kluczowych GitHub Copilot

Ukończone

interfejs czatu GitHub Copilot używa przetwarzania języka naturalnego i uczenia maszynowego do interpretowania monitów i dostarczania odpowiednich odpowiedzi. Twoje podpowiedzi i kontekst, które podajesz, są niezbędne do generowania dokładnych i przydatnych odpowiedzi.

Jakość monitu

Podczas pisania monitów dla GitHub Copilot należy wziąć pod uwagę następujące wytyczne, aby poprawić jakość odpowiedzi:

  • Zapytania przesyłane powinny być jasne, zwięzłe i konkretne. Na przykład zamiast pytać "Jak mogę użyć tej funkcji?", możesz zapytać "Czy można wyjaśnić, jak calculateTotal funkcja działa w shoppingCart.js pliku?".

  • Jeśli musisz napisać dłuższy monit, monit powinien zostać napisany przy użyciu kilku krótkich zdań. Zacznij od omówienia, który opisuje twój cel, a następnie podaj szczegółowe informacje.

  • Rozważ podzielenie złożonych monitów na mniejsze, bardziej zarządzane części. Podzielenie złożonych monitów pomaga sztucznej inteligencji zrozumieć intencję i zapewnić dokładniejsze odpowiedzi. Kolejne monity mogą opierać się na poprzednich, co pozwala na doprecyzowanie żądania i uzyskanie bardziej szczegółowych odpowiedzi. Praca z kolegą programistą jest podobna do pracy z osobą. Lepiej jest najpierw oprawić konwersację, a następnie opisać konkretne szczegóły, zamiast wysyłać wszystkie elementy w jednym żądaniu, które mogą zostać błędnie zinterpretowane.

Używaj słów kluczowych monitu

Oprócz przetwarzania tekstu w języku naturalnym usługa GitHub Copilot Chat używa słów kluczowych, aby ułatwić określenie kontekstu i intencji monitów. Słowa kluczowe to specjalne słowa lub frazy, które mają określone znaczenie w kontekście Copilot Chat usługi GitHub. Korzystając ze słów kluczowych, możesz pomóc sztucznej inteligencji zrozumieć, o co prosisz, i udostępnić bardziej odpowiednie odpowiedzi.

GitHub Copilot używa następujących słów kluczowych, aby ułatwić określenie kontekstu i intencji monitów:

  • Uczestnicy czatu: uczestnicy czatu są jak eksperci w określonej dziedzinie, które pomagają GitHub Copilot generować lepsze odpowiedzi. Uczestnicy czatu są określeni przy użyciu symbolu @ .

  • Polecenia Slash: polecenia Slash pomagają opisać intencję (cel lub zadanie) twojej komendy. Jednym z zadań usługi GitHub Copilot Chat podczas odpowiadania na pytania jest określenie intencji, zrozumienie, co chcesz zrobić. Polecenia Slash mogą pomóc w wyjaśnieniu intencji.

  • Zmienne czatu: zmienne czatu zapewniają kontekst specyficzny dla domeny. Możesz odwołać się do zmiennej czatu w wierszu polecenia czatu, używając symbolu # . Korzystając ze zmiennej czatu, możesz bardziej szczegółowo określić kontekst uwzględniny w monicie czatu.

Uczestnicy czatu

Usługa GitHub Copilot Chat zapewnia lepsze odpowiedzi, gdy rozumie interesujący Cię kontekst i może zastosować najlepsze zasoby. Możesz pomóc usłudze GitHub Copilot Chat wygenerować lepsze odpowiedzi, dodając uczestnika czatu do monitów. Uczestnicy czatu są jak eksperci w określonej dziedzinie, które zapewniają lepsze odpowiedzi. Uczestnicy czatu są określeni przy użyciu symbolu @ .

Obecnie usługa GitHub Copilot Chat obsługuje następujących wbudowanych uczestników czatu:

  • @vscode: Uczestnik @vscode wie o poleceniach i funkcjach w samym edytorze Visual Studio Code i może pomóc w ich użyciu.
  • @terminal: Uczestnik @terminal może pomóc z zintegrowaną powłoką terminala oraz jej zawartością.
  • @github: Użytkownik @github może pomóc uzyskać odpowiedzi dzięki wykorzystaniu wyszukiwarki internetowej, wyszukiwarki kodu i baz wiedzy przedsiębiorstwa.

Możesz prefiksować monit z określonym uczestnikiem czatu, aby pomóc GitHub Copilot wygenerować bardziej odpowiednią odpowiedź.

Polecenia ukośnika

Polecenia Slash ułatwiają usłudze GitHub Copilot Chat zrozumienie intencji podczas zadawania pytania. Czy uczysz się bazy kodu (/explain), czy potrzebujesz pomocy przy rozwiązywaniu problemu (/fix), czy tworzysz przypadki testowe (/tests)? Pozwalając usłudze GitHub Copilot Chat wiedzieć, co próbujesz zrobić, może dostosować swoją odpowiedź do zadania i udostępnić przydatne polecenia, ustawienia i fragmenty kodu.

Uczestnicy czatu są często łączeni z poleceniami ukośnika. Polecenie slash to zwięzły sposób wyjaśnienia swojej intencji uczestnikowi czatu. Polecenie /explain slash jest często wiązane z uczestnikiem czatu #codebase . Połączenie uczestnika czatu i komendy ukośnika to skuteczny sposób wyjaśnienia intencji.

Rozważmy na przykład następujący przykładowy monit:

Create a new workspace that uses Node.js, the Express framework, the Pug template engine, and TypeScript.

GitHub Copilot może interpretować ten monit jako żądanie nowego projektu kodu utworzonego przy użyciu określonych technologii, ale łatwiej jest GitHub Copilot zrozumieć następujący monit, który używa słów kluczowych:

/new Node.js Express Pug TypeScript

Jeśli wprowadzisz drugi monit, GitHub Copilot zaproponuje następującą strukturę katalogów. Lista plików może służyć do wyświetlania podglądu proponowanych plików, a przycisk Utwórz obszar roboczy może służyć do generowania plików w nowym folderze.

Zrzut ekranu przedstawiający monit

Przykłady wbudowanych poleceń ukośnika:

  • /help: Uzyskaj pomoc dotyczącą korzystania z GitHub Copilot.
  • /doc: Generuj dokumentację kodu.
  • /clear: Rozpocznij nową sesję czatu.
  • /explain: Wyjaśnij, jak działa wybrany kod.
  • /tests: Generuj testy jednostkowe dla wybranego kodu.
  • /fix: Zaproponuj poprawkę dla wybranego kodu.
  • /new: szkieletowy kod dla nowego środowiska pracy. Jako kontekst jest używany tylko monit czatu.
  • /newNotebook: Utwórz nowy Jupyter Notebook. Jako kontekst jest używany tylko monit czatu.

Przykłady użycia uczestników czatu oraz zmiennych w połączeniu z komendami z ukośnikiem:

  • #codebase /explain: Wygeneruj opis całego obszaru roboczego.
  • #codebase /fix (lub /fix): Zaproponuj poprawkę problemów w wybranym kodzie.
  • #codebase /tests (lub /tests): Generuj testy jednostkowe dla wybranego kodu.
  • @vscode: Zadaj pytania dotyczące funkcji, ustawień i interfejsów API rozszerzeń programu VS Code. Przykład: @vscode how to enable word wrapping?
  • #codebase /new (lub /new): Kod szablonowy dla nowego obszaru roboczego.
  • #codebase /newNotebook (lub /newNotebook): utwórz nowy notebook Jupyter.

Zmienne dla czatu

Zmienne czatu służą do określania kontekstu. Możesz odwołać się do zmiennej czatu w wierszu polecenia czatu, używając symbolu # . Na przykład zmienna #selection zawiera zaznaczenie tekstu w aktywnym edytorze.

Korzystając ze zmiennej czatu, możesz bardziej szczegółowo określić kontekst uwzględniny w monicie czatu. Na przykład zapytanie „który algorytm sortowania jest używany w #selection” skupia żądanie czatu na wybranym fragmencie kodu.

Uczestnicy czatu, tacy jak @vscode, mogą współtworzyć zmienne czatu, które zapewniają kontekst specyficzny dla domeny.

Przykłady wbudowanych zmiennych czatu to:

  • #editor: widoczny kod źródłowy w aktywnym edytorze.
  • #selection: aktualny wybór w aktywnym edytorze. Zawartość edytora jest niejawnie uwzględniana w kontekście widoku czatu.
  • #<file or folder name>: wpisz #, a następnie nazwę pliku lub folderu, aby dodać go jako kontekst czatu.
  • #codebase: dodaj odpowiednią zawartość obszaru roboczego jako kontekst do monitu.
  • #terminalSelection: wybór aktywnego terminalu.
  • #terminalLastCommand: ostatnie polecenie uruchomienia aktywnego terminalu.

Co to jest #codebase?

  • Słowo #codebase kluczowe to narzędzie, które wykonuje wyszukiwanie bazy kodu na podstawie monitu użytkownika i dodaje odpowiedni kod jako kontekst do monitu czatu.
  • Gdy używasz słowa kluczowego #codebase , model językowy pozostaje pod kontrolą i może łączyć się #codebase z innymi narzędziami do edycji scenariuszy.
  • Słowo #codebase kluczowe może być używane we wszystkich trybach czatu (Zapytaj, Agent i Plan).
  • Przykłady: "add a tooltip to this button, consistent with other button #codebase", "add unit tests and run them #codebase"

GitHub zaleca używanie #codebase w monitach czatu, ponieważ zapewnia większą elastyczność.

Podsumowanie

interfejs czatu GitHub Copilot używa przetwarzania języka naturalnego i uczenia maszynowego do interpretowania monitów i dostarczania odpowiednich odpowiedzi. Twoje podpowiedzi i kontekst, które podajesz, są niezbędne do generowania dokładnych i przydatnych odpowiedzi. Jakość odpowiedzi można poprawić, używając przejrzystych, zwięzłych i konkretnych monitów, przerywania złożonych monitów w mniejsze części oraz używania słów kluczowych, takich jak uczestnicy czatu, polecenia ukośnika i zmienne czatu.