Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
GitHub Copilot-moderniseringsagenten stöder anpassade kunskaper som du kan använda för att definiera organisationsspecifika migreringsmönster, intern biblioteksanvändning och kodningsstandarder. Genom att använda dessa anpassade kunskaper kan du säkerställa konsekvent modernisering i hela organisationen samtidigt som du använder egenutvecklad kunskap.
Vad är anpassade kunskaper?
Anpassade kunskaper följer agentens kompetensspecifikation för att lära moderniseringsagenten hur man utför specifika migreringsuppgifter med hjälp av organisationens mönster och bibliotek. När du skapar en moderniseringsplan identifierar och tillämpar agenten automatiskt relevanta anpassade kunskaper baserat på din migreringsprompt.
Anpassade kunskaper är användbara för:
- Interna biblioteksmigreringar: Växla till organisationsspecifika SDK:er eller ramverk.
- Återanvända migreringsmönster: Avbilda och återanvända lyckade migreringsmönster.
Anpassad kompetensstruktur
Definiera varje anpassad färdighet i en SKILL.md fil med:
- YAML-metadata: Metadata för färdighetsdetektering.
- Översikt: Beskrivning av migreringsscenariot.
- Steg: Detaljerade instruktioner för agenten.
- Exempelkod: Konkreta exempel som visar migreringen.
Skapa en anpassad färdighet
Steg 1: Skapa kunskapskatalogen
Skapa en ny mapp under .github/skills/ på lagringsplatsen med ett beskrivande namn:
mkdir -p .github/skills/my-migration-pattern
Steg 2: Skriv filen SKILL.md
Skapa .github/skills/my-migration-pattern/SKILL.md med den struktur som visas i följande avsnitt.
Obligatoriska front matter-fält
---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---
Viktigt: Fältet description är kritiskt. Agenten använder den för att avgöra när kunskapen ska tillämpas baserat på användarens migreringsprompt. Gör det specifikt och korrekt.
Bra beskrivningar:
- ✅ "Migrera från RabbitMQ med AMQP till Azure Service Bus för meddelanden"
- ✅ "Ersätt direkta JDBC-anrop med Spring Data-lagringsplatser"
Felaktiga beskrivningar:
- ❌ "Meddelandemigrering" (för vag)
- ❌ "Uppdatera bibliotek" (inte specifikt)
- ❌ "Förbättra koden" (oklart mål)
Steg 3: Ange exempel och verifieringskontroller för migrering
Inkludera kodexempel och verifieringskontroller för att vägleda agenten:
- Kodändringar: kodfragment som visar den migrerade implementeringen med den nya metoden.
- Konfigurationsändringar: uppdateringar av egenskaper, XML eller andra konfigurationsfiler.
- Beroendeändringar: Maven-, Gradle- eller NuGet-uppdateringar som krävs för migreringen.
- Verifieringskontroller: villkor som agenten ska verifiera när migreringen har tillämpats.
Du kan också ange resursfiler i kunskapskatalogen och berätta för agenten hur de ska användas i filens SKILL.md innehåll.
Använda anpassade kunskaper
Automatisk detektion
När du skapar en moderniseringsplan, gör agenten automatiskt:
-
.github/skills/Söker efter anpassade kunskaper. - Jämför migreringsuppmaningen med kompetensbeskrivningar.
- Införlivar relevanta färdigheter i planen.
- Använder kunskaper för att vägleda kodtransformeringar.
Exempel:
# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"
Manuell verifiering
Så här kontrollerar du vilka kunskaper som identifieras:
Skapa en plan med uppmaningen.
Granska
.github/modernization/{plan-name}/tasks.json.Leta efter referenser till dina anpassade kunskaper:
"skills": [ { "name": "your-skill-name", "location": "project" } ]
Om en färdighet inte identifieras:
- Förfina färdigheten
descriptionför att bättre matcha din uppmaning. - Gör uppmaningen mer specifik.
- Se till att
SKILL.mdär korrekt formaterad.
Exempellagringsplats
Ett fullständigt exempel finns i exempellagringsplatsen NewsFeedSite, som innehåller:
- Anpassad funktion för migrering av RabbitMQ till Azure Service Bus.
- Visar hur du använder interna JDK-bibliotek.
- Visar rätt kompetensstruktur och formatering.
Klona och utforska:
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"
Felsökning
Kunskapen har inte identifierats
Problem: Agenten använder inte din anpassade kompetens.
Lösningar:
- Kontrollera att färdighetsnamnet i YAML-huvudet inte innehåller blanksteg. Använd bindestreck i stället (till exempel
my-custom-skillintemy custom skill). - Kontrollera att
descriptionmatchar dina frågenyckelord. - Kontrollera syntaxen för YAML-front matter.
- Kontrollera att
SKILL.mdär i.github/skills/{skill-name}/. - Gör migreringsprompten mer specifik.