Zodpovědné používání agenta GitHub Copilot Cloud na GitHub.com
Naučte se používat agenta Copilot Cloud na GitHub.com zodpovědně pochopením jeho účelu, schopností a omezení.
Na konci této lekce budete schopni:
- Seznamte se s účelem, možnostmi a omezeními agenta Copilot Cloud v GitHub.com.
- Použijte postupy zodpovědného použití: vymezení rozsahu úloh, zabezpečení prostředí a ověřování výsledků.
- Rozpoznávat bezpečnostní opatření, rizika a zmírnění rizik a kde zlepšit výkon.
Informace o službě Copilot Cloud Agent na GitHub.com
Copilot Cloud Agent je autonomní a asynchronní agent pro vývoj softwaru integrovaný do GitHubu. Agent může vyzvednout úlohu z issues nebo z Copilot Chatu, vytvořit větev, prozkoumat kódovou základnu, vygenerovat implementační plán a koncept kódu – umožní vám rozhodnout se, jestli a kdy otevřít pull request.
Copilot Cloud Agent může generovat přizpůsobené změny na základě vašeho popisu a konfigurace, včetně úloh, jako jsou opravy chyb, implementace přírůstkových nových funkcí, vytváření prototypů, dokumentace a údržby základu kódu. Pokud se rozhodnete vytvořit žádost o přijetí změn, agent pak může s vámi spolupracovat na základě vaší zpětné vazby a recenzí.
Při práci na úkolu má agent přístup k vlastnímu dočasnému vývojovému prostředí, kde může provádět změny kódu, spouštět automatizované testy a spouštět lintery. Agent byl vyhodnocen v různých programovacích jazycích s angličtinou jako primárním podporovaným jazykem.
Jak agent funguje (od začátku do konce)
Rychlé zpracování
Úloha poskytnutá společnosti Copilot prostřednictvím problému, komentáře k žádosti o přijetí změn nebo zprávy o chatu Copilotu je kombinována s dalšími relevantními kontextovými informacemi, které vytvoří výzvu. Vstupy můžou mít podobu prostého přirozeného jazyka, fragmentů kódu nebo obrázků.
Analýza jazykového modelu
Výzva se pak předá prostřednictvím rozsáhlého jazykového modelu, který analyzuje vstup, aby agentovi pomohl při řešení úlohy a využil potřebné nástroje.
Generování odpovědí
Jazykový model vygeneruje odpověď na základě analýzy výzvy. Tato odpověď může mít podobu návrhů přirozeného jazyka a návrhů kódu.
Formátování výstupu
Jakmile agent dokončí první spuštění, aktualizuje popis požadavku na úpravu kódu změnami, které provedl. Agent může obsahovat dodatečné informace o prostředcích, ke kterým nemohl získat přístup, a navrhnout kroky, jak problém řešit.
Svůj názor na agenta můžete poskytnout komentováním v rámci žádosti o přijetí změn nebo explicitním zmínkou o agentu (@copilot). Agent pak znovu odešle zpětnou vazbu k jazykovému modelu pro další analýzu. Jakmile agent dokončí změny na základě zpětné vazby, odpoví na váš komentář aktualizovanými změnami.
Copilot je určený k tomu, aby vám poskytl nejrelevavantnější řešení pro řešení úkolů. Nemusí ale vždy poskytnout odpověď, kterou hledáte. Zodpovídáte za kontrolu a ověřování odpovědí vygenerovaných společností Copilot, abyste měli jistotu, že jsou přesné a vhodné. V rámci našeho procesu vývoje produktů GitHub navíc provádí red teaming (testování), abychom pochopili a zlepšili bezpečnost agenta.
Případy použití agenta Copilot Cloud
- Údržba základu kódu: Opravy zabezpečení, upgrady závislostí a cílené refaktoring
- Dokumentace: Aktualizace a vytvoření nové dokumentace
- Vývoj funkcí: Implementace žádostí o přírůstkové funkce
- Zlepšení pokrytí testů: Vývoj dalších testovacích sad pro řízení kvality
- Vytváření prototypů nových projektů: Navrhování nových konceptů.
Zvýšení výkonu pro agenta Copilot Cloud
Pokud chcete zvýšit výkon a řešit omezení, provádějte tato opatření:
Zajistěte, aby vaše úkoly byly dobře vymezené tím, že poskytují:
- Jasný popis problému, který se má vyřešit, nebo požadovanou práci.
- Úplná kritéria přijetí týkající se toho, jak vypadá dobré řešení (například by měly existovat testy jednotek?).
- Rady nebo ukazatele na to, které soubory je potřeba změnit.
Přizpůsobte si zážitek pomocí dalšího kontextu
Agent Copilot Cloud využívá při generování navrhovaných změn výzvu, komentáře a kód úložiště jako kontext. Vylepšete výsledky přidáním vlastních instrukcí Copilotu , aby agent pochopil, jak sestavit, testovat a ověřit jeho změny.
Další užitečná přizpůsobení:
- Přizpůsobení vývojového prostředí pro agenta GitHub Copilot Cloud
- Přizpůsobení nebo zakázání firewallu pro GitHub Copilot Cloud Agent.
- Rozšíření agenta GitHub Copilot Cloud pomocí protokolu MCP (Model Context Protocol)
Používejte Copilot Cloud Agent jako nástroj, nikoli jako náhradu
Před sloučením vždy zkontrolujte a otestujte obsah vygenerovaný agentem, abyste měli jistotu, že splňuje vaše požadavky a nemá obavy z chyb nebo zabezpečení.
Použití zabezpečených postupů pro kódování a kontrolu kódu
Ačkoli Copilot Cloud Agent může generovat syntakticky správný kód, nemusí být vždy zabezpečený. Pokračujte v dodržování osvědčených postupů pro zabezpečené kódování (vyhněte se pevně zakódovaným tajným kódům, zabraňte ohrožením zabezpečení injektáže) a proveďte důkladné testování, kontrolu IP adres a kontroly ohrožení zabezpečení.
Poslat názor
Pokud narazíte na nějaké problémy nebo omezení, použijte ikonu palec dolů pod odpovědí agenta nebo sdílejte zpětnou vazbu v diskuzní fóru komunity.
Zůstaňte v aktualizovaném stavu
Cloudový agent Copilot se vyvíjí. Sledujte nová rizika zabezpečení a osvědčené postupy, jakmile se objeví.
Bezpečnostní opatření pro Copilot Cloud Agent
Zabránění eskalaci oprávnění
- Copilot Cloud Agent bude reagovat pouze na interakce od uživatelů s oprávněním k zápisu.
- Pracovní postupy Actions, které jsou spuštěny pull requesty agenta, bude nutné před jejich spuštěním schválit uživatelem s přístupem k zápisu.
- Skryté znaky (nezobrazované na GitHub.com) jsou filtrovány, aby se snížilo riziko útoku injektáží.
Omezení oprávnění Copilotu
- Agent přistupuje pouze k úložišti, na kterém je vymezený; nemá přístup k jiným úložištím.
- Přidávání změn je omezeno na větve začínající na 'copilot/' (ne na vaši výchozí větev).
- Agent nemá přístup k tajemstvím nebo proměnným akcí z org/repo během provádění. Agentu se předají pouze tajné kódy nebo proměnné přidané do prostředí copilotu.
Zabránění exfiltraci dat
Brána firewall je ve výchozím nastavení povolená, aby se zabránilo náhodnému nebo škodlivému exfiltraci kódu nebo citlivých dat. Viz Přizpůsobení nebo zakázání brány firewall pro GitHub Copilot Cloud Agent .
Omezení agenta Copilot Cloud
Výkon se může lišit v závislosti na základu kódu a vstupech. Mějte na paměti tato omezení:
- Omezený rozsah a kvalita: LLM nemusí zpracovávat určité struktury kódu nebo nejasné jazyky; kvalita se liší podle pokrytí jazyka.
- Potenciální předsudky: Trénovací data a načtený kontext mohou zahrnovat předsudky; agent se může přiklonit k určitým jazykům nebo stylům.
- Rizika zabezpečení: Vygenerovaný kód je založen na kontextu úložiště a může zveřejnit citlivé informace, pokud nejsou zkontrolovány; je vyžadována důkladná kontrola.
- Nepřesný kód: Kód se může zobrazit správně, ale je sémanticky/syntakticky nesprávný nebo nesprávně zarovnaný se záměrem. Ověřte přizpůsobení, vzory a styl.
- Veřejný kód: Agent může najít shody nebo přibližné shody s veřejným kódem, i když je aktivní možnost Blokovat; odkazy nemusí být k dispozici.
- Právní/regulační: Zajištění souladu s příslušnými povinnostmi; vyhněte se zakázanému používání podle podmínek poskytování služeb a pravidel chování.