Używanie wbudowanych i niestandardowych agentów z GitHub Copilot

Visual Studio zawiera zestaw wyselekcjonowanych wbudowanych agentów, które głęboko integrują się z funkcjami IDE, takimi jak debugowanie, profilowanie i testowanie. Możesz również tworzyć agentów niestandardowych dostosowanych do sposobu działania zespołu.

Wymagania wstępne

Uzyskiwanie dostępu do agentów niestandardowych

Dostęp do agentów niestandardowych jest możliwy na dwa sposoby:

  • Selektor agenta: W oknie Copilot Chat wybierz listę rozwijaną selektora agentów, aby wyświetlić dostępnych agentów.
  • @ składnia: wpisz @ nazwę agenta w polu wprowadzania czatu (na przykład @debugger).

Dostęp do agentów niestandardowych można uzyskać przy użyciu składni @: typ @ , po którym następuje nazwa agenta w danych wejściowych czatu (na przykład @profiler).

Zrzut ekranu przedstawiający okno wyboru z niestandardowymi agentami w Visual Studio.

Agenci wbudowani

Każdy wbudowany agent koncentruje się na konkretnym przepływie pracy dewelopera. Ci agenci integrują się z natywnymi narzędziami Visual Studio w sposób, w jaki asystent ogólny nie może.

Przedstawiciel Opis
@debugger Wykracza poza odczytywanie komunikatów o błędach. Używa stosów wywołań, stanu zmiennej i narzędzi diagnostycznych do systematycznego diagnozowania błędów w całym rozwiązaniu.
@git Przegląda lokalne niezatwierdzone zmiany i przedstawia opinie jako komentarze wbudowane w edytorze i w środowisku Git Changes.
@profiler Łączy się z infrastrukturą profilowania Visual Studio, aby zidentyfikować wąskie gardła i zasugerować ukierunkowane optymalizacje oparte na twojej bazie kodu, a nie ogólnych porad.
@test Generuje testy jednostkowe dostosowane do frameworku i wzorców projektu, a nie standardowe, które są odrzucane przez ciągłą integrację.
@modernize (Obsługuje tylko .NET i C++), uaktualniając frameworki i zależności ze świadomością rzeczywistego diagramu projektu. Wskazuje zmiany powodujące niekompatybilność, generuje kod migracji i działa zgodnie z istniejącymi wzorcami.
Agent planowania Tworzy i uściśli plany implementacji przed rozpoczęciem wprowadzania zmian kodu przez eksplorowanie bazy kodu za pomocą narzędzi tylko do odczytu, a następnie przekazuje plan do trybu agenta za pomocą polecenia Implementowanie planu.
Przedstawiciel Opis
@profiler Łączy się z infrastrukturą profilowania Visual Studio, aby zidentyfikować wąskie gardła i zasugerować ukierunkowane optymalizacje oparte na twojej bazie kodu, a nie ogólnych porad.

Agenci w chmurze

W Copilot Chat można uruchomić sesje agentów oparte na chmurze z selektora agentów. Połączone repozytorium oznacza, że masz otwarte rozwiązanie lokalne z repozytorium GitHub i zalogowane do GitHub w Visual Studio. Te sesje zdalne są obsługiwane przez agenta programistycznego GitHub Copilot i mogą tworzyć zgłoszenia oraz pull requesty w tym repozytorium.

Użyj agenta @debugger

Agent @debugger pomaga systematycznie diagnozować błędy, analizując kontekst debugowania. Obsługuje również kompleksowe przepływy pracy agentów, który odtwarza usterki, instrumentuje aplikację za pomocą punktów śledzenia i warunkowych punktów przerwania oraz weryfikuje poprawki przy użyciu danych środowiska uruchomieniowego na żywo. Aby uzyskać więcej informacji, zobacz Agentowe rozwiązywanie błędów za pomocą Debuggera.

Przykładowe podpowiedzi:

  • @debugger Why is this exception being thrown?
  • @debugger Analyze the current call stack and explain what went wrong
  • @debugger What's causing the null reference in this method?

Użyj agenta @git

Użyj agenta@git, aby przejrzeć lokalne niezatwierdzone zmiany bez opuszczania Copilot Chat.

Przykładowe podpowiedzi:

  • @git Review my changes
  • @git Explain this review comment and suggest a fix

Zrzut ekranu przedstawiający Copilot Chat z agentem Git oraz z wyróżnioną opcją Przejrzyj zmiany.

Aby zapoznać się z pełnym lokalnym procesem przeglądu, zobacz Przeglądanie lokalnych zmian za pomocą Copilot Chat.

Użyj agenta @profiler

Agent @profiler łączy się z narzędziami profilowania Visual Studio, aby ułatwić identyfikowanie i rozwiązywanie problemów z wydajnością.

