Klocki agenta Copilot: tryby, narzędzia, kontekst

Michał Feliksik
3 min read
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:

  1. planuje kolejny krok potrzebny do realizacji polecenia,
  2. wywołuje narzędzie (np. odczytuje plik albo uruchamia polecenie),
  3. obserwuje wynik tego narzędzia,
  4. 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:

1
2
3
4
5
# .github/copilot-instructions.md

- Odpowiadaj zawsze po polsku.
- Przy podsumowaniach dokumentów twórz tabelę: nazwa pliku, kluczowe dane, wniosek.
- Nie modyfikuj plików źródłowych bez wyraźnej prośby — tylko analizuj i podsumowuj.

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.