Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Claude Code usuwa działający kod - jak się zabezpieczyć
Claude Code, agentowe narzędzie CLI od Anthropic, nie tylko dopisuje kod, ale też go przepisuje i kasuje. Gdy prosisz o refaktor albo o wdrożenie nowej funkcji, model może uznać, że stary blok jest niepotrzebny, i po prostu go usunąć. Czasem ma rację, a czasem wycina obsługę przypadku brzegowego, walidację albo funkcję, z której korzysta kod, którego akurat nie miał otwartego. Bez kopii w systemie kontroli wersji odtworzenie takiego fragmentu bywa bolesne.
Prosisz o uproszczenie funkcji, a przy okazji znika obsługa sytuacji, gdy dane wejściowe są puste. Albo zlecasz przepisanie modułu na nowy wzorzec i po zmianie brakuje metody, którą wołał zupełnie inny plik. Testy, jeśli je masz, zaświecą się na czerwono. Jeśli testów nie masz, dowiesz się o tym dopiero na produkcji albo podczas ręcznego klikania. Szczególnie podstępny jest wariant, w którym Claude Code zostawia kod pozornie kompletny, ale usuwa jeden warunek, przez co logika działa inaczej niż wcześniej.
Model dostaje cel i dąży do czystego, spójnego wyniku. Jeśli w trakcie realizacji widzi kod, który wygląda na nieużywany albo kłóci się z nowym podejściem, traktuje jego usunięcie jako element porządków. Problem w tym, że Claude Code widzi tylko ten kontekst, który mu podałeś albo który sam zdążył przeczytać. Nie ma pełnej wiedzy o wszystkich miejscach w projekcie, które zależą od danego fragmentu, chyba że mu je pokażesz albo pozwolisz je znaleźć. Dlatego blok, który dla Ciebie jest krytyczny, dla modelu bywa martwym kodem do sprzątnięcia. To nie złośliwość ani błąd, tylko skutek pracy na ograniczonym oknie kontekstu.
git restore albo git revert.CLAUDE.md, na przykład: nie usuwaj kodu bez wyraźnego polecenia, w razie wątpliwości zostaw go i zapytaj. Model czyta ten plik na starcie każdej sesji.Po turze przejrzyj git diff i zwróć uwagę na linie oznaczone minusem: to dokładnie to, co zniknęło. Jeśli widzisz tam warunek, funkcję albo walidację, której nie chciałeś tracić, przywróć ją. Uruchom testy i, jeśli to aplikacja, przeklikaj ścieżkę, której dotyczyła zmiana. Dobrym nawykiem jest wyszukanie w projekcie odwołań do usuwanej nazwy przed akceptacją: jeśli gdziekolwiek jeszcze się pojawia, to znak, że kod nie był martwy. Gdy diff pokazuje tylko świadomie zaplanowane usunięcia, a testy przechodzą, zmiana jest bezpieczna.
Wróć do listy: 100 najczęstszych problemów z Claude Code
Szkolenie Claude Code - od zera do zespołu agentów AI -->
Tryb planowania, tryby uprawnień, komendy, MCP, hooki i systemy multi-agent - wszystko na żywym kodzie podczas trzydniowego szkolenia. Prowadzi Łukasz Matuszewski. Szkolenie ma terminy gwarantowane - odbędzie się niezależnie od liczby zgłoszeń.
Sprawdź szkolenie Claude CodeTo szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.
★★★★★Średnia ocena naszych szkoleń w Google: 5/5
Komentarze (0)
Brak komentarzy...