Przykładowe podpowiedzi:

  • @profiler Find the performance bottlenecks in my application
  • @profiler Why is this method taking so long to execute?
  • @profiler Suggest optimizations for the hot path

Użyj agenta @test

Agent @test generuje testy jednostkowe zgodne ze strukturą testowania i konwencjami projektu.

Przykładowe podpowiedzi:

  • @test Generate unit tests for the selected method
  • @test Create tests that cover edge cases for this class
  • @test Write integration tests for this API endpoint

Aby uzyskać bardziej kompleksową obsługę testowania .NET, zobacz testowanie .NET za pomocą GitHub Copilot.

Użyj agenta @modernize

Agent @modernize pomaga w migracjach struktury i uaktualnieniach zależności dla projektów .NET i C++.

W przypadku modernizacji przepływów pracy .NET agent obsługuje trzyetapowy proces:

  • Ocena: przegląda wersje pakietów, opcje platformy docelowej, spis projektów i zagrożenia zgodności interfejsu API.
  • Plan: generuje plan migracji zgodny z bieżącymi priorytetami oceny i aktualizacji.
  • Wykonywanie zadania: realizuje zadania modernizacyjne z dynamicznym plikiem zadań, który można edytować w miarę postępu pracy.

Przykładowe podpowiedzi:

  • @modernize Upgrade this project to .NET 8
  • @modernize What breaking changes should I expect when migrating?
  • @modernize Update deprecated API calls in this file
  • @modernize Assess this solution, generate a migration plan, and create execution tasks

Aby uzyskać kompleksowe wskazówki dotyczące modernizacji aplikacji GitHub Copilot dla .NET, zobacz omówienie modernizacji aplikacji GitHub Copilot.

Agenci niestandardowi

Uwaga / Notatka

Agenci niestandardowi wymagają Visual Studio 2026 w wersji 18.4 lub nowszej.

Wbudowani agenci obejmują typowe przepływy pracy, ale twój zespół zna twój przepływ pracy najlepiej. Agenci niestandardowi umożliwiają tworzenie własnych agentów przy użyciu tej samej podstawy: rozpoznawania obszarów roboczych, zrozumienia kodu, preferowanego modelu sztucznej inteligencji i własnych narzędzi.

Agenci niestandardowi stają się szczególnie zaawansowani w połączeniu z protokołem MCP (Model Context Protocol). Agentów można łączyć z zewnętrznymi źródłami wiedzy, takimi jak wewnętrzna dokumentacja, systemy projektowania, interfejsy API i bazy danych, dzięki czemu agent nie jest ograniczony do elementów w repozytorium.

Możesz również zdefiniować umiejętności agenta wielokrotnego użytku, które każdy agent może odnajdywać i używać automatycznie. Gdy agenci określają personę i pewien zestaw narzędzi, umiejętności dostarczają ukierunkowane, specyficzne dla zadań instrukcje.

Tworzenie agenta niestandardowego

Zdefiniuj agentów niestandardowych jako pliki .agent.md w folderze .github/agents/ repozytorium:

your-repo/
└── .github/
    └── agents/
        └── code-reviewer.agent.md

Można również zdefiniować agentów na poziomie użytkownika, którzy mają zastosowanie we wszystkich projektach. Domyślnie zapisuj agenty na poziomie użytkownika w %USERPROFILE%\.github\agents. Tę lokalizację można zmienić w obszarze Narzędzia>Opcje>GitHub>Copilot.

Używanie agentów niestandardowych na poziomie organizacji

Uwaga / Notatka

Agenci niestandardowi na poziomie organizacji wymagają repozytorium należącego do organizacji GitHub.

Właściciele organizacji i przedsiębiorstw w GitHub mogą publikować niestandardowych agentów, aby członkowie mogli z nich korzystać we wszystkich repozytoriach w organizacji. Po otwarciu repozytorium w organizacji Visual Studio automatycznie wykrywa tych agentów i dodaje je do selektora agentów.

Aby sprawdzić agenta niestandardowego na poziomie organizacji przed jego użyciem:

  1. Otwórz Copilot Chat i wybierz selektor agenta.
  2. Umieść kursor na agencie, aby wyświetlić jego opis i organizację źródłową.
  3. Wybierz przycisk definicji, aby otworzyć plik definicji agenta.

Zrzut ekranu przedstawiający agentów niestandardowych na poziomie organizacji w selektorze agentów z opisami, źródłami organizacji i przyciskami umożliwiającymi otwieranie definicji agentów.

Właściciele organizacji i przedsiębiorstwa konfigurują tych agentów w GitHub. Aby uzyskać wskazówki dotyczące konfiguracji, zobacz Przygotowanie do korzystania z agentów niestandardowych w organizacji lub Przygotowanie do korzystania z agentów niestandardowych w przedsiębiorstwie.

