Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Agent modernizacji GitHub Copilot obsługuje niestandardowe funkcje, których można użyć do definiowania wzorców migracji organizacji, użycia bibliotek wewnętrznych i standardów kodowania. Korzystając z tych umiejętności niestandardowych, możesz zapewnić spójną modernizację w całej organizacji, korzystając z własnościowej wiedzy.
Co to są umiejętności niestandardowe?
Niestandardowe umiejętności są zgodne ze specyfikacją umiejętności agenta , aby nauczyć agenta modernizacji, jak wykonywać określone zadania migracji przy użyciu wzorców i bibliotek organizacji. Podczas tworzenia planu modernizacji agent automatycznie wykrywa i stosuje odpowiednie umiejętności niestandardowe na podstawie monitu o migrację.
Umiejętności niestandardowe są przydatne w następujących celach:
- Migracje bibliotek wewnętrznych: przełączanie do zestawów SDK lub struktur specyficznych dla organizacji.
- Ponowne użycie wzorców migracji: Zbieranie i ponowne wykorzystanie skutecznych wzorców migracji.
Niestandardowa struktura umiejętności
Zdefiniuj każdą niestandardową umiejętność w pliku SKILL.md za pomocą:
- YAML front matter: Metadane do wykrywania umiejętności.
- Omówienie: opis scenariusza migracji.
- Kroki: Szczegółowe instrukcje dla agenta.
- Przykładowy kod: konkretne przykłady przedstawiające migrację.
Tworzenie niestandardowej umiejętności
Krok 1. Tworzenie katalogu umiejętności
Utwórz nowy folder w obszarze .github/skills/ w repozytorium z opisową nazwą:
mkdir -p .github/skills/my-migration-pattern
Krok 2. Zapisywanie pliku SKILL.md
Utwórz .github/skills/my-migration-pattern/SKILL.md za pomocą struktury pokazanej w poniższej sekcji.
Wymagane pola metadanych dokumentu
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Ważne: description pole ma krytyczne znaczenie. Agent używa go do określenia, kiedy zastosować umiejętność na podstawie monitu migracji użytkownika. Uczyń to precyzyjnym i dokładnym.
Dobre opisy:
- ✅ "Migrowanie z programu RabbitMQ za pomocą protokołu AMQP do usługi Azure Service Bus na potrzeby obsługi komunikatów"
- ✅ "Zastąp bezpośrednie wywołania JDBC repozytoriami Spring Data"
Złe opisy:
- ❌ "Migracja komunikatów" (zbyt niejasna)
- ❌ "Aktualizuj biblioteki" (nie specyficzne)
- ❌ "Ulepszanie kodu" (niejasny cel)
Krok 3. Podawanie przykładów i testów weryfikacji migracji
Dołącz przykłady kodu i sprawdzanie weryfikacyjne, aby poprowadzić agenta.
- Zmiany kodu: fragmenty kodu pokazujące zmigrowane implementacje przy użyciu nowego podejścia.
- Zmiany konfiguracji: aktualizacje właściwości, XML lub innych plików konfiguracji.
- Zmiany zależności: aktualizacje Maven, Gradle lub NuGet wymagane do migracji.
- Kontrola weryfikacyjna: kryteria, które agent powinien zweryfikować po zastosowaniu migracji.
Możesz również podać pliki zasobów w katalogu umiejętności i poinformować agenta, jak używać ich w treści pliku SKILL.md.
Korzystanie z umiejętności niestandardowych
Automatyczne wykrywanie
Podczas tworzenia planu modernizacji agent automatycznie:
- Skanuje
.github/skills/pod kątem umiejętności niestandardowych. - Porównuje monit migracji z opisami umiejętności.
- Uwzględnia odpowiednie umiejętności w planie.
- Używa umiejętności do kierowania transformacjami kodu.
Przykład:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Weryfikacja ręczna
Aby sprawdzić, które umiejętności zostały wykryte:
Utwórz plan z podpowiedzią.
Przejrzyj
.github/modernization/{plan-name}/tasks.json.Poszukaj wzmianek o swoich umiejętnościach własnych.
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Jeśli nie wykryto umiejętności:
- Uściślij umiejętność
description, aby lepiej dopasować swój przekaz. - Wprowadź bardziej szczegółowy monit.
- Upewnij się, że
SKILL.mdjest poprawnie sformatowany.
Przykładowe repozytorium
Aby zapoznać się z kompletnym przykładem, zobacz przykładowe repozytorium NewsFeedSite, które obejmuje:
- Niestandardowa umiejętność migracji RabbitMQ do usługi Azure Service Bus.
- Demonstruje używanie wewnętrznych bibliotek JDK.
- Pokazuje odpowiednią strukturę umiejętności i formatowanie.
Klonowanie i eksplorowanie:
git clone https://github.com/Azure-Samples/NewsFeedSite.git
cd NewsFeedSite
ls -la .github/skills/
modernize plan create "migrate from rabbitmq to azure service bus"
Troubleshooting
Nie wykryto umiejętności
Problem: Agent nie korzysta z umiejętności niestandardowych.
Rozwiązania:
- Sprawdź, czy nazwa umiejętności w metadanych YAML nie zawiera spacji. Zamiast tego użyj łączników (na przykład
my-custom-skillniemy custom skill). - Sprawdź, czy słowa kluczowe monitu
descriptionsą zgodne. - Sprawdź składnię sekcji nagłówkowej YAML.
- Upewnij się, że
SKILL.mdznajduje się w pliku.github/skills/{skill-name}/. - Zwiększ szczegółowość monitu o migrację.