Śledzenie kodu generowanego przez AI w Git za pomocą git-ai

gitai

Dlaczego w ogóle śledzić wkład AI?

Wraz z upowszechnieniem asystentów programistycznych pojawił się nowy problem: repozytorium pokazuje jedynie autora commita, a nie to, że duża część kodu powstała przy pomocy AI. Trudno wtedy odpowiedzieć na pytania o pochodzenie fragmentów kodu, jakość poszczególnych agentów czy wymagania compliance. Rozszerzenie git-ai (Git AI) powstało właśnie po to, aby w sposób precyzyjny i powtarzalny śledzić linijki wygenerowane przez modele AI w standardowym przepływie pracy Git.

Czym jest git-ai (Git AI)

Git AI to otwartoźródłowe rozszerzenie Gita, działające jako cienka nakładka na binarkę git. Narzędzie jest zaprojektowane jako “Git-native”: nie wprowadza nowego serwera ani centralnej bazy, lecz zapisuje metadane o autorstwie AI w notatkach Gita (git notes) powiązanych z hashami commitów. Rozwiązanie działa lokalnie, offline, a dane o promptach i autorstwie nie opuszczają maszyny dewelopera.

Kluczową cechą Git AI jest podejście multi-agentowe. Narzędzie nie zakłada jednego „oficjalnego” asystenta – potrafi rozróżniać wkład różnych agentów i modeli (np. różnych wersji tego samego narzędzia), dzięki czemu zespół może realnie porównywać ich efektywność w tym samym repozytorium.

image

Integracje z agentami i IDE

Git AI udostępnia komendę instalującą hooki dla wspieranych agentów, tak aby to one explicite zgłaszały swoje zmiany. Dla dewelopera oznacza to brak dodatkowych kroków w codziennej pracy – integracja odbywa się na poziomie IDE lub CLI agenta.

Agent / IDEŚledzenie autorstwaZapisywanie promptówUwagi
Cursor > 1.7taktakautomatyczne hooki git-ai
Claude Codetaktakwsparcie natywne
GitHub Copilot (VS Code)taktakpoprzez rozszerzenie i hooki
Inne agentyzależnie od integracjizależnie od integracjimożna dodać przez rozbudowę hooków

Jak działa mechanizm checkpointów i notatek

Git AI funkcjonuje jako proxy dla polecenia git: to git-ai znajduje się na ścieżce $PATH, przechwytuje wywołania i deleguje je do właściwego Gita, dodając przy tym logikę śledzenia AI. IDE i agenci nie muszą zmieniać zachowania – dla nich wszystko wygląda jak zwykłe wywołanie git.

Podstawą są tzw. checkpointy. Agent wywołuje git-ai checkpoint zanim zapisze zmiany na dysku, aby oznaczyć dotychczasowe edycje jako „ludzkie”. Następnie, po wygenerowaniu kodu, wywołuje checkpoint z nazwą agenta (np. git-ai checkpoint cursor-gpt-5). W ten sposób Git AI może przypisać konkretne linie do konkretnego agenta wraz z kontekstem promptu, który doprowadził do ich powstania.

Przy commicie Git AI pakuje historię checkpointów i transkrypcje promptów do notatek Gita (np. w referencji notes/ai). Dodatkowo modyfikuje domyślne git fetch / git push, aby te notatki były synchronizowane razem z historią repozytorium.

Najważniejsze komendy git-ai

  • git-ai stats [<commit-sha>] [--json] – pokazuje statystyki autorstwa dla commita, w tym udział linii wygenerowanych przez AI oraz ludzi.
  • git-ai blame <plik> – rozszerzona wersja git blame, która oprócz autora pokazuje także to, czy linia pochodzi z AI, oraz z jakiego agenta/modelu.
  • git-ai install-hooks – konfiguruje integracje z obsługiwanymi agentami i IDE, tak aby zaczęły raportować checkpointy.

Metryki jakości kodu AI

Ponieważ Git AI wie, które linie wprowadził dany agent i jak potoczył się ich los w historii repozytorium, może obliczać metryki przydatne do porównywania modeli. Przykładowo:

MetrykaCo mierzyPrzykładowe zastosowanie
Local AcceptedStosunek linii AI, które trafiły do commita, do wszystkich linii wygenerowanych lokalnie przez agenta.Ocena, jak wiele propozycji deweloper akceptuje zamiast odrzucać.
PR AcceptedProcent linii AI, które przechodzą przez code review i trafiają do gałęzi głównej.Porównanie agentów pod kątem akceptacji przez zespół.
Prod HalflifeŚredni czas, po którym połowa linii danego agenta zostaje zmodyfikowana lub usunięta w produkcji.Ocena trwałości i jakości kodu w dłuższym okresie.

Praktyczne zastosowania w zespołach

  • Audyt i compliance – możliwość pokazania, które fragmenty systemu powstały z udziałem AI, może być wymagana przez regulacje lub wewnętrzne polityki firmy.
  • Porównywanie agentów – metryki akceptacji i „półokresu życia” kodu pozwalają świadomie wybierać i konfigurować narzędzia AI.
  • Lepszy code review – recenzent widzi od razu, ile w danym pliku pochodzi z AI oraz ma dostęp do oryginalnych promptów, co ułatwia zrozumienie intencji zmian.
  • Zarządzanie długiem technicznym – łatwo wyszukać starsze fragmenty generowane przez AI i podjąć decyzję o refaktoryzacji lub ponownym wygenerowaniu na nowszym modelu.

Ograniczenia i pułapki

Warto pamiętać, że nie wszystkie typy edycji są dziś śledzone idealnie. Podpowiedzi z klasycznego IntelliSense czy proste uzupełnienia tabulatorem są zazwyczaj traktowane jako edycje „ludzkie”. Git AI skupia się na wyraźnych interakcjach z agentem (prompt → wygenerowany blok kodu). Obecnie mierzone są głównie dodania linii przez AI – usunięcia nie zawsze wchodzą do statystyk. Dodatkowo notatki Gita mogą zostać utracone przy niektórych operacjach przepisywania historii (np. rebase wykonywanym poza środowiskiem z Git AI), jeśli nie zadba się o ich przeniesienie.

Podsumowanie

Git AI / git-ai proponuje praktyczny standard śledzenia kodu generowanego przez AI, który nie wymaga zmiany dotychczasowego workflow w Git. Dzięki wykorzystaniu git notes, mechanizmu checkpointów oraz integracji z popularnymi agentami, zespoły mogą wreszcie mierzyć realny wpływ narzędzi AI na bazę kodu – od lokalnych zmian, przez pull requesty, po długoterminową trwałość w produkcji.

Źródła

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Powiązane posty

Zacznij wpisywać wyszukiwane hasło powyżej i naciśnij Enter, aby wyszukać. Naciśnij ESC, aby anulować.

Powrót do góry
Hej. Nie zapomnij podzielić się opinią oraz udostępnić dalej.