Format pliku agenta

Każdy plik agenta używa prostego szablonu z frontonem YAML, a następnie instrukcjami języka Markdown:

---
name: Code Reviewer
description: Reviews PRs against our team's coding standards
model: claude-opus-4-6
tools: ["code_search", "readfile", "find_references"]
---

You are a code reviewer for our team. When reviewing changes, check for:

- Naming conventions: PascalCase for public methods, camelCase for private
- Error handling: all async calls must have try/catch with structured logging
- Test coverage: every public method needs at least one unit test

Flag violations clearly and suggest fixes inline.

Właściwości materiału wstępnego

Majątek Wymagane Opis
name Nie. Nazwa wyświetlana agenta w selektorze agenta. Jeśli nie określisz tej właściwości, nazwa agenta pochodzi z nazwy pliku (na przykład code-reviewer.agent.md stanie się code-reviewer).
description Tak Krótki opis wyświetlany podczas najechania wskaźnikiem myszy na agenta
model Nie. Model sztucznej inteligencji do użycia. Jeśli nie określisz tej właściwości, używany jest model wybrany w selektorze modelu.
tools Nie. Tablica nazw narzędzi, których może używać agent. Jeśli nie określisz tej właściwości, wszystkie dostępne narzędzia zostaną włączone.

Uwaga / Notatka

W przypadku niektórych niestandardowych agentów grupy narzędzi są wyświetlane jako wyłączone po wybraniu agenta, nawet jeśli nie określisz właściwości tools. W niektórych sesjach opcje narzędzi są resetowane po każdej kolejnej wiadomości w tym samym wątku czatu. Jeśli ten warunek wystąpi, ręcznie włącz ponownie wymagane narzędzia w panelu Narzędzia . Instrukcje i wskazówki dotyczące zgłaszania można znaleźć w artykule Grupy narzędzi niestandardowego agenta są początkowo wyłączone lub resetowane między turami.

Określanie narzędzi

Narzędzia rozszerzają możliwości agenta niestandardowego. Możesz określić narzędzia, których agent powinien używać w tablicy tools .

Ważna

Nazwy narzędzi różnią się w zależności od platform GitHub Copilot. Sprawdź narzędzia dostępne w Visual Studio specjalnie, aby upewnić się, że agent działa zgodnie z oczekiwaniami. Wybierz ikonę Narzędzia w oknie czatu, aby wyświetlić dostępne nazwy narzędzi.

Narzędzia specyficzne dla języka C++

Tryb agenta zazwyczaj obejmuje narzędzia do edycji kodu C++. Jeśli zainstalujesz obciążenie języka C++, agent niestandardowy może używać tych nazw narzędzi specyficznych dla Visual Studio w tablicytools:

  • get_symbol_call_hierarchy do nawigacji po hierarchii wywołań
  • get_symbol_class_hierarchy dla nawigacji po klasie i typie hierarchii

Te narzędzia zapewniają agentom nawigację z obsługą języka C++ i pomagają zwiększyć precyzję podczas analizowania i edytowania kodu C++.

Połącz się ze źródłami zewnętrznymi za pomocą MCP

Korzystając z serwerów MCP, agenci niestandardowi mogą uzyskiwać dostęp do zewnętrznych źródeł wiedzy, takich jak:

  • Wewnętrzna dokumentacja i witryny typu wiki
  • Projektowanie systemów i bibliotek składników
  • Interfejsy API i bazy danych
  • Przewodniki stylu i repozytoria ADR

Na przykład agent przeglądu kodu może sprawdzać żądania ściągnięcia (PR) zgodnie z obowiązującymi konwencjami, łącząc się z przewodnikiem stylu za pośrednictwem MCP.

Przykładowi agenci niestandardowi

Agent przeglądu kodu

---
name: Code Reviewer
description: Reviews code against our team's coding standards
tools: ["code_search", "readfile"]
---

You are a code reviewer for our team. Review changes for:

1. **Naming conventions**: PascalCase for public methods, camelCase for private fields
2. **Error handling**: All async calls must have try/catch with structured logging
3. **Test coverage**: Every public method needs at least one unit test
4. **Documentation**: Public APIs must have XML documentation comments

Flag violations clearly and suggest fixes inline.

Przykład agenta planowania funkcjonalności

Użyj niestandardowego agenta do planowania funkcji, gdy potrzebujesz procesu planowania dostosowanego do zespołu lub dodatkowych narzędzi poza wbudowanym agentem planowania.

---
name: Feature Planner
description: Helps plan features before writing code
tools: ["code_search", "readfile", "find_references"]
---

You are a feature planning assistant. When asked about a feature:
1. Gather requirements by asking clarifying questions
2. Identify affected files and components in the codebase
3. Break down the work into discrete tasks
4. Flag potential risks or dependencies
5. Create a structured plan that can be handed off for implementation

