Przejdź do treści
← Kurs M06L01 · Smart Actions - AI na jedno kliknięcie
⚡ Zaawansowany M06L01 M06 · Lekcja 1 z 4 8 min Ćwiczenie

Commit messages i opisy PR generowane przez AI

Jak używać Smart Actions do automatycznego generowania wiadomości commit i opisów Pull Request w widoku Source Control.

Czego się nauczysz

  • Jak używać smart actions w Source Control zamiast ręcznie opisywać każdą zmianę
  • Kiedy commit message i opis PR generowany przez AI realnie oszczędzają czas
  • Jak reviewować wynik, żeby nie commitować ładnie brzmiących, ale słabych opisów

Smart action w SCM to nie jest gadżet, tylko skrót do dobrej higieny

Wiele osób używa Copilota głównie do kodu, a potem wraca do ręcznego pisania commit message i opisów PR.

To jest niespójne.

Jeśli VS Code już zna Twój diff, to opisy zmian są jednym z najbardziej naturalnych miejsc do użycia AI. Nie musisz od zera tłumaczyć modelowi, co zmieniłeś. Smart action w Source Control i w integracji z GitHub Pull Requests bierze realne zmiany jako wejście i na tej podstawie proponuje gotowy szkic.

To ważne, bo tutaj AI nie zastępuje decyzji technicznej. Ono skraca nudny etap opisywania tego, co i tak już widać w diffie.

Generowanie commit message w widoku Source Control

Oficjalna dokumentacja opisuje bardzo prosty workflow: w widoku Source Control używasz przycisku ze sparkle icon, a VS Code generuje commit message na podstawie bieżących zmian.

To ma dwie duże zalety:

  • nie przełączasz się do osobnego chatu
  • wynik jest oparty na tym, co naprawdę zmieniło się w repo

W praktyce to oznacza, że commit message staje się draftem wygenerowanym z kontekstu zmian, a nie pustym polem, które kończy się opisem w stylu fix, update albo small changes.

To nie jest jednak tryb autopilota. Commit message nadal musi przejść przez Twój filtr.

Dobre pytanie brzmi nie “czy AI umie napisać commit”, tylko: czy ten commit message rzeczywiście opisuje intencję zmiany, a nie tylko powierzchnię diffu?

PR title i PR description działają podobnie, ale stawka jest większa

Dokumentacja łączy generowanie commit message z generowaniem tytułu i opisu Pull Requesta. W praktyce opis PR jest ważniejszy niż commit message, bo trafia do review, historii projektu i często do ludzi, którzy nie siedzą w Twoim branchu od rana.

W integracji z GitHub Pull Requests możesz użyć tego samego rodzaju smart action, żeby wygenerować:

  • tytuł PR
  • opis zmian

To bardzo dobrze działa jako punkt startu, szczególnie kiedy PR obejmuje kilka plików albo miesza refaktor z poprawką błędu.

Ale właśnie tu najłatwiej wpaść w pułapkę zbyt gładkiego tekstu. Model potrafi napisać opis, który brzmi sensownie, ale nie odpowiada na najważniejsze pytania reviewera:

  • co właściwie się zmieniło
  • dlaczego ta zmiana powstała
  • gdzie są ryzyka regresji
  • czy potrzebne są dodatkowe kroki po wdrożeniu

Jeżeli w opisie PR nie ma tych informacji, to AI zrobiło tylko połowę roboty.

Kiedy smart action jest lepsze niż ręczny prompt

W tym module łatwo dojść do błędnego wniosku, że skoro mamy chat i #changes, to smart actions są zbędne.

Nie są.

Smart action wygrywa wtedy, gdy intencja jest oczywista i powtarzalna:

  • “wygeneruj commit message”
  • “wygeneruj tytuł i opis PR”

W takim scenariuszu wpisywanie ręcznego promptu byłoby wolniejsze niż kliknięcie gotowej akcji.

Chat z #changes zaczyna wygrywać dopiero wtedy, gdy chcesz czegoś więcej niż standardowy opis. Na przykład:

  • opisu w konkretnym stylu zespołu
  • release notes zamiast zwykłego PR description
  • wersji bardziej technicznej albo bardziej biznesowej
  • listy ryzyk i obszarów do review

Praktyczny filtr jest prosty:

  • jeśli chcesz szybki draft, użyj smart action
  • jeśli chcesz niestandardowy format albo dodatkową analizę, użyj chatu z kontekstem zmian

Największy błąd: akceptowanie pierwszej wersji bez korekty

Commit i PR description są częścią komunikacji zespołowej. To znaczy, że liczy się nie tylko poprawność techniczna, ale też jakość przekazu.

Zanim zaakceptujesz wynik, sprawdź trzy rzeczy:

  • czy tekst odróżnia istotne zmiany od szumu
  • czy używa pojęć, które naprawdę funkcjonują w Waszym projekcie
  • czy nie brzmi zbyt ogólnie albo zbyt marketingowo

Jeżeli poprawiasz tylko jedno słowo, świetnie. Jeżeli musisz przepisać pół opisu, to też dobra informacja. To znaczy, że w tym przypadku AI było draftem, a nie gotowym artefaktem.

Mój praktyczny workflow dla commitów i PR

Najprostsza, sensowna procedura wygląda tak:

  1. Zrób porządek w zmianach, zanim poprosisz AI o opis.
  2. Wygeneruj commit message albo opis PR przez smart action.
  3. Sprawdź, czy tekst opisuje intencję, nie tylko mechanikę zmian.
  4. Dopisz ręcznie brakujące ryzyka, migracje albo decyzje architektoniczne.
  5. Dopiero potem commituj albo publikuj PR.

To podejście zostawia szybkość po stronie AI, ale odpowiedzialność po Twojej stronie.

Ćwiczenie praktyczne

Weź własny zestaw zmian w repo i zrób dwa podejścia:

  1. Wygeneruj commit message przez smart action w Source Control.
  2. W Chat View poproś o alternatywną wersję opisu na podstawie #changes.

Potem porównaj:

  • który wynik lepiej oddaje intencję zmiany
  • który wymaga mniej ręcznej korekty
  • czy opis nadaje się do zespołowego review, a nie tylko do prywatnej historii brancha

Jeżeli druga wersja jest wyraźnie lepsza, zastanów się, czy problemem był smart action, czy raczej chaotyczny diff wejściowy.

Kluczowe wnioski

  • Smart actions w Source Control są najszybszą drogą do sensownego draftu commit message i PR description.
  • To narzędzie działa najlepiej wtedy, gdy intencja zadania jest prosta i powtarzalna.
  • Commit message i opis PR nadal wymagają review człowieka, bo AI dobrze streszcza diff, ale nie zawsze dobrze komunikuje intencję.
  • Chat z #changes warto uruchamiać wtedy, gdy potrzebujesz formatu wykraczającego poza standardowy opis.
  • Jakość wyniku zależy także od jakości samego diffu; nieuporządkowane zmiany dają gorsze opisy.

Co dalej

Skoro masz już najprostsze smart actions w Source Control, następnym krokiem są akcje bardziej „operacyjne”: konflikty merge, TODO delegation i AI-assisted rename.