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.
Tento článek popisuje běžné problémy, se kterými se můžete setkat při použití upgradu GitHub Copilot. Každá položka se řídí problémem, příčinou a formátem řešení, abyste mohli rychle najít a vyřešit problémy.
Problémy s pracovním postupem
Tyto problémy se týkají zjišťování scénářů, obnovení práce a stavu úkolů.
Agent říká , že se nenašly žádné scénáře.
Příčina: Agent nerozpozná podporovaný projekt nebo nemůže najít jeho soubory projektu z kořenového adresáře pracovního prostoru.
Solution:
- Ověřte, že pracovní prostor obsahuje rozpoznatelné soubory projektu. Například zkontrolujte
.slnsoubor projektu nebo soubor v pracovním prostoru .NET nebopackage.jsonsoubor v pracovním prostoru JavaScriptu nebo TypeScriptu. - Zeptejte se agenta: "Které soubory a technologie projektu jste zjistili?"
- Pokud je vaše řešení nebo soubor projektu v podadresáři, otevřete tento adresář jako kořen pracovního prostoru nebo nasměrujte agenta na soubor explicitně.
Agent nemůže pokračovat v předchozí práci
Příčina: Složka .github/upgrades/, ve které agent ukládá svůj stav, chybí nebo je poškozená.
Solution:
- Zkontrolujte, jestli
.github/upgrades/složka existuje v kořenovém adresáři úložiště. - Pokud jste složku omylem odstranili, spusťte scénář znovu. Agent se nemůže obnovit bez svých stavových souborů.
- Pokud složka existuje, ale soubory se zdají být poškozené, požádejte agenta, aby je přehodnotil a přeplánoval.
Tip
Potvrďte složku do své větve .github/upgrades/, aby se zachovala napříč relacemi a počítači.
Úkoly zaseknuté v průběhu
Příčina: Předchozí relace skončila, když byl agent uprostřed úlohy.
Solution:
- Agent ve většině případů automaticky detekuje zastaralé úlohy. Řekněte agentovi "resume" nebo "restart the current task" (Restartujte aktuální úlohu).
- Pokud stav zablokování přetrvává, sdělte agentovi , že je aktuální úkol označený jako čekající, a restartujte ho , nebo "znovu sestavte a pokračujte od posledního dokončeného kroku".
- Zkontrolujte odpovídající
progress-details.mdsoubor, abyste pochopili, kde byla předchozí relace zastavena.
Agent stále navrhuje nesprávný scénář
Příčina: Analýza agenta zachytila neočekávané charakteristiky projektu a vyvodila jiný scénář, než jste zamýšleli.
Solution:
Buďte explicitní o tom, co chcete. Místo "upgradovat můj projekt", řekněte:
- "Chci upgradovat na .NET 10."
- "Chci upgradovat z Newtonsoft.Json na System.Text.Json."
- "Převést můj projekt na formát ve stylu sady SDK"
- Aktualizujte všechny závislosti v tomto projektu JavaScript.
- Upgrade tohoto projektu na TypeScript 7
Přidejte předvolby scénářů do scenario-instructions.md, aby se předešlo budoucím neshodám.
Problémy s sestavením a kompilací
Tyto problémy se týkají selhání sestavení, obnovení balíčku nebo problémů s instalací a chyb generování kódu.
Sestavení po změnách agenta selže.
Příčina: Aktualizace můžou představovat zásadní změny rozhraní API, chybějící balíčky nebo nekompatibilní vzory kódování.
Solution:
- Informujte agenta o selhání. Agent automaticky analyzuje chyby.
- Pokud agent problém nevyřeší, vraťte poslední potvrzení (
git revert HEAD) a požádejte agenta, aby zkusil jiný přístup. - V případě složitých selhání zkontrolujte
tasks.md, kde najdete ID neúspěšné úlohy, a poté projdětetasks/{taskId}/progress-details.md, abyste zjistili, co agent změnil a v jakém pořadí.
K obnovení NuGet došlo k selhání
Příčina: Nekompatibilita balíčku s cílovým rámcem nebo selhání ověřování se soukromými zdroji NuGet.
Solution:
- Pro soukromé informační kanály: Ověřte se pro kanál před zahájením aktualizace.
- Nekompatibilní balíčky: Řekněte agentovi, který balíček je problematický. Agent může vyhledat kompatibilní verze nebo navrhnout alternativní balíčky.
-
Problémy s připojením informačního kanálu: Ověřte, že můžete spustit
dotnet restoreručně. Nejprve opravte všechny problémy s informačním kanálem a pak nechte agenta opakovat.
Instalace balíčku npm selže
Příčina: Nakonfigurovaný správce balíčků není k dispozici, soubor zámku je v konfliktu s manifestem balíčku, privátní registr vyžaduje ověření nebo verze balíčků nemůžou splňovat omezení závislostí partnerského uzlu.
Solution:
- Ověřte, že úložiště deklaruje a používá očekávaného správce balíčků.
- Před restartováním upgradu se ověřte u privátních registrů.
- Požádejte agenta, aby nahlásil konflikt závislostí nebo partnerských závislostí beze změny nesouvisejících balíčků.
- Vyřešte problémy s instalací prostředí nebo správce balíčků a potom požádejte agenta, aby to zkusil znovu prostřednictvím pracovního postupu upgradu JavaScriptu a TypeScriptu.
Agent generuje kód, který se nekompiluje.
Příčina: Kód generovaný umělou inteligencí může obsahovat chyby, zejména v hraničních případech nebo s neobvyklými vzory rozhraní API.
Solution:
- Agent automaticky rozpozná chyby kompilace. Pokud má agent potíže, poskytněte pokyny nebo opravte kód ručně a informujte agenta, aby pokračoval.
- Pokud agent po několika pokusech bojuje s konkrétní opravou, upravte kód ručně a sdělte agentovi: "Opravili jsme chybu kompilace v MyClass.cs, označte tuto úlohu jako dokončenou."
- Agent se učí z ruční opravy a používá podobné vzory, když se stejný problém objeví jinde.
Problémy s Gitem
Note
Agent funguje i se složkami mimo Git. Pokud váš pracovní prostor není úložištěm Git, agent přeskočí operace Gitu (větvení, potvrzení) a aplikuje změny přímo na vaše soubory. Bez Gitu zálohujte projekt před zahájením ručně, abyste se v případě potřeby mohli vrátit zpět.
Agent nemůže vytvořit větev
Příčina: Nepotvrzené změny v pracovním stromu, konflikt pojmenování větví nebo Git není inicializován v pracovním prostoru.
Solution:
- Před zahájením scénáře potvrďte nebo uložte do úschovny neuložené změny.
- Ověřte, že je Git inicializován spuštěním
git statusv kořenovém adresáři pracovního prostoru. - Pokud už větev s zamýšleným názvem agenta existuje, odstraňte existující větev nebo požádejte agenta, aby použil jiný název větve.
Zrušení všech změn agenta
Příčina: Upgrade neproběhl podle plánu a chcete začít znovu.
Solution:
- Přepněte zpět na původní větev pomocí
git checkout main(nebo základní větve). - Pracovní větev agenta obsahuje všechny změny izolované od hlavní větve.
- Pokud chcete úplně odebrat větev agenta, spusťte
git branch -D <agent-branch-name>. - Chcete-li zachovat některé změny, použijte cherry-pick pro vybrané potvrzení s
git cherry-pick <commit-hash>.
Tip
Agent provádí podrobné potvrzení pro každou úlohu, takže můžete selektivně zachovat změny, které fungovaly.
Problémy s výkonem
Tyto problémy se týkají rychlosti upgradu a doby trvání posouzení.
Agent je pomalý nebo trvá dlouho
Příčina: Velká řešení s mnoha projekty, složitými grafy závislostí nebo četnými zásadními změnami přirozeně vyžadují více času.
Solution:
U rozsáhlých řešení (50 nebo více projektů) zvažte upgrade v dávkách. Seskupte související projekty a upgradujte je společně.
Posouzení trvá dlouhou dobu.
Příčina: Posouzení analyzuje závislosti každého projektu, balíčky NuGet, cílové platformy a platné zásadní změny. U rozsáhlých řešení posouzení přirozeně trvá déle.
Solution:
- Dlouhé doby hodnocení jsou pro velká řešení normální. Není potřeba žádná akce.
- Sledujte průběh na panelu Output (v rozevíracím seznamu v Visual Studio vyberte AppModernizationExtension).
- Posouzení proběhne jenom jednou pro každý scénář. Následné fáze používají výsledky uložené v mezipaměti.
Problémy s přizpůsobením
Tyto problémy se týkají uživatelských dovedností a souborů pokynů scénáře.
Vlastní dovednost nebyla rozpoznána
Příčina: Soubor dovednosti je v nesprávném umístění, má chybějící nebo neplatná metadata, nebo má nesprávný formát.
Solution:
- Ověřte, že soubor dovednosti je v jednom z podporovaných umístění:
-
.github/skills/(na úrovni úložiště, na úrovni týmu) -
.github/upgrades/skills/(na úrovni scénáře) -
%UserProfile%/.copilot/skills/(uživatelská úroveň, osobní)
-
- Zkontrolujte, jestli metadata dovedností obsahují alespoň
namepole adescriptionpole. - Ověřte, že
discoverypole (pokud je nastaveno) je jedno z:lazy,preloadneboscenario. - Ověřte, že dovednost
descriptionodpovídá druhu úkolu, na který očekáváte, že se na ni vztahuje. Agent používá porovnávání popisů k výběru dovedností.
Změny scenario-instructions.md se neprojeví
Příčina: Agent nemusí během relace znovu načíst soubor, nebo jsou vaše úpravy ve špatné sekci.
Solution:
- Požádejte agenta, aby "znovu načetl pokyny" nebo spustil novou chatovací relaci, aby vynutil opětovné načtení.
- Ověřte, že vaše úpravy jsou ve správných oddílech souboru:
- Uživatelské předvolby: Obecné předvolby a omezení.
- Klíčová rozhodnutí: Pro zaznamenávání důležitých rozhodnutí provedených během upgradu.
- Vlastní pokyny: Pro specifické úpravy chování.
- Ověřte, že je soubor uložen v očekávané složce:
.github/upgrades/{scenarioId}/scenario-instructions.md.
Získání pomoci
Pokud něco nefunguje podle očekávání:
- Zeptejte se agenta: Zeptejte se "Co se podělalo ohledně posledního úkolu?" Agent může často vysvětlit, co se stalo, a navrhnout další kroky.
-
Zkontrolujte průběh úkolu: Otevřete
tasks.mdv.github/upgrades/{scenarioId}/, vyhledejte ID posledního úkolu a potom otevřetetasks/{taskId}/progress-details.md. Podrobnosti o průběhu ukazují, co agent udělal, včetně chyb, ke kterým došlo. - Zapište problém: Pokud jste našli chybu nebo agent u něčeho konzistentně selže, vytvořte problém v úložišti upgrade-agent-plugins GitHub.