Zaawansowane techniki Claude Code
Używasz już Claude Code codziennie, ale podejrzewasz, że zostawiasz część możliwości niewykorzystaną. Model wydaje się “myśleć mocniej” przy jednych promptach niż przy innych i nie jesteś pewien dlaczego. Słyszałeś, że serwery MCP mogą dać Claude bezpośredni dostęp do bazy danych i GitHuba, ale fragmenty konfiguracji skopiowane z jakiegoś wpisu na blogu po cichu się nie wczytały. I wciąż uruchamiasz jedno zadanie naraz, gdy masz cztery niezależne rzeczy do wydania.
Ten przewodnik obejmuje techniki, które oddzielają zwykłego użytkownika Claude Code od kogoś, kto prowadzi go jak profesjonalne narzędzie: kontrolowanie głębokości rozumowania, podłączanie zewnętrznych narzędzi przez MCP, pisanie własnego narzędzia MCP, automatyzowanie przeglądów w CI i prowadzenie naprawdę izolowanych sesji równoległych.
Co Wyniesiesz z Tego Przewodnika
Dział zatytułowany „Co Wyniesiesz z Tego Przewodnika”- Poprawny model myślowy rozszerzonego myślenia i jak faktycznie kontrolować jego głębokość (poziomy wysiłku, nie magiczne słowa kluczowe)
- Działający
.mcp.json, który wczytuje się za pierwszym razem, plus aktualny sposób dodania serwera GitHub MCP - Minimalny, prawdziwy własny serwer MCP używający oficjalnego SDK — gotowy do skopiowania i uruchomienia
- Workflow GitHub Actions, który uruchamia Claude na każdym PR, wyzwalany wzmiankami
@claude - Wzorzec oparty na worktrees do prawdziwej pracy równoległej z zerowym krzyżowym skażeniem
Kontrolowanie Rozszerzonego Myślenia
Dział zatytułowany „Kontrolowanie Rozszerzonego Myślenia”Rozszerzone myślenie jest domyślnie włączone. To nie jest tryb, który włączasz słowem kluczowym — i to jest pojedyncze, najczęstsze nieporozumienie. Frazy takie jak “think”, “think hard” i “ultrathink” są interpretowane jako zwykły tekst promptu. Nie alokują one budżetu tokenów myślenia. Jeśli wstrzykiwałeś “ultrathink” do promptów, oczekując przebiegu rozumowania na 128 tys. tokenów, nie robiło to niczego szczególnego.
Jak głębokość jest faktycznie kontrolowana, zależy od modelu:
- Na Opus 4.6 i nowszych (w tym Opus 4.8 i Fable 5) myślenie używa adaptacyjnego rozumowania. Model dynamicznie alokuje rozumowanie na podstawie poziomu wysiłku:
low,mediumlubhigh(domyślny). Fable 5 obsługuje dodatkowoxhighimaxdla maksymalnej głębokości rozumowania. Ustaw go w/modellub zmienną środowiskowąCLAUDE_CODE_EFFORT_LEVEL. - Na innych modelach myślenie używa stałego budżetu do 31 999 tokenów czerpanego z budżetu wyjścia. Ogranicz go zmienną środowiskową
MAX_THINKING_TOKENS. (Ta zmienna jest ignorowana na Opus 4.6+, chyba że ustawisz ją na0, co całkowicie wyłącza myślenie na dowolnym modelu.)
Czyli dźwignią jest poziom wysiłku albo limit tokenów — nie brzmienie Twojego promptu.
# Wewnątrz REPL, podnieś głębokość rozumowania dla trudnego zadania/model
# Następnie wybierz Opus z wysiłkiem "high", lub ustaw go dla sesji:export CLAUDE_CODE_EFFORT_LEVEL=highclaude# Ogranicz stały budżet myślenia (maks. 31 999) na modelach nieadaptacyjnychexport MAX_THINKING_TOKENS=10000claude
# Całkowicie wyłącz myślenie na dowolnym modeluexport MAX_THINKING_TOKENS=0Tym, co faktycznie kontrolujesz swoim promptem, jest struktura rozumowania. Poproszenie Claude o przepracowanie problemu w wyraźnych etapach niezawodnie daje lepsze rezultaty niż jednolinijkowa prośba, niezależnie od poziomu wysiłku.
Podłączanie Serwerów MCP
Dział zatytułowany „Podłączanie Serwerów MCP”Serwery Model Context Protocol (MCP) dają Claude bezpośredni, ustrukturyzowany dostęp do zewnętrznych systemów — GitHuba, bazy danych, przeglądarki — zamiast kopiowania i wklejania kontekstu przez Ciebie. Konfiguracja, która gryzie ludzi, to format pliku konfiguracyjnego i wskazywanie na zarchiwizowane pakiety referencyjne.
Serwer GitHub MCP jest teraz zdalnym serwerem HTTP, a nie globalną instalacją npm. Dodaj go jednym poleceniem:
claude mcp add --transport http github https://api.githubcopilot.com/mcp/Lokalne serwery stdio (baza danych, przeglądarka) konfigurujesz w .mcp.json w katalogu głównym projektu. Klucz najwyższego poziomu to mcpServers — nie servers. Z niewłaściwym kluczem plik jest po cichu ignorowany.
{ "mcpServers": { "postgres": { "command": "npx", "args": ["-y", "@modelcontextprotocol/server-postgres", "${DATABASE_URL}"] }, "playwright": { "command": "npx", "args": ["-y", "@playwright/mcp@latest"] } }}Kilka rzeczy wartych wiedzy, które fragmenty znajdowane online zwykle podają błędnie:
- Serwery MCP stdio działają przez
npx(lubuvxdla serwerów tylko w Pythonie). Nie ma krokunpm install -g—npxpobiera je i uruchamia na żądanie. @modelcontextprotocol/server-postgresto starszy serwer referencyjny. Wciąż rozwiązuje się w npm, ale traktuj go jako punkt wyjścia; wiele zespołów przechodzi na utrzymywany serwer dostawcy.- Do automatyzacji przeglądarki użyj
@playwright/mcp, a nie zarchiwizowanegoserver-puppeteer.
Gdy serwer jest wczytany, przestajesz opisywać kontekst, a zaczynasz prosić o rezultaty:
# Z serwerem GitHub MCPOpen an issue for the login 500s, tag it "bug" and "auth", and link thethree most recent commits that touched src/auth/.
# Z serwerem Postgres MCPShow me the schema for the users table, then find accounts with no loginin the last 30 days.Budowanie Własnego Serwera MCP
Dział zatytułowany „Budowanie Własnego Serwera MCP”Gdy żaden gotowy serwer nie pasuje — chcesz, aby Claude uruchamiał Twój skrypt wdrożeniowy, odpytywał wewnętrzne API lub uruchamiał własnościowe narzędzie — napisz mały. Użyj oficjalnego SDK, @modelcontextprotocol/sdk. API to McpServer z registerTool, połączone przez transport.
import { McpServer } from '@modelcontextprotocol/sdk/server/mcp.js';import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';import { z } from 'zod';
const server = new McpServer({ name: 'project-tools', version: '1.0.0' });
server.registerTool( 'deploy-staging', { description: 'Deploy the given branch to the staging environment', inputSchema: { branch: z.string() }, }, async ({ branch }) => { // Call your real deploy pipeline here. const url = `https://staging.example.com/${branch}`; return { content: [{ type: 'text', text: `Deployed ${branch} -> ${url}` }] }; });
await server.connect(new StdioServerTransport());Zarejestruj go w .mcp.json jak każdy inny serwer stdio, a następnie poproś Claude o wdrożenie gałęzi po nazwie. Własne serwery błyszczą przy automatyzacji wdrożeń, dostępie do wewnętrznego API i każdym workflow, który dotyka narzędzi posiadanych tylko przez Twój zespół.
Automatyzowanie Przeglądów PR w CI
Dział zatytułowany „Automatyzowanie Przeglądów PR w CI”Możesz sprawić, by Claude automatycznie przeglądał każdy pull request. Działa to przez GitHub Actions i anthropics/claude-code-action, a nie przez plik konfiguracyjny YAML w .github/claude-code-review.yml (ta ścieżka nie istnieje).
-
Zainstaluj aplikację GitHub
Uruchom to wewnątrz REPL Claude Code. Przeprowadzi Cię przez instalację aplikacji i dodanie wymaganych sekretów:
/install-github-app -
Dodaj plik workflow
Skopiuj przykładowy workflow do
.github/workflows/claude.yml. Minimalny automatyczny przegląd wygląda tak:.github/workflows/claude.yml name: Claude Reviewon:pull_request:types: [opened, synchronize]jobs:review:runs-on: ubuntu-lateststeps:- uses: actions/checkout@v5- uses: anthropics/claude-code-action@v1with:anthropic_api_key: ${{ secrets.ANTHROPIC_API_KEY }}prompt: |Review this PR. Report only real issues, grouped by:security, correctness, missing error handling.Be concise. Skip style nits.Instrukcja trafia do inputu
prompt. (direct_promptto przestarzała nazwa z v0.x — użyjpromptna@v1.) -
Wyzwalaj go na żądanie z komentarza
Gdy akcja jest zainstalowana, wspomnij
@claudew dowolnym komentarzu PR lub issue, a odpowie:@claude review this PR for security issues@claude suggest improvements to the error handling in src/api/
Wzorzec, który dobrze sprawdza się w praktyce: pozwól Action opublikować automatyczne pierwsze przejście na każdym PR i zarezerwuj wzmianki @claude na ukierunkowane follow-upy (“wyjaśnij to rozwiązanie”, “sprawdź migrację pod kątem kompatybilności wstecznej”). Claude wychwytuje mechaniczne problemy, dzięki czemu ludzcy recenzenci mogą skupić się na projekcie i intencji.
Prowadzenie Naprawdę Równoległej Pracy
Dział zatytułowany „Prowadzenie Naprawdę Równoległej Pracy”Gdy masz kilka niezależnych zadań — funkcjonalność, pilny hotfix, migrację — chcesz, aby każde było izolowane, tak by nie mogły wejść sobie w drogę. Prymitywem do tego są git worktrees, po jednym na zadanie. Częstym błędem jest sięganie po --add-dir: ta flaga dodaje dodatkowe katalogi do pojedynczej sesji dla kontekstu, nie tworzy izolowanych równoległych instancji.
Przydziel każdemu zadaniu własny worktree, a następnie uruchom osobną sesję Claude w każdym:
# Jeden worktree (i gałąź) na zadaniegit worktree add ../app-feature -b feature/notificationsgit worktree add ../app-hotfix -b hotfix/auth-timeout
# Terminal 1cd ../app-feature && claude# Terminal 2cd ../app-hotfix && claudeKażda sesja ma własny kontekst i widzi tylko pliki w swoim worktree, więc nie ma żadnego krzyżowego skażenia. Gdy zadanie jest gotowe, usuń jego worktree przez git worktree remove ../app-feature. Pełny workflow worktree znajdziesz w Kontroli Wersji.
Jeśli potrzebujesz tylko świeżej gałęzi z tego samego punktu startowego (a nie pełnej izolacji plików), claude --resume <id> --fork-session daje każdemu terminalowi czystą sesję bez drugiego katalogu roboczego.
Optymalizowanie Własnego Workflow
Dział zatytułowany „Optymalizowanie Własnego Workflow”Claude Code może pomóc zacieśnić sposób, w jaki używasz Claude Code. Najbardziej dźwigniowym ruchem jest pielęgnowanie Twojego CLAUDE.md, tak by model przestał powtarzać kontekst, który podajesz mu ręcznie.
Przy edycji wymagającej dużo nawigacji włącz skróty klawiszowe Vima poleceniem /vim (lub ustaw je na stałe przez /config). Daje to ruch hjkl, obiekty tekstowe i . do powtórzenia ostatniej zmiany w edytorze wejścia.
Kiedy To Się Psuje
Dział zatytułowany „Kiedy To Się Psuje”Rozumowanie pozostaje płytkie bez względu na to, co wpiszesz — Na Opus 4.6+ głębokość jest ustawiana przez poziom wysiłku, a nie brzmienie promptu. Uruchom /model i wybierz wysiłek high. “Think harder” w prompcie nie robi nic.
MAX_THINKING_TOKENS wydaje się ignorowane — Jest ignorowane na Opus 4.6+ (głębokość kontroluje tam adaptacyjne rozumowanie). Zamiast tego użyj poziomu wysiłku. Jedynym wyjątkiem jest MAX_THINKING_TOKENS=0, które wyłącza myślenie na dowolnym modelu.
Serwer MCP się nie wczytuje — Sprawdź, czy klucz najwyższego poziomu w .mcp.json to mcpServers, a nie servers. Zweryfikuj, że serwer pojawia się przy claude mcp list, i uruchom claude --debug "mcp", aby zobaczyć błędy startowe. Dla serwerów stdio potwierdź, że polecenie npx/uvx uruchamia się samodzielnie w terminalu.
GitHub Action nie odpowiada na @claude — Potwierdź, że aplikacja jest zainstalowana (/install-github-app), że sekret ANTHROPIC_API_KEY istnieje i że workflow znajduje się w .github/workflows/claude.yml. Jeśli skopiowałeś starszy przykład, zastąp input direct_prompt przez prompt.
Sesje równoległe interferują — Prawdopodobnie współdzielisz katalog. Przydziel każdemu zadaniu własny worktree; --add-dir nie izoluje sesji, dodaje tylko ścieżki kontekstu do jednej sesji.
Co Dalej
Dział zatytułowany „Co Dalej”Mając te techniki w ręku, naucz się skalować je w całym zespole. Przejdź do Współpracy zespołowej po wzorce kolaboracyjnego rozwoju wspomaganego AI.