Blog JSystems - uwalniamy wiedzę!
Blog JSystems - uwalniamy wiedzę!
Claude Code
Claude Code zmienia pliki, których nie miał ruszać
Claude Code, oficjalne narzędzie CLI od Anthropic do programowania z pomocą AI, potrafi w jednej turze przeczytać kilka plików, zaplanować zmianę i od razu ją wprowadzić. To ogromna wygoda, ale ma drugą stronę: jeśli nie powiesz mu wyraźnie, czego nie ruszać, sam uzna, że skoro poprawiasz funkcję logowania, to wypada przy okazji uporządkować importy w trzech sąsiednich modułach. Efekt to diff większy, niż zamawiałeś, i pytanie: kto właściwie prosił o te zmiany.
Typowy scenariusz: prosisz o dodanie jednego pola do formularza, a Claude Code przy okazji przeformatuje cały plik (bo miał inny styl niż reszta projektu), zmieni nazwy dwóch zmiennych na czytelniejsze i poprawi literówkę w komentarzu w zupełnie innym miejscu. Sam zmiana bywa poprawna, ale nie o to prosiłeś. Gorszy wariant: modyfikuje plik konfiguracyjny albo migrację, której w ogóle nie miałeś w planie tej sesji. Gdy pracujesz bez kontroli wersji, orientujesz się dopiero, gdy coś przestaje działać, i nie wiesz, która z kilkunastu zmian to zepsuła.
Claude Code jest agentem, nie autouzupełnianiem. Dostaje zadanie, samodzielnie czyta pliki, buduje plan i wykonuje go narzędziami do edycji. Gdy polecenie jest ogólne (na przykład popraw ten moduł), model interpretuje intencję szeroko i dokłada rzeczy, które według niego mieszczą się w duchu prośby: spójny styl, lepsze nazwy, uporządkowane importy. To nie błąd narzędzia, tylko skutek tego, że zostawiłeś mu przestrzeń do decyzji. Dochodzi do tego druga rzecz: jeśli w projekcie jest plik CLAUDE.md z regułami albo aktywny hook formatujący, część zmian może pochodzić stamtąd, a nie z samego polecenia. Model realizuje kontekst, który mu dałeś, łącznie z tym zapisanym w projekcie.
auth/login.py, dodaj jedno pole, nie dotykaj innych plików, nie zmieniaj formatowania ani nazw zmiennych, których nie edytujesz.git stash, żeby git status był pusty. Wtedy każda zmiana Claude Code jest widoczna jako świeży diff, a nie miesza się z Twoją pracą w toku.CLAUDE.md jako stałą barierę. Wpisz tam regułę w stylu: nie zmieniaj plików spoza wyraźnie wskazanych, nie przeformatowuj kodu bez polecenia, nie zmieniaj nazw zmiennych przy okazji. Model czyta ten plik na starcie i traktuje go jak instrukcje projektu.git checkout -- sciezka/do/pliku dla pojedynczego pliku albo git restore -p, żeby odrzucić konkretne fragmenty diffu.Po zakończeniu tury wpisz git status i git diff. Na liście zmienionych plików powinien być tylko ten, o który prosiłeś. Jeśli widzisz inne, to znak, że zakres nie był dość ciasny, a diff pokaże dokładnie, co model dołożył od siebie. Sprawdź też, czy zmieniły się linie, których nie miałeś ruszać: jeżeli diff zawiera przeformatowany blok albo zmienione nazwy poza Twoim polem, cofnij te fragmenty i powtórz polecenie z twardszym ograniczeniem. Dobrze działający układ to taki, w którym po każdej turze diff jest mały, czytelny i w całości pokrywa się z tym, o co prosiłeś.
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...