Aurora AIOpisz swój przypadek

Oferta

UsługiProduktyRealizacje

Dla kogo

Private EquityEnterpriseMŚP
UsługiProduktyRealizacjeO nasBlogKontakt

Baza wiedzy

Start tutajWikiSłownikPrzewodniki

Narzędzia AI Baza wiedzy

Agent GitHub Copilot w chmurze — jakie zadania mu oddać i jak postawić granice

Agent Copilota w chmurze sam otwiera pull requesty. Jakie zadania mu przekazać, jak pisać zgłoszenia i jakie granice ustawić, zanim dostanie repozytorium.

Zadanie trafia do odizolowanego środowiska agenta, gdzie agent planuje, działa i sprawdza wynik w pętli. Na chronioną gałąź główną zmiana dociera dopiero po przeglądzie, a bezpośrednia droga jest zablokowana.
Zadanie trafia do odizolowanego środowiska agenta, gdzie agent planuje, działa i sprawdza wynik w pętli. Na chronioną gałąź główną zmiana dociera dopiero po przeglądzie, a bezpośrednia droga jest zablokowana.
Narzędzia AI#github-copilot #agenci-ai #agent-kodujacy #przeglad-kodu #guardrails

Z agentem GitHub Copilot w chmurze łatwo zacząć w złej kolejności: najpierw go włączyć, potem patrzeć, co wyszło, a granice ustawić dopiero po pierwszym niespodziewanym pull requeście. Tymczasem agent w chmurze nie siedzi z nikim przy klawiaturze. Dostaje zadanie, pracuje sam w osobnym środowisku i oddaje wynik do przeglądu. O jakości tego wyniku decyduje głównie to, co przygotujesz wcześniej: dobór zadania, treść zgłoszenia i reguły repozytorium. Pokażę ci po kolei, czym ten agent różni się od czatu, jakie zadania mu oddawać, jak pisać zgłoszenia, jak prowadzić przegląd i jakie granice postawić, zanim dostanie dostęp do kodu.

Czat, agent i automatyzacja to trzy różne rzeczy

Zacznę od słów, bo w rozmowach o Copilocie mieszają się bez przerwy.

Czat to wymiana pytań i odpowiedzi. Pytasz, dlaczego test się wywala, i dostajesz wyjaśnienie. Niektóre czaty potrafią sięgnąć po narzędzie albo wywołać agenta, ale ich podstawą jest rozmowa.

Agent to system, który dostaje cel i sam dobiera kroki, żeby go osiągnąć. Planuje, używa narzędzi, sprawdza wynik i poprawia podejście. Poproszony o naprawę błędu przeszuka repozytorium, znajdzie właściwe pliki, zmieni kod, uruchomi testy i poprawi zmianę, jeśli testy nie przejdą.

Automatyzacja to praca uruchamiana przez zdarzenie albo harmonogram. Może wykonywać stałe kroki, a może wywołać agenta. Nie każda automatyzacja jest agentowa.

Te trzy rzeczy dobrze się łączą. Czatem badasz, czemu test nie przechodzi. Agentowi zlecasz poprawkę i przebieg testów. Jeśli ten sam typ awarii wraca co tydzień, ustawiasz automatyzację, która przy każdej takiej awarii uruchamia agenta.

Gdzie Copilot pracuje jak agent

Ten sam Copilot działa w kilku miejscach i każde daje inny stopień kontroli:

  • tryb agenta w edytorze (VS Code, Visual Studio, JetBrains, Xcode, Eclipse): pracujesz razem z agentem, widzisz każdą zmianę i zatwierdzasz polecenia terminala;
  • Copilot CLI: agent w terminalu, który odpowiada na pytania, zmienia pliki i uruchamia polecenia lokalnie albo w piaskownicy;
  • aplikacja GitHub Copilot: aplikacja na komputer do prowadzenia kilku sesji agentów równolegle, od zadania do przeglądu pull requesta;
  • agent w chmurze na GitHubie: przekazujesz zadanie z widoku agentów, ze zgłoszenia, z pull requesta albo z czatu, a agent pracuje w środowisku chmurowym, robi zmiany na osobnej gałęzi i otwiera pull request do przeglądu.

Do tego dochodzą agenci firm trzecich, którzy oddają zmiany tą samą ścieżką pull requestów, oraz integracje: agenta w chmurze da się uruchomić z narzędzi, w których zespół i tak pracuje, takich jak Slack, Microsoft Teams, Jira, Linear czy Azure Boards.

Wybór jest prosty. Gdy chcesz prowadzić pracę krok po kroku, siadasz do edytora albo terminala. Gdy masz dobrze opisane zadanie i wolisz obejrzeć gotowy wynik później, oddajesz je agentowi w chmurze. Gdy ta sama praca wraca regularnie, ustawiasz automatyzację.

