Megosztás a következőn keresztül:


A GitHub Copilot modernizálási ügynökének testreszabása

A GitHub Copilot modernizálási ügynöke olyan egyéni képességeket támogat, amelyekkel szervezetspecifikus migrálási mintákat, belső tárhasználatot és kódolási szabványokat határozhat meg. Ezekkel az egyéni készségekkel egységes modernizációt biztosíthat a vállalaton belül, miközben saját tudást használ.

Mik azok az egyéni képességek?

Az egyéni készségek az ügynöki készségek specifikációját követve tanítják meg a modernizációs ügynöknek, hogyan végezhet el adott migrálási feladatokat a szervezet mintái és kódtárai segítségével. Modernizációs terv létrehozásakor az ügynök automatikusan észleli és alkalmazza a megfelelő egyéni készségeket a migrálási kérés alapján.

Az egyéni készségek a következőkhöz hasznosak:

  • Belső könyvtármigrálások: Váltás szervezetspecifikus SDK-kra vagy keretrendszerekre.
  • Migrálási minták ismételt használata: Sikeres migrálási minták rögzítése és újrafelhasználása.

Egyéni képességstruktúra

Egyéni képességek definiálása egy SKILL.md fájlban a következőkkel:

  • YAML-előtér: A képességészlelés metaadatai.
  • Áttekintés: A migrálási forgatókönyv leírása.
  • Lépések: Részletes utasítások az ügynökhöz.
  • Mintakód: Konkrét példák a migrálásra.

Egyéni képesség létrehozása

1. lépés: A készségkönyvtár létrehozása

Hozzon létre egy új mappát .github/skills/ az adattárban egy leíró névvel:

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

2. lépés: A SKILL.md fájl írása

Hozzon létre .github/skills/my-migration-pattern/SKILL.md a struktúrával, amely a következő szakaszban látható.

Kötelező fejléc mezők

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

Fontos: A description mező kritikus fontosságú. Az ügynök a felhasználó migrálási kérése alapján határozza meg, hogy mikor alkalmazza a képességet. Legyen konkrét és pontos.

Jó leírások:

  • ✅ "Migrálás a RabbitMQ-ból AMQP-vel az Azure Service Busba üzenetküldéshez"
  • ✅ "Közvetlen JDBC-hívások cseréje Spring Data-adattárakra"

Hibás leírások:

  • ❌ "Üzenetkezelési migrálás" (túl homályos)
  • ❌ "Kódtárak frissítése" (nem specifikus)
  • ❌ "Kód fejlesztése" (nem egyértelmű cél)

3. lépés: Példák és migrálás-ellenőrzési ellenőrzések biztosítása

Adjon meg példakódokat és ellenőrző ellenőrzéseket az ügynök irányításához:

  • Kódmódosítások: kódrészletek, amelyek az új megközelítéssel jelenítik meg a migrált implementációt.
  • Konfigurációváltozások: tulajdonságok, XML vagy egyéb konfigurációs fájlok frissítése.
  • Függőségi változások: A migráláshoz szükséges Maven-, Gradle- vagy NuGet-frissítések.
  • Ellenőrzési ellenőrzések: az ügynöknek ellenőriznie kell a kritériumokat az áttelepítés alkalmazása után.

Erőforrásfájlokat is megadhat a készségkönyvtárban, és megadhatja az ügynöknek, hogyan használhatja őket a SKILL.md fájl tartalmában.

Egyéni képességek használata

Automatikus észlelés

Modernizálási terv létrehozásakor az ügynök automatikusan:

  1. .github/skills/ Egyéni képességeket vizsgál.
  2. Összehasonlítja a migrálási kérést a szakértelem leírásával.
  3. A megfelelő készségeket beépíti a tervbe.
  4. A képesség segítségével irányítja a kódátalakításokat.

Példa:

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

Manuális ellenőrzés

Annak ellenőrzése, hogy mely készségek észlelhetők:

  1. Hozzon létre egy tervet az útmutatásával.

  2. Véleményezés .github/modernization/{plan-name}/tasks.json.

  3. Keresse meg az egyéni készségeire mutató hivatkozásokat:

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

Ha a rendszer nem észleli a képességet:

  • Finomítsa a készséget description, hogy jobban illeszkedjen az utasításhoz.
  • Pontosítsd a kérést.
  • Győződjön meg arról, hogy SKILL.md megfelelően formázott.

Mintatároló

Egy teljes példáért tekintse meg a NewsFeedSite mintaadattárat, amely a következőket tartalmazza:

  • Egyéni képesség a RabbitMQ és az Azure Service Bus közötti migráláshoz.
  • Belső JDK-kódtárak használatát mutatja be.
  • A képességek megfelelő struktúráját és formázását jeleníti meg.

Klónozás és felfedezés:

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"

Hibaelhárítás

A képesség nem észlelhető

Probléma: Az ügynök nem használja az ön egyéni készségeit.

Megoldások:

  • Ellenőrizze, hogy a YAML-előtérben szereplő képességnév nem tartalmaz-e szóközöket. Használjon inkább kötőjeleket (például my-custom-skill nem my custom skill).
  • Ellenőrizze, hogy a description megegyezik-e a kérdés kulcsszavaival.
  • Ellenőrizze a YAML előtétadatszintaxisát.
  • Győződjön meg arról, hogy SKILL.md a következőben van: ..github/skills/{skill-name}/
  • A migrálási kérés pontosabbá tétele.

Következő lépések