Udostępnij przez


Jak copilot chat rozumie i używa kontekstu

Funkcja Copilot Chat w programie Visual Studio została zaprojektowana tak, aby uwzględniała kontekst, zapewniając bardzo istotne i dostosowane odpowiedzi, głęboko rozumiejąc strukturę i zawartość projektu. Ten artykuł zawiera zakulisowe spojrzenie na to, jak konstruuje czat Copilot i wykorzystuje kontekst w celu ulepszenia przepływu pracy kodowania.

Jak copilot chat zbiera kontekst rozwiązania

Copilot Chat używa wielowarstwowego podejścia do tworzenia kontekstu w bazie kodu, aby upewnić się, że jego sugestie i odpowiedzi są odpowiednie i dokładne.

Indeksowanie bazy kodu

Jeśli repozytorium jest hostowane w usłudze GitHub lub Azure DevOps, Copilot tworzy zdalny indeks bazy kodu i oblicza osadzanie, które przechwytuje wzorce i relacje w kodzie. Dowiedz się więcej o zdalnym indeksowaniu w usłudze GitHub.

Jeśli kod jest hostowany w innym miejscu, Copilot tworzy indeks lokalny.

Na podstawie podpowiedzi Copilot może określić, że potrzebuje więcej kontekstu projektu, aby dokładnie odpowiedzieć. W takich przypadkach wykonuje semantyczne wyszukiwanie w zdalnym lub lokalnym indeksie.

W przeciwieństwie do tradycyjnego wyszukiwania, które pasuje do dokładnych słów, wyszukiwanie semantyczne koncentruje się na znaczeniu. Przy użyciu zaawansowanych osadzania wektorów Copilot identyfikuje pliki o najwyższej semantyce podobieństwa do żądania i dodaje je do jego kontekstu.

Te pliki uzupełniają monit systemowy, instrukcje, kontekst niejawny (taki jak historia czatu i otwarte pliki) oraz wszelkie podane jawne treści, takie jak błędy.

Dowiedz się, jak dodawać odwołania jako kontekst podczas czatu.

Jak aplikacja Copilot Chat stosuje sugestie dotyczące kodu

Copilot Chat często udostępnia sugestie dotyczące kodu w odpowiedziach. Te sugestie muszą być dokładnie zamapowane na bazę kodu, aby można je było zastosować i przetestować.

Mapowanie kodu opartego na modelu

Copilot Chat używa dekodowania spekulatywnego, aby dokładnie wstawić sugestie do istniejących plików, zmniejszając ryzyko błędów. W trybie agenta umożliwia to copilotowi tworzenie niezawodnych edycji, które obsługują tworzenie, debugowanie i testowanie kodu niezależnie.

Wspomnienia Copilota

Wspomnienia Copilot umożliwiają Copilot poznanie określonych standardów kodowania i najlepszych praktyk w projekcie, dzięki czemu staje się świadomy specyfiki projektu i spójny między sesjami.

Jak działają wspomnienia Copilota

Pamięć używa inteligentnego wykrywania, aby zrozumieć preferencje zespołu podczas pisania poleceń w czacie. Gdy podpowiadasz, Copilot identyfikuje przypadki, w których poprawiasz jego zachowanie, wskazujesz standard lub prosisz o zapamiętanie czegoś.

Po wykryciu takich wystąpień zostanie wyświetlony monit potwierdzający, aby zapisać preferencje.

Zrzut ekranu przedstawiający, kiedy copilot wykrywa preferencję dodawania do wspomnień.

Copilot następnie kategoryzuje preferencje w jednym z trzech plików:

  • .editorconfig w przypadku standardów kodowania
  • CONTRIBUTING.md najlepsze rozwiązania, wytyczne i standardy architektury.
  • README.md ogólne informacje o projekcie

Kontynuując podpowiadanie Copilotowi, uczysz go skuteczniej reagować na twoje potrzeby i pomagasz zespołowi, dokumentując najlepsze praktyki programistyczne, które poprawiają ich przyszłe interakcje z Copilotem.