Sdílet prostřednictvím


Přizpůsobení modernizačního agenta GitHub Copilot

Agent modernizace Copilotu GitHubu podporuje vlastní dovednosti, které můžete použít k definování vzorů migrace specifických pro organizaci, interního používání knihovny a standardů kódování. Díky těmto vlastním dovednostem můžete zajistit konzistentní modernizaci ve vaší organizaci při používání vlastnických znalostí.

Co jsou vlastní dovednosti?

Vlastní dovednosti se řídí specifikací dovedností agenta , abyste naučili agenta modernizace, jak provádět konkrétní úlohy migrace pomocí vzorů a knihoven vaší organizace. Když vytvoříte plán modernizace, agent automaticky zjistí a použije relevantní vlastní dovednosti na základě výzvy k migraci.

Vlastní dovednosti jsou užitečné pro:

  • Migrace interní knihovny: Přechod na sady SDK nebo architektury specifické pro organizaci
  • Opakované použití vzorů migrace: Zachytávání a opakované použití úspěšných vzorů migrace

Vlastní struktura dovedností

Definujte každou vlastní dovednost v SKILL.md souboru pomocí:

  • YaML front matter: Metadata pro detekci dovedností.
  • Přehled: Popis scénáře migrace
  • Kroky: Podrobné pokyny pro agenta.
  • Ukázkový kód: Konkrétní příklady demonstrující migraci

Vytvoření vlastní dovednosti

Krok 1: Vytvoření adresáře dovedností

Ve svém úložišti vytvořte novou složku .github/skills/ s popisným názvem:

mkdir -p .github/skills/my-migration-pattern

Krok 2: Zápis souboru SKILL.md

Vytvořte .github/skills/my-migration-pattern/SKILL.md se strukturou zobrazenou v následující části.

Požadovaná pole úvodní části

---
name: my-migration-pattern
description: A concrete description of what this skill helps migrate
---

Důležité: Pole description je kritické. Agent ho použije k určení, kdy použít dovednost na základě výzvy k migraci uživatele. Uveďte konkrétně a přesně.

Dobré popisy:

  • ✅ Migrace z RabbitMQ s využitím AMQP do Služby Azure Service Bus pro zasílání zpráv
  • ✅ "Nahrazení přímých volání JDBC úložišti Spring Data"

Chybné popisy:

  • ❌ Migrace zpráv (příliš vágní)
  • ❌ "Aktualizovat knihovny" (není specifické)
  • ❌ "Zlepšení kódu" (nejasný cíl)

Krok 3: Zadání příkladů a kontrol ověření migrace

Uveďte příklady kódu a ověřovací kontroly, aby vedly agenta.

  • Změny kódu: Fragmenty kódu ukazující migrovanou implementaci pomocí nového přístupu.
  • Změny konfigurace: aktualizace vlastností, XML nebo jiných konfiguračních souborů.
  • Změny závislostí: Aktualizace Mavenu, Gradle nebo NuGet vyžadované pro migraci
  • Kontroly ověření: Kritéria, která má agent po provedení migrace ověřit.

Můžete také poskytnout soubory prostředků v adresáři dovedností a agentovi sdělit, jak je používat v obsahu souboru SKILL.md.

Použijte vlastní dovednosti

Automatické zjišťování

Když vytvoříte plán modernizace, agent automaticky:

  1. .github/skills/ Skener prohledává vlastní dovednosti.
  2. Porovná výzvu k migraci s popisy dovedností.
  3. Zahrnuje do plánu relevantní dovednosti.
  4. Používá dovednosti k vedení transformací kódu.

Příklad:

# Agent will automatically detect and use the RabbitMQ skill
modernize plan create "migrate from rabbitmq to azure service bus"

Ruční ověření

Chcete-li ověřit, které dovednosti jsou detekovány:

  1. Vytvořte plán podle podnětu.

  2. Zkontrolovat .github/modernization/{plan-name}/tasks.json.

  3. Vyhledejte odkazy na vlastní dovednosti:

    "skills": [
        {
          "name": "your-skill-name",
          "location": "project"
        }
    ]
    

Pokud se dovednost nezjistí:

  • Zpřesněte dovednost description tak, aby lépe odpovídala vaší výzvě.
  • Udělejte výzvu konkrétnější.
  • Ujistěte se, že SKILL.md je správně naformátovaný.

Ukázkové úložiště

Úplný příklad najdete v ukázkovém úložišti NewsFeedSite, které zahrnuje:

  • Vlastní funkce pro migraci RabbitMQ do služby Azure Service Bus
  • Ukazuje použití interních knihoven JDK.
  • Zobrazuje správnou strukturu dovedností a formátování.

Klonování a zkoumání:

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

Dovednost nebyla zjištěna.

Problém: Agent nepoužívá vaši vlastní dovednost.

Řešení:

  • Zkontrolujte, jestli název dovednosti v přední části YAML neobsahuje mezery. Místo toho používejte pomlčky (například my-custom-skill ne my custom skill).
  • Ověřte, že description odpovídá vašim klíčovým slovům výzvy.
  • Zkontrolujte syntaxi YAML front matter.
  • Ujistěte se, že SKILL.md je v .github/skills/{skill-name}/.
  • Zpřístupněte výzvu k migraci konkrétněji.

Další kroky