Klocki agenta Copilot: tryby, narzędzia, kontekst

Wprowadzenie
W pierwszej części poznaliśmy trzy tryby czatu Copilota — Ask, Edit i Agent. Dziś rozbieramy tryb Agent na klocki: co dzieje się „pod maską" między wpisaniem polecenia a gotowym wynikiem, jakich narzędzi Copilot faktycznie używa i jak nadać mu stały sposób pracy przez plik instrukcji. To dokładnie te elementy, których użyjemy w trzeciej części do zbudowania podsumowania ofert leżących w folderze na dysku.
Pętla agenta: plan → narzędzie → obserwacja
W trybie Ask Copilot odpowiada raz i kończy. W trybie Agent działa w pętli:
- planuje kolejny krok potrzebny do realizacji polecenia,
- wywołuje narzędzie (np. odczytuje plik albo uruchamia polecenie),
- obserwuje wynik tego narzędzia,
- na tej podstawie decyduje o kolejnym kroku — aż uzna zadanie za zakończone albo napotka coś, co wymaga Twojej decyzji.
To ta sama zasada, którą opisywaliśmy przy okazji grafu w LangGraph — stan przechodzi przez kolejne kroki, a każdy z nich dokłada coś do całości. Różnica jest taka, że tu kroki (narzędzia) nie są naszym własnym kodem, tylko gotowym zestawem wbudowanym w Copilota.
Narzędzia agenta
Copilot w trybie Agent ma dostęp do zestawu narzędzi (tools) — konkretnych akcji, które może samodzielnie wykonać w Twoim środowisku:
- odczyt plików — otwiera i czyta zawartość wskazanych lub znalezionych plików,
- wyszukiwanie w projekcie — przeszukuje pliki po nazwie i treści, żeby znaleźć to, co istotne dla zadania,
- edycja plików — proponuje (a w trybie Agent może od razu zastosować) zmiany w kodzie,
- terminal — uruchamia polecenia powłoki, np. instalację zależności czy uruchomienie skryptu,
- odczyt błędów — sięga po listę błędów i ostrzeżeń zgłaszanych przez edytor.
Przed wykonaniem akcji, która coś zmienia lub uruchamia (edycja pliku, komenda w terminalu), VS Code zwykle prosi o potwierdzenie — Copilot proponuje krok, Ty go zatwierdzasz albo odrzucasz. To ważna różnica względem w pełni autonomicznych agentów: tutaj masz punkt kontroli przy każdej ryzykownej operacji.
Referencje kontekstu — precyzyjne wskazywanie „czego dotyczy"
Oprócz narzędzi, które Copilot uruchamia sam, Ty możesz mu od razu wskazać, czym ma się zająć, wpisując w czacie:
#file:nazwa.md— konkretny plik,#folder:sciezka— cały folder (dokładnie to wykorzystamy w trzeciej części — wskazanie folderu z ofertami),#codebase— całe otwarte repozytorium,#selection— aktualnie zaznaczony fragment w edytorze.
Im precyzyjniej wskażesz kontekst, tym mniej czasu Copilot spędzi na samodzielnym zgadywaniu, gdzie szukać — a to bezpośrednio przekłada się na trafność odpowiedzi.
Plik instrukcji — stały sposób pracy
Powtarzanie tych samych wskazówek w każdej rozmowie (np. „odpowiadaj po polsku", „w podsumowaniach zawsze rób tabelę z ceną i terminem") jest niewygodne. Rozwiązuje to plik .github/copilot-instructions.md w repozytorium — Copilot czyta go automatycznie przy każdej rozmowie w tym projekcie:
| |
To odpowiednik Settings z serii o RAG — tam konfigurowaliśmy raz, jakiego modelu użyć; tutaj konfigurujemy raz, jak Copilot ma się zachowywać w danym projekcie, zamiast powtarzać to w każdym poleceniu.
Podsumowanie
Tryb Agent to pętla plan → narzędzie → obserwacja, zestaw konkretnych narzędzi (odczyt, wyszukiwanie, edycja, terminal) z punktami potwierdzenia przy ryzykownych krokach, referencje kontekstu (#file, #folder, #codebase) oraz plik instrukcji ustawiający stałe zasady pracy w projekcie. W ostatniej części serii składamy to w praktyczny przykład: folder z ofertami pobranymi z internetu i prośba o ich analizę oraz podsumowanie.