Co agent w chmurze zmienia w pracy zespołu

Agent w chmurze nie wymaga wspólnej sesji przy klawiaturze. Działa jak członek zespołu, któremu przypisujesz zgłoszenie. Otwiera roboczy pull request, czeka na przegląd i poprawia zmianę po uwagach, tak jak zrobiłby to programista.

W praktyce zmienia to dwie rzeczy. Programista nie przerywa swojej pracy, żeby załatwić drobną poprawkę: z edytora albo z GitHuba prosi agenta o pull request i pracuje dalej. Agent może też zajmować się kilkoma zgłoszeniami naraz, w tle.

W tym miejscu zaczyna się odpowiedzialność. Niezależnie od tego, jak samodzielny jest agent, cel i ograniczenia ustalasz ty. Ty decydujesz o dostępie i ty przeglądasz wynik.

Jakie zadania oddać agentowi, a jakie zostawić ludziom

Agent radzi sobie najlepiej z zadaniami jasno opisanymi i wąsko zakreślonymi. Dobre na początek są:

  • poprawki błędów, także testów, które raz przechodzą, a raz nie;
  • zwiększanie pokrycia testami;
  • zmiany w interfejsie użytkownika i poprawki dostępności;
  • aktualizacje dokumentacji i plików konfiguracyjnych;
  • spłacanie długu technicznego w znanym, ograniczonym miejscu.

Są też zadania, które lepiej zostawić ludziom:

  • szerokie i złożone: przebudowy wymagające wiedzy o kilku repozytoriach, praca na starym kodzie ze splątanymi zależnościami, zadania pełne logiki biznesowej albo wymagające głębokiej wiedzy dziedzinowej, duże zmiany, w których liczy się spójność projektu;
  • wrażliwe i krytyczne: awarie produkcyjne, reagowanie na incydenty, wszystko, co dotyka bezpieczeństwa, danych osobowych albo uwierzytelniania;
  • niejasne: zadania bez wyraźnej definicji, otwarte, takie, w których rozwiązanie trzeba dopiero wypracować;
  • edukacyjne: zadania, przy których programista chce sam zrozumieć problem.

Moja zasada jest prosta. Zacznij od zadań, których wynik ocenisz w kilka minut przeglądu. Po kilku tygodniach zobaczysz, gdzie agent sobie radzi, i dopiero wtedy przesuniesz granicę.

Co oddać agentowi w chmurze, a co zostawić ludziomZadania jasno opisane i wąsko zakreślone, z którymi agent radzi sobie najlepiej, zestawione z czterema rodzajami pracy, które lepiej zostawić ludziom.Co oddać agentowi w chmurze, a co zostawić ludziomOddaj agentowiPoprawki błędów, takżeniestabilnych testówWiększe pokrycie testamiZmiany w interfejsie i poprawkidostępnościAktualizacje dokumentacji ikonfiguracjiDług techniczny w znanym,ograniczonym miejscuZostaw ludziomSzerokie i złożone: przebudowywielu repozytoriów, stary kodWrażliwe i krytyczne: incydenty,bezpieczeństwoNiejasne: rozwiązanie trzebadopiero wypracowaćEdukacyjne: programista chce samzrozumieć problem
Co oddać agentowi w chmurze, a co zostawić ludziomZadania jasno opisane i wąsko zakreślone, z którymi agent radzi sobie najlepiej, zestawione z czterema rodzajami pracy, które lepiej zostawić ludziom.Co oddać agentowi w chmurze, a cozostawić ludziomOddaj agentowiPoprawki błędów, także niestabilnych testówWiększe pokrycie testamiZmiany w interfejsie i poprawki dostępnościAktualizacje dokumentacji i konfiguracjiDług techniczny w znanym, ograniczonymmiejscuZostaw ludziomSzerokie i złożone: przebudowy wielurepozytoriów, stary kodWrażliwe i krytyczne: incydenty,bezpieczeństwoNiejasne: rozwiązanie trzeba dopierowypracowaćEdukacyjne: programista chce sam zrozumiećproblem
Zadania jasno opisane i wąsko zakreślone, z którymi agent radzi sobie najlepiej, zestawione z czterema rodzajami pracy, które lepiej zostawić ludziom.

Zgłoszenie to prompt

Kiedy przypisujesz agentowi zgłoszenie, jego treść staje się promptem. Zadaj sobie przed przypisaniem jedno pytanie: czy ten opis zadziałałby jako prompt?

Dobre zgłoszenie dla agenta zawiera trzy rzeczy:

  1. jasny opis problemu albo pracy do wykonania;
  2. kryteria odbioru, czyli warunki dobrego rozwiązania, na przykład czy mają powstać testy jednostkowe;
  3. wskazówki, które pliki trzeba zmienić.

Trzeci punkt nie zawsze jest konieczny. Agent przeszukuje kod także semantycznie, czyli po znaczeniu, a nie tylko po dokładnym tekście, więc często sam trafia na właściwe miejsce. Wskazówka i tak skraca mu drogę.

Gdy zadanie jest większe, nie każ od razu otwierać pull requesta. Poproś agenta, żeby najpierw zbadał repozytorium, przygotował plan i zrobił zmiany na gałęzi. Obejrzysz różnice, poprawisz kierunek i dopiero potem zdecydujesz o pull requeście. Ten tryb przydaje się, gdy chcesz zrozumieć kod przed zmianą albo uzgodnić podejście, zanim powstanie pierwsza linijka.

Przegląd: traktuj agenta jak programistę

Pull request od agenta prowadzisz tak samo jak od człowieka. Rzadko jest gotowy do scalenia w pierwszej wersji i to normalne.

Pętla pracy z agentem: zgłoszenie, gałąź, pull request i przegląd. Uwagi zebrane w jeden przegląd wracają do agenta jako jedna runda poprawek, a na gałąź główną trafia tylko zmiana po przeglądzie.
Pętla pracy z agentem: zgłoszenie, gałąź, pull request i przegląd. Uwagi zebrane w jeden przegląd wracają do agenta jako jedna runda poprawek, a na gałąź główną trafia tylko zmiana po przeglądzie.

Masz trzy sposoby, żeby go dopracować:

  • piszesz komentarz, w którym oznaczasz @copilot, i wyjaśniasz, co jest źle albo co poprawić, a agent wypycha kolejne commity na gałąź pull requesta;
  • prosisz agenta o rozwiązanie konfliktów scalania;
  • poprawiasz gałąź sam i wypychasz własne zmiany.

Jedna praktyczna rada. Agent zaczyna pracę, gdy tylko komentarz zostanie wysłany. Jeśli masz kilka uwag, nie wysyłaj ich pojedynczo. Rozpocznij przegląd (Start a review), zbierz wszystkie komentarze i wyślij je razem, a agent zajmie się całym przeglądem naraz, a nie każdą uwagą osobno. Agent reaguje tylko na komentarze osób z prawem zapisu w repozytorium. Tytuł i opis pull requesta aktualizuje sam, w miarę jak zmienia kod.

Granice, które ustawiasz przed włączeniem agenta

Agent w chmurze ma wbudowane zabezpieczenia: nie wypycha zmian na gałąź domyślną i nie scala pull requestów. To punkt wyjścia, nie koniec. Granice dla agenta planuje się przed włączeniem, a nie po pierwszym incydencie.

Granice agenta w chmurze: świeże środowisko, reguły repozytorium i zapora. Sekrety pozostają poza zasięgiem, z narzędzi agent dostaje tylko te, na które pozwolisz, a na gałąź główną nie wypycha zmian sam.
Granice agenta w chmurze: świeże środowisko, reguły repozytorium i zapora. Sekrety pozostają poza zasięgiem, z narzędzi agent dostaje tylko te, na które pozwolisz, a na gałąź główną nie wypycha zmian sam.

Gdzie agent w ogóle działa. Zdecyduj, w których organizacjach i repozytoriach agent będzie włączony, i do jakich zewnętrznych narzędzi przez MCP dostanie dostęp. Zasady (polityki) na poziomie przedsiębiorstwa wyznaczają minimum, a właściciele organizacji mogą je zaostrzyć.

Reguły gałęzi. Agent podlega zestawom reguł (rulesets) tak samo jak ludzie. Sprawdź trzy rzeczy:

  • czy w repozytoriach z agentem potrzebujesz dodatkowych reguł, na przykład wymaganych wyników skanowania kodu; repozytoria z agentem łatwo oznaczyć własną właściwością i objąć jedną regułą;
  • czy któraś z obecnych reguł nie zablokuje agenta, bo agent umie podpisywać commity, ale może nie spełnić innych reguł dotyczących metadanych commita;
  • czy pliki konfiguracji Copilota i MCP są chronione plikiem CODEOWNERS z włączonym wymogiem przeglądu przez właścicieli kodu, żeby ich zmiana zawsze przechodziła przez wskazany zespół.

Sekrety. Dane i klucze dostępu, których agent nie powinien widzieć, trzymaj dalej jako zmienne i sekrety GitHub Actions. Agent nie ma do nich dostępu ani w sesji, ani w krokach przygotowania środowiska. To, czego agent potrzebuje, przekazujesz osobno, jako sekrety i zmienne agentów na poziomie organizacji albo repozytorium.

Maszyny, na których pracuje. Agent działa na runnerach GitHub Actions. Zalecany wybór to runnery hostowane przez GitHuba, bo każda sesja startuje na świeżej maszynie wirtualnej. Jeśli używasz własnych runnerów, niech będą jednorazowe. Właściciel organizacji może przypiąć agenta do runnerów z określoną etykietą.

Workflowy w pull requestach agenta. Domyślnie workflowy GitHub Actions w pull requestach agenta nie uruchamiają się, dopóki nie zatwierdzi ich ktoś z prawem zapisu. Administratorzy repozytoriów mogą to wyłączyć, więc uzgodnij z nimi wcześniej, jakie ustawienie obowiązuje.

Uprawnienia GITHUB_TOKEN. Przejrzyj jego domyślne uprawnienia. Nie dotyczą one kluczy dostępu, które agent dostaje w sesji, ale GITHUB_TOKEN działa w krokach przygotowania środowiska z pliku copilot-setup-steps.yml. Programiści mogą ustawiać tam własne uprawnienia, więc pilnuj zasady minimalnych uprawnień.

Dostęp do świata. Domyślnie agent widzi pełny kontekst swojego repozytorium przez wbudowany serwer MCP GitHuba, a od danych zewnętrznych odcinają go uwierzytelnianie i zapora. Każdy dodany serwer MCP to świadome poszerzenie tej granicy.

Pierwsza próba w zespole

Zanim agent trafi do wszystkich, przetestuj go w małej skali. Proponuję taki przebieg:

  1. Zbierz zespół z różnych ról. Różne perspektywy to różne sposoby opisywania zgłoszeń i dawania uwag w przeglądzie, a o to właśnie chodzi.
  2. Wybierz repozytorium o niskim ryzyku, na przykład z dokumentacją albo narzędziami wewnętrznymi. Zupełnie nowe repozytorium jako plac zabaw ma wadę: agent potrzebuje kontekstu, więc musiałbyś dopisać mu procesy zespołu, środowisko i typowe zależności.
  3. Przygotuj repozytorium: instrukcje dla Copilota, preinstalowane narzędzia w środowisku agenta i ewentualnie serwery MCP.
  4. Wybierz kilka konkretnych zastosowań, na przykład pokrycie testami albo dostępność.
  5. Przepisz zgłoszenia według zasad z tego artykułu i przypisz je agentowi, a zespół przygotuj do przeglądów.
  6. Szukaj drobnych poprawek na bieżąco: przeglądając kod w edytorze albo na GitHubie, proś agenta o pull request przy każdej małej usterce.

Przez cały okres próby poprawiaj instrukcje, narzędzia, dostęp do MCP i sposób pisania zgłoszeń. Obserwuj, jak agent zużywa kredyty AI i minuty GitHub Actions — ta wiedza przyda się przy planowaniu budżetu. Do korzystania z agenta potrzebny jest płatny plan Copilot.

Gdy próba wypadnie dobrze, rozszerzasz zasięg na kolejne repozytoria, szkolisz ludzi pod nowe zastosowania i dalej zbierasz uwagi. Wpływ narzędzia oceniaj po celach, które zespół ma i tak: po tym, co dzieje się dalej w procesie wytwarzania, a nie po samej liczbie pull requestów agenta.

Zasada na wynos

Agent w chmurze robi dokładnie tyle, ile pozwalają mu zgłoszenie, środowisko i reguły repozytorium. Dobry wynik nie bierze się z samego modelu, tylko z pracy wykonanej przed przypisaniem zadania. Jeśli dziś masz w repozytorium jedno zgłoszenie, które od miesięcy czeka na drobną poprawkę, przepisz je według trzech punktów z sekcji o zgłoszeniach i zobacz, co agent z nim zrobi.

Twój zespół pracuje z GitHub Copilot? Zobacz pilotaż GitHub Copilot.

Sprawdź się

Pięć pytań, żeby sprawdzić, ile zostało z lektury.

  1. Kiedy zadanie najlepiej oddać agentowi w chmurze, a nie prowadzić je w edytorze albo w terminalu?

  2. Które z tych zadań lepiej zostawić ludziom?

  3. Masz trzy uwagi do pull requesta otwartego przez agenta. Jak je przekazać?

  4. Który element zgłoszenia dla agenta nie zawsze jest konieczny?

  5. Agent w chmurze sam nie wypycha zmian na gałąź domyślną i nie scala pull requestów. Co z tego wynika dla zespołu?