Blog JSystems - uwalniamy wiedzę!

Szukaj

Claude Code

Claude Code robi za dużo naraz - jak zawęzić zakres zadania

W skrócie

  • Prosisz o jedną zmianę, a Claude Code przy okazji przebudowuje sąsiednie pliki, dodaje warstwy abstrakcji i rusza rzeczy, których nie chciałeś ruszać.
  • Przy ogólnym poleceniu Claude Code sam decyduje o zakresie, a jako agent dąży do "kompletnego" rozwiązania, więc rozjeżdża się poza to, co miałeś na myśli.
  • Rozwiązaniem jest zawężenie zakresu: precyzyjny prompt, tryb planowania do akceptacji zasięgu i podagenci do researchu, żeby nie mieszać go z edycją.

Claude Code, oficjalne narzędzie CLI od Anthropic do programowania z AI, jest samodzielny - i to bywa problemem, gdy chcesz małej, chirurgicznej zmiany, a dostajesz przebudowę pół modułu. To nie znaczy, że narzędzie działa źle. Znaczy, że nie dostało wystarczająco wąskiej definicji zadania. Poniżej pokazujemy, jak trzymać Claude Code w ryzach i dostawać dokładnie tyle zmian, ile zamawiasz.

Jak to wygląda w praktyce

Piszesz "popraw walidację e-maila w tej funkcji", a Claude Code przy okazji refaktoryzuje cały plik, zmienia importy, dodaje obsługę przypadków, o które nie prosiłeś, i dorzuca testy do rzeczy niezwiązanych z zadaniem. Albo prosisz o "zbadanie", jak działa jakiś mechanizm, a narzędzie czyta setki plików i zaczyna je modyfikować. Diff, który miał mieć pięć linii, ma ich dwieście. To sygnał, że zakres był zbyt luźny.

Dlaczego Claude Code tak działa

Claude Code to agent, który sam figuruje, jak zbudować to, co opisałeś. Gdy polecenie jest ogólne, model dopowiada sobie zakres i - dążąc do porządnego, kompletnego rozwiązania - często robi więcej, niż trzeba. Dokumentacja Anthropic nazywa dwie powiązane pułapki: "nieskończoną eksplorację", gdy każesz coś zbadać bez zawężenia i Claude czyta setki plików, oraz nadmierną inżynierię, gdy model dokłada warstwy abstrakcji i kod obronny na zapas. Obie biorą się z braku granic, a nie z błędu narzędzia.

Jak to rozwiązać krok po kroku

  1. Zawęź polecenie. Zamiast "dodaj testy do foo.py" napisz "napisz test do foo.py obejmujący przypadek, gdy użytkownik jest wylogowany, bez mocków". Wskaż plik, scenariusz i ograniczenia - im precyzyjniej, tym mniej poprawek.
  2. Nazwij, czego Claude Code ma nie ruszać. Dopisz wprost "zmień tylko tę jedną funkcję, reszty pliku nie dotykaj" albo "nie refaktoryzuj przy okazji". To skuteczna bariera przy chirurgicznych zmianach.
  3. Użyj trybu planowania, żeby zobaczyć zasięg, zanim cokolwiek się zmieni. Naciskaj Shift+Tab, aż pojawi się ⏸ plan mode on, poproś o plan i sprawdź, ile plików chce ruszyć. Jeśli za dużo - odeślij do poprawki opcją "No, keep planning".
  4. Rozdziel research od edycji. Do rozpoznania kodu zleć pracę podagentowi: "użyj podagenta, żeby zbadać, jak obsługujemy odświeżanie tokenów". Podagent czyta pliki w osobnym kontekście i wraca z podsumowaniem, nie zmieniając Twojego kodu ani nie zapychając głównej rozmowy.
  5. Wskaż wzorzec do naśladowania zamiast dawać wolną rękę. Napisz "zrób to tak, jak w istniejącym module X - to dobry przykład", żeby Claude Code trzymał się Twoich konwencji, a nie wymyślał własne.
  6. Rób zmiany małymi, testowalnymi krokami. Zamiast jednego wielkiego zadania rozbij je na etapy i po każdym sprawdzaj wynik. Jeśli Claude Code zaczyna się rozjeżdżać, przerwij klawiszem Esc i przekieruj - kontekst zostaje zachowany.
  7. Gdy mimo to zmiana wyszła za szeroka, cofnij ją: podwójny Esc albo komenda /rewind otwierają menu przywracania wcześniejszego stanu kodu i rozmowy. Potem powtórz z węższym promptem.

Jak sprawdzić, że zadziałało

Uruchom /diff, żeby zobaczyć listę zmienionych plików i liczbę dodanych oraz usuniętych linii bez wychodzenia z Claude Code. Jeśli zmiany ograniczają się do plików, które wskazałeś, a nie widzisz "przy okazji" ruszonych sąsiednich modułów, zakres był dobrze zawężony. W trybie planowania dowodem jest sam plan: liczba plików do zmiany powinna zgadzać się z Twoim zamiarem, zanim zatwierdzisz. Jeśli poprawiałeś Claude Code więcej niż dwa razy w tej samej sprawie, kontekst jest już zaśmiecony nieudanymi próbami - wtedy najlepiej zrobić /clear i zacząć od jednego, precyzyjnie zawężonego polecenia.

Wróć do listy: 100 najczęstszych problemów z Claude Code

Szkolenie Claude Code - od zera do zespołu agentów AI, prowadzi Łukasz Matuszewski (JSystems)

Szkolenie Claude Code - od zera do zespołu agentów AI -->

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 Code

To szkolenie może być dofinansowane dla Ciebie z KFS lub BUR.

★★★★★Średnia ocena naszych szkoleń w Google: 5/5

Najczęściej zadawane pytania

Dlaczego Claude Code przy jednej poprawce rusza sąsiednie pliki i refaktoryzuje więcej, niż prosiłem?
Przy ogólnym poleceniu Claude Code sam dopowiada sobie zakres i, dążąc do kompletnego rozwiązania, robi więcej, niż trzeba. To znany efekt nadmiernej inżynierii: model dokłada warstwy abstrakcji i kod obronny na zapas, gdy nie dostał wąskiej definicji zadania.
Jak sformułować polecenie, żeby Claude Code nie ruszał rzeczy poza zadaniem?
Zawęź prompt i nazwij, czego ma nie ruszać, na przykład: zmień tylko tę jedną funkcję, reszty pliku nie dotykaj, nie refaktoryzuj przy okazji. Wskaż plik, scenariusz i ograniczenia. Im precyzyjniejsze polecenie, tym mniejszy diff i mniej poprawek.
Jak sprawdzić zakres zmiany, zanim Claude Code cokolwiek zapisze?
Użyj trybu planowania: naciskaj Shift+Tab, aż zobaczysz plan mode on, poproś o plan i sprawdź, ile plików chce ruszyć. Jeśli za dużo, odeślij do poprawki opcją pozostania w planowaniu. Edycje są wtedy zablokowane, dopóki nie zatwierdzisz zawężonego planu.
Jak nie zapchać rozmowy, gdy zadanie wymaga przejrzenia wielu plików?
Rozdziel research od edycji i zleć rozpoznanie podagentowi, na przykład: użyj podagenta, żeby zbadać, jak obsługujemy odświeżanie tokenów. Podagent czyta pliki w osobnym kontekście i wraca z podsumowaniem, więc nie zapycha głównej rozmowy ani nie modyfikuje kodu przy okazji.

Komentarze (0)

Musisz być zalogowany by móc dodać komentarz. Zaloguj się przez Google

Brak komentarzy...