Focus on understanding scope before suggesting solutions.

Agent systemu projektowania

---
name: Design System
description: Enforces UI design patterns and component usage
tools: ["code_search", "readfile"]
---

You are a design system expert. When reviewing UI code:

1. Check that standard components are used instead of custom implementations
2. Verify spacing and layout follow the design token system
3. Ensure accessibility requirements are met (ARIA labels, keyboard navigation)
4. Flag any UI drift from established patterns

Reference the component library documentation when suggesting fixes.

Agent programowania pełnego stosu z narzędziami Visual Studio

W poniższym przykładzie użyto nazw narzędzi specyficznych dla Visual Studio:

---
name: Full Stack Dev
description: Full-stack development assistant with search, file editing, and terminal access
tools: ["code_search", "readfile", "editfiles", "find_references", "runcommandinterminal", "getwebpages"]
---

You are a full-stack development assistant. Help with:

1. Searching the codebase to understand existing patterns
2. Reading and editing files to implement changes
3. Running build and test commands to verify your work
4. Looking up documentation when needed

Always check existing code conventions before making changes.

Wskazówka

Wybierz ikonę Tools w oknie Copilot Chat, aby wyświetlić wszystkie dostępne nazwy narzędzi w wersji Visual Studio.

Agenci rozwoju .NET

Zespół .NET utrzymuje wyselekcjonowanych agentów niestandardowych do tworzenia aplikacji w języku C# i Windows Forms w repozytorium awesome-copilot. Aby rozpocząć pracę:

  1. Pobierz CSharpExpert.agent.md i WinFormsExpert.agent.md.
  2. Dodaj pliki do folderu repozytorium .github/agents/ .
  3. Otwórz Copilot Chat w trybie agenta i wybierz agenta z selektora agenta.

Wskazówka

Wybierz Tools>Options>GitHub>Copilot, a następnie włącz Włączenie konkretnych instrukcji dotyczących projektu .NET, takich jak programowanie Windows Forms, jeśli ma zastosowanie aby automatycznie dodać odpowiedniego agenta niestandardowego dla bazy kodu.

Ekspert języka C#

Agent ekspercki C# stosuje nowoczesne konwencje C# do generowania kodu przez Copilot.

  • Składnia i wydajność: dopasowuje się do istniejących konwencji repozytorium, postępując zgodnie z obecnymi najlepszymi praktykami.
  • Minimalne zmiany: generuje tylko wymagany kod, używając async/await z odpowiednim anulowaniem i obsługą wyjątków. Unika nieużywanych interfejsów, metod lub parametrów.
  • Testowanie: obsługuje testowanie jednostkowe oparte na zachowaniu, testowanie integracji i przepływy pracy TDD.

Ekspert WinForms

Agent programu WinForms Expert jest przeznaczony dla deweloperów Windows Forms w .NET od 8 do .NET 10:

  • Ochrona kodu Designer: Zapobiega uszkodzeniom .Designer.cs, dzięki czemu Windows Forms Designer działa po edycji przez Copilot.
  • Wzorce projektowe interfejsu użytkownika: wzorce MVVM i MVP, w tym powiązanie danych zestawu narzędzi Community Toolkit.
  • Modern .NET: Poprawne przeciążenia InvokeAsync, tryb ciemny, rozpoznawanie wysokiej rozdzielczości DPI i typy odwołań dopuszczające wartość null.
  • Układ: TableLayoutPanel i FlowLayoutPanel do responsywnych układów z obsługą DPI.
  • Serializacja CodeDOM: [DefaultValue] atrybuty i ShouldSerialize*() metody właściwej obsługi właściwości projektanta.
  • Obsługa wyjątków: wzorce obsługi zdarzeń asynchronicznych i obsługa wyjątków na poziomie aplikacji.

Konfiguracje społeczności

Repozytorium awesome-copilot ma konfiguracje agentów współtworzynych przez społeczność, których można użyć jako punktów początkowych. Jeśli używasz konfiguracji z tego repozytorium, przed wdrożeniem w zespole sprawdź, czy nazwy narzędzi działają w Visual Studio.

Ograniczenia i uwagi

  • Jeśli nie określisz modelu, agent używa dowolnego modelu wybranego w selektorze modelu.
  • Nazwy narzędzi różnią się w zależności od platform GitHub Copilot. Przed wdrożeniem w zespole sprawdź, czy nazwy narzędzi działają w Visual Studio.

Podziel się opinią

Udostępnij konfiguracje agenta niestandardowego w repozytorium awesome-copilot lub prześlij opinię za pośrednictwem Visual Studio Developer Community. Przepływy pracy ułatwiają kształtowanie przyszłych funkcji.