Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
GitHub Copilot modernizace používá strukturovaný přístup k upgradu .NET projektů. Když pochopíte, jak agent funguje, včetně jeho scénářů, dovedností, úloh a pracovního postupu, pomůže efektivně spolupracovat s agentem a získat nejlepší výsledky.
Návod
Agenta si můžete představit jako zkušený kolega, který rozumí .NET hluboko, řídí se strukturovaným plánem a přizpůsobuje se vašim názorům. Čím více informací poskytnete, tím lépe agent pracuje.
Agent jako člen týmu
Agent exceluje při spolupráci, nikoli automatizaci ve vakuu:
- Deep .NET knowledge: Agent rozumí souborům projektu, závislostem NuGet, zásadním změnám a vzorům upgradu napříč desítkami technologií .NET pro projekty C# i Visual Basic.
- Strukturovaný pracovní postup: Každý upgrade prochází posouzením, plánováním a prováděním. Žádné náhodné změny, žádné překvapení.
-
Naučí se vaše předvolby: Když řeknete "vždy používat explicitní typy místo
var", agent zapíše tuto předvolbuscenario-instructions.mda pamatuje si ji napříč relacemi. - Opravitelný během procesu: Udělali jste špatné rozhodnutí? Řekněte agentovi. Provádí úpravu a aplikuje opravu do budoucna.
- Vysvětluje jeho odůvodnění: Zeptejte se "proč jste zvolili tento přístup?" a agent vás provede rozhodováním.
Scénáře
Scénář je komplexním spravovaným pracovním postupem modernizace od začátku do konce. Když agentovi řeknete, že se jedná o upgrade řešení na .NET 10, aktivujete scénář .NET version upgrade.
Zjištění scénářů
Nemusíte si pamatovat názvy scénářů. Agent automaticky zjistí relevantní scénáře:
- Analyzuje základ kódu, abyste pochopili, jaké technologie používáte, včetně jazyka, verze architektury, knihoven a typů projektů.
- Určuje, které scénáře jsou relevantní pro vaše projekty.
- Seřadí scénáře podle důležitosti a váhy. Nejrelevantnější se zobrazují jako první.
Můžete se také zeptat přímo: "Jaké scénáře jsou pro moje řešení k dispozici?".
Trvalost scénáře
Každý aktivní scénář získá svou vlastní složku na .github/upgrades/{scenarioId}/adrese . Složka scénáře obsahuje plán, průběh úkolu, předvolby a protokoly spuštění. Složka je součástí vašeho úložiště Git.
Úplný seznam scénářů najdete v tématu Scénáře a referenční informace o dovednostech.
Životní cyklus pracovního postupu
Každý scénář se řídí stejným životním cyklem: třífázový pracovní postup.
Fáze 1: Posouzení
Agent před zahájením práce shromažďuje vše, co potřebuje:
- Cílová architektura: Verze, na kterou upgradujete.
- Strategie Gitu: Agent navrhuje větvení a řídíte podrobnosti: název větve, jestli se mají používat větve pro jednotlivé úlohy a časování potvrzení.
- Režim toku: Automatický (agent řídí) nebo Průvodce (schvalujete každou fázi).
- Parametry specifické pro scénář: V závislosti na scénáři může agent klást další otázky.
Agent inicializuje pracovní prostor scénáře na adrese .github/upgrades/{scenarioId}/.
Agent pak analyzuje základ kódu:
- graf závislostí projektu (topologické pořadí)
- Kompatibilita balíčků NuGet s cílovou architekturou
- Zásadní změny rozhraní API
- Pokrytí testů
- Složitost a rizikové faktory
Agent uloží komplexní zprávu o posouzení do assessment.md.
Na základě posouzení agent vyhodnocuje vaše řešení a identifikuje, která rozhodnutí o upgradu jsou relevantní. Představuje rozumné výchozí hodnoty a umožňuje zkontrolovat a přepsat jakoukoli volbu.
Mezi možnosti může patřit:
- Strategie upgradu: Zdola nahoru, shora dolů nebo najednou.
- Přístup k upgradu projektu: Místní přepsání nebo paralelní instalace pro webové aplikace; místní instalace nebo více cílů pro knihovny.
- Modernizace technologií: Volby pro upgrade entity Framework, injektáž závislostí, protokolování a konfiguraci
- Správa balíčků: Zda a kdy přijmout centrální správu balíčků.
- Zpracování kompatibility: Jak řešit nepodporovaná rozhraní API a balíčky
Agent ukládá potvrzená rozhodnutí do upgrade-options.md.
V režimu s asistencí se agent před pokračováním pozastaví pro vaši kontrolu.
Fáze 2: Plánování
Agent vytvoří plán úloh na základě posouzení a potvrzených možností. Plánování vytvoří tři klíčové soubory:
-
plan.md: Plán upgradu s popisy strategií a úkolů. -
scenario-instructions.md: Vaše preference, rozhodnutí a paměť agenta. -
tasks.md– Seřazený seznam úkolů, které agent provede.
Fáze 3: Provádění
Agent pracuje postupně mezi úlohami. Pro každou úlohu v tasks.md, agent následuje cyklus: spuštění, provedení, ověření (sestavení a testování) a dokončení. Řídíte, kdy a jak agent potvrdí změny: na každou úlohu, na skupinu úloh nebo na konci. Agent během své činnosti aktualizuje tasks.md pomocí indikátorů aktuálního stavu, abyste mohli sledovat průběh.
Strategie upgradu
Během fáze posouzení agent vyhodnotí vaše řešení a doporučí jednu z těchto strategií:
| Strategie | Nejvhodnější pro | Jak to funguje |
|---|---|---|
| Zdola nahoru | Rozsáhlá řešení s hlubokými grafy závislostí | Začněte s projekty typu list (bez závislostí) a pokračujte vzhůru. |
| Shora dolů | Rychlá zpětná vazba k hlavní aplikaci | Začněte projektem aplikace a podle potřeby opravte závislosti. |
| Vše najednou | Malá, jednoduchá řešení | Upgradujte všechno v jednom kroku. |
Návod
Agent zobrazí pouze rozhodnutí, která jsou pro váš projekt relevantní. Jednoduchá konzolová aplikace nevidí volby webové architektury a projekt bez entity Framework nevidí možnosti upgradu databáze.
Kvalifikace
Dovednosti jsou menší, cílené možnosti modernizace. Když agent během upgradu narazí na kód EF6, načte dovednost EF6-to-EF-Core s podrobnými pokyny pro upgrade krok za krokem. Vyvolání dovednosti přímo během upgradu: "Upgrade služeb WCF v mém projektu na CoreWCF"
Agent se dodává s 30 a více integrovanými dovednostmi uspořádanými podle domény:
- Přístup k datům: upgrade EF6 na EF Core (code-first a EDMX), LINQ to SQL a SqlClient
- Web/ASP.NET: Identity, Global.asax, OWIN, směrování/filtry MVC/sdružování a WCF do CoreWCF
- Serializace: Newtonsoft.Json na System.Text.Json
- Cloud: Azure Functions ve vlastním procesu k izolovanému modelu pracovníka
- Knihovny: ADAL pro MSAL, SignalR, PowerShell SDK a další
Dovednosti se načítají automaticky na základě toho, co agent zjistí ve vašem základu kódu. Nemusíte řídit načítání schopností. Popište, co potřebujete.
Úplný seznam najdete v referenčních informacích ke scénářům a dovednostem.
Úlohy
Úkoly jsou atomické jednotky práce v rámci scénáře. Každý úkol představuje konkrétní, ohraničenou část upgradu, například „Upgradovat CommonLib z .NET 6 na .NET 10“ nebo „Upgradovat využití EF6 v datové vrstvě na EF Core“.
Životní cyklus úkolů
Úkoly přecházejí mezi těmito stavy:
- K dispozici: Připraveno ke spuštění, všechny závislosti byly splněny.
- Probíhá: Agent aktivně pracuje na úloze.
- Dokončeno: Změny kódu aplikovány, sestavení prošlo, testy prošly.
Pro každou úlohu agent:
- Načte související dovednosti a kontext.
- Posuzuje složitost a rozhoduje, jestli úkol potřebuje dílčí úkoly.
- Zapíše souhrn oboru do
tasks/{taskId}/task.md. - Provede změny kódu.
- Spustí sestavení a testy k ověření.
- Zaznamenává výsledky v
tasks/{taskId}/progress-details.md. - Potvrdí změny a přesune se na další úkol.
Správa stavu
Agent udržuje trvalý stav, abyste ho mohli kdykoli zastavit a obnovit. Všechno se nachází v úložišti pod .github/upgrades/{scenarioId}/.
| Soubor | Purpose |
|---|---|
scenario-instructions.md |
Vaše preference, rozhodnutí a vlastní pokyny. Trvalá paměť agenta. |
upgrade-options.md |
Potvrzená rozhodnutí o upgradu |
plan.md |
Plán upgradu s popisy strategií a úkolů |
tasks.md |
Řídicí panel vizuálního průběhu zobrazující stav úkolu |
execution-log.md |
Podrobný protokol všech změn a rozhodnutí |
tasks/{taskId}/task.md |
Rozsah a kontext pro jednotlivé úkoly |
tasks/{taskId}/progress-details.md |
Poznámky ke spuštění jednotlivých úkolů a výsledky |
Obnovitelnost
Zavřete chat, zavřete integrované vývojové prostředí nebo se vraťte další den. Agent pokračuje tam, kde skončil.
- Při další interakci agent automaticky zkontroluje aktuální stav vašeho pracovního prostoru.
- Agent zjistí existující scénář a zobrazuje aktuální průběh, například 3 z 8 dokončených úloh.
- Agent detekuje zaseknuté úlohy (zaseklé během předchozí přerušené relace) a nabízí jejich obnovení nebo restartování.
- Agent znovu načte vaše předvolby z
scenario-instructions.md.
Kontinuita napříč integrovanými vývojovými prostředími
Jelikož je stav uložený v Gitu, můžete přepínat mezi VS Code, Visual Studio a Copilot CLI během aktualizace. Složka .github/upgrades/ je sdílený stav, kterému obě prostředí IDE rozumí.
Návod
Potvrďte složku .github/upgrades/ do své větve. Odešlete větev do vzdáleného úložiště, aby členové týmu mohli sledovat průběh nebo pokračovat v upgradu na jiném počítači.
Režimy toku
Agent podporuje dva režimy toku, které řídí, kolik dohledu máte: automatický režim a režim s asistencí.
Automatický režim
Agent pracuje ve všech fázích (posouzení, plánování a provádění) bez přerušení kvůli schválení. Zobrazuje klíčová zjištění a pokrokové aktualizace, ale pokračuje dál.
Nejvhodnější pro zkušené uživatele, jednoduché upgrady a malá řešení.
Režim s asistencí
Agent se zastaví na každé hranici fáze pro vaši kontrolu.
- Po posouzení: "Tady je to, co jsem našel. Mám pokračovat v možnostech upgradu?"
- Po naplánování: "Tady je plán úkolu. Chcete, abych začal spouštět?"
- Před rozdělením složitých úkolů: "Tento úkol je složitý. Takhle bych to rozložil."
Nejlepší pro nové uživatele, složitá řešení a pokud se chcete naučit proces.
Přepnout režimy kdykoli
- Pokud chcete přepnout do režimu s asistencí, řekněte "pause" nebo "switch to guided".
- Pokud chcete přepnout do automatického režimu, řekněte "continue" nebo "go ahead" (pokračovat ).
Návod
Začněte s režimem s asistencí pro první upgrade, abyste porozuměli pracovnímu postupu, a až budete spokojení, přepněte na automatické.