Architektura agentów: tworzenie środowisk programistycznych wspieranych przez AI
# Kompletny system do tworzenia produkcyjnych środowisk dla agentów AI. Umiejętności, hooki, pamięć, subagenci, orkiestracja wieloagentowa oraz wzorce, dzięki którym agenci AI wspierający programowanie stają się niezawodną infrastrukturą.
W skrócie: Claude Code nie jest oknem czatu z dostępem do plików. To programowalne środowisko wykonawcze z 30 udokumentowanymi zdarzeniami cyklu życia, z których każde można obsłużyć za pomocą skryptów powłoki, niemożliwych do pominięcia przez model. Łącząc hooks w dispatchers, dispatchers w skills, skills w agents, a agents w przepływy pracy, uzyskuje się autonomiczny harness programistyczny, który egzekwuje ograniczenia, deleguje pracę, zachowuje pamięć między sesjami i koordynuje wieloagentowe procesy deliberacji. W Claude Code v2.1.147 dodano domyślnie wyłączone narzędzie
Workflow(CLAUDE_CODE_WORKFLOWS=1), przesuwając deterministyczną orkiestrację wieloagentową z czysto użytkowych skryptów w stronę natywnego elementu środowiska wykonawczego; v2.1.149 potwierdza tę samą zasadę od strony bezpieczeństwa, wprowadzając poprawki dotyczące obchodzenia uprawnień w PowerShell oraz listy dozwolonych operacji sandboxa dla git worktree. Za poprawność nadal odpowiadają hooks i evidence gates.5253 Ten przewodnik omawia każdą warstwę tego stosu: od pojedynczego hook po system konsensusu złożony z 10 agents. Nie wymaga żadnych frameworków. Wyłącznie bash i JSON.
Andrej Karpathy ukuł określenie na to, co powstaje wokół agenta LLM: claws. Są to hooks, skrypty i mechanizmy orkiestracji, dzięki którym agent może oddziaływać na świat poza swoim oknem kontekstu.1 Większość programistów traktuje agentów AI do tworzenia kodu jak interaktywnych asystentów. Wpisują prompt, obserwują, jak agent edytuje plik, i przechodzą dalej. Takie podejście ogranicza produktywność do zakresu, który można osobiście nadzorować.
Model mentalny oparty na infrastrukturze jest inny: agent AI do tworzenia kodu to programowalne środowisko wykonawcze z jądrem LLM. Każda czynność wykonywana przez model przechodzi przez kontrolowane przez Państwa hooks. Definiuje się zasady, a nie prompty. Model działa w obrębie infrastruktury tak samo, jak serwer WWW działa zgodnie z regułami nginx. Nie siedzi się przed nginx, wpisując żądania. Konfiguruje się go, wdraża i monitoruje.
To rozróżnienie jest istotne, ponieważ korzyści z infrastruktury kumulują się. Hook blokujący dane uwierzytelniające w poleceniach bash chroni każdą sesję, każdego agenta i każde autonomiczne uruchomienie. Skill zawierający kryteria oceny jest stosowany konsekwentnie niezależnie od tego, czy uruchamiają go Państwo, czy agent. Agent sprawdzający kod pod kątem bezpieczeństwa wykonuje te same kontrole bez względu na to, czy jest obserwowany.2
Najważniejsze wnioski
- Hooks gwarantują wykonanie; prompty — nie. Hooks należy stosować do lintingu, formatowania, kontroli bezpieczeństwa oraz wszystkiego, co musi zostać uruchomione za każdym razem, niezależnie od zachowania modelu. Kod wyjścia 2 blokuje działania. Kod wyjścia 1 jedynie wyświetla ostrzeżenie.3
- Skills przechowują wiedzę dziedzinową i aktywują się automatycznie. Pole
descriptiondecyduje o wszystkim. Claude wykorzystuje rozumowanie LLM (a nie dopasowywanie słów kluczowych), aby określić, kiedy zastosować skill.4 - Subagents zapobiegają przepełnieniu kontekstu. Odizolowane okna kontekstu przeznaczone do eksploracji i analizy pozwalają utrzymać główną sesję w zwartej formie. Niezależne subagents należy uruchamiać równolegle, a zespoły agentów stosować wtedy, gdy pracownicy potrzebują trwałej koordynacji.5
- Pamięć znajduje się w systemie plików. Pliki pozostają dostępne między kolejnymi oknami kontekstu. CLAUDE.md, MEMORY.md, foldery z regułami oraz dokumenty przekazania tworzą ustrukturyzowany system pamięci zewnętrznej.6
- Wieloagentowa deliberacja pozwala wykrywać pominięte kwestie. Pojedynczy agent nie potrafi podważyć własnych założeń. Dwóch niezależnych agentów o różnych priorytetach oceny wykrywa błędy strukturalne, których quality gates nie są w stanie wyeliminować.7
- Harness pattern jest całym systemem. CLAUDE.md, hooks, skills, agents i pamięć nie są niezależnymi funkcjami. Razem tworzą deterministyczną warstwę między Państwem a modelem, która skaluje się wraz z automatyzacją.
Jak korzystać z tego przewodnika
| Doświadczenie | Od czego zacząć | Co poznać później |
|---|---|---|
| Codzienne korzystanie z Claude Code i chęć osiągnięcia więcej | Harness pattern | System skills, Architektura hooks |
| Tworzenie autonomicznych przepływów pracy | Wzorce subagents | Orkiestracja wieloagentowa, Wzorce produkcyjne |
| Ocena architektury agentów | Dlaczego architektura agentów ma znaczenie | Ramy decyzyjne, Kwestie bezpieczeństwa |
| Konfigurowanie zespołowego harness | Projektowanie CLAUDE.md | Architektura hooks, Skrócona karta referencyjna |
Każda sekcja opiera się na poprzedniej. Znajdujące się na końcu ramy decyzyjne zawierają tabelę pomocną przy wyborze odpowiedniego mechanizmu dla każdego rodzaju problemu.
Pięciominutowa ścieżka złota
Przed głębokim zanurzeniem oto najkrótsza droga od zera do działającego harness. Jeden hook, jeden skill, jeden subagent, jeden rezultat.
Krok 1: Utworzenie hooka bezpieczeństwa (2 minuty)
Proszę utworzyć .claude/hooks/block-secrets.sh:
#!/bin/bash
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command // empty')
if echo "$CMD" | grep -qEi '(AKIA|sk-|ghp_|password=)'; then
echo "BLOCKED: Potential secret in command" >&2
exit 2
fi
Podłączenie w .claude/settings.json:
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [{ "type": "command", "command": ".claude/hooks/block-secrets.sh" }]
}
]
}
}
Rezultat: Każde polecenie bash uruchamiane przez Claude jest teraz sprawdzane pod kątem wycieku poświadczeń. Model nie może pominąć tej kontroli.
Krok 2: Utworzenie skilla do przeglądu kodu (1 minuta)
Proszę utworzyć .claude/skills/reviewer/SKILL.md z frontmatter (name: reviewer, description: Review code for security issues, bugs, and quality problems. Use when examining changes, reviewing PRs, or auditing code., allowed-tools: Read, Grep, Glob) oraz listą kontrolną: SQL injection, XSS, zakodowane na sztywno sekrety, brak obsługi błędów, funkcje powyżej 50 linii.
Rezultat: Claude automatycznie aktywuje tę wiedzę ekspercką za każdym razem, gdy pojawi się wzmianka o przeglądzie, kontroli lub audycie.
Krok 3: Uruchomienie subagenta (30 sekund)
W dowolnej sesji Claude Code można poprosić Claude o przejrzenie ostatnich 3 commitów pod kątem problemów bezpieczeństwa przy użyciu oddzielnego agenta. Claude uruchamia agenta Explore, który odczytuje diff, stosuje skill przeglądu i zwraca podsumowanie. Główny kontekst pozostaje czysty.
Co zostało uzyskane
Trójwarstwowy harness: deterministyczna bramka bezpieczeństwa (hook), wiedza dziedzinowa aktywująca się automatycznie (skill) oraz izolowana analiza chroniąca kontekst (subagent). Każda z kolejnych sekcji rozwija jedną z tych trzech warstw.
Dlaczego architektura agentów ma znaczenie
Simon Willison ujmuje obecny moment w jednej obserwacji: pisanie kodu jest teraz tanie.8 Zgadza się. Jednak konsekwencją tego jest to, że weryfikacja stała się kosztowną częścią. Tani kod bez infrastruktury weryfikacyjnej produkuje błędy na masową skalę. Inwestycja, która się zwraca, to nie lepszy prompt. To system wokół modelu, który wychwytuje to, co model przeoczy.
Trzy siły sprawiają, że architektura agentów staje się konieczna:
Okna kontekstu są skończone i stratne. Każdy odczyt pliku, wyjście narzędzia i tura rozmowy pochłaniają tokeny. Microsoft Research i Salesforce przetestowały 15 LLM na ponad 200 000 symulowanych rozmów i odkryły średni spadek wydajności o 39% z interakcji jednoturowej do wieloturowej.9 Degradacja rozpoczyna się już po dwóch turach i podąża przewidywalną krzywą: precyzyjne edycje wieloplikowe w pierwszych 30 minutach degradują się do wizji tunelowej jednego pliku w 90. minucie. Dłuższe okna kontekstu tego nie naprawiają. Warunek „Concat” z tego samego badania (cała rozmowa jako pojedynczy prompt) osiągnął 95,1% wydajności jednoturowej przy identycznej treści. Degradacja wynika z granic tur, a nie z limitów tokenów.
Zachowanie modelu jest probabilistyczne, a nie deterministyczne. Polecenie Claude „zawsze uruchom Prettier po edycji plików” działa w około 80% przypadków.3 Model może zapomnieć, postawić na szybkość lub uznać zmianę za „zbyt małą”. Dla zgodności z przepisami, bezpieczeństwa i standardów zespołowych 80% jest niewystarczające. Hooki gwarantują wykonanie: każdy Edit lub Write wyzwala formatter, za każdym razem, bez wyjątków. Deterministyczne wygrywa z probabilistycznym.
Pojedyncze perspektywy pomijają problemy wielowymiarowe. Pojedynczy agent przeglądający endpoint API sprawdził uwierzytelnianie, zweryfikował sanityzację danych wejściowych i potwierdził nagłówki CORS. Stan idealny. Drugi agent, zlecony oddzielnie jako tester penetracyjny, wykrył, że endpoint akceptował nieograniczone parametry zapytań, które mogły wywołać denial-of-service poprzez amplifikację zapytań do bazy danych.7 Pierwszy agent nigdy tego nie sprawdził, ponieważ nic w jego ramach oceny nie traktowało złożoności zapytań jako powierzchni bezpieczeństwa. Ta luka ma charakter strukturalny. Żadne dopracowanie promptu jej nie naprawi.
Architektura agentów odpowiada na wszystkie trzy wyzwania: hooki wymuszają deterministyczne ograniczenia, subagenty zarządzają izolacją kontekstu, a orkiestracja wieloagentowa zapewnia niezależne perspektywy. Razem tworzą harness.
Wzorzec harness
Harness nie jest frameworkiem. To wzorzec: komponowalny zestaw plików, skryptów i konwencji, który otacza agenta programistycznego AI deterministyczną infrastrukturą. Jego elementy:
┌──────────────────────────────────────────────────────────────┐
│ THE HARNESS PATTERN │
├──────────────────────────────────────────────────────────────┤
│ ORCHESTRATION │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Agent │ │ Agent │ │ Consensus │ │
│ │ Teams │ │ Spawning │ │ Validation│ │
│ └────────────┘ └────────────┘ └────────────┘ │
│ Multi-agent deliberation, parallel research, voting │
├──────────────────────────────────────────────────────────────┤
│ EXTENSION LAYER │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ Skills │ │ Hooks │ │ Memory │ │ Agents │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
│ Domain expertise, deterministic gates, persistent state, │
│ specialized subagents │
├──────────────────────────────────────────────────────────────┤
│ INSTRUCTION LAYER │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ CLAUDE.md + .claude/rules/ + MEMORY.md │ │
│ └──────────────────────────────────────────────────────┘ │
│ Project context, operational policy, cross-session memory │
├──────────────────────────────────────────────────────────────┤
│ CORE LAYER │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ Main Conversation Context (LLM) │ │
│ └──────────────────────────────────────────────────────┘ │
│ Your primary interaction; finite context; costs money │
└──────────────────────────────────────────────────────────────┘
Warstwa instrukcji: Pliki CLAUDE.md i foldery reguł określają, co agent wie o projekcie. Są ładowane automatycznie na początku sesji i po każdej kompakcji. Stanowią długoterminową pamięć architektoniczną agenta.
Warstwa rozszerzeń: skills dostarczają wiedzy dziedzinowej i aktywują się automatycznie zależnie od kontekstu. hooks zapewniają deterministyczne bramki uruchamiane przy każdym pasującym wywołaniu narzędzia. Pliki pamięci przechowują stan między sesjami. Agenci niestandardowi udostępniają wyspecjalizowane konfiguracje subagents.
Warstwa orkiestracji: Wzorce wieloagentowe koordynują niezależnych agentów podczas badań, przeglądów i analiz. Limity uruchomień zapobiegają niekontrolowanej rekursji. Walidacja konsensusu zapewnia jakość.
Kluczowy wniosek: większość użytkowników pracuje wyłącznie w warstwie podstawowej, obserwując rozrost kontekstu i wzrost kosztów. Zaawansowani użytkownicy konfigurują warstwy instrukcji i rozszerzeń, a następnie korzystają z warstwy podstawowej wyłącznie do orkiestracji i podejmowania ostatecznych decyzji.2
Zarządzane i samodzielnie hostowane harnesses (kwiecień 2026)
Do początku 2026 roku jedyną realną możliwością było „zbudowanie własnego harness”. Zmieniło się to w kwietniu 2026 roku. Anthropic udostępniło Claude Managed Agents w publicznej wersji beta (8 kwietnia): pętlę harness + wykonywanie narzędzi + kontener sandbox + trwałość stanu jako REST API, rozliczane według standardowej liczby tokenów z dopłatą 0,08 USD za godzinę sesji. Aktualizacja Agents SDK firmy OpenAI (16 kwietnia) sformalizowała ten sam podział — harness i zasoby obliczeniowe jako osobne warstwy, z natywnymi dostawcami sandbox (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) oraz funkcjami tworzenia migawek i odtwarzania stanu, pozwalającymi przetrwać utratę kontenera.2324
Bardziej rozbudowane możliwości SDK po stronie OpenAI pojawiły się w openai-agents Python v0.14.0 (wydanym 15 kwietnia 2026 roku i ogłoszonym 16 kwietnia): podklasa SandboxAgent klasy Agent zawiera default_manifest, instrukcje sandbox i możliwości; Manifest opisuje kontrakt świeżego obszaru roboczego (pliki, foldery, pliki lokalne, repozytoria Git, zmienne środowiskowe, użytkowników i punkty montowania); SandboxRunConfig umożliwia konfigurowanie dla każdego uruchomienia klienta sandbox, wstrzykiwania aktywnej sesji, nadpisywania manifestu, migawek oraz limitów współbieżności materializacji. Wbudowane możliwości obejmują dostęp do powłoki, edycję systemu plików, inspekcję obrazów, skills, pamięć sandbox i kompakcję. Pamięć sandbox zachowuje wyodrębnione wnioski między uruchomieniami i ujawnia je stopniowo; obszary robocze obsługują pliki lokalne, wpisy repozytoriów Git oraz zdalne punkty montowania (S3, R2, GCS, Azure Blob, S3 Files); migawki można przenosić między dostawcami. Dostępne backendy to: UnixLocalSandboxClient, DockerSandboxClient oraz hostowani klienci Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop i Vercel, dostępni przez opcjonalne dodatki.24
Dla projektów Python, które chcą osadzić środowisko uruchomieniowe Claude Code jako bibliotekę — pomiędzy „wywoływaniem claude w powłoce” a „wysyłaniem żądań REST API do Managed Agents” — trzecią możliwością jest claude-agent-sdk-python. Seria wydań z 28–29 kwietnia (v0.1.69 → v0.1.71) zaktualizowała dołączony CLI do wersji v2.1.123, podniosła minimalną wersję zależności mcp do >=1.19.0 (starsze wersje bez komunikatu odrzucały wartości CallToolResult zwracane przez działające w procesie narzędzia MCP, przez co model otrzymywał blok z błędem walidacji) oraz zapewniła zgodność schematu SandboxNetworkConfig z TypeScript SDK (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30 Według stanu na 2026-08-01 pakiet w PyPI ma wersję v0.2.128 (zawiera Claude CLI v2.1.220, a minimalna wersja mcp wynosi obecnie >=1.23.0), natomiast TypeScript SDK ma wersję v0.3.220; linia 0.2.x stanowi przyrostowe rozwinięcie interfejsu 0.1.x opisanego w tym miejscu — poniższe opcje include_hook_events, skills i konfiguracji sandbox pozostają aktualne — a najnowsze wydania koncentrują się na niezawodności czyszczenia podprocesów i strumieni NDJSON.86
Jeśli harness obejmuje warstwę głosową lub czasu rzeczywistego, w wersji openai-agents-python v0.17.0 (8 maja 2026) domyślnym modelem RealtimeAgent stał się gpt-realtime-2.41 Istniejące sesje czasu rzeczywistego automatycznie zaczną korzystać z nowego modelu domyślnego; aby na potrzeby ewaluacji zachować poprzednie działanie, należy jawnie przypiąć wcześniejszy model.
W lipcu 2026 roku oferta zarządzana po stronie OpenAI wzbogaciła się również o rozwiązanie wieloagentowe: openai-agents-python v0.18.2 (11 lipca) i openai-agents-js v0.13.2 (10 lipca) wprowadzają w wersji beta obsługę hostowanych systemów wieloagentowych — zarządzaną przez OpenAI orkiestrację wielu agentów jako usługę hostowaną, będącą bezpośrednim odpowiednikiem publicznej wersji beta Managed Multiagent Orchestration firmy Anthropic, opisanej w sekcji Orkiestracja wieloagentowa.73 Obaj dostawcy oferują już na poziomie wieloagentowym ten sam kompromis, który poniższa tabela przedstawia dla pojedynczych agentów: dostawca uruchamia pętlę delegowania, ale użytkownik rezygnuje z możliwości korzystania z hooks.
Rozdzielenie ścieżek architektonicznych stało się faktem:
| Wymiar | Samodzielnie hostowany harness (domyślne podejście w tym przewodniku) | Zarządzany harness (Claude Managed Agents / OpenAI Agents SDK) |
|---|---|---|
| Obciążenie operacyjne | Wszystkie elementy działają w infrastrukturze użytkownika | Dostawca obsługuje pętlę, sandbox i stan |
| Możliwości dostosowania | Pełne — własne hooks, skills i pamięć | Ograniczone — punkty rozszerzeń zdefiniowane przez dostawcę |
| Model kosztowy | Tokeny + własne zasoby obliczeniowe | Tokeny + dopłata za godzinę działania |
| Trwałość stanu | Należy ją zaprojektować | Dostawca tworzy punkty kontrolne na wypadek utraty połączenia |
| Orkiestracja zespołu agentów | Należy zbudować ją samodzielnie | Dostawca zapewnia koordynację wielu agentów |
Które rozwiązanie wybrać: samodzielny hosting pozostaje właściwym wyborem dla zespołów dysponujących kompetencjami infrastrukturalnymi, chcących kontrolować własne skills/hooks lub gruntownie optymalizujących konkretny przepływ pracy. Rozwiązanie zarządzane sprawdzi się w zespołach bez dedykowanych inżynierów platformowych, gdy szybkość uzyskania wartości jest ważniejsza niż możliwości dostosowania albo gdy uruchomienia agentów muszą niezawodnie przetrwać zamknięcie laptopa bez konieczności samodzielnego budowania warstwy trwałości. Oba podejścia są zgodne — można uruchomić samodzielnie hostowany harness, który deleguje określone długotrwałe zadania do Managed Agents przez REST API.
Jak harness wygląda na dysku
~/.claude/
├── CLAUDE.md # Personal global instructions
├── settings.json # User-level hooks and permissions
├── skills/ # Personal skills (44+)
│ ├── code-reviewer/SKILL.md
│ ├── security-auditor/SKILL.md
│ └── api-designer/SKILL.md
├── agents/ # Custom subagent definitions
│ ├── security-reviewer.md
│ └── code-explorer.md
├── rules/ # Categorized rule files
│ ├── security.md
│ ├── testing.md
│ └── git-workflow.md
├── hooks/ # Hook scripts
│ ├── validate-bash.sh
│ ├── auto-format.sh
│ └── recursion-guard.sh
├── configs/ # JSON configuration
│ ├── recursion-limits.json
│ └── deliberation-config.json
├── state/ # Runtime state
│ ├── recursion-depth.json
│ └── agent-lineage.json
├── handoffs/ # Session handoff documents
│ └── deliberation-prd-7.md
└── projects/ # Per-project memory
└── {project}/memory/MEMORY.md
.claude/ # Project-level (in repo)
├── CLAUDE.md # Project instructions
├── settings.json # Project hooks
├── skills/ # Team-shared skills
├── agents/ # Team-shared agents
└── rules/ # Project rules
Każdy plik w tej strukturze ma określone zadanie. Drzewo ~/.claude/ stanowi osobistą infrastrukturę mającą zastosowanie do wszystkich projektów. Drzewo .claude/ w każdym repozytorium jest właściwe dla danego projektu i współdzielone przez git. Razem tworzą kompletny harness.
System skills
Skills to rozszerzenia uruchamiane przez model. Claude wykrywa je i stosuje automatycznie na podstawie kontekstu, bez konieczności ich jawnego wywoływania.4 Gdy zauważą Państwo, że po raz kolejny wyjaśniają ten sam kontekst w różnych sesjach, warto utworzyć skill.
Kiedy utworzyć skill
| Sytuacja | Należy utworzyć… | Dlaczego |
|---|---|---|
| W każdej sesji wklejana jest ta sama lista kontrolna | Skill | Wiedza dziedzinowa aktywowana automatycznie |
| Jawnie uruchamiana jest ta sama sekwencja poleceń | Polecenie slash | Działanie wywoływane przez użytkownika za pomocą przewidywalnego wyzwalacza |
| Potrzebna jest odizolowana analiza, która nie powinna zaśmiecać kontekstu | Subagent | Oddzielne okno kontekstu do pracy wymagającej skupienia |
| Potrzebny jest jednorazowy prompt ze szczegółowymi instrukcjami | Nic | Wystarczy go wpisać. Nie wszystko wymaga abstrakcji. |
Skills służą do przechowywania wiedzy, którą Claude ma zawsze do dyspozycji. Polecenia slash służą do wykonywania działań wywoływanych jawnie. Przy wyborze między tymi rozwiązaniami warto zapytać: „Czy Claude ma stosować to automatycznie, czy to ja mam decydować, kiedy to uruchomić?”.
Tworzenie skill
Skills mogą znajdować się w 4 lokalizacjach — od najszerszego do najwęższego zakresu:4
| Zakres | Lokalizacja | Dotyczy |
|---|---|---|
| Organizacja | Ustawienia zarządzane | Wszystkich użytkowników w organizacji |
| Osobisty | ~/.claude/skills/<name>/SKILL.md |
Wszystkich Państwa projektów |
| Projekt | .claude/skills/<name>/SKILL.md |
Tylko tego projektu |
| Plugin | <plugin>/skills/<name>/SKILL.md |
Miejsc, w których plugin jest włączony |
Każdy skill wymaga pliku SKILL.md z metadanymi frontmatter w formacie YAML:
---
name: code-reviewer
description: Review code for security vulnerabilities, performance issues,
and best practice violations. Use when examining code changes, reviewing
PRs, analyzing code quality, or when asked to review, audit, or check code.
allowed-tools: Read, Grep, Glob
---
# Code Review Expertise
## Security Checks
When reviewing code, verify:
### Input Validation
- All user input sanitized before database operations
- Parameterized queries (no string interpolation in SQL)
- Output encoding for rendered HTML content
### Authentication
- Session tokens validated on every protected endpoint
- Permission checks before data mutations
- No hardcoded credentials or API keys in source
Opis pól frontmatter
| Pole | Wymagane | Przeznaczenie |
|---|---|---|
name |
Tak | Unikatowy identyfikator (małe litery, łączniki, maks. 64 znaki) |
description |
Tak | Wyzwalacz wykrywania (maks. 1024 znaki). Claude używa go do ustalenia, kiedy zastosować skill |
allowed-tools |
Nie | Ogranicza możliwości Claude (np. Read, Grep, Glob do dostępu tylko do odczytu) |
disable-model-invocation |
Nie | Zapobiega automatycznej aktywacji; skill jest aktywowany wyłącznie przez /skill-name |
user-invocable |
Nie | Ustawienie false całkowicie ukrywa skill w menu / |
model |
Nie | Zastępuje model używany po aktywowaniu skill |
context |
Nie | Ustawienie fork uruchamia skill w odizolowanym oknie kontekstu |
agent |
Nie | Uruchamia skill jako subagent z własnym odizolowanym kontekstem |
hooks |
Nie | Definiuje hooks cyklu życia ograniczone do tego skill |
$ARGUMENTS |
Nie | Podstawianie ciągu znaków: zastępowane danymi wejściowymi użytkownika podanymi po /skill-name |
Pole opisu ma kluczowe znaczenie
Na początku sesji Claude Code wyodrębnia wartości name i description każdego skill oraz umieszcza je w kontekście Claude. Po wysłaniu wiadomości Claude korzysta z wnioskowania modelu językowego, aby ustalić, czy któryś skill jest odpowiedni. Niezależna analiza kodu źródłowego Claude Code potwierdza ten mechanizm: opisy skills są umieszczane w sekcji available_skills promptu systemowego, a model wybiera odpowiednie skills za pomocą standardowego rozumienia języka.10
Nieprawidłowy opis:
description: Helps with code
Skuteczny opis:
description: Review code for security vulnerabilities, performance issues,
and best practice violations. Use when examining code changes, reviewing
PRs, analyzing code quality, or when asked to review, audit, or check code.
Skuteczny opis zawiera: wykonywane działanie (przegląd kodu pod kątem konkretnych rodzajów problemów), sytuacje, w których należy go użyć (analiza zmian, PR-ów i jakości), oraz frazy wyzwalające (przegląd, audyt, kontrola), które użytkownicy wpisują w naturalny sposób.
Warto pamiętać, że automatyczna aktywacja jest regulowanym ustawieniem, a nie niezmienną zasadą: od wersji v2.1.215 Claude nie uruchamia już samodzielnie wbudowanych skills /verify i /code-review — działają one wyłącznie po jawnym wywołaniu. To celowe wycofanie się z aktywacji sterowanej opisem w przypadku rozbudowanych skills do przeglądu, których nieproszone uruchamianie kosztowało więcej, niż przynosiło korzyści.74
Budżet kontekstu
Wszystkie opisy skills współdzielą budżet kontekstu, który skaluje się dynamicznie do 1% okna kontekstu, z wartością zapasową wynoszącą 8 000 znaków.4 Jeśli skills jest wiele, każdy opis powinien być zwięzły, a najważniejszy przypadek użycia należy umieścić na początku. Budżet można zastąpić za pomocą zmiennej środowiskowej SLASH_COMMAND_TOOL_CHAR_BUDGET,11 jednak lepszym rozwiązaniem są krótsze i precyzyjniejsze opisy. Aby sprawdzić, czy jakieś skills zostały wykluczone, należy uruchomić /context podczas sesji.
Pliki pomocnicze i organizacja
Skills mogą odwoływać się do dodatkowych plików znajdujących się w tym samym katalogu:
~/.claude/skills/code-reviewer/
├── SKILL.md # Required: frontmatter + core expertise
├── SECURITY_PATTERNS.md # Referenced: detailed vulnerability patterns
└── PERFORMANCE_CHECKLIST.md # Referenced: optimization guidelines
W pliku SKILL.md należy odwoływać się do nich za pomocą linków względnych. Claude odczytuje te pliki na żądanie po aktywowaniu skill. Plik SKILL.md powinien mieć mniej niż 500 wierszy, a szczegółowe materiały referencyjne należy przenieść do plików pomocniczych.12
Udostępnianie skills przez Git
Skills projektu (.claude/skills/ w katalogu głównym repozytorium) są udostępniane za pośrednictwem systemu kontroli wersji:4
mkdir -p .claude/skills/domain-expert
# ... write SKILL.md ...
git add .claude/skills/
git commit -m "feat: add domain-expert skill for payment processing rules"
git push
Gdy członkowie zespołu pobiorą zmiany, automatycznie otrzymają również skill. Bez instalacji i bez konfiguracji. To najskuteczniejszy sposób ujednolicania wiedzy specjalistycznej w całym zespole.
Skills jako biblioteka promptów
Poza skills o pojedynczym przeznaczeniu struktura katalogów może pełnić funkcję uporządkowanej biblioteki promptów:
~/.claude/skills/
├── code-reviewer/ # Activates on: review, audit, check
├── api-designer/ # Activates on: design API, endpoint, schema
├── sql-analyst/ # Activates on: query, database, migration
├── deploy-checker/ # Activates on: deploy, release, production
└── incident-responder/ # Activates on: error, failure, outage, debug
Każdy skill koduje inny aspekt Państwa wiedzy specjalistycznej. Razem tworzą bazę wiedzy, z której Claude korzysta automatycznie, zależnie od kontekstu. Młodszy programista otrzymuje wskazówki na poziomie starszego specjalisty bez konieczności proszenia o nie.
Łączenie skills z hooks
Skills mogą definiować we frontmatter własne hooks, które są aktywne tylko podczas działania danego skill. Pozwala to tworzyć zachowania właściwe dla danej dziedziny bez zaśmiecania innych sesji:2
---
name: deploy-checker
description: Verify deployment readiness. Use when preparing to deploy,
release, or push to production.
hooks:
PreToolUse:
- matcher: Bash
hooks:
- type: command
command: "bash -c 'INPUT=$(cat); CMD=$(echo \"$INPUT\" | jq -r \".tool_input.command\"); if echo \"$CMD\" | grep -qE \"deploy|release|publish\"; then echo \"DEPLOYMENT COMMAND DETECTED. Running pre-flight checks.\" >&2; fi'"
---
Skills dotyczące filozofii pracy aktywują się automatycznie za pomocą hooks SessionStart, wprowadzając ograniczenia jakościowe do każdej sesji bez jawnego wywołania. Sam skill stanowi wiedzę. Hook zapewnia egzekwowanie zasad. Razem tworzą warstwę polityk.
Typowe błędy dotyczące skills
Zbyt szerokie opisy. Skill git-rebase-helper, który aktywuje się przy każdym prompcie związanym z gitem (rebase, scalanie, cherry-pick, a nawet git status), zaśmieca kontekst w 80% sesji. Rozwiązaniem jest zawężenie opisu albo dodanie disable-model-invocation: true i wymaganie jawnego wywołania /skill-name.4
Zbyt wiele skills konkurujących o budżet. Większa liczba skills oznacza więcej opisów konkurujących o 1% budżetu kontekstu. Jeśli skills przestają się aktywować, należy sprawdzić w /context, które z nich zostały wykluczone. Lepiej postawić na mniejszą liczbę dobrze opisanych skills niż na wiele nieprecyzyjnych.
Kluczowe informacje ukryte w plikach pomocniczych. Claude odczytuje SKILL.md natychmiast, ale uzyskuje dostęp do plików pomocniczych tylko w razie potrzeby. Jeśli kluczowe informacje znajdują się w pliku pomocniczym, Claude może ich nie znaleźć. Najważniejsze informacje należy umieszczać bezpośrednio w SKILL.md.4
Powierzchnia skills w SDK (8 maja 2026)
Samodzielnie hostowane harnesses korzystające z claude-agent-sdk-python v0.1.77+ powinny deklarować dostępne skills za pomocą opcji skills w ClaudeAgentOptions, a nie przestarzałej wartości "Skill" w allowed_tools.37 Skrót "Skill" jest przestarzały, natomiast dedykowana opcja przekazuje Claude Code bardziej uporządkowane informacje o dostępnych skills. Wersja v0.1.77 zawiera CLI v2.1.133.
Ujednolicenie plugins i skills w .claude/skills/ (29 maja 2026)
Skills od zawsze były ładowane z katalogu projektu .claude/skills/. Claude Code v2.1.157 rozszerza obsługę tego katalogu na plugins: plugin umieszczony w .claude/skills/ jest teraz ładowany automatycznie, bez rejestracji w marketplace, a polecenie claude plugin init <name> tworzy tam nowy szkielet wraz z poprawnie połączonymi manifestem i SKILL.md.58 Zamyka to lukę między 2 formami narzędzi projektowych, które wcześniej znajdowały się w różnych miejscach — prostym skill zapisanym bezpośrednio w repozytorium a plugin, który łączy skill, hooks oraz serwer MCP, lecz wcześniej wymagał instalacji przez marketplace. Praktyczny skutek dla projektowania harness: narzędzia o zakresie projektowym nie muszą już trafiać do rejestru przed udostępnieniem — wystarczy je utworzyć i zatwierdzić w repozytorium, a członkowie zespołu otrzymają tę samą powierzchnię po wykonaniu git pull. Plugins nadal obsługują przypadki wymagające instalowalnego pakietu (hooks + skills + serwery MCP + agenci w jednym pliku ZIP); zmiana polega na tym, że projekt nie musi już uruchamiać marketplace wyłącznie po to, aby załadować plugin z własnego drzewa katalogów.
Ukrywanie wbudowanej powierzchni jako mechanizm zarządzania (8 czerwca 2026)
Skills zapewniają możliwości, a możliwości tworzą powierzchnię ataku. Claude Code v2.1.169 dodaje ustawienie disableBundledSkills (oraz odpowiadającą mu zmienną środowiskową CLAUDE_CODE_DISABLE_BUNDLED_SKILLS), które całkowicie ukrywa przed modelem wbudowane skills, przepływy pracy i polecenia slash.60 W utwardzonym lub regulowanym harness jest to celowe ograniczenie powierzchni ataku: operator, który przeprowadził audyt i zatwierdził określony zestaw skills projektowych oraz osobistych, może wyłączyć wszystko, co Anthropic dostarcza w standardzie, dzięki czemu model będzie analizował wyłącznie powierzchnię zweryfikowaną przez operatora. Należy traktować to tak samo jak listę dozwolonych narzędzi — domyślna konfiguracja oferuje szerokie możliwości, a jej wyłączenie jest decyzją dotyczącą zarządzania, nie przełącznikiem wygody.
Zagnieżdżone .claude/skills i rozstrzyganie według najbliższej lokalizacji (16 czerwca 2026)
W wersji Claude Code v2.1.178 narzędzia projektowe stały się świadome lokalizacji. Skills w zagnieżdżonych katalogach .claude/skills są teraz ładowane podczas pracy nad plikami znajdującymi się w danym katalogu, a nie wyłącznie z katalogu głównego repozytorium; w przypadku konfliktu nazw zagnieżdżony skill jest wyświetlany jako <dir>:<name>, dzięki czemu oba pozostają dostępne.63 Ta sama wersja sprawiła, że pozostała powierzchnia projektu jest rozstrzygana według odległości od katalogu roboczego: gdy nazwa agenta, przepływu pracy lub stylu wyjściowego koliduje w zagnieżdżonych katalogach .claude/, pierwszeństwo ma element znajdujący się najbliżej katalogu roboczego, a zapis przepływu pracy o zakresie projektowym trafia do najbliższego istniejącego katalogu .claude/workflows/, zamiast zawsze do katalogu głównego.63 W monorepo lub repozytorium zagnieżdżającym inne repozytoria oznacza to różnicę między jedną płaską, globalną powierzchnią a narzędziami poszczególnych pakietów, które aktywują się zależnie od kontekstu — katalog services/api/.claude/skills/ może zawierać skills właściwe dla API, widoczne wyłącznie podczas pracy w tym drzewie, bez konfliktu ze skill o tej samej nazwie w services/web/.
Architektura hooks
Hooks to polecenia powłoki wyzwalane przez zdarzenia cyklu życia Claude Code.3 Działają poza LLM jako zwykłe skrypty, a nie prompty interpretowane przez model. Model chce uruchomić rm -rf /? Dziesięciowierszowy skrypt bash sprawdza polecenie względem listy blokowanych operacji i odrzuca je, zanim jeszcze trafi ono do powłoki. Hook uruchamia się niezależnie od tego, czy model tego chce.
Dostępne zdarzenia
W chwili aktualizacji tego przewodnika Claude Code udostępnia 30 udokumentowanych zdarzeń cyklu życia w ośmiu kategoriach. Lista zdarzeń rozszerza się wraz z kolejnymi wydaniami, dlatego dokumentację referencyjną należy traktować jako źródło prawdy, a przed skonfigurowaniem produkcyjnych hooks warto sprawdzić ściągę, która zawiera aktualną, pełną tabelę:13
| Kategoria | Zdarzenia | Może blokować? |
|---|---|---|
| Sesja | SessionStart, Setup, SessionEnd |
Nie |
| Użytkownik / ukończenie | UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle |
Prompt, rozwinięcie, zatrzymanie i bezczynność mogą blokować; StopFailure nie może |
| Narzędzie | PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch |
Zdarzenia wstępne, uprawnień i przetwarzania wsadowego mogą blokować; zdarzenia końcowe nie mogą |
| Subagent / zadanie | SubagentStart, SubagentStop, TaskCreated, TaskCompleted |
Zdarzenia zatrzymania i zadań mogą blokować; zdarzenie uruchomienia nie może |
| Kontekst | PreCompact, PostCompact, InstructionsLoaded |
PreCompact może blokować; zdarzenia końcowe i wczytywania nie mogą |
| System plików / przestrzeń robocza | CwdChanged, DirectoryAdded, FileChanged, WorktreeCreate, WorktreeRemove |
Tworzenie worktree może blokować; pozostałe zdarzenia nie mogą |
| Konfiguracja / powiadomienie | ConfigChange, Notification |
Zmiany konfiguracji mogą blokować, z wyjątkiem ustawień zasad; powiadomienia nie mogą |
| MCP | Elicitation, ElicitationResult |
Tak |
Dwa niedawne udoskonalenia są istotne dla działających w tle i wieloagentowych harnesses. Od wersji v2.1.198 sesje claude agents działające w tle wywołują hook Notification z wartościami wyzwalacza agent_needs_input oraz agent_completed, dzięki czemu koordynator może zareagować natychmiast, gdy członek floty zatrzyma się, oczekując na prompt, albo zakończy pracę — jest to oparty na powiadomieniach odpowiednik odpytywania claude agents --json. Z kolei od wersji v2.1.199 hooks SessionStart, Setup i SubagentStart udostępniają stderr po zakończeniu z kodem 2 (wcześniej te dane wyjściowe były po cichu odrzucane), dzięki czemu kończący się niepowodzeniem hook uruchomienia lub startu subagent wyjaśnia teraz przyczynę problemu, zamiast zawodzić bez żadnej informacji. |
DirectoryAdded (v2.1.219) eliminuje lukę dotyczącą przestrzeni roboczej w trakcie sesji. Lista zdarzeń pozostawała niezmieniona od wprowadzenia MessageDisplay w wersji v2.1.152; DirectoryAdded jest pierwszym nowym zdarzeniem cyklu życia od tamtej pory i uruchamia się po zarejestrowaniu nowego katalogu roboczego w trakcie sesji za pomocą /add-dir lub żądania sterującego register_repo_root pochodzącego z SDK.84 Luka, którą eliminuje, jest istotna: dotychczas harness mógł szczegółowo zweryfikować przestrzeń roboczą podczas SessionStart, po czym do sesji można było dołączyć drugie repozytorium bez wywołania jakiegokolwiek hook. Wszystkie założenia dotyczące przestrzeni roboczej sprawdzane podczas uruchamiania — kontrole zaufania, skanowanie w poszukiwaniu sekretów, reguły zakresu ścieżek wyprowadzone ze struktury drzewa, wczytywanie zasad dla poszczególnych repozytoriów — należy sprawdzić ponownie w tym miejscu, ponieważ zestaw katalogów sesji nie jest już niezmienny od chwili jej uruchomienia. Zdarzenie ma charakter informacyjny, a nie blokujący, dlatego należy traktować je jako sygnał do ponownego wyznaczenia stanu i zapisania pochodzenia, nie jako gate; jeżeli dodanie określonego katalogu ma być zawsze zabronione, należy odmówić dostępu w ustawieniach, zamiast próbować zawetować tę operację za pomocą hook. Obsługa po stronie SDK pojawiła się w tym samym wydaniu (TypeScript v0.3.219 dodaje DirectoryAdded do zdarzeń cyklu życia protokołu sterującego), dzięki czemu harnesses hostowane w SDK obsługują je na takich samych zasadach jak te hostowane w CLI.85
Znaczenie kodów wyjścia
Kody wyjścia określają, czy hooks blokują działania:3
| Kod wyjścia | Znaczenie | Działanie |
|---|---|---|
| 0 | Powodzenie | Operacja jest kontynuowana. Stdout jest wyświetlany w trybie szczegółowym. |
| 2 | Błąd blokujący | Operacja zostaje zatrzymana. Stderr staje się komunikatem o błędzie przekazywanym do Claude. |
| 1, 3 itd. | Błąd nieblokujący | Operacja jest kontynuowana. Stderr jest wyświetlany wyłącznie w trybie szczegółowym (Ctrl+O). |
Krytycznie ważne: Każdy hook zabezpieczający musi używać exit 2, a nie exit 1. Kod wyjścia 1 oznacza nieblokujące ostrzeżenie. Niebezpieczne polecenie i tak zostanie wykonane. To najczęstszy błąd popełniany przez zespoły podczas tworzenia hooks.14 |
Konfiguracja hooks
Hooks znajdują się w plikach ustawień. Hooks współdzielone należy umieszczać na poziomie projektu (.claude/settings.json), a osobiste — na poziomie użytkownika (~/.claude/settings.json):
{
"hooks": {
"PreToolUse": [
{
"matcher": "Bash",
"hooks": [
{
"type": "command",
"command": ".claude/hooks/validate-bash.sh"
}
]
}
],
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; fi'"
}
]
}
]
}
}
Pole matcher filtruje wartość właściwą dla danego zdarzenia. W przypadku zdarzeń narzędzi dopasowuje wartości tool_name, takie jak Bash, Edit, Write, Read, Glob, Grep, nazwy narzędzi MCP, np. mcp__server__tool, albo * oznaczającą wszystkie narzędzia. Proste nazwy i listy rozdzielone znakiem | są dopasowywane dokładnie; wartości zawierające inne znaki są wyrażeniami regularnymi JavaScript. Niektóre zdarzenia nie obsługują matcherów i po skonfigurowaniu uruchamiają się zawsze.13 Od wersji Claude Code v2.1.195 matchery zawierające identyfikatory z łącznikami (code-reviewer, mcp__brave-search) są dopasowywane dokładnie, zamiast przypadkowo dopasowywać podciągi — hook przeznaczony dla jednego agenta lub serwera nie uruchamia się już dla każdej nazwy, która jedynie zawiera dany ciąg znaków; aby objąć wszystkie narzędzia z serwera MCP o nazwie zawierającej łącznik, należy podać jawny wzorzec mcp__brave-search__.*.66 W wersji v2.1.214 tę samą dyscyplinę zastosowano do wzorców ścieżek: warunek if: hook korzystający z jednosegmentowego wzorca dir/** dopasowuje teraz wyłącznie <cwd>/dir, a nie każdy katalog o nazwie dir w dowolnym miejscu drzewa — gdy rzeczywiście chodzi o dowolną głębokość, należy użyć **/dir/**.74 Podobnie jak zmiana z wersji v2.1.195, ta poprawka zastępuje przypadkowo szeroki zakres jawnie zadeklarowaną intencją; należy skontrolować wszystkie warunki hooks, które niejawnie polegały na wcześniejszym zachowaniu obejmującym dowolną głębokość.
Protokół wejścia/wyjścia hooks
Hooks otrzymują na stdin dane JSON z pełnym kontekstem:
{
"tool_name": "Bash",
"tool_input": {
"command": "npm test",
"description": "Run test suite"
},
"session_id": "abc-123",
"agent_id": "main",
"agent_type": "main"
}
Aby uzyskać zaawansowaną kontrolę, hooks PreToolUse mogą zwracać dane JSON, by zmodyfikować dane wejściowe narzędzia, wstrzyknąć kontekst lub podejmować decyzje dotyczące uprawnień. Należy używać opakowania hookSpecificOutput — starszy format najwyższego poziomu decision/reason jest przestarzały w przypadku PreToolUse:
{
"hookSpecificOutput": {
"hookEventName": "PreToolUse",
"permissionDecision": "allow",
"permissionDecisionReason": "Command validated and modified",
"updatedInput": {
"command": "npm test -- --coverage --ci"
},
"additionalContext": "Note: This database has a 5-second query timeout."
}
}
Trzy rodzaje gwarancji
Przed utworzeniem jakiegokolwiek hook należy zapytać: jakiego rodzaju gwarancji potrzebuję?14
Gwarancje formatowania zapewniają spójność po wykonaniu operacji. Hooks PostToolUse dla Write/Edit uruchamiają formatter po każdej zmianie pliku. Dane wyjściowe modelu nie mają znaczenia, ponieważ formatter wszystko normalizuje.
{
"hooks": {
"PostToolUse": [
{
"matcher": "Write|Edit",
"hooks": [
{
"type": "command",
"command": "bash -c 'if [[ \"$FILE_PATH\" == *.py ]]; then black --quiet \"$FILE_PATH\" 2>/dev/null; elif [[ \"$FILE_PATH\" == *.js ]] || [[ \"$FILE_PATH\" == *.ts ]]; then npx prettier --write \"$FILE_PATH\" 2>/dev/null; fi'"
}
]
}
]
}
}
Gwarancje bezpieczeństwa zapobiegają niebezpiecznym działaniom przed ich wykonaniem. Hooks PreToolUse dla Bash sprawdzają polecenia i blokują destrukcyjne wzorce za pomocą kodu wyjścia 2:
#!/bin/bash
# validate-bash.sh — block dangerous commands
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')
if echo "$CMD" | grep -qE "rm\s+-rf\s+/|git\s+push\s+(-f|--force)\s+(origin\s+)?main|git\s+reset\s+--hard|DROP\s+TABLE"; then
echo "BLOCKED: Dangerous command detected: $CMD" >&2
exit 2
fi
Gwarancje jakości weryfikują stan w punktach decyzyjnych. Hooks PreToolUse dla poleceń git commit uruchamiają linter lub zestaw testów i blokują commit, jeśli kontrole jakości zakończą się niepowodzeniem:
#!/bin/bash
# quality-gate.sh — lint before commit
INPUT=$(cat)
CMD=$(echo "$INPUT" | jq -r '.tool_input.command')
if echo "$CMD" | grep -qE "^git\s+commit"; then
if ! LINT_OUTPUT=$(ruff check . --select E,F,W 2>&1); then
echo "LINT FAILED -- fix before committing:" >&2
echo "$LINT_OUTPUT" >&2
exit 2
fi
fi
Typy hooks inne niż polecenia powłoki
Claude Code obsługuje pięć typów hooks:13
Command hooks (type: "command") uruchamiają skrypty powłoki. Są szybkie, deterministyczne i nie zużywają tokenów.
MCP tool hooks (type: "mcp_tool") wywołują narzędzie na już połączonym serwerze MCP. Należy ich używać, gdy logika walidacji znajduje się już za granicą MCP i nie wymaga osobnego skryptu powłoki.
Prompt hooks (type: "prompt") wysyłają jednorazowy prompt do szybkiego modelu Claude. Model zwraca { "ok": true }, aby zezwolić na operację, lub { "ok": false, "reason": "..." }, aby ją zablokować. Sprawdzają się przy złożonych ocenach, których nie da się wyrazić za pomocą wyrażeń regularnych.
Agent hooks (type: "agent") uruchamiają subagent z dostępem do narzędzi (Read, Grep, Glob) w celu przeprowadzenia wieloetapowej weryfikacji. Są eksperymentalne; w bramkach produkcyjnych lepiej stosować command hooks, a agent hooks zarezerwować dla kontroli, które rzeczywiście wymagają sprawdzenia konkretnych plików lub wyników testów:
{
"hooks": {
"Stop": [
{
"hooks": [
{
"type": "agent",
"prompt": "Verify all unit tests pass. Run the test suite and check results. $ARGUMENTS",
"timeout": 120
}
]
}
]
}
}
Od wersji Claude Code v2.1.140 dane wejściowe agent hook zawierają subagent_type, dzięki czemu współdzielony hook może odróżnić uruchomienie security-reviewer od explorer lub standardowego worker bez zgadywania na podstawie treści promptu.49
HTTP hooks (type: "http") wysyłają dane wejściowe zdarzenia w formacie JSON jako żądanie POST pod wskazany URL i otrzymują w odpowiedzi dane JSON. Należy ich używać do webhooków, zewnętrznych usług powiadomień lub walidacji opartej na API (v2.1.63+). Nie są obsługiwane dla zdarzeń SessionStart:
{
"hooks": {
"PostToolUse": [
{
"hooks": [
{
"type": "http",
"url": "https://your-webhook.example.com/hook",
"headers": { "Authorization": "Bearer $WEBHOOK_TOKEN" },
"allowedEnvVars": ["WEBHOOK_TOKEN"],
"timeout": 10
}
]
}
]
}
}
Asynchroniczne hooks
Hooks mogą działać w tle bez blokowania wykonywania. W przypadku operacji niekrytycznych, takich jak powiadomienia i rejestrowanie zdarzeń, należy dodać async: true:13
{
"type": "command",
"command": ".claude/hooks/notify-slack.sh",
"async": true
}
Trybu asynchronicznego należy używać do powiadomień, telemetrii i kopii zapasowych. Nie wolno go stosować do formatowania, walidacji ani żadnych operacji, które muszą zakończyć się przed następnym działaniem.
Dispatchers zamiast niezależnych hooks
Uruchomienie siedmiu hooks reagujących na to samo zdarzenie, z których każdy niezależnie odczytuje stdin, prowadzi do sytuacji wyścigu. Dwa hooks zapisujące równocześnie do tego samego pliku stanu JSON spowodują obcięcie danych JSON. W rezultacie każdy kolejny hook analizujący ten plik przestanie działać.2
Rozwiązaniem jest jeden dispatcher na każde zdarzenie, który uruchamia hooks sekwencyjnie, korzystając z danych stdin zapisanych w pamięci podręcznej:
#!/bin/bash
# dispatcher.sh — run hooks sequentially with cached stdin
INPUT=$(cat)
HOOK_DIR="$HOME/.claude/hooks/pre-tool-use.d"
for hook in "$HOOK_DIR"/*.sh; do
[ -x "$hook" ] || continue
echo "$INPUT" | "$hook"
EXIT_CODE=$?
if [ "$EXIT_CODE" -eq 2 ]; then
exit 2 # Propagate block
fi
done
Debugowanie hooks
Pięć technik debugowania hooks, które zawodzą bez widocznego błędu:14
- Testować skrypty niezależnie. Przekazać przykładowe dane JSON przez potok:
echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh - Używać stderr do danych diagnostycznych. Dane stderr przy kodzie wyjścia 2 są przekazywane z powrotem do Claude jako komunikat o błędzie. Nieblokujące dane stderr (kod wyjścia 1, 3 itd.) są widoczne tylko w trybie szczegółowym (Ctrl+O).
- Uważać na błędy jq. Nieprawidłowe ścieżki JSON zwracają po cichu
null. Wyrażeniajqnależy testować na rzeczywistych danych wejściowych narzędzia. - Sprawdzać kody wyjścia. PreToolUse hook korzystający z
exit 1nie wymusza żadnych ograniczeń, choć może sprawiać wrażenie działającego. - Dbać o szybkość hooks. Hooks działają synchronicznie. Każdy hook powinien kończyć działanie w czasie krótszym niż 2 sekundy, a najlepiej poniżej 500 ms.
Strumieniowanie zdarzeń hooks po stronie SDK
Samodzielnie hostowane harnesses zbudowane na claude-agent-sdk-python (v0.1.74+, 6 maja 2026) mogą subskrybować zdarzenia hooks bezpośrednio ze strumienia komunikatów, zamiast korzystać z wywołań zwrotnych skryptów powłoki.36 Należy ustawić include_hook_events=True w ClaudeAgentOptions, a obiekty HookEventMessage (PreToolUse, PostToolUse, Stop i inne) będą zwracane z tego samego iteratora co komunikaty asystenta i wyniki narzędzi. Odpowiada to opcji includeHookEvents w TypeScript SDK; w tym samym wydaniu dołączony CLI zaktualizowano do wersji v2.1.129.
Wzorzec strumienia zdarzeń jest właściwym wyborem, gdy harness działa już w Python i sygnały hooks mają trafiać do tego samego przepływu sterowania co dane wyjściowe modelu. Kontrakt hooks opartych na skryptach powłoki (kody wyjścia, dane JSON ze stdin, dispatchers) pozostaje właściwym rozwiązaniem dla harnesses, które łączą wiele narzędzi, współdzielą hooks między Claude Code a Codex lub wymagają semantyki kodów wyjścia do blokowania operacji.
Seria wydań TypeScript SDK z lipca 2026 (v0.3.205–v0.3.208) nadała również bardziej kontraktowy charakter samemu protokołowi strumieniowemu.70 Przerwania zwracają teraz typowane potwierdzenia: potwierdzenie przerwania wskazuje za pomocą identyfikatorów UUID still_queued, które komunikaty nadal oczekują w kolejce, a sesje ogłaszają funkcję interrupt_receipt_v1 w system/init. Dzięki temu koordynator może odróżnić sytuację, w której „przerwanie zostało przyjęte”, od sytuacji, w której „przerwanie minęło się z komunikatem będącym już w trakcie przetwarzania”. Ramki command_lifecycle raportują dla każdego komunikatu stany queued/started/completed/cancelled/discarded — to pierwsza natywna odpowiedź na pytanie „co stało się z wysłanym komunikatem”, niewymagająca wnioskowania z transkrypcji. Dodano także mniejsze elementy: typ AgentToolCompletedOutput dla danych ukończenia subagent oraz możliwość zwracania przez wywołania zwrotne canUseTool wartości {behavior: 'allow'} bez pola updatedInput.
Jedna pozycja w tej serii wyznacza minimalny poziom bezpieczeństwa, a nie nową funkcję: w wersji v0.3.208 naprawiono błąd, przez który przerwanie wywołane podczas oczekiwania na hook było interpretowane jako pomyślne wykonanie hook — w efekcie narzędzie kontrolowane przez PreToolUse hook mogło zostać uruchomione po przerwaniu przez wywołującego.70 Jeżeli harness używa hooks po stronie SDK jako bramki uprawnień i polega na przerwaniu w celu anulowania trwających operacji, wersję v0.3.208 należy traktować jako minimalną; we wcześniejszych wersjach „przerwane” nie oznaczało niezawodnie „zablokowane”. Python v0.2.127 (24 lipca 2026) to drugi w ciągu miesiąca przypadek obejścia zabezpieczeń według tego schematu — query() zamykało stdin po pierwszej ramce result, gdy subagents w tle nadal działały, przez co ich wywołania narzędzi SDK-MCP kończyły się błędem "Stream closed" i całkowicie omijały PreToolUse hooks.85 Warto nazwać ten wzorzec i go monitorować: egzekwowanie reguł przez hooks po stronie SDK zawodzi w sposób otwarty na granicach cyklu życia — podczas przerwania, zamykania lub zamknięcia strumienia — gdy transport przestaje działać przed odebraniem werdyktu hook. Co gorsza, dzieje się to bez widocznego sygnału, ponieważ pominięty hook wygląda dokładnie tak samo jak hook, który wyraził zgodę. Należy przypiąć minimalne wersje obu SDK i zachować warstwę shell hooks jako mechanizm egzekwowania, którego działanie można udowodnić.
Poziom effort i pochodzenie sesji (7–8 maja 2026)
Dwa dodatki w Claude Code v2.1.132 i v2.1.133 zapewniają hooks i podprocesom lepsze informacje o kontekście wykonywania:3839
effort.levelw danych wejściowych hook. Hooks otrzymują teraz pole JSONeffort.levelw tych samych danych wejściowych, które zawierajątool_inputisession_id. Ta sama wartość jest eksportowana jako zmienna środowiskowa$CLAUDE_EFFORT, dzięki czemu polecenia Bash mogą ją odczytać bez analizowania danych JSON. Pozwala to dostosować koszt hook do poziomu effort: pominąć kosztowną walidację przylow, a uruchomić pełną bramkę bezpieczeństwa przyxhighlubmax.- Zmienna środowiskowa
CLAUDE_CODE_SESSION_IDw podprocesach Bash. Podprocesy narzędzia Bash otrzymują teraz tę samą wartośćsession_id, którą widzą hooks, udostępnioną jakoCLAUDE_CODE_SESSION_ID. Eliminuje to lukę w identyfikowaniu pochodzenia zdarzeń przez narzędzia, które rejestrują stan osobno dla każdej sesji, a wcześniej nie mogły powiązać zdarzeń podprocesów ze zdarzeniami hooks.
Oba sygnały są dostępne bez zmian w kodzie; istniejące hooks, które ignorują nowe pola, nadal działają.
autoMode.hard_deny oraz poprawki hooks i pluginów w wersji v2.1.136 (8 maja 2026)
W wersji Claude Code v2.1.136 dodano nowy poziom bezwzględnej odmowy do trybu automatycznego oraz usunięto zestaw problemów z pluginami i MCP, które wpływały na długotrwałe działanie harnesses:40
- settings.autoMode.hard_deny. Reguły klasyfikatora trybu automatycznego, które blokują bezwarunkowo, niezależnie od intencji użytkownika lub wyjątków zezwalających. Mechanizm ten znajduje się ponad istniejącymi regułami dopasowania zezwoleń i odmów, stanowiąc niepodważalny instrument nadzoru. Należy go używać do reguł, których nigdy nie wolno omijać (wymuszone wypychanie zmian do gałęzi main, pliki zawierające dane poufne, dostęp do produkcyjnej bazy danych), nawet jeśli operator zatwierdził szerszą kategorię w swoich ustawieniach osobistych.
- autoMode.classifyAllShell (v2.1.193). Domyślnie klasyfikator trybu automatycznego sprawdza jedynie polecenia powłoki pasujące do wzorców wykonywania dowolnego kodu. To ustawienie kieruje każde polecenie Bash/PowerShell do klasyfikatora — jest to podejście zapewniające maksymalny zakres kontroli w zarządzanym harness — a ta sama wersja udostępnia powody odmowy w transkrypcji, powiadomieniu i /permissions, dzięki czemu ciche blokady stają się decyzjami podlegającymi audytowi. W wersji v0.142.2 Codex zaostrzył zasady dotyczące analogicznego mechanizmu: polecenia PowerShell zawierające wykonywalne regiony AST, których klasyfikator bezpieczeństwa nie może sprawdzić, wymagają teraz zatwierdzenia, zamiast przechodzić bez ostrzeżenia.66
- Hook ask wyznacza dolną granicę decyzji klasyfikatora (v2.1.211). Rozstrzygnięto już kwestię pierwszeństwa hook względem trybu automatycznego: hook PreToolUse, który zwraca decyzję uprawnień ask, ustala jako minimalny wynik końcowy wyświetlenie monitu — tryb automatyczny nie może ponownie zmienić tej decyzji na zezwolenie w przypadku poleceń Bash wykonywanych poza sandboxem.69 W zarządzanym harness jest to brakujący poziom gwarancji: ask zwrócone przez hook stanowi deterministyczny punkt zatrzymania wymagający udziału człowieka, który pozostaje aktywny nawet przy w pełni automatycznym podejściu do uprawnień. W przypadku operacji, dla których potrzebna jest decyzja człowieka, a nie odmowa, należy używać ask (zamiast polegać wyłącznie na blokadach z kodem wyjścia 2).
- Model klasyfikatora jest przypisany na czas sesji (v2.1.210). Klasyfikator trybu automatycznego domyślnie korzysta z modelu Sonnet 5, który zostaje przypisany na czas sesji, dlatego zmiana modelu w jej trakcie nie wpływa już na to, który model klasyfikuje uprawnienia.69 Spójność klasyfikacji jest właściwością mechanizmu nadzoru; ta zmiana usuwa trudno zauważalne źródło rozbieżności.
- Serwery MCP nie znikają już po /clear. Serwery skonfigurowane w .mcp.json, wtyczkach i konektorach claude.ai były bez ostrzeżenia usuwane z aktywnego zestawu po wykonaniu /clear w rozszerzeniu VS Code, wtyczce JetBrains i Agent SDK. Poprawkę wprowadzono w wersji v2.1.136. Jeśli występował problem „serwer MCP X zniknął w trakcie sesji”, właśnie to było jego przyczyną.
- Utrata tokena odświeżania OAuth MCP podczas równoczesnego odświeżania. Użytkownicy korzystający z kilku zdalnych serwerów MCP nie powinni już potrzebować codziennego ponownego uwierzytelniania. Równoczesne operacje zapisu podczas odświeżania nadpisywały się wzajemnie.
- Tryb planowania prawidłowo blokuje teraz zapis plików. Pasująca reguła zezwalająca Edit(...) omijała ochronę przed zapisem w trybie planowania. Tryb planowania jest teraz egzekwowany niezależnie od reguł zezwalających.
- Hook Stop i UserPromptSubmit wtyczek nie przestają już działać w trakcie sesji. Czyszczenie pamięci podręcznej usuwało nadal używane przez aktywną sesję pliki wersji wtyczek, co powodowało awarie właśnie tych dwóch zdarzeń hook. Poprawka zachowuje przypięte wersje będące w użyciu.
- Wpis skills w plugin.json. Ustawienie skills ukrywało domyślny katalog skills/ wtyczki. Obecnie wpis jest prawidłowo łączony z ustawieniem domyślnym, a wskazanie ścieżki do pliku powoduje wyświetlenie jednoznacznego błędu zamiast cichej awarii.
- Dezaktualizacja zmiennych środowiskowych hook SessionStart z CLAUDE_ENV_FILE. Zmienne eksportowane przez hook SessionStart za pośrednictwem CLAUDE_ENV_FILE stawały się nieaktualne po /resume lub /clear. Naprawiono to w wersji v2.1.136. Podczas tych zdarzeń sesje ponownie wczytują teraz plik środowiskowy.
W przypadku harness służących do nadzoru operacyjnie najistotniejsze pozycje to autoMode.hard_deny (nowy instrument) oraz poprawka zapobiegająca znikaniu MCP (cicha awaria, która zakłócała długie sesje). Wszystkie pozostałe zmiany to usprawnienia zwiększające wygodę użytkowania.
Ustrukturyzowane argumenty hook i kontynuowanie po blokadzie (11 maja 2026)
W Claude Code v2.1.139 dodano dwa szczegóły dotyczące hook, które mają znaczenie dla produkcyjnych harness: formę wykonywania hook poleceń args: string[] oraz continueOnBlock dla hook PostToolUse.4244 Gdy hook wymaga wartości dynamicznych lub symboli zastępczych ścieżek, warto używać args. Polecenie jest wówczas uruchamiane bezpośrednio, bez powłoki, co eliminuje całą klasę błędów związanych z cudzysłowami i wstrzykiwaniem poleceń.
Opcji continueOnBlock należy używać, gdy hook PostToolUse ma przekazać Claude powód odrzucenia i kontynuować turę zamiast kończyć przepływ. Należy traktować ją jako funkcję poprawiającą komfort pracy operatora, a nie sposób na obejście zabezpieczeń. Bramka blokująca nadal powinna uniemożliwiać niebezpieczny rezultat.
Ta sama wersja przekazuje CLAUDE_PROJECT_DIR serwerom stdio MCP i pozwala konfiguracjom wtyczek odwoływać się do ${CLAUDE_PROJECT_DIR} w poleceniach.42 Narzędzia MCP powinny rozwiązywać ścieżki względne projektu na podstawie tej wartości, a nie katalogu roboczego procesu, z którego przypadkowo uruchomiono serwer. Wersje z początku lipca 2026 (v2.1.203–v2.1.206) rozszerzyły tę samą zasadę na poziom protokołu: lista MCP roots/list obejmuje teraz dodatkowe katalogi robocze sesji, a po ich zmianie wysyłane są powiadomienia roots/list_changed — dzięki temu serwer respektujący katalogi główne MCP odzwierciedla rzeczywistą strukturę obszaru roboczego obejmującego wiele katalogów, zamiast zakładać istnienie jednego katalogu projektu.68
Claude Code v2.1.140 to przede wszystkim wersja poprawiająca niezawodność z perspektywy operatorów harness: naprawia brak uruchamiania hook ConfigChange po zmianie ustawień, usuwa przypadki brzegowe, w których disableAllHooks i allowManagedHooksOnly nie współdziałały prawidłowo na różnych poziomach ustawień, oraz zapobiega ujawnianiu w oknach dialogowych uprawnień niezamierzonych zmiennych środowiskowych zwracanych przez wyniki hook.49 Dzięki temu istniejące wzorce nadzoru opisane w tej sekcji działają niezawodniej; nowa architektura hook nie jest wymagana.
Claude Code v2.1.141 dodaje do danych wyjściowych hook pole terminalSequence, przeznaczone do obsługi powiadomień na pulpicie, tytułów okien i sygnałów dźwiękowych bez terminala sterującego.50 Należy traktować je jako mechanizm sygnalizowania operatorowi, a nie egzekwowania zasad. Bramy bezpieczeństwa i jakości powinny nadal informować o błędach za pośrednictwem standardowego kontraktu blokującego: ustrukturyzowanych danych wyjściowych hook wraz z zachowaniem przy wyjściu, które zapobiega niebezpiecznej operacji. Ta sama wersja dodaje claude agents --cwd <path> do ograniczania widoku Agent View do jednego katalogu, CLAUDE_CODE_PLUGIN_PREFER_HTTPS do instalowania wtyczek w środowiskach bez kluczy GitHub SSH oraz ANTHROPIC_WORKSPACE_ID do reguł federacji tożsamości obciążeń obejmujących więcej niż jeden obszar roboczy.50 Są to szczegóły architektury zespołowych harness: węższe widoki operacyjne, mniej założeń dotyczących instalacji wtyczek oraz jawne określanie zakresu tokenów korporacyjnych.
Claude Code v2.1.142 ma większe znaczenie dla orkiestracji sesji działających w tle niż dla semantyki hook.51 claude agents może teraz uruchamiać sesje w tle z jawnymi flagami katalogu, ustawień, MCP, wtyczki, uprawnień, modelu i poziomu wysiłku, zamiast polegać na stanie skryptu opakowującego. W tej wersji tryb szybki domyślnie korzystał z Opus 4.7, a CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 pozwalało przypiąć Opus 4.6 w harness, którego zmierzone działanie zależało od zachowania tego modelu — od wersji v2.1.219 Opus 4.7 został całkowicie wycofany z trybu szybkiego, a /fast ma zastosowanie do Opus 5 i Opus 4.8.84 Wykrywanie pliku SKILL.md w katalogu głównym wtyczki oraz widoczność LSP udostępnianego przez wtyczkę ograniczają niejednoznaczności związane z pakowaniem. Poprawki dotyczące MCP_TOOL_TIMEOUT, wcześniej istniejących drzew roboczych sesji w tle, usypiania i wybudzania demona oraz sprzątania po aktualizacji, a także czyszczenia pamięci podręcznej wtyczek usuwają luki w niezawodności, które w przeciwnym razie mogłyby wyglądać na błędy orkiestracji.
Sterowanie przez Stop hook, uprawnienia między sesjami i multi-agent v2 (czerwiec 2026)
Cztery zmiany z początku czerwca mają znaczenie dla projektowania harness i systemów multi-agent.59
Hook Stop/SubagentStop zyskały kanał sterujący. Od wersji Claude Code v2.1.163 hook Stop lub SubagentStop może zwrócić hookSpecificOutput.additionalContext, aby przekazać Claude informację zwrotną i kontynuować turę bez oznaczania odpowiedzi jako błędu hook. Wcześniej jedynym rzeczywistym narzędziem hook Stop była blokada z kodem wyjścia 2, która jest prezentowana jako błąd i wliczana do limitu kolejnych blokad. W przypadku harness z bramą jakości jest to bardziej przejrzysty mechanizm: hook Stop, który wykryje sytuację „zadeklarowano ukończenie, ale testy nie przechodzą”, może teraz przekazać „oto elementy, które nadal nie działają — kontynuuj”, zamiast stosować twardą blokadę. Blokady należy używać w przypadku rzeczywistych warunków zatrzymania, a additionalContext do przekazywania komunikatu „praca nie jest jeszcze ukończona — oto dlaczego”.
Komunikacja między sesjami nie przenosi już zapożyczonych uprawnień. Wersja v2.1.166 wzmocniła zabezpieczenia w scenariuszach wielosesyjnych: wiadomości przekazywane za pośrednictwem SendMessage z innej sesji Claude nie przenoszą już uprawnień użytkownika będącego ich źródłem, dlatego sesja odbierająca odrzuca przekazane żądania uprawnień, a tryb automatyczny je blokuje. Jeśli w ramach orkiestracji agenci komunikują się ze sobą, wiadomość przychodzącą należy traktować jako niezaufane dane, a nie jako uwierzytelnioną instrukcję. Jest to ta sama zasada, którą sekcja dotycząca bezpieczeństwa stosuje do danych wyjściowych narzędzi, rozszerzona na komunikację między agentami. Od wersji v2.1.199 Claude Code wykrywa również i zgłasza ostrzeżenie, gdy SendMessage trafia do niewłaściwego odbiorcy z powodu nadania tej samej nazwy dwóm agentom — stanowi to uzupełnienie granicy uprawnień w zakresie niezawodności, ponieważ wiadomość docierająca do niewłaściwego agenta o tej samej nazwie jest odrębną klasą błędów orkiestracji.
Odporność modelu stała się pełnoprawnym ustawieniem. Ustawienie fallbackModel pozwala teraz utworzyć łańcuch obejmujący maksymalnie 3 modele zapasowe, uruchamiane kolejno, gdy model podstawowy jest przeciążony lub niedostępny. W przypadku nieoczekiwanych, nieponawialnych błędów API dana tura jest automatycznie ponawiana raz z użyciem modelu zapasowego. W długotrwale działającym autonomicznym harnessie oznacza to, że chwilowa awaria modelu podstawowego prowadzi do kontrolowanego ograniczenia możliwości zamiast przerwania całego przebiegu. Polecenie claude agents --json otrzymało również pole waitingFor (v2.1.162), które pokazuje, na co oczekuje zablokowana sesja działająca w tle, na przykład na potwierdzenie uprawnień — to istotna poprawa obserwowalności dla każdego koordynatora monitorującego flotę agentów.
Tryb bezpieczny do zarządzania w środowisku clean-room i rozwiązywania problemów. Claude Code v2.1.169 wprowadza flagę --safe-mode (oraz odpowiadającą jej zmienną środowiskową CLAUDE_CODE_SAFE_MODE), która uruchamia sesję z jednocześnie wyłączonymi wszystkimi dostosowaniami: CLAUDE.md, wtyczkami, skills, hooks i serwerami MCP.60 To przeciwieństwo harnessu — celowo utworzone środowisko clean-room. Pozwala odpowiedzieć na pytanie, które prędzej czy później zadaje sobie każdy operator: „czy to zachowanie wynika z działania modelu, czy z mojej konfiguracji?”. Gdy hook uruchamia się nieprawidłowo, skill aktywuje się w niewłaściwym momencie albo serwer MCP zanieczyszcza kontekst, --safe-mode zapewnia znany, pusty punkt odniesienia, z którym można porównać zachowanie systemu. Jest to również mechanizm zarządzania: sposób na uruchomienie samego modelu bez żadnych trwałych uprawnień, które zwykle nadaje mu harness. Ma to znaczenie, gdy trzeba odtworzyć wynik bez wpływu jakiejkolwiek struktury pomocniczej zdefiniowanej przez operatora.
Uwaga dotycząca poziomów modeli. Od wersji Claude Code v2.1.197 (30 czerwca 2026) Claude Sonnet 5 jest domyślnie dostarczanym modelem dla nowych sesji — oferuje natywny kontekst 1M i promocyjne ceny 2/10 USD za MTok do 31 sierpnia — zastępując Opus 4.8 jako wybór dostępny od razu po instalacji. W tym przewodniku Opus 5 (claude-opus-5) jest zalecanym domyślnym modelem agentowym: to model, na którym warto uruchamiać autonomiczne harnessy, chyba że świadomie wybrano inaczej, ponieważ właśnie w długoterminowych pętlach agentów o wysokiej stawce głębia rozumowania Opus uzasadnia jego koszt. Opus 5 został wydany 24 lipca 2026 jako nowy domyślny Opus w Claude Code v2.1.219 — kontekst 1M, cena 5/25 USD za MTok (taka sama jak zastępowanego Opus 4.8) oraz tryb szybki w cenie 10/50 USD, zapewniający około 2,5-krotnie większą szybkość od trybu domyślnego — a według Anthropic osiąga ponad dwukrotnie lepszy wynik niż Opus 4.8 w Frontier-Bench v0.1 oraz wynik gorszy zaledwie o 0,5% od Fable 5 w CursorBench 3.2, kosztując przy tym o połowę mniej.8487 Ta sama cena, większe możliwości i model, który Anthropic określa jako „znacznie lepszy w weryfikowaniu własnej pracy i starannym iterowaniu”, tworzą rzadki przypadek aktualizacji, której w zastosowaniach harnessowych nie trzeba uzasadniać kosztami; migracja z wersji 4.8 wymaga jedynie zmiany identyfikatora. W przypadku zadań wrażliwych na koszty lub wymagających dużej przepustowości warto przejść na Sonnet 5, gdy przewagę daje jego stosunek szybkości do inteligencji. Powyżej Opus znajduje się Claude Fable 5 (claude-fable-5), wydany 9 czerwca 2026 — nowy poziom opisywany jako najpotężniejszy model Anthropic, system klasy „Mythos” przystosowany do bezpiecznego użytku ogólnego, który można wybrać w Claude Code v2.1.170 za pomocą /model claude-fable-5.60 Po wyższy poziom należy sięgać świadomie, przy decyzjach, w których sama głębia rozumowania uzasadnia koszt, a nie jako po uniwersalne ustawienie dla całej floty. Przejście na Opus 5 ma 2 konsekwencje porządkowe: Opus 4.7 nie jest już dostępny w trybie szybkim (/fast ma teraz zastosowanie do Opus 5 i Opus 4.8), a model zapasowy Fable-5 klasyfikatora trybu automatycznego — „najlepszy dostępny model Opus” od wersji v2.1.176 — wskazuje teraz Opus 5.84
Codex udostępnił multi-agent v2. Codex CLI v0.137.0 pozostawia wybór środowiska uruchomieniowego poszczególnym wątkom, zapewnia przejrzystsze ustawienia domyślne dotyczące dalszych poleceń i metadanych tworzonych agentów (hide_spawn_agent_metadata ma teraz domyślnie wartość true) oraz przekazuje nieprzetworzone zdarzenia nadrzędne do procesów nasłuchujących agentów potomnych. Model subagents pozostaje jawny: wbudowane typy agentów default/worker/explorer, niestandardowi agenci definiowani w TOML oraz mechanizmy kontroli współbieżności (agents.max_threads ma domyślną wartość 6, a agents.max_depth — 1). Ta sama wersja dodaje rozszerzenie skills v1 z rozpoznawaniem katalogu skills w każdej turze oraz nowe zdarzenia współtwórców cyklu życia przy rozpoczęciu wątku i błędzie tury. Zmniejsza to różnicę względem interfejsu hooks/skills oferowanego przez Claude Code, a jednocześnie zachowuje podejście oparte na sandboxie jądra jako domyślnej granicy. Następnie wersje Codex v0.138.0–v0.139.0 wzmocniły multi-agent v2 z myślą o środowiskach produkcyjnych: komunikaty przesyłane między agentami są teraz szyfrowane, katalog konfiguracji agentów v2 wraz z mechanizmem LRU rezydentności agentów zarządza tym, którzy agenci pozostają rezydentni, a współbieżność jest liczona według aktywnego wykonywania, a nie liczby utworzonych wątków, dzięki czemu bezczynni agenci nie zajmują już dostępnych miejsc.61 Dojrzał również cykl życia API — nazwę close_agent zmieniono na interrupt_agent (v0.139.0), aby odzwierciedlić fakt, że operacja przerywa działającego agenta, a nie tylko zamyka uchwyt — natomiast ostrzeżenia uruchomieniowe MCP zgłoszone przez subagent pozostają teraz ograniczone do wątku właściciela, zamiast powielać się w transkrypcji rodzica.61 Dla osób tworzących orkiestrację po stronie Codex właśnie te elementy wyznaczają granicę między demonstracją a flotą: szyfrowany transport wiadomości, ograniczona rezydentność, współbieżność liczona według wykonywanych zadań i ostrzeżenia, które nie przenikają przez granice wątków. Codex v0.140.0 otworzył następnie punkt integracji między narzędziami: /import selektywnie pobiera konfigurację początkową, konfigurację projektu i ostatnie czaty z Claude Code do Codex, a sesje można odtąd trwale usuwać (codex delete / /delete, z zabezpieczeniami wymagającymi potwierdzenia).64 /import jest pierwszym oficjalnym potwierdzeniem, że operatorzy przechodzą między harnessami — konfiguracja przygotowana dla jednego z nich nie pozostaje już w nim uwięziona.
Pamięć i kontekst
Każda rozmowa z AI odbywa się w ramach ograniczonego okna kontekstowego. W miarę rozwoju rozmowy system kompresuje wcześniejsze wypowiedzi, aby zrobić miejsce na nowe treści. Kompresja jest stratna. Decyzje architektoniczne udokumentowane w 3. turze mogą nie przetrwać do 15. tury.9
Trzy mechanizmy załamania w rozmowach wieloturowych
W badaniu MSR/Salesforce zidentyfikowano trzy niezależne mechanizmy, z których każdy wymaga innego działania:9
| Mechanizm | Co się dzieje | Działanie |
|---|---|---|
| Kompresja kontekstu | Wcześniejsze informacje są odrzucane, aby zmieścić nowe treści | Zapisywanie punktów kontrolnych stanu w systemie plików |
| Utrata spójności rozumowania | Model w kolejnych turach zaprzecza własnym wcześniejszym decyzjom | Iteracje ze świeżym kontekstem (Ralph loop) |
| Błąd koordynacji | Wielu agentów dysponuje różnymi migawkami stanu | Protokoły współdzielenia stanu między agentami |
Strategia 1: system plików jako pamięć
Najbardziej niezawodna pamięć przekraczająca granice kontekstu znajduje się w systemie plików. Claude Code odczytuje CLAUDE.md oraz pliki pamięci na początku każdej sesji i po każdej kompresji.6
~/.claude/
├── configs/ # 14 JSON configs (thresholds, rules, budgets)
│ ├── deliberation-config.json
│ ├── recursion-limits.json
│ └── consensus-profiles.json
├── hooks/ # 95 lifecycle event handlers
├── skills/ # 44 reusable knowledge modules
├── state/ # Runtime state (recursion depth, agent lineage)
├── handoffs/ # 49 multi-session context documents
├── docs/ # 40+ system documentation files
└── projects/ # Per-project memory directories
└── {project}/memory/
└── MEMORY.md # Always loaded into context
Plik MEMORY.md przechowuje błędy, decyzje i wzorce z wielu sesji. Po odkryciu, że ((VAR++)) nie działa z set -e w bashu, gdy VAR wynosi 0, należy to zapisać. Trzy sesje później, przy podobnym przypadku brzegowym dotyczącym liczby całkowitej w Python, wpis w MEMORY.md przypomni ten wzorzec.15
Auto Memory (v2.1.32+): Claude Code automatycznie zapisuje i przywołuje kontekst projektu. Podczas pracy Claude zapisuje obserwacje w ~/.claude/projects/{project-path}/memory/MEMORY.md. Na początku sesji Auto Memory wczytuje pierwszych 200 wierszy do promptu systemowego. Plik powinien być zwięzły, a szczegółowe notatki należy umieszczać w osobnych plikach tematycznych i dodawać do nich odnośniki.6 Od wersji v2.1.210 zapis do MEMORY.md, który przekracza limit rozmiaru, kończy się błędem zamiast cichego obcięcia zawartości69 — problem ujawnia się podczas zapisu, a nie później w postaci wpisów pamięci, które niepostrzeżenie zniknęły. Jeśli harness automatyzuje zapisywanie pamięci, należy obsłużyć ten błąd; platforma sygnalizuje w ten sposób konieczność uporządkowania pliku, a nie ponowienia operacji.
Porządkowanie pamięci zamiast zwiększania jej objętości (maj 2026): Niedawny preprint w arXiv dotyczący współpracy agentów LLM przedstawia rozszerzone przywoływanie informacji jako potencjalny mechanizm awarii: w eksperymentach autorów dłuższa widoczna historia pogorszyła współpracę w 18 z 28 konfiguracji gier z udziałem modeli.48 Należy potraktować to jako ostrzeżenie projektowe, a nie ostatecznie potwierdzoną regułę. Zasada dotycząca środowiska produkcyjnego jest już dostatecznie jasna: MEMORY.md powinien być krótki, szczegóły należy umieszczać w osobnych plikach i dodawać do nich odnośniki, a w przekazaniach umieszczać podsumowania gotowe do wykorzystania przy podejmowaniu decyzji. Surowe zrzuty transkrypcji, logi narzędzi i obszerne strumienie przywoływanych informacji powinny trafiać do przeszukiwalnego magazynu, a nie automatycznie do aktywnego promptu.
Strategia 2: proaktywna kompresja
Polecenie /compact w Claude Code podsumowuje rozmowę i zwalnia miejsce w kontekście, zachowując najważniejsze decyzje, zawartość plików oraz stan zadania.15
Kiedy przeprowadzać kompresję: - Po ukończeniu odrębnego podzadania (wdrożeniu funkcji, naprawieniu błędu) - Przed rozpoczęciem pracy nad nowym obszarem bazy kodu - Gdy Claude zaczyna się powtarzać lub zapominać wcześniejszy kontekst - Mniej więcej co 25–30 minut podczas intensywnych sesji
Niestandardowe instrukcje kompresji w CLAUDE.md:
# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session
Kompresja chroni rozmowę, natomiast polecenie /cd (Claude Code v2.1.169) chroni pamięć podręczną promptu. Umożliwia przeniesienie trwającej sesji do nowego katalogu roboczego bez naruszania pamięci podręcznej zgromadzonej w toku rozmowy.60 Wcześniej zmiana katalogu oznaczała rozpoczęcie nowej sesji z pustą pamięcią podręczną. W długiej sesji, która przenosi się z jednego repozytorium do sąsiedniego — co często zdarza się podczas pracy z monorepozytoriami i wieloma usługami — /cd zachowuje kosztowny prefiks w pamięci podręcznej, jednocześnie wskazując nowy kontekst systemu plików.
Strategia 3: przekazywanie sesji
W przypadku zadań obejmujących wiele sesji należy tworzyć dokumenty przekazania zawierające pełny stan:
## Handoff: Deliberation Infrastructure PRD-7
**Status:** Hook wiring complete, 81 Python unit tests passing
**Files changed:** hooks/post-deliberation.sh, hooks/deliberation-pride-check.sh
**Decision:** Placed post-deliberation in PostToolUse:Task, pride-check in Stop
**Blocked:** Spawn budget model needs inheritance instead of depth increment
**Next:** PRD-8 integration tests in tests/test_deliberation_lib.py
Struktura Status/Files/Decision/Blocked/Next zapewnia kolejnej sesji pełny kontekst przy minimalnym koszcie tokenów. Rozpoczęcie nowej sesji za pomocą claude -c (kontynuacja) lub odczytanie dokumentu przekazania pozwala od razu przejść do implementacji.15
Strategia 4: iteracje ze świeżym kontekstem (Ralph loop)
W przypadku sesji trwających dłużej niż 60–90 minut należy dla każdej iteracji uruchamiać nową instancję Claude. Stan jest utrwalany w systemie plików, a nie w pamięci rozmowy. Każda iteracja otrzymuje pełny budżet kontekstu:16
Iteration 1: [200K tokens] -> writes code, creates files, updates state
Iteration 2: [200K tokens] -> reads state from disk, continues
Iteration 3: [200K tokens] -> reads updated state, continues
...
Iteration N: [200K tokens] -> reads final state, verifies criteria
Dla porównania — pojedyncza długa sesja:
Minute 0: [200K tokens available] -> productive
Minute 30: [150K tokens available] -> somewhat productive
Minute 60: [100K tokens available] -> degraded
Minute 90: [50K tokens available] -> significantly degraded
Minute 120: [compressed, lossy] -> errors accumulate
Podejście polegające na użyciu świeżego kontekstu w każdej iteracji wiąże się z narzutem rzędu 15–20% na etap orientacji (odczytywanie plików stanu i przeglądanie historii git), ale zapewnia pełne zasoby poznawcze w każdej iteracji.16 Rachunek kosztów i korzyści wygląda następująco: w przypadku sesji krótszych niż 60 minut wydajniejsza jest pojedyncza rozmowa. Po przekroczeniu 90 minut świeży kontekst zapewnia lepszą jakość wyników mimo dodatkowego narzutu.
Strategia 5: zarządzane porządkowanie pamięci (Dreaming)
W Managed Agents firmy Anthropic dodano funkcję Dreaming jako Research Preview 6 maja 2026.35 Według Anthropic: „Dreaming to zaplanowany proces, który przegląda sesje agentów i magazyny pamięci, wyodrębnia wzorce oraz porządkuje wspomnienia, dzięki czemu agenci z czasem działają coraz lepiej”.35
Dreaming działa w tle między sesjami, a nie na ścieżce krytycznej. Uzupełnia wzorzec systemu plików jako pamięci, zamiast go zastępować: plik MEMORY.md pozostaje kluczową warstwą, natomiast Dreaming zapisuje uporządkowane wpisy w magazynie pamięci Managed Agents, który agent odczytuje na początku sesji. Oba wzorce współistnieją w harnesses łączących samodzielnie hostowany stan w systemie plików z porządkowaniem pamięci po stronie usługi zarządzanej.
| Pamięć w systemie plików | Dreaming (zarządzane) | |
|---|---|---|
| Gdzie znajduje się pamięć | W repozytorium, pod kontrolą wersji | Magazyn pamięci zarządzany przez Anthropic |
| Kiedy jest aktualizowana | Wpisy są zapisywane ręcznie lub za pomocą hooks | Proces w tle między sesjami |
| Co przechowuje | Oznaczone decyzje, błędy i wzorce | Wzorce wyodrębnione z historii sesji |
| Do czego nadaje się najlepiej | Wiedza instytucjonalna dotycząca konkretnego projektu | Odkrywanie wzorców między sesjami, których nie udałoby się wychwycić ręcznie |
Dreaming znajduje się w fazie Research Preview, dlatego jego działanie może ulec zmianie. Opisane powyżej wzorce przekazywania sesji i CLAUDE.md pozostają nadrzędnym mechanizmem pamięci dla samodzielnie hostowanych harnesses.
Antywzorce
Odczytywanie całych plików, gdy potrzeba 10 wierszy. Jednorazowe odczytanie pliku zawierającego 2 000 wierszy zużywa 15 000–20 000 tokenów. Należy używać przesunięć wierszy: Read file.py offset=100 limit=20 pozwala zaoszczędzić zdecydowaną większość tego kosztu.15
Pozostawianie w kontekście obszernych komunikatów o błędach. Po usunięciu błędu kontekst może nadal zawierać ponad 40 śladów stosu z nieudanych iteracji. Jedno użycie /compact po naprawieniu błędu uwalnia kontekst od tego zbędnego obciążenia.
Rozpoczynanie każdej sesji od odczytania wszystkich plików. Warto pozwolić narzędziom glob i grep w Claude Code wyszukiwać odpowiednie pliki na żądanie, oszczędzając ponad 100 000 tokenów niepotrzebnego wstępnego ładowania.15
Wzorce subagents
Subagents to wyspecjalizowane instancje Claude, które samodzielnie realizują złożone zadania. Rozpoczynają pracę z czystym kontekstem (bez zanieczyszczeń z głównej rozmowy), korzystają z określonych narzędzi i zwracają wyniki w formie podsumowań. Rezultaty eksploracji nie rozbudowują głównej rozmowy — wracają do niej wyłącznie wnioski.5
Wbudowane typy subagents
| Typ | Model | Tryb | Narzędzia | Zastosowanie |
|---|---|---|---|---|
| Explore | Haiku (szybki) | Tylko do odczytu | Glob, Grep, Read, bezpieczny bash | Eksploracja bazy kodu, wyszukiwanie plików |
| General-purpose | Dziedziczony | Pełny odczyt/zapis | Wszystkie dostępne | Złożone badania i modyfikacje |
| Plan | Dziedziczony (lub Opus) | Tylko do odczytu | Read, Glob, Grep, Bash | Planowanie przed wykonaniem |
Tworzenie niestandardowych subagents
Subagents definiuje się w .claude/agents/ (projektowe) lub ~/.claude/agents/ (osobiste):
---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
You are a senior security engineer reviewing code for vulnerabilities.
When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps
Focus on actionable security findings, not style issues.
Pola konfiguracji subagent
| Pole | Wymagane | Przeznaczenie |
|---|---|---|
name |
Tak | Unikatowy identyfikator (małe litery i łączniki) |
description |
Tak | Określa, kiedy wywoływać subagent (należy dodać „PROACTIVELY”, aby zachęcić do automatycznego delegowania) |
tools |
Nie | Lista rozdzielona przecinkami. W razie pominięcia dziedziczone są wszystkie narzędzia. Obsługuje Agent(agent_type), aby ograniczyć typy agentów, których można uruchamiać |
disallowedTools |
Nie | Narzędzia, których użycie ma być zabronione; są usuwane z listy dziedziczonej lub jawnie wskazanej. Od wersji v2.1.178 specyfikacje na poziomie serwera MCP (mcp__server, mcp__server__*, mcp__*) są tutaj prawidłowo dopasowywane — wcześniejsze wersje po cichu je ignorowały, dlatego reguła odmowy mająca blokować serwer MCP w praktyce niczego nie blokowała.63 |
model |
Nie | sonnet, opus, haiku, inherit (domyślnie: inherit) |
permissionMode |
Nie | default (od wersji v2.1.200 oznaczany jako „Manual” w CLI/IDE; manual jest akceptowanym aliasem niezmienionej wartości konfiguracji), acceptEdits, delegate, dontAsk, bypassPermissions, plan. Od wersji v2.1.212 parametr mode narzędzia Task, ustawiany osobno dla każdego wywołania, jest przestarzały — subagents dziedziczą tryb uprawnień sesji nadrzędnej, a to pole frontmatter pozwala go zastąpić dla danego agenta69 |
maxTurns |
Nie | Maksymalna liczba tur działania agenta przed zatrzymaniem subagent |
memory |
Nie | Zakres trwałej pamięci: user, project, local |
skills |
Nie | Automatyczne wczytywanie zawartości skills do kontekstu subagent podczas uruchamiania. Od wersji v2.1.133 subagents wykrywają również projektowe, użytkownika i pochodzące z wtyczek skills za pomocą narzędzia Skill, tak samo jak sesja nadrzędna. Wcześniejsze wersje po cichu usuwały je z kontekstu subagent.39 |
hooks |
Nie | hooks cyklu życia ograniczone do wykonania tego subagent |
background |
Nie | Wymusza zadanie w tle. Od wersji v2.1.198 subagents działają w tle domyślnie — sesja główna kontynuuje pracę i otrzymuje powiadomienie po ich zakończeniu — dlatego obecnie pole to jawnie utrwala takie zachowanie, zamiast je włączać |
isolation |
Nie | Należy ustawić worktree, aby uzyskać izolowaną kopię git worktree |
Izolacja worktree
Subagents mogą działać w tymczasowych git worktrees, które zapewniają pełną, odizolowaną kopię repozytorium:5
---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---
You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.
Izolacja worktree jest niezbędna przy pracach eksperymentalnych, które mogą uszkodzić bazę kodu.
Izolacja jest izolacją tylko wtedy, gdy granica rzeczywiście pozostaje szczelna. W Claude Code v2.1.210 naprawiono błąd, przez który subagents odizolowane za pomocą worktree mogły modyfikować główną kopię roboczą — czyli powodować dokładnie tę awarię, której ten mechanizm ma zapobiegać.69 Jeśli isolation: worktree stanowi granicę bezpieczeństwa, a nie tylko udogodnienie, należy uznać wersję v2.1.210 za minimalną. Towarzysząca temu zmiana uprawnień działa jednak w przeciwnym kierunku: od wersji v2.1.211 reguły „always allow” są zachowywane w katalogu głównym repozytorium pomiędzy worktrees, więc reguła zaakceptowana w jednym worktree obowiązuje także w sąsiednich worktrees tego samego repozytorium.69 To odpowiednia ergonomia dla agentów pracujących równolegle w worktrees, oznacza jednak, że zezwolenie udzielone podczas jednorazowego eksperymentu zachowuje ważność po jego zakończeniu — należy udzielać go z myślą o całym repozytorium, a nie tylko o aktualnie używanym worktree.
Wersja v2.1.216 dokończyła tę pracę, przenosząc izolację worktree z poziomu naprawy błędu na poziom rygorystycznego egzekwowania.74 Poprawka z wersji v2.1.210 uniemożliwiła subagents w odizolowanych worktrees modyfikowanie głównej kopii roboczej poprzez zwykłe wywołanie git, ale sam git udostępnia jawne mechanizmy przekierowania — git -C <path>, --git-dir oraz zmienne środowiskowe GIT_DIR/GIT_WORK_TREE — a odizolowany subagent nadal mógł skierować dowolny z nich do współdzielonej kopii roboczej. Wszystkie te drogi obejścia zostały teraz zamknięte. W tym samym wydaniu naprawiono również sporadyczne uruchamianie sesji worktree w pozostałości po worktree należącym do innego projektu, uniemożliwiono zapisom z workflow i zaplanowanych zadań podążanie za dowiązaniem symbolicznym umieszczonym w .claude i prowadzącym poza projekt oraz sprawiono, że /rewind odmawia przechodzenia przez dowiązania symboliczne i twarde. Wzorzec we wszystkich czterech poprawkach jest taki sam: granica izolacji musi wytrzymać celowe przekierowanie — nadpisanie środowiska git czy umieszczenie dowiązania symbolicznego — a nie tylko zachowanie domyślne. Jeśli isolation: worktree stanowi w harness granicę bezpieczeństwa, a nie udogodnienie, nową wersją minimalną jest v2.1.216.
Równoległe subagents
Równoległych subagents należy używać do niezależnych zadań badawczych, które nie wymagają wzajemnej koordynacji:5
> Have three explore agents search in parallel:
> 1. Authentication code
> 2. Database models
> 3. API routes
Każdy agent działa we własnym oknie kontekstu, znajduje odpowiedni kod i zwraca podsumowanie. Główny kontekst pozostaje czysty.
Recursion guard
Bez limitów uruchamiania agenci delegują zadania agentom, którzy z kolei delegują je następnym agentom, a każdy kolejny traci część kontekstu i zużywa tokeny. Wzorzec recursion guard narzuca budżety:16
#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"
MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12
# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)
if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
exit 2
fi
# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"
Najważniejszy wniosek: należy stosować budżety uruchomień, a nie wyłącznie limity głębokości. Limity oparte na głębokości śledzą łańcuchy rodzic–dziecko (blokując je na głębokości 3), lecz nie uwzględniają szerokości: 23 agentów na głębokości 1 nadal oznacza „głębokość 1”. Budżet uruchomień śledzi łączną liczbę aktywnych dzieci każdego rodzica i ogranicza ją konfigurowalnym maksimum. Model budżetowy odpowiada rzeczywistemu trybowi awarii (zbyt wielu agentów łącznie), a nie wskaźnikowi zastępczemu (zbyt wiele poziomów zagnieżdżenia).7
Domyślna głębokość zagnieżdżenia zmieniała się już trzykrotnie — nie należy na niej opierać architektury. Claude Code v2.1.172 (10 czerwca 2026) umożliwił sub-agents uruchamianie własnych sub-agents, z zagnieżdżeniem do 5 poziomów — wcześniej delegowanie było w praktyce ograniczone do jednego poziomu.62 Tak było od wersji v2.1.172 do v2.1.216. Wersja v2.1.217 (21 lipca 2026) ograniczyła głębokość do 1, domyślnie wyłączając zagnieżdżone uruchamianie. Następnie wersja v2.1.219 (24 lipca 2026) przyjęła rozwiązanie pośrednie: „Subagents mogą teraz domyślnie uruchamiać zagnieżdżone subagents do głębokości 3 (wcześniej 1); aby wyłączyć zagnieżdżanie, należy ustawić CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1”.84 Najpierw pięć, potem jeden, następnie trzy — przy czym dwie ostatnie zmiany nastąpiły w ciągu trzech dni.
Wniosek nie polega na tym, że którakolwiek z tych liczb jest właściwa. Platforma nadal poszukuje odpowiedniej wartości domyślnej, dlatego harness nie powinien dziedziczyć po prostu „tego, co akurat dostarczono”. Głębokość zagnieżdżenia należy traktować jako jawną pozycję budżetową: ustawić CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH na głębokość faktycznie potrzebną w danej architekturze — w większości systemów orkiestracji będzie to 1 lub 2 — aby aktualizacja nie mogła po cichu zmienić głębokości delegowania w całej flocie. Niezależnie od tych zmian podstawowy argument pozostaje ten sam: łańcuchy agentów delegujących zadania kolejnym agentom zużywają kontekst i tokeny szybciej, niż dostarczają wyniki, a głębokość jest zagrożeniem, które trzeba uwzględnić w budżecie, nie zaś funkcją, po którą warto sięgać. To właśnie powyższy recursion guard zapobiega rozgałęzieniu głębokiego drzewa w setki aktywnych agentów, niezależnie od kierunku kolejnej zmiany wartości domyślnej. Tylko samodzielnie ustawiony limit głębokości po następnym wydaniu nadal oznacza to, czego można się po nim spodziewać.
Auto mode ocenia teraz uruchomienia przed ich rozpoczęciem. W Claude Code v2.1.178 usunięto powiązaną lukę w nadzorze: w auto mode uruchomienia subagent są oceniane przez klasyfikator uprawnień przed uruchomieniem subagent, a nie dopiero wtedy, gdy zacznie wykonywać działania.63 Wcześniej można było uruchomić subagent w celu zażądania działania, którego sesja nadrzędna nie mogłaby wykonać — samo uruchomienie stanowiło obejście zabezpieczeń. Ocena podczas uruchamiania sprawia, że recursion guard i model uprawnień wreszcie się spotykają: dziecko nie może służyć do „wyprania” działania zabronionego przez zasady.
Platforma udostępnia teraz natywny budżet uruchomień. W Claude Code v2.1.212 (lipiec 2026) dodano wbudowane zabezpieczenia przed niekontrolowanymi pętlami: domyślny limit wynosi 200 uruchomień subagent na sesję (można go dostosować za pomocą CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, a /clear zeruje licznik), natomiast WebSearch ograniczono do 200 wywołań na sesję (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION).69 Wzorzec budżetu uruchomień, dokumentowany w tej sekcji od wersji v1.0 jako skrypt tworzony przez użytkownika, jest teraz zapewniany przez platformę — potwierdza to przewagę modelu budżetowego nad modelem głębokości. Trzeba jednak zwrócić uwagę na kalibrację: 200 uruchomień to o rząd wielkości więcej niż budżet 12 agentów w powyższej konfiguracji. Natywne limity są bezpiecznikami chroniącymi przed rzeczywiście niekontrolowaną pętlą, a nie budżetami dostrojonymi do konkretnej architektury. Warto zachować własny guard dla budżetów poszczególnych rodziców, śledzenia głębokości i limitów odpowiadających faktycznym założeniom orkiestracji; limit platformy powinien przechwytywać wszystko, co zdoła go ominąć.
Zestaw wbudowanych zabezpieczeń obejmuje teraz cztery osie. Trzy z nich chronią dokładnie te aspekty, które śledzi własny guard opisany w tej sekcji: łączną liczbę uruchomień na sesję (v2.1.212, limit 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION), głębokość zagnieżdżenia (CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, obecnie domyślnie 3, przy czym wartość ta jest wyraźnie niestabilna) oraz współbieżne wykonywanie (v2.1.217, domyślnie 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS — pojedyncza wiadomość nie może już uruchomić nieograniczonej liczby agentów w tle).7884 Wersja v2.1.219 dodaje czwartą oś, której własne guard zwykle nie obejmowały: szerokość orkiestracji, czyli liczbę agentów dopuszczalnych w pojedynczym zaplanowanym workflow. Udostępniono ją jako domyślną wytyczną „dążyć do mniej niż 15 agentów”, konfigurowaną z dowolnego pliku ustawień za pomocą workflowSizeGuideline (omówione w sekcji Workflow Tool poniżej). Wzorzec budżetu uruchomień ma teraz zabezpieczenie na każdej osi, dla której został zaprojektowany, oraz na jednej dodatkowej.
Uwaga dotycząca kalibracji nadal obowiązuje, choć nie w jednakowym stopniu. 200 uruchomień i 20 współbieżnych agentów to bezpieczniki — wartości o rząd wielkości większe od budżetu 12 agentów dla deliberation z powyższej konfiguracji, dobrane tak, by zatrzymać niekontrolowaną pętlę, a nie kształtować architekturę. Wytyczna szerokości jest pierwszą natywną wartością utrzymaną na poziomie rzeczywistego budżetu: 15 agentów na workflow jest bardzo bliskie wartości 12 przyjętej w tym przewodniku. Zastosowanie ustawienia domyślnego platformy nic nie kosztuje, a odstępstwo od niego powinno wynikać z konkretnego powodu. Trzy bezpieczniki należy ustawić na wartości, które można uzasadnić; wytyczną szerokości — zgodnie z zamierzonym kształtem orkiestracji.
Agent Teams (Research Preview)
Agent Teams koordynują wiele instancji Claude Code, które pracują niezależnie, komunikują się za pomocą współdzielonej skrzynki pocztowej i listy zadań oraz mogą podważać wzajemne ustalenia:5
| Komponent | Rola |
|---|---|
| Team lead | Główna sesja, która tworzy zespół, uruchamia członków zespołu i koordynuje pracę |
| Teammates | Oddzielne instancje Claude Code pracujące nad przydzielonymi zadaniami |
| Task list | Współdzielone elementy pracy, które członkowie zespołu podejmują i wykonują (z blokadą pliku) |
| Mailbox | System przesyłania wiadomości między agentami |
Włączanie: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Kiedy używać agent teams, a kiedy subagents:
| Subagents | Agent Teams | |
|---|---|---|
| Komunikacja | Jedynie raportują wyniki do sesji nadrzędnej | Członkowie zespołu komunikują się bezpośrednio |
| Koordynacja | Główny agent zarządza całą pracą | Współdzielona lista zadań i samodzielna koordynacja |
| Najlepsze zastosowanie | Skoncentrowane zadania, w których liczy się tylko wynik | Złożone prace wymagające dyskusji i współpracy |
| Koszt tokenów | Niższy | Wyższy (każdy członek zespołu = oddzielne okno kontekstu) |
Agent View i pętle celów (maj 2026)
W Claude Code v2.1.139 dodano Agent View — interfejs w wersji research-preview, uruchamiany poleceniem claude agents, który na jednym ekranie pokazuje uruchomione, zablokowane i zakończone sesje Claude Code.4243 Oficjalna dokumentacja przedstawia go jako sposób na uruchamianie wielu sesji i zarządzanie nimi, sprawdzanie działań poszczególnych sesji oraz identyfikowanie tych, które wymagają interwencji operatora.43 Dzięki temu praca wielu agentów zyskuje widok operacyjny, którego nie zapewniają podsumowania końcowe.
Podczas wdrażania wzorca subagent lub zespołu warto użyć Agent View, aby sprawdzić, które sesje są zablokowane, które nadal działają oraz czy podział pracy odpowiada zamierzonej architekturze. Nie należy jednak traktować tego jako dowodu jakości. To obserwowalność; o poprawności pracy nadal rozstrzygają testy, bramki przeglądu i raporty dowodowe.
W tym samym wydaniu dodano /goal, które ustawia warunek ukończenia i pozwala Claude kontynuować pracę przez wiele tur aż do jego spełnienia, także w trybie interaktywnym, -p oraz Remote Control.42 /goal należy traktować jako pętlę ukończenia ograniczoną do sesji, a nie zamiennik deterministycznych bramek. Pomaga utrzymać koncentrację agenta na celu, jednak tam, gdzie niepowodzenie musi blokować dalszą pracę, testy, kontrole cytowań, kontrole wdrożenia i security hooks powinny nadal opierać się na poleceniach lub skryptach.
Workflow Tool (v2.1.147+)
Claude Code v2.1.147 dodaje domyślnie wyłączone narzędzie Workflow do deterministycznej orkiestracji wielu agentów. Można je włączyć za pomocą CLAUDE_CODE_WORKFLOWS=1.52 Z perspektywy architektury jest to istotne, ponieważ Claude Code zyskuje wbudowany mechanizm orkiestracji przepływów, które wcześniej wymagały niestandardowych skryptów dispatch, stanu skrzynki pocztowej i konwencji koordynacji subagent.
Nie należy usuwać otaczającego go harness. Workflow może uporządkować wykonanie, lecz nie zastępuje modelu bezpieczeństwa. Należy zachować hooks PreToolUse i PostToolUse jako warstwę blokującą, budżety uruchomień lub budżety kroków workflow zapobiegające niekontrolowanemu wzrostowi szerokości, audytowalny stan systemu plików oraz końcowe raporty dowodowe niezależne od samooceny modelu. W praktyce: Workflow służy do określania kształtu orkiestracji, natomiast hooks, testy i bramki przeglądu — do ustalania prawdy.
Dynamiczne workflows mają teraz wbudowaną opinię o szerokości (v2.1.219). Dynamiczne workflows domyślnie korzystają z wytycznej średniego rozmiaru — „dążyć do mniej niż 15 agentów” — a inne rozmiary oraz opcja bez ograniczeń są dostępne w sekcji Dynamic workflow size w /config. Bieżąca wytyczna jest również wyświetlana w wierszu stanu działającego workflow.84 Jest to zalecenie, nie twardy limit; ukierunkowuje planner, zamiast blokować szeroki plan. Warto je skonfigurować ze względu na sposób dystrybucji: nowy klucz ustawień workflowSizeGuideline można określić w dowolnym pliku ustawień — także w ustawieniach zarządzanych i projektowych — a od wersji v0.3.219 znajduje się on w typach ustawień TypeScript SDK. Dzięki temu szerokość orkiestracji może zostać ustandaryzowana na poziomie zespołu lub organizacji, zamiast być każdorazowo odkrywana przez operatorów.85 Warto ustawić ją na poziomie projektu, aby zakodować sposób, w jaki prace w danej bazie kodu faktycznie dzielą się na części. Dwie uwagi dla operatora: wiersz w /config ukrywa się, gdy wartość pochodzi z pliku ustawień — to prawidłowe zachowanie, choć bez znajomości przyczyny może wyglądać jak brak ustawienia; ponadto, ponieważ wytyczna kieruje planner, a nie blokuje wykonanie, należy do kolumny kształtu, a nie bezpieczeństwa. Za niekontrolowaną szerokość nadal odpowiada limit uruchomień.
Warto zachować następującą perspektywę: jest to czwarta oś wbudowanych zabezpieczeń — szerokość orkiestracji, obok liczby uruchomień, głębokości zagnieżdżenia i współbieżnego wykonywania — a zarazem pierwsza, którą Anthropic skalibrował do wiarygodnego rozmiaru roboczego, nie zaś jako bezpiecznik na wypadek niekontrolowanej sytuacji. Piętnaście agentów na workflow to ten sam rząd wielkości co budżet 12 agentów dla deliberation, stosowany w tym przewodniku od wersji v1.0. Gdy ustawienie domyślne platformy i własny budżet zbiegają się z przeciwnych kierunków, stanowi to najbliższy odpowiednik niezależnego potwierdzenia, jaki można uzyskać dla takich liczb.
Rozgałęzianie sesji i automatyczne przenoszenie MCP do tła (lipiec 2026)
Claude Code v2.1.212 przekształcił dwa mechanizmy orkiestracji.69 /fork tworzy teraz nową sesję w tle na podstawie bieżącego stanu rozmowy — odgałęziona ścieżka działa niezależnie, podczas gdy pierwotna kontynuuje pracę — a poprzednie zachowanie wewnątrz sesji otrzymało nazwę /subtask. To rozróżnienie ma znaczenie dla projektowania orkiestracji: /subtask jest ograniczonym zakresem odejściem od głównego toku w ramach cyklu życia jednej sesji; /fork to niedrogi sposób tworzenia równoległej sesji w tle, która dziedziczy pełny kontekst i przypomina bardziej uruchomienie pętli Ralph niż subagent. Jeśli skrypty harness zakładały, że /fork pozostaje w obrębie sesji, obecnie wysyłają pracę do tła.
To samo wydanie automatycznie przenosi do tła powolne wywołania MCP: wywołanie narzędzia MCP, które trwa dłużej niż dwie minuty, zostaje automatycznie przeniesione do wykonania w tle (próg można dostosować za pomocą CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS).69 Powolny serwer MCP nie blokuje już pętli agenta — oznacza to jednak również, że „narzędzie zwróciło wynik” i „tura była kontynuowana” nie są już tym samym zdarzeniem. hooks lub skrypty zakładające synchroniczne zakończenie MCP powinny więc opierać się na wyniku narzędzia, a nie na granicy tury.
Do bezobsługowej orkiestracji w wersji v2.1.211 dodano --forward-subagent-text (zmienna środowiskowa: CLAUDE_CODE_FORWARD_SUBAGENT_TEXT), które przekazuje tekst odpowiedzi subagent do wyjścia stream-json.69 Proces koordynujący, który odbiera strumień sesji nadrzędnej, może teraz bezpośrednio obserwować postępy subagent, zamiast odpytywać transkrypcje lub czekać na końcowe podsumowanie — to obserwowalność uzupełniająca domyślne działanie subagents w tle. Wersja v2.1.219 rozszerzyła tę funkcję poza pierwszy poziom: subagents uruchomione na głębokości 2 lub większej również pojawiają się w przekazywanym strumieniu, oznaczone identyfikatorem tool_use uruchamiającego je Agent.84 To właśnie na tym kluczu należy oprzeć implementację. Gdy zagnieżdżanie jest ponownie domyślnie włączone, płaski strumień tekstu subagent staje się niejednoznaczny — identyfikator wskazuje koordynatorowi, który rodzic utworzył dane dziecko, dzięki czemu drzewo delegowania można odtworzyć ze strumienia, zamiast próbować je wywnioskować. Jeśli konsument strumienia został napisany z myślą o jednym poziomie subagents, zobaczy teraz tekst pochodzący od agentów, o których istnieniu wcześniej nie wiedział; dane należy grupować według identyfikatora tool_use uruchamiającego agenta, zamiast zakładać, że każdy przekazany wiersz należy do bezpośredniego dziecka.
Orkiestracja wieloagentowa
Jednoagentowe systemy AI mają strukturalny martwy punkt: nie potrafią kwestionować własnych założeń.7 Wieloagentowa deliberacja wymusza niezależną ocenę z wielu perspektyw, zanim jakakolwiek decyzja zostanie zablokowana.
Orkiestracja międzynarzędziowa (kwiecień 2026): Google udostępnił Scion jako oprogramowanie open source 7 kwietnia — to wieloagentowy hipernadzorca uruchamiający Claude Code, Gemini CLI oraz inne „głębokie agenty” jako równoległe procesy, każdy z izolowanym kontenerem, git worktree i poświadczeniami. Działa lokalnie, w hubie lub na Kubernetes. Wyraźna filozofia: „izolacja zamiast ograniczeń” — agenty działają z wysoką autonomią w obrębie granic egzekwowanych na warstwie infrastruktury, a nie w promptach.25 Rozszerza to bezpośrednio argument o izolacji subagentów na różnych dostawców narzędzi. Jeśli przepływ pracy obejmuje Claude oraz modele OpenAI, Scion jest pierwszą realną referencyjną implementacją międzynarzędziowych subagentów z izolacją worktree i poświadczeń per-agent.
Debata nie jest cudownym lekiem: Klaster badawczy M3MAD-Bench (początek 2026) ustalił, że wieloagentowa debata osiąga plateau i może być podważana przez mylący konsensus — trafne argumenty przegrywają, gdy inne agenty z pewnością siebie twierdzą coś błędnego.26 Tool-MAD poprawia to, dając każdemu agentowi heterogeniczny dostęp do narzędzi i stosując oceny Faithfulness/Relevance na etapie sędziowskim. Przy budowie orkiestracji w stylu debaty warto zainwestować w (a) heterogeniczność narzędzi per agent oraz (b) ilościową punktację sędziowską, zamiast zakładać, że więcej agentów = lepsze odpowiedzi.
Zarządzana orkiestracja wieloagentowa i Outcomes (Public Beta)
Jeśli nie chce się budować infrastruktury deliberacji opisanej poniżej, Multiagent Orchestration weszła w fazę Public Beta w Claude Managed Agents 6 maja 2026.35 Według Anthropic: „Gdy pojedynczy agent ma zbyt dużo pracy do wykonania na wysokim poziomie, orkiestracja wieloagentowa pozwala wiodącemu agentowi podzielić zadanie na części i delegować każdą z nich do specjalisty z własnym modelem, promptem i narzędziami.”35 Specjaliści „pracują równolegle na współdzielonym systemie plików i wnoszą wkład do ogólnego kontekstu wiodącego agenta.”35
Śledzenie jest wbudowane. Według Anthropic: „można również prześledzić każdy krok w Claude Console: który agent co zrobił, w jakiej kolejności i dlaczego, co daje pełną widoczność tego, w jaki sposób zadanie zostało zdelegowane i wykonane.”35
Towarzyszącą funkcją Public Beta jest Outcomes. Według Anthropic: „pisze się rubrykę opisującą, jak wygląda sukces, a agent pracuje nad jej spełnieniem. Oddzielny oceniający (grader) ewaluuje wynik względem podanych kryteriów we własnym oknie kontekstowym, dzięki czemu nie jest pod wpływem rozumowania agenta.”35 To wersja zarządzana usługą wzorca walidacji dwubramkowej udokumentowanego w dalszej części tego rozdziału: rubryka zastępuje ręcznie napisaną bramkę, a oddzielny grader zastępuje walidator konsensusu.
| Samodzielnie hostowana deliberacja (ten rozdział) | Zarządzana Multiagent + Outcomes | |
|---|---|---|
| Routing specjalistów | Pisze się logikę spawnowania samodzielnie | Wiodący agent dzieli zadanie na części |
| Walidacja | Hooki dwubramkowe + punktacja konsensusu | Rubryka + grader w oddzielnym kontekście |
| Śledzenie | Trzeba je samodzielnie oprzyrządować | Claude Console |
| Najlepsze do | Wzorców wymagających pełnej kontroli lub konkretnej kompozycji narzędzi | Standardowych wzorców delegowania, gdzie rubryka walidacyjna jest kontraktem |
| Cennik | Tylko koszt tokenów + harness | Standardowe tokeny plus stawka godziny sesyjnej Managed Agents (baza startowa z 8 kwietnia; zob. 23) |
Samodzielnie hostowana deliberacja pozostaje właściwą odpowiedzią, gdy walidacja musi integrować się z własną powierzchnią hooków (blokowanie PreToolUse, semantyka kodu wyjścia, niestandardowe dispatchery) lub gdy harness musi działać bez zewnętrznych zależności. Managed Multiagent jest właściwą odpowiedzią, gdy standardowe delegowanie plus ocenianie według rubryki to faktycznie potrzebny kontrakt.
Minimalna sensowna deliberacja
Należy zacząć od 2 agentów i 1 reguły: agenty muszą oceniać niezależnie, zanim zobaczą wzajemną pracę.7
Decision arrives
|
v
Confidence check: is this risky, ambiguous, or irreversible?
|
+-- NO -> Single agent decides (normal flow)
|
+-- YES -> Spawn 2 agents with different system prompts
Agent A: "Argue FOR this approach"
Agent B: "Argue AGAINST this approach"
|
v
Compare findings
|
+-- Agreement with different reasoning -> Proceed
+-- Genuine disagreement -> Investigate the conflict
+-- Agreement with same reasoning -> Suspect herding
Ten wzorzec pokrywa 80% wartości. Wszystko inne dodaje stopniową poprawę.
Wyzwalacz pewności
Nie każde zadanie wymaga deliberacji. Moduł oceny pewności analizuje cztery wymiary:17
- Niejednoznaczność — Czy zapytanie ma wiele prawidłowych interpretacji?
- Złożoność dziedziny — Czy wymaga wyspecjalizowanej wiedzy?
- Stawka — Czy decyzja jest odwracalna?
- Zależność kontekstowa — Czy wymaga zrozumienia szerszego systemu?
Wynik mapuje się na trzy poziomy:
| Poziom | Próg | Działanie |
|---|---|---|
| HIGH | 0,85+ | Kontynuacja bez deliberacji |
| MEDIUM | 0,70–0,84 | Kontynuacja z odnotowaną notatką o pewności |
| LOW | Poniżej 0,70 | Wyzwolenie pełnej deliberacji wieloagentowej |
Próg dostosowuje się do typu zadania. Decyzje dotyczące bezpieczeństwa wymagają konsensusu 0,85. Zmiany w dokumentacji potrzebują jedynie 0,50. Zapobiega to nadmiernemu rozbudowywaniu prostych zadań, jednocześnie zapewniając, że ryzykowne decyzje zostaną dokładnie przeanalizowane.7
Maszyna stanów
Siedem faz, każda otwierana przez poprzednią:7
IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
|
(or FAILED)
RESEARCH: Niezależne agenty badają temat. Każdy agent otrzymuje inną personę (Technical Architect, Security Analyst, Performance Engineer i inne). Izolacja kontekstu zapewnia, że agenty nie mogą widzieć wzajemnych ustaleń podczas badania.
DELIBERATION: Agenty widzą wszystkie ustalenia z badań i generują alternatywy. Agent Debate identyfikuje konflikty. Agent Synthesis łączy niesprzeczne ustalenia.
RANKING: Każdy agent ocenia każde proponowane podejście w 5 ważonych wymiarach:
| Wymiar | Waga |
|---|---|
| Impact | 0,25 |
| Quality | 0,25 |
| Feasibility | 0,20 |
| Reusability | 0,15 |
| Risk | 0,15 |
Architektura walidacji dwubramkowej
Dwie bramki walidacyjne wychwytują problemy na różnych etapach:7
Bramka 1: Walidacja konsensusu (hook PostToolUse). Uruchamia się natychmiast po zakończeniu pracy każdego agenta deliberacji: 1. Faza musi osiągnąć co najmniej RANKING 2. Minimum 2 agenty zakończyły pracę (konfigurowalne) 3. Wynik konsensusu spełnia próg adaptacyjny dla zadania 4. Jeśli jakikolwiek agent zgłosił sprzeciw, obawy muszą być udokumentowane
Bramka 2: Pride Check (hook Stop). Uruchamia się przed zamknięciem sesji: 1. Zróżnicowane metody: reprezentowanych jest wiele unikalnych person 2. Przejrzystość sprzeczności: sprzeciwy mają udokumentowane powody 3. Obsługa złożoności: wygenerowano co najmniej 2 alternatywy 4. Pewność konsensusu: sklasyfikowana jako silna (powyżej 0,85) lub umiarkowana (0,70–0,84) 5. Dowody poprawy: końcowa pewność przewyższa pewność początkową
Dwa hooki w różnych punktach cyklu życia odpowiadają temu, jak rzeczywiście pojawiają się awarie: niektóre są natychmiastowe (zły wynik), a niektóre stopniowe (niska różnorodność, brak dokumentacji sprzeciwu).7
Dlaczego zgoda jest niebezpieczna
Charlan Nemeth badała sprzeciw mniejszości od 1986 roku aż po jej książkę z 2018 r. In Defense of Troublemakers. Grupy z dysydentami podejmują lepsze decyzje niż grupy szybko osiągające zgodę. Dysydent nie musi mieć racji. Sam akt sprzeciwu zmusza większość do zbadania założeń, które w innym przypadku zostałyby pominięte.18
Wu i in. zbadali, czy agenty LLM potrafią naprawdę debatować, i ustalili, że bez strukturalnych zachęt do nieporozumień agenty zbiegają się w kierunku najbardziej pewnie brzmiącej początkowej odpowiedzi, niezależnie od jej poprawności.19 Liang i in. zidentyfikowali źródłową przyczynę jako „Degeneration-of-Thought”: gdy LLM ustabilizuje pewność siebie w danej pozycji, autorefleksja nie potrafi wygenerować nowych kontrargumentów, co czyni wieloagentową ewaluację strukturalnie niezbędną.20
Niezależność jest krytycznym ograniczeniem projektowym. Dwa agenty oceniające tę samą strategię wdrożenia z widocznością wzajemnych ustaleń wygenerowały wyniki 0,45 i 0,48. Te same agenty bez widoczności: 0,45 i 0,72. Różnica między 0,48 a 0,72 to koszt zachowań stadnych.7
Wykrywanie fałszywej zgody
Moduł wykrywania konformizmu śledzi wzorce sugerujące, że agenty zgadzają się bez rzeczywistej oceny:7
Klastrowanie wyników: Każdy agent oceniający w przedziale 0,3 punktu w 10-stopniowej skali sygnalizuje skażenie wspólnym kontekstem, a nie niezależną ocenę. Gdy pięć agentów oceniających refaktoryzację uwierzytelniania ocenia ryzyko bezpieczeństwa w przedziale od 7,1 do 7,4, ponowne uruchomienie ze świeżą izolacją kontekstu rozłożyło wyniki na 5,8–8,9.
Szablonowy sprzeciw: Agenty kopiujące wzajemnie język obaw, zamiast generować niezależne zastrzeżenia.
Brak perspektyw mniejszościowych: Jednomyślna aprobata person o sprzecznych priorytetach (Security Analyst i Performance Engineer rzadko zgadzają się we wszystkim).
Detektor konformizmu wychwytuje oczywiste przypadki (mniej więcej 10–15% deliberacji, w których agenty zbiegają się zbyt szybko). Dla pozostałych 85–90% bramki konsensusu i pride check zapewniają wystarczającą walidację.
Co nie zadziałało w deliberacji
Swobodne rundy debaty. Trzy rundy wymiany tekstu wokół dyskusji o indeksowaniu bazy danych wyprodukowały 7 500 tokenów debaty. Runda 1: prawdziwa różnica zdań. Runda 2: powtórzone pozycje. Runda 3: identyczne argumenty innymi słowami. Strukturyzowana punktacja wymiarów zastąpiła swobodną debatę, obniżając koszt o 60% przy jednoczesnej poprawie jakości rankingu.7
Pojedyncza bramka walidacji. Pierwsza implementacja uruchamiała jeden hook walidacyjny na końcu sesji. Agent zakończył deliberację z wynikiem konsensusu 0,52 (poniżej progu), a następnie kontynuował niezwiązane zadania przez 20 minut, zanim hook końca sesji oznaczył awarię. Podział na dwie bramki (jedna na zakończenie zadania, druga na koniec sesji) wychwytywał te same problemy w różnych punktach cyklu życia.7
Koszt deliberacji
Każdy agent badawczy przetwarza około 5 000 tokenów kontekstu i generuje 2 000–3 000 tokenów ustaleń. Przy 3 agentach to 15 000–24 000 dodatkowych tokenów na decyzję. Przy 10 agentach mniej więcej 50 000–80 000 tokenów.7
Przy obecnych cenach Opusa 3-agentowa deliberacja kosztuje około 0,68–0,90 USD. 10-agentowa deliberacja kosztuje 2,25–3,00 USD. System wyzwala deliberację mniej więcej w 10% decyzji, więc zamortyzowany koszt wszystkich decyzji wynosi 0,23–0,30 USD na sesję. To, czy warto, zależy od tego, ile kosztuje zła decyzja.
Kiedy deliberować
| Deliberować | Pominąć |
|---|---|
| Architekturę bezpieczeństwa | Literówki w dokumentacji |
| Projekt schematu bazy danych | Zmiany nazw zmiennych |
| Zmiany kontraktu API | Aktualizacje komunikatów logów |
| Strategie wdrożeniowe | Przeformułowanie komentarzy |
| Aktualizacje zależności | Aktualizacje fixture’ów testowych |
Projektowanie CLAUDE.md
CLAUDE.md to zasady operacyjne dla agenta AI, a nie README przeznaczone dla ludzi.21 Agent nie musi rozumieć, dlaczego stosuje się conventional commits. Musi znać dokładne polecenie do uruchomienia oraz kryteria ukończenia zadania.
Hierarchia pierwszeństwa
| Lokalizacja | Zakres | Współdzielenie | Zastosowanie |
|---|---|---|---|
| Ustawienia zarządzane na poziomie przedsiębiorstwa | Organizacja | Wszyscy użytkownicy | Standardy firmowe |
./CLAUDE.md lub ./.claude/CLAUDE.md |
Projekt | Przez git | Kontekst zespołu |
~/.claude/CLAUDE.md |
Użytkownik | Wszystkie projekty | Osobiste preferencje |
./CLAUDE.local.md |
Projekt lokalny | Nigdy | Osobiste notatki dotyczące projektu |
.claude/rules/*.md |
Reguły projektu | Przez git | Skategoryzowane zasady |
~/.claude/rules/*.md |
Reguły użytkownika | Wszystkie projekty | Osobiste zasady |
Pliki reguł są ładowane automatycznie i zapewniają uporządkowany kontekst bez przeładowywania CLAUDE.md.6
Co jest ignorowane
Poniższe wzorce nie powodują żadnych zauważalnych zmian w zachowaniu agenta:21
Akapity prozy bez poleceń. „Cenimy czysty, dobrze przetestowany kod” to dokumentacja, a nie instrukcja operacyjna. Agent ją odczytuje, po czym pisze kod bez testów, ponieważ nie otrzymał żadnej konkretnej instrukcji do wykonania.
Niejednoznaczne wytyczne. „Należy zachować ostrożność przy migracjach bazy danych” nie stanowi ograniczenia. Stanowi je natomiast: „Przed zastosowaniem migracji uruchomić alembic check. Przerwać, jeśli brakuje ścieżki wycofania zmian”.
Sprzeczne priorytety. „Działać szybko i szybko publikować” w połączeniu z „Zapewnić kompleksowe pokrycie testami”, „Utrzymać czas wykonywania poniżej 5 minut” oraz „Uruchamiać pełne testy integracyjne przed każdym commitem”. Agent nie może spełnić wszystkich czterech wymagań jednocześnie, więc domyślnie pomija weryfikację.21
Przewodniki stylistyczne bez mechanizmu egzekwowania. „Przestrzegać przewodnika Google Python Style Guide” bez ruff check --select D nie daje agentowi żadnego sposobu na zweryfikowanie zgodności.
Co działa
Instrukcje zaczynające się od poleceń:
## Build and Test Commands
- Install: `pip install -r requirements.txt`
- Lint: `ruff check . --fix`
- Format: `ruff format .`
- Test: `pytest -v --tb=short`
- Type check: `mypy app/ --strict`
- Full verify: `ruff check . && ruff format --check . && pytest -v`
Definicje ukończenia:
## Definition of Done
A task is complete when ALL of the following pass:
1. `ruff check .` exits 0
2. `pytest -v` exits 0 with no failures
3. `mypy app/ --strict` exits 0
4. Changed files have been staged and committed
5. Commit message follows conventional format: `type(scope): description`
Sekcje uporządkowane według zadań:
## When Writing Code
- Run `ruff check .` after every file change
- Add type hints to all new functions
## When Reviewing Code
- Check for security issues: `bandit -r app/`
- Verify test coverage: `pytest --cov=app --cov-fail-under=80`
## When Releasing
- Update version in `pyproject.toml`
- Run full suite: `pytest -v && ruff check . && mypy app/`
Reguły eskalacji:
## When Blocked
- If tests fail after 3 attempts: stop and report the failing test with full output
- If a dependency is missing: check `requirements.txt` first, then ask
- Never: delete files to resolve errors, force push, or skip tests
Kolejność tworzenia
W przypadku rozpoczynania od zera należy dodawać sekcje według następujących priorytetów:21
- Polecenia budowania i testowania (agent potrzebuje ich, zanim będzie mógł wykonać cokolwiek użytecznego)
- Definicja ukończenia (zapobiega fałszywym deklaracjom ukończenia)
- Reguły eskalacji (zapobiegają destrukcyjnym obejściom)
- Sekcje uporządkowane według zadań (ograniczają analizowanie nieistotnych instrukcji)
- Określenie zakresu katalogów (w monorepo pozwala odizolować instrukcje poszczególnych usług)
Preferencje stylistyczne należy pominąć, dopóki pierwsze cztery elementy nie będą działać.
Platforma przeprowadza teraz audyt CLAUDE.md. Od wydań z początku lipca 2026 roku (v2.1.203–v2.1.206) /doctor analizuje CLAUDE.md i proponuje usunięcie treści, które model może sam wywnioskować z repozytorium — powtórzonych struktur katalogów, konwencji frameworka już widocznych w kodzie czy list poleceń dublujących skrypty pakietu.68 Jest to bezpośrednie potwierdzenie tezy tej sekcji przez twórców platformy: instrukcje uzasadniają zajmowane tokeny wtedy, gdy opisują to, czego agent nie może wywnioskować (zasady, progi, definicje ukończenia), a nie to, co może odczytać z dysku. Po znacznym rozroście CLAUDE.md należy uruchomić /doctor i potraktować propozycje skrócenia jako punkt wyjścia — warto jednak zachować reguły operacyjne, które narzędzie może oznaczyć jako „możliwe do wywnioskowania”, jeśli stanowią kluczowe ograniczenia, a nie jedynie opisy.
Importowanie plików
Odwołania do innych plików wewnątrz CLAUDE.md:
See @README.md for project overview
Coding standards: @docs/STYLE_GUIDE.md
API documentation: @docs/API.md
Personal preferences: @~/.claude/preferences.md
Składnia importu: ścieżka względna (@docs/file.md), bezwzględna (@/absolute/path.md) lub względem katalogu domowego (@~/.claude/file.md). Maksymalna głębokość: 5 poziomów importów.6
Zgodność instrukcji między narzędziami
AGENTS.md jest otwartym standardem rozpoznawanym przez wszystkie najważniejsze narzędzia do programowania wspomaganego przez AI.21 Jeśli zespół korzysta z wielu narzędzi, należy traktować AGENTS.md jako źródło kanoniczne, a odpowiednie sekcje odwzorować w plikach właściwych dla poszczególnych narzędzi:
| Narzędzie | Natywny plik | Odczytuje AGENTS.md? |
|---|---|---|
| Codex CLI | AGENTS.md | Tak (natywnie) |
| Cursor | .cursor/rules |
Tak (natywnie) |
| GitHub Copilot | .github/copilot-instructions.md |
Tak (natywnie) |
| Amp | AGENTS.md | Tak (natywnie) |
| Windsurf | .windsurfrules |
Tak (natywnie) |
| Claude Code | CLAUDE.md | Nie (odrębny format) |
Wzorce stosowane w AGENTS.md (polecenia na początku, zdefiniowane kryteria ukończenia, organizacja według zadań) sprawdzają się w każdym pliku instrukcji, niezależnie od narzędzia. Nie należy utrzymywać równoległych zestawów instrukcji, które z czasem zaczynają się różnić. Warto utworzyć jedno autorytatywne źródło i je odwzorowywać.
Uwagi dotyczące równoważności z Codex
Codex oferuje już pełnoprawne odpowiedniki głównych warstw harness, jednak migracja polega na przełożeniu wzorców, a nie na skopiowaniu plików. Przed rozpoczęciem pracy Codex odczytuje AGENTS.md, nakładając globalne wytyczne z ~/.codex na instrukcje projektu i zagnieżdżonych części repozytorium.31 Codex skills korzystają z tego samego modelu mentalnego SKILL.md i progresywnego ujawniania informacji: początkowo Codex zna nazwę skill, jej opis i ścieżkę pliku, a pełną treść wczytuje dopiero wtedy, gdy zdecyduje się jej użyć.32 Codex oferuje również natywne hooks, hooks dołączane do pluginów, zarządzane hooks, obsługę MCP oraz jawne przepływy pracy z subagents.3334
W wersjach Codex v0.138.0–v0.139.0 usprawniono wykrywanie AGENTS.md w nietrywialnych przestrzeniach roboczych: ładowanie odbywa się teraz przez abstrakcję systemu plików środowiska, a ścieżki logiczne są zachowywane podczas przeszukiwania. Dzięki temu właściwy plik zostaje wybrany nawet wtedy, gdy przestrzeń robocza korzysta ze zdalnego systemu plików lub drzewa dowiązań symbolicznych.61 Ma to znaczenie zawsze, gdy kanoniczny AGENTS.md stanowi autorytatywne źródło, a agent pracuje na repozytorium zamontowanym, zmaterializowanym w kontenerze lub opartym na dowiązaniach symbolicznych — czyli w sytuacjach, w których naiwne przeszukiwanie ścieżek może bez ostrzeżenia wybrać niewłaściwy plik instrukcji albo nie wybrać żadnego. Jeśli jeden autorytatywny AGENTS.md jest odwzorowywany w wielu usługach, tę wersję należy uznać za minimum pozwalające ufać, że agent rzeczywiście wczytał napisany przez Państwa plik.
W Codex v0.141.0 usprawniono następnie samą ścieżkę zdalnego wykonywania: zdalne executors łączą się teraz przez uwierzytelnione, kompleksowo szyfrowane kanały Noise-relay (płaszczyzna sterowania i executor nie muszą już ufać pośredniczącemu między nimi relay), wieloplatformowe zdalne wykonywanie zachowuje natywny katalog roboczy i powłokę executora, a TLS akceptuje podpisy certyfikatów P-521 używane przez firmowe serwery proxy.65 Jeśli orkiestracja steruje executors Codex przez granicę sieciową, oznacza to przejście od założenia zaufanego relay do szyfrowania kompleksowego — należy przyjąć tę wersję jako podstawę każdej topologii ze zdalnymi executors.
Linia wydań z lipca 2026 roku pokazuje, że oba środowiska wykonawcze zmierzają z przeciwnych kierunków ku tym samym mechanizmom podstawowym.72 Codex v0.143.0 domyślnie ładuje narzędzia MCP za pomocą wyszukiwania narzędzi — schematy narzędzi są odraczane i pobierane na żądanie zamiast trafiać do kontekstu z wyprzedzeniem. Jest to ten sam wzorzec odroczonego ładowania narzędzi, który Claude Code udostępnia przez interfejs ToolSearch, a zarazem właściwe rozwiązanie w obu środowiskach, gdy duża liczba narzędzi MCP nadmiernie rozbudowuje kontekst. Codex v0.144.0 dodaje tryb zatwierdzania aplikacji writes: działania tylko do odczytu są wykonywane bez monitów, natomiast zapisy wymagają zatwierdzenia. To rzeczywiście nowy mechanizm uprawnień, umieszczony między trybem tylko do odczytu a automatycznym zatwierdzaniem, którego lista trybów Claude Code nie wyraża bezpośrednio (najbliższym odpowiednikiem jest tryb plan, który całkowicie blokuje zapisy, zamiast prosić o zgodę na każdy z nich). To samo wydanie wprowadza interaktywne uwierzytelnianie MCP do wersji GA. Z kolei v0.144.5 rozszerza wykrywanie niebezpiecznych poleceń, odzwierciedlając zabezpieczenia przed destrukcyjnymi poleceniami wprowadzone przez Claude Code w wersjach v2.1.183 i v2.1.208. W projektowaniu harness działających w różnych środowiskach najważniejsza jest ta konwergencja: odroczone ładowanie narzędzi, stopniowane zatwierdzanie zapisów i blokowanie niebezpiecznych poleceń na poziomie intencji stają się standardem, a nie cechami wyróżniającymi poszczególnych dostawców.
Codex v0.145.0 pogłębia tę konwergencję na dwóch płaszczyznach.76 Ustabilizowano opcjonalny interfejs multi-agent V2: można teraz konfigurować modele sub-agents, poziomy rozumowania i współbieżność, a wcześniej usunięte role agentów zostały przywrócone — jest to odpowiedź Codex na konfigurację modelu i poziomu wysiłku dla każdego subagent w metadanych frontmatter plików .claude/agents/. Ponadto /import rozbudowano do pełnej migracji między harness: poza importem ustawień Claude Code, udostępnionym w wersji v0.140.0, polecenie migruje teraz ustawienia zarówno z Claude Code, jak i Cursor — w tym serwery MCP, pluginy, sesje, polecenia oraz pamięć na poziomie projektu. Dla zespołów korzystających z obu środowisk koszt migracji między nimi stale maleje w jednym kierunku; warstwy harness tworzone w Claude Code — serwery, skills jako polecenia i pamięć — w coraz większym stopniu stają się przenośnym stanem, a nie uzależnieniem od jednego dostawcy.
Praktyczne odwzorowanie:
| Warstwa harness Claude Code | Odpowiednik w Codex | Reguła migracji |
|---|---|---|
CLAUDE.md / .claude/rules/ |
AGENTS.md / zagnieżdżone AGENTS.override.md |
Zachować kanoniczną postać poleceń i kryteriów ukończenia; rozdzielać je tylko wtedy, gdy zakres katalogów rzeczywiście się różni |
.claude/skills/<name>/SKILL.md |
.agents/skills/<name>/SKILL.md lub plugin skill |
Przenieść przepływy pracy wielokrotnego użytku, ale przepisać opisy z uwzględnieniem sformułowań aktywacyjnych i budżetu Codex |
Hooks w .claude/settings.json |
Codex config.toml, plugin hooks lub zarządzane requirements hooks |
Najpierw przenieść deterministyczne gates; przetestować każdy hook z rzeczywistymi zdarzeniami narzędzi przed jego szerokim włączeniem |
.claude/agents/*.md |
~/.codex/agents/*.toml, .codex/agents/*.toml lub wbudowane worker / explorer |
Przenosić tylko agentów o powtarzalnej wartości; preferować jawną delegację, ponieważ subagents Codex są uruchamiane jawnie |
| Plugins | Codex plugins | Używać plugins jako jednostki dystrybucji po sprawdzeniu lokalnych hooks i skills |
Istotna różnica: subagents Claude mogą być wybierane automatycznie na podstawie opisów, podczas gdy Codex obecnie dokumentuje przepływy pracy z subagents jako jawne. Dlatego skills i hooks są właściwym domyślnym wyborem dla stale aktywnych zachowań harness w Codex; subagents służą do celowej pracy równoległej, przeglądu i eksploracji.
Testowanie instrukcji
Należy sprawdzić, czy agent rzeczywiście odczytuje instrukcje i ich przestrzega:
# Check active instructions
claude --print "What instructions are you following for this project?"
# Verify specific rules are active
claude --print "What is your definition of done?"
Rozstrzygający test: należy poprosić agenta o objaśnienie poleceń budowania. Jeśli nie potrafi ich odtworzyć dosłownie, instrukcje są zbyt rozwlekłe (treść została wypchnięta z kontekstu), zbyt nieprecyzyjne (agent nie potrafi wyodrębnić konkretnych działań) albo nie zostały odnalezione. Analiza 2 500 repozytoriów przeprowadzona przez GitHub wykazała, że nieprecyzyjność jest przyczyną większości niepowodzeń.21
Wzorce produkcyjne
Wzorce długotrwałych zadań w Opus 4.7 (kwiecień 2026)
Claude Opus 4.7 (16 kwietnia 2026) wprowadzono z konkretnymi możliwościami, które zmieniają zakres zabezpieczeń wymaganych od harness:29
- Odporność na awarie narzędzi: Opus 4.7 kontynuuje pracę po awariach narzędzi, które zatrzymywały sesje Opus 4.6. Można ograniczyć — ale nie wyeliminować — defensywne mechanizmy ponawiania prób w kodzie subagents. Należy zachować zabezpieczenia na poziomie hooks, a ograniczyć zawarte w promptach instrukcje typu „jeśli narzędzie zawiedzie, spróbuj ponownie trzy razy”.
- Poziom nakładu
xhigh(tylko Opus-4.7): Znajduje się międzyhighamax. Jest zalecanym ustawieniem domyślnym dla zadań programistycznych i agentowych. W przypadku długotrwałych subagents poziomxhighwyraźnie przewyższahigh, przy mniej niż proporcjonalnym wzroście kosztu tokenów.maxpozostaje właściwym wyborem do jednorazowego, złożonego wnioskowania;xhighsprawdza się lepiej w długotrwałych zadaniach. - Limit budżetu tokenów: Konfigurowalny dla każdego uruchomienia agenta za pomocą
output_config.task_budget(nagłówek betatask-budgets-2026-03-13). Model widzi aktualizowane odliczanie i płynnie dostosowuje zakres pracy do budżetu, zamiast niespodziewanie go wyczerpać. Warto korzystać z tej funkcji w pętlach agentowych, gdy potrzebne jest przewidywalne zużycie tokenów bez obniżania jakości krótkich promptów. - Rozpoznawanie niejawnych potrzeb: Pierwszy model Claude, który przeszedł testy „implicit-need” — rozpoznaje, kiedy dosłowna prośba użytkownika nie określa w pełni jego rzeczywistych potrzeb. Dzięki temu sekcja „clarifying rules” w CLAUDE.md staje się mniej potrzebna. Jeśli CLAUDE.md zawiera 200 wierszy zabezpieczeń w rodzaju „uwzględnij również X, gdy użytkownik poprosi o Y”, należy usunąć te, które model obsługuje już natywnie.
Podstawa worktree, ścieżki sandbox i ustawienia administracyjne (7 maja 2026)
Claude Code v2.1.133 dodaje 4 ustawienia poziomu administracyjnego, które warto znać w przypadku produkcyjnych harnesses:39
| Ustawienie | Wartości | Działanie |
|---|---|---|
worktree.baseRef |
fresh (domyślnie) | head |
Nowe worktrees ponownie tworzą gałęzie na podstawie origin/<default>. Wycofanie zmiany domyślnego zachowania z v2.1.128, w której używano lokalnego HEAD. Jeśli zespół polega na dostępności niewypchniętych commitów w nowych worktrees, należy ustawić worktree.baseRef: "head". |
sandbox.bwrapPath |
ścieżka bezwzględna | Pozwala ustalić lokalizację pliku binarnego Bubblewrap na hostach Linux/WSL, na których nie znajduje się on w $PATH lub używana jest dostarczana wraz z systemem własna wersja. |
sandbox.socatPath |
ścieżka bezwzględna | Analogiczne ustawienie dla pliku binarnego socat używanego przez sieć sandbox. |
parentSettingsBehavior |
'first-wins' (domyślnie) | 'merge' |
Kontrola na poziomie administracyjnym nad sposobem łączenia SDK managedSettings z nadrzędnymi ustawieniami przedsiębiorstwa lub zespołu. Opcja 'merge' pozwala sesji podrzędnej dziedziczyć i rozszerzać ustawienia, natomiast 'first-wins' zachowuje nadrzędność ustawień rodzica. |
Wycofanie zmiany dotyczącej worktree.baseRef należy szczególnie wyraźnie zakomunikować użytkownikom: agenci polegający na zachowaniu z wersji v2.1.128–v2.1.132 (worktrees tworzące gałęzie na podstawie lokalnego HEAD) tracą dostęp do niewypchniętej pracy w nowych worktrees, chyba że ponownie włączą tę opcję.
Ankieta opinii OTel do obserwowalności w przedsiębiorstwach (8 maja 2026)
Claude Code v2.1.136 dodano CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, aby ponownie włączyć ankietę jakości w sesji dla przedsiębiorstw przechwytujących odpowiedzi za pośrednictwem OpenTelemetry.40 Jeśli organizacja przesyła zdarzenia OTel do centralnego stosu obserwowalności, ta zmienna środowiskowa przywraca ankietę do ścieżki danych, dzięki czemu sygnał jakości przepływa tym samym potokiem co metryki opóźnień i błędów. Należy traktować ją jako funkcję opcjonalną: domyślnie ankieta pozostaje wyłączona, co jest właściwe w przypadku wdrożeń bez OTel.
Korporacyjne programy uruchamiające i wydajność przy skali MCP (lipiec 2026)
Dwie zmiany w v2.1.207 mają znaczenie dla wdrożeń produkcyjnych.68 CLAUDE_CODE_PROCESS_WRAPPER pozwala zarządzanym środowiskom uruchamiać proces Claude Code za pośrednictwem korporacyjnego pliku binarnego wrappera — punktu integracji dla agentów punktów końcowych, kontroli zasad podczas uruchamiania oraz środowisk, w których każdy proces musi działać pod nadzorem obowiązkowego supervisora. Jeśli wcześniej przedsiębiorstwo imitowało takie rozwiązanie za pomocą aliasów powłoki lub rozwidlonych skryptów uruchamiających, jest to obecnie oficjalnie obsługiwany punkt integracji.
To samo wydanie ograniczyło narzut środowiska uruchomieniowego tam, gdzie harnesses odczuwają go najmocniej: rundy użycia narzędzi są nawet 7× szybsze w sesjach z dużą liczbą narzędzi MCP, a transkrypcje sesji są 79× mniejsze.68 Łagodzi to — choć nie odwraca — zalecenia przedstawione w sekcji Koszt jako architektura: podejście oparte najpierw na CLI nadal wygrywa w bezstanowych, jednorazowych operacjach, lecz harness zawierający dziesiątki narzędzi MCP nie ponosi już takiego narzutu na rundę jak wiosną, a przechowywanie transkrypcji przestaje być ukrytym kosztem długotrwałych autonomicznych uruchomień.
Quality loop
Obowiązkowy proces przeglądu wszystkich nietrywialnych zmian:
- Implementacja — napisanie kodu
- Przegląd — ponowne przeczytanie każdego wiersza. Wychwycenie literówek, błędów logicznych i niejasnych fragmentów
- Ocena — uruchomienie evidence gate. Sprawdzenie wzorców, przypadków brzegowych i pokrycia testami
- Dopracowanie — naprawienie każdego problemu. Bez odkładania czegokolwiek „na później”
- Szersze spojrzenie — sprawdzenie punktów integracji, importów i sąsiedniego kodu pod kątem regresji
- Powtórzenie — jeśli którekolwiek kryterium evidence gate nie zostanie spełnione, powrót do kroku 4
- Raport — wyszczególnienie zmian i sposobu ich weryfikacji wraz z przytoczeniem konkretnych dowodów
Evidence gate
„Uważam” i „powinno” nie są dowodami. Należy wskazać ścieżki plików, wyniki testów lub konkretny kod.
| Kryterium | Wymagany dowód |
|---|---|
| Zgodność ze wzorcami bazy kodu | Nazwa wzorca i pliku, w którym występuje |
| Najprostsze działające rozwiązanie | Wyjaśnienie, które prostsze alternatywy odrzucono i dlaczego |
| Obsłużone przypadki brzegowe | Lista konkretnych przypadków brzegowych i sposobu obsługi każdego z nich |
| Testy przechodzą pomyślnie | Wynik testów wskazujący 0 niepowodzeń |
| Brak regresji | Nazwy sprawdzonych plików lub funkcji |
| Rozwiązanie rzeczywistego problemu | Potrzeba użytkownika i sposób, w jaki rozwiązanie ją zaspokaja |
Jeśli nie można przedstawić dowodu dla któregokolwiek wiersza, należy wrócić do etapu dopracowania.22
Uprawnienia człowieka do scalania
Badanie arXiv z maja 2026, obejmujące cykle życia 29 585 pull requestów agentów AI, oddziela autonomię operacyjną od nadzoru nad scalaniem.47 Wniosek architektoniczny jest prosty: agenci mogą rozpoczynać pracę, rozwijać gałęzie, otwierać PR-y, przeprowadzać przeglądy i podsumowywać ryzyko, natomiast uprawnienia do scalania pozostają odrębną granicą nadzoru.
Granica ta powinna być jawnie określona w harness. Agenci mogą przygotowywać PR-y i gromadzić dowody; scalenia, wydania i destrukcyjne operacje na repozytorium powinny wymagać zatwierdzenia przez człowieka, chyba że organizacja dysponuje osobno audytowaną polityką automatyzacji. Gdy scalenie wykonuje automatyzacja, należy zachować logi rozróżniające wykonawcę od człowieka lub zasady, które je autoryzowały.
Wzorce obsługi błędów
Atomowe zapisy plików. Jednoczesny zapis wielu agentów do tego samego pliku stanu powoduje uszkodzenie JSON. Należy zapisywać dane do plików .tmp, a następnie atomowo wykonywać mv. System operacyjny gwarantuje atomowość operacji mv w obrębie tego samego systemu plików.17
# Atomic state update
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"
Odzyskiwanie po uszkodzeniu stanu. Jeśli stan ulegnie uszkodzeniu, wzorzec odzyskiwania odtwarza go z bezpiecznych wartości domyślnych, zamiast powodować awarię:16
if ! jq -e '.depth' "$RECURSION_STATE_FILE" &>/dev/null; then
# Corrupted state file, recreate with safe defaults
echo '{"depth": 0, "agent_id": "root", "parent_id": null}' > "$RECURSION_STATE_FILE"
echo "- Recursion state recovered (was corrupted)"
fi
Pułapka ((VAR++)) w bash. ((VAR++)) zwraca kod wyjścia 1, gdy VAR ma wartość 0, ponieważ wynikiem 0++ jest 0, co bash interpretuje jako fałsz. Przy włączonym set -e powoduje to zakończenie skryptu. Zamiast tego należy użyć VAR=$((VAR + 1)).16
Klasyfikacja blast radius
Każde działanie agenta należy sklasyfikować według blast radius i odpowiednio zabezpieczyć:2
| Klasyfikacja | Przykłady | Gate |
|---|---|---|
| Lokalne | Zapisy plików, uruchamianie testów, linting | Automatyczne zatwierdzenie |
| Współdzielone | Commity Git, tworzenie gałęzi | Ostrzeżenie i kontynuacja |
| Zewnętrzne | Git push, wywołania API, wdrożenia | Wymagane zatwierdzenie przez człowieka |
Remote Control (łączenie się z lokalnym Claude Code z dowolnej przeglądarki lub aplikacji mobilnej) przekształca „zewnętrzny” gate z blokującego oczekiwania w powiadomienie asynchroniczne. Agent kontynuuje pracę nad następnym zadaniem, podczas gdy poprzednie można sprawdzić na telefonie.2
Specyfikacja zadań dla autonomicznych uruchomień
Skuteczne zadania autonomiczne obejmują 3 elementy: cel, kryteria ukończenia i odnośniki do kontekstu:16
OBJECTIVE: Implement multi-agent deliberation with consensus validation.
COMPLETION CRITERIA:
- All tests in tests/test_deliberation_lib.py pass (81 tests)
- post-deliberation.sh validates consensus above 70% threshold
- recursion-guard.sh enforces spawn budget (max 12 agents)
- No Python type errors (mypy clean)
CONTEXT:
- Follow patterns in lib/deliberation/state_machine.py
- Consensus thresholds in configs/deliberation-config.json
- Spawn budget model: agents inherit budget, not increment depth
Kryteria muszą być weryfikowalne maszynowo: powodzenie lub niepowodzenie testów, wynik lintera, kody stanu HTTP, sprawdzenie istnienia plików. W jednym z pierwszych zadań poproszono agenta o „napisanie testów, które przechodzą”, co poskutkowało assert True i assert 1 == 1. Technicznie poprawne. W praktyce bezwartościowe.16
| Jakość kryteriów | Przykład | Wynik |
|---|---|---|
| Nieprecyzyjne | „Testy przechodzą” | Agent pisze trywialne testy |
| Mierzalne, lecz niepełne | „Testy przechodzą ORAZ pokrycie >80%” | Testy pokrywają wiersze, ale nie sprawdzają niczego istotnego |
| Kompleksowe | „Wszystkie testy przechodzą ORAZ pokrycie >80% ORAZ brak błędów typów ORAZ linter nie zgłasza problemów ORAZ każda klasa testowa sprawdza odrębny moduł” | Wynik o jakości produkcyjnej |
Tryby awarii, na które należy uważać
| Tryb awarii | Opis | Zapobieganie |
|---|---|---|
| Spirala skrótów | Pomijanie kroków quality loop w celu szybszego ukończenia pracy | Evidence gate wymaga dowodu dla każdego kryterium |
| Miraż pewności | „Mam pewność” bez przeprowadzenia weryfikacji | Zakaz języka asekuracyjnego w raportach z ukończenia |
| Pozorna weryfikacja | Twierdzenie, że testy przechodzą bez uruchomienia ich w bieżącej sesji | Stop hook uruchamia testy niezależnie |
| Odroczony dług | TODO/FIXME/HACK w zatwierdzonym kodzie | PreToolUse hook dla git commit skanuje diff |
| Zaśmiecenie systemu plików | Niepotrzebne artefakty pozostawione po porzuconych iteracjach | Etap porządkowania uwzględniony w kryteriach ukończenia |
Konkretny przebieg sesji
Przebieg autonomicznej sesji przetwarzającej PRD z 5 historyjkami:2
-
Uruchamia się SessionStart. Dispatcher wstrzykuje: bieżącą datę, wykrywanie projektu, ograniczenia wynikające z przyjętej filozofii oraz inicjalizację śledzenia kosztów. 5 hooks, łącznie 180 ms.
-
Agent odczytuje PRD i planuje pierwszą historyjkę. Uruchamia się
UserPromptSubmit. Dispatcher wstrzykuje: kontekst aktywnego projektu i wartość bazową dryfu sesji. -
Agent wywołuje Bash, aby uruchomić testy. Uruchamia się
PreToolUse:Bash. Kontrola danych uwierzytelniających, walidacja sandbox i wykrywanie projektu. 90 ms. Testy zostają uruchomione. Uruchamia sięPostToolUse:Bash: rejestrowany jest sygnał aktywności i wykonywana jest kontrola dryfu. -
Agent wywołuje Write, aby utworzyć plik. Uruchamia się
PreToolUse:Write: kontrola zakresu pliku. Uruchamia sięPostToolUse:Write: kontrola lintingu i śledzenie commitów. -
Agent kończy historyjkę. Uruchamia się
Stop. Quality gate sprawdza: czy agent przytoczył dowody? Czy użył języka asekuracyjnego? Czy w diff znajdują się komentarze TODO? Jeśli którakolwiek kontrola zakończy się niepowodzeniem, zwracany jest kod wyjścia 2, a agent kontynuuje pracę. -
Niezależna weryfikacja: Nowy agent uruchamia zestaw testów, nie polegając na deklaracji poprzedniego agenta.
-
3 agentów przeglądających kod uruchamia się równolegle. Każdy niezależnie sprawdza diff. Jeśli którykolwiek recenzent oznaczy problem jako CRITICAL, historyjka wraca do kolejki.
-
Historyjka przechodzi weryfikację. Wczytywana jest następna. Cykl powtarza się dla wszystkich 5 historyjek.
Łączna liczba hooks uruchomionych dla 5 historyjek: około 340. Łączny czas działania hooks: około 12 sekund. Ten narzut zapobiegł 3 wyciekom danych uwierzytelniających, 1 destrukcyjnemu poleceniu i 2 niekompletnym implementacjom podczas jednego nocnego uruchomienia.
Studium przypadku: nocne przetwarzanie PRD
Produkcyjny harness przetworzył 12 PRDs (47 historyjek) w ramach 8 nocnych sesji. Metryki porównują pierwsze 4 PRDs (minimalny harness: tylko CLAUDE.md) z ostatnimi 8 (pełny harness: hooks, skills, quality gates i przegląd multi-agent).
| Metryka | Minimalny (4 PRDs) | Pełny harness (8 PRDs) | Zmiana |
|---|---|---|---|
| Wycieki danych uwierzytelniających | 2 trafiły do Git | 7 zablokowano przed commitem | Od reakcji do zapobiegania |
| Destrukcyjne polecenia | 1 force-push do main | 4 zablokowano | Egzekwowanie kodu wyjścia 2 |
| Wskaźnik fałszywego ukończenia | 35% niezaliczonych testów | 4% | Evidence gate + Stop hook |
| Liczba rund poprawek/historyjkę | 2.1 | 0.8 | Skills + quality loop |
| Degradacja kontekstu | 6 incydentów | 1 incydent | Pamięć w systemie plików |
| Narzut tokenów | 0% | ~3.2% | Pomijalny |
| Czas hooks/historyjkę | 0s | ~2.4s | Pomijalny |
Dwa wycieki danych uwierzytelniających wymagały rotacji kluczy API i audytu usług zależnych, co oznaczało około 4 godzin reagowania na incydenty. Narzut harness, który zapobiegł podobnym zdarzeniom, wynosił 2,4 sekundy działania bash na historyjkę. Wskaźnik fałszywego ukończenia spadł z 35% do 4%, ponieważ Stop hook niezależnie uruchamiał testy, zanim pozwolił agentowi zgłosić ukończenie pracy.
Kwestie bezpieczeństwa
Pięć zasad godnych zaufania agentów (Anthropic, kwiecień 2026)
9 kwietnia 2026 organizacja Anthropic opublikowała formalne ramy wiarygodności agentów.27 Pięć zasad odpowiada koncepcji evidence gate przedstawionej w tym przewodniku — i ją rozszerza:
| Zasada | Co oznacza | Jak ten harness ją realizuje |
|---|---|---|
| Kontrola człowieka | Rzeczywista możliwość interwencji człowieka w każdym punkcie decyzyjnym | hooks kontrolują wywołania narzędzi; blokowanie PreCompact; klasyfikator Auto Mode jako warstwa kontrolna |
| Zgodność z wartościami | Działania agenta odpowiadają intencjom użytkownika, a nie celom pobocznym | CLAUDE.md jako jawna specyfikacja intencji; skills jako ograniczenie zakresu możliwości |
| Bezpieczeństwo | Odporność na wrogie dane wejściowe i prompt injection | Sandbox + reguły odmowy + walidacja danych wejściowych w warstwie hook |
| Przejrzystość | Możliwe do audytowania zapisy decyzji i działań | Rejestrowanie przez hooks; transkrypcje sesji; ślady wywołań skills |
| Prywatność | Odpowiednie przetwarzanie danych i zarządzanie nimi | Usuwanie zmiennych środowiskowych z danymi uwierzytelniającymi; wykrywanie sekretów w warstwie hook |
Organizacja Anthropic przekazała również MCP fundacji Agentic AI Foundation działającej przy Linux Foundation, dołączając do AGENTS.md (obecnie wspólnie zarządzanego z OpenAI, Google, Cursor, Factory i Sourcegraph). Standardy interoperacyjności agentów są teraz niezależne od dostawców.27
Bezstanowa tura i samodzielnie deklarowana tożsamość w MCP (lipiec 2026). Specyfikacja MCP jest w trakcie przechodzenia na bezstanowy rdzeń (SEP-2575), który usuwa stanowy uścisk dłoni inicjalizacji, dotychczas przekazujący tożsamość serwera. Zmiana w wersji roboczej specyfikacji, scalona 16 lipca (PR #3002), przywraca tożsamość jako opcjonalny element interfejsu: serwery mogą umieszczać obiekt io.modelcontextprotocol/serverInfo w _meta odpowiedzi, a clientInfo staje się opcjonalne w żądaniach.71 Z punktu widzenia bezpieczeństwa najważniejsze jest stanowisko specyfikacji dotyczące zaufania: ta tożsamość jest deklarowana samodzielnie i niezweryfikowana — służy wyłącznie do wyświetlania i rejestrowania — oraz NIE POWINNA stanowić podstawy decyzji dotyczących bezpieczeństwa. Jeśli harness uzależnia listy dozwolonych elementów, reguły uprawnień lub audyt oparty na logach od nazwy zadeklarowanej przez serwer MCP, nazwa ta jest twierdzeniem, a nie poświadczeniem; zaufanie należy przypisać transportowi i konfiguracji (serwerowi skonfigurowanemu przez Państwa pod określonym punktem końcowym), nigdy temu, za co podaje się sam serwer. Sfinalizowaną wersję bezstanowej specyfikacji zaplanowano na 28 lipca 2026 — należy oczekiwać, że szczegóły na poziomie protokołu opisane w tej sekcji zostaną doprecyzowane w kolejnej aktualizacji.
Narzędzia do izolowania skills: Z myślą o zespołach, które traktują skills jako powierzchnię ataku, firma Permiso udostępniła SandyClaw (2 kwietnia 2026). Narzędzie uruchamia skills w dedykowanym sandboxie i przedstawia poparte dowodami werdykty mechanizmów wykrywania Sigma/YARA/Nova/Snort. To pierwszy produkt w kategorii sandboxów dla skills.28
Sandbox
Claude Code obsługuje opcjonalny tryb sandbox (włączany za pomocą settings.json lub polecenia /sandbox), który ogranicza dostęp do sieci i operacje na systemie plików poprzez izolację na poziomie systemu operacyjnego (seatbelt w systemie macOS, bubblewrap w systemie Linux). Po włączeniu sandbox uniemożliwia modelowi wysyłanie dowolnych żądań sieciowych oraz uzyskiwanie dostępu do plików spoza katalogu projektu. Bez sandboxa Claude Code korzysta z modelu opartego na uprawnieniach, w którym poszczególne wywołania narzędzi są zatwierdzane lub odrzucane przez użytkownika.13
Minimalna bezpieczna wersja z maja 2026. W Claude Code v2.1.149 naprawiono obejście uprawnień katalogu roboczego w PowerShell, kilka luk w analizie uprawnień dotyczących reguł zezwalających i nieaktualnych zmiennych PowerShell oraz błąd listy dozwolonych zapisów sandboxa dla git worktree, która obejmowała cały katalog główny repozytorium głównego zamiast wyłącznie współdzielonych wewnętrznych elementów git.53 Jeśli harness dopuszcza PowerShell lub agentów izolowanych za pomocą worktree, należy uznać v2.1.149+ za wersję minimalną i utrzymywać wąski zakres reguł powłoki. Szerokie reguły PowerShell(*) i wyjątki zapisu obejmujące całe repozytorium są skrótami orkiestracyjnymi, a nie granicami bezpieczeństwa.
Zaostrzenie sandboxa OpenAI Agents SDK (v0.17.0, 8 maja 2026). Po stronie OpenAI wersja 0.17.0 pakietu openai-agents-python zaostrzyła analogiczną granicę: LocalFile.src i LocalDir.src są teraz ograniczone do katalogu materializacji base_dir (bieżącego katalogu roboczego procesu SDK w chwili zastosowania manifestu), chyba że źródło zostanie jawnie dopuszczone za pomocą Manifest.extra_path_grants z SandboxPathGrant.41 Względne źródła lokalne są rozwiązywane względem base_dir; ścieżki bezwzględne muszą już znajdować się w tym katalogu albo mieć przyznane uprawnienie. Zamyka to lukę w granicy lokalnych artefaktów: wcześniejsze wersje pozwalały manifestom pobierać dowolne ścieżki hosta do obszaru roboczego sandboxa. Migracja: zaufane katalogi główne hosta należy zadeklarować na poziomie manifestu za pomocą SandboxPathGrant(path=..., read_only=True) w przypadku montowania tylko do odczytu. extra_path_grants należy traktować jako zaufaną konfigurację aplikacji; nigdy nie należy tworzyć uprawnień na podstawie danych wyjściowych modelu ani niezaufanych danych manifestu.
Kolejna minimalna wersja OpenAI Agents SDK (v0.17.3). W wydaniach 0.17.1–0.17.3 dodano dalsze zabezpieczenia sandboxa i sesji: limity wyodrębniania archiwów, walidację podścieżek GitRepo, czytelniejsze błędy dostawcy sandboxa, przechowywanie danych uwierzytelniających punktów montowania poza poleceniami sandboxa, odrzucanie względnych katalogów głównych obszaru roboczego sandboxa oraz obsługę stanów końcowych sandboxa Vercel.54 Jeśli korzystają Państwo z sandboxów hostowanych przez OpenAI lub obsługiwanych przez dostawców, a nie wyłącznie z hooks Claude Code, należy uznać wersję 0.17.3 za obecne minimum dla wzorców opisanych w tej sekcji.
Trzy wzorce izolacji w różnych produktach (Anthropic, maj 2026)
Wpis techniczny organizacji Anthropic „Jak izolujemy Claude w różnych produktach” (25 maja 2026) przedstawia stanowisko samego dostawcy wobec zasad, które ta sekcja omawia fragmentarycznie — sandboxa na poziomie ustawień opisanego powyżej, minimalnego poziomu izolacji worktree oraz traktowania wszystkiego jako niezaufane.81 Jego główna idea polega na dopasowaniu siły izolacji do powierzchni produktu, a samo to dopasowanie stanowi lekcję: nie istnieje jeden właściwy projekt izolacji, lecz izolacja dostosowana do tego, kto sprawuje nadzór i co może pójść nie tak.
- Efemeryczne kontenery gVisor (claude.ai). Wykonywanie po stronie serwera odbywa się w kontenerach gVisor na odizolowanej infrastrukturze, z efemerycznym systemem plików przypisanym do każdej sesji. Model zagrożeń obejmuje izolację infrastruktury i dzierżawców — komputer użytkownika nigdy nie jest osiągalny, więc nie ma potrzeby chronienia lokalnych zasobów.
- Sandbox systemu operacyjnego z udziałem człowieka (Claude Code). Wzorzec opisany w powyższym akapicie o sandboxie, ujęty jako polityka: Seatbelt w systemie macOS i bubblewrap w systemie Linux, z dozwolonym odczytem, zapisem ograniczonym do obszaru roboczego i domyślnie zablokowaną siecią — człowiek zatwierdza to, czego granica nie obejmuje. Organizacja Anthropic udostępniła środowisko uruchomieniowe na zasadach open source (
sandbox-runtime), dzięki czemu granicę można audytować. Wpis otwarcie wskazuje słabe ogniwo: zatwierdzanych jest około 93% próśb o uprawnienia, a klasyfikator trybu automatycznego — wykrywający przed wykonaniem około 83% nadmiernie gorliwych działań i jednocześnie ograniczający liczbę próśb o zatwierdzenie o 84% — istnieje właśnie dlatego, że zmęczenie zatwierdzaniem jest właściwością bezpieczeństwa, a nie skargą dotyczącą UX. Jest to podejście warstwy kontrolnej, które ten przewodnik śledzi od wersji v2.1.193. - Zapieczętowane maszyny wirtualne (Claude Cowork). Pełne maszyny wirtualne działające na hiperwizorach platformowych — Apple Virtualization framework w systemie macOS i HCS w systemie Windows — z zamontowanym wyłącznie wybranym obszarem roboczym i folderem
.claude; żadne inne zasoby hosta nie są widoczne. Dane uwierzytelniające nigdy nie trafiają do maszyny wirtualnej: pozostają w pęku kluczy hosta, a każda sesja otrzymuje token o ograniczonym zakresie, który można niezależnie unieważnić. Egzekwuje to obronny serwer proxy MITM wewnątrz maszyny wirtualnej, przepuszczający wyłącznie żądania zawierające token sesji przydzielony tej maszynie — klucz osadzony przez atakującego zostaje odrzucony na granicy, ponieważ tylko maszyna wirtualna zna jego pochodzenie.
Najbardziej uniwersalne są zasady projektowe leżące u podstaw tej klasyfikacji. Najpierw izolować na poziomie środowiska, a dopiero potem sterować na poziomie modelu: każda probabilistyczna ochrona ma niezerowy współczynnik przeoczeń, dlatego deterministyczne granice muszą wychwytywać to, co umknie sterowaniu na poziomie promptu — jest to przedstawiony w tym przewodniku argument, że hooks gwarantują wykonanie, powtórzony przez dostawcę. Dopasować siłę izolacji do zdolności użytkownika do sprawowania nadzoru: programista może ocenić polecenie bash przed jego zatwierdzeniem; pracownik wiedzy nie może — dlatego Code wyświetla okno uprawnień, a Cowork otrzymuje zapieczętowaną maszynę wirtualną. Preferować sprawdzone mechanizmy zamiast niestandardowego kodu izolującego: hiperwizory, seccomp i środowiska uruchomieniowe kontenerów lepiej przetrwały wrogą analizę niż własne serwery proxy z listami dozwolonych elementów i parsery konfiguracji organizacji Anthropic. Traktować lokalną konfigurację projektu i dane wyjściowe narzędzi jako niezaufane: wpis zaleca traktowanie otwarcia projektu i wczytania konfiguracji jak każdego przychodzącego żądania z internetu, a danych wyjściowych narzędzia jako powierzchni ataku nawet wtedy, gdy samo narzędzie jest zaufane — to samo podejście niniejszy przewodnik stosuje do komunikatów między agentami, treści odczytanych przez subagents oraz samodzielnie deklarowanej tożsamości MCP. Przechowywać dane uwierzytelniające poza sandboxem: stosować tokeny ograniczonego zakresu, odwoływalne i przypisane do sesji zamiast ogólnych kluczy, które agent mógłby ujawnić.
Powierzchnia ustawień zaczyna realizować pierwszą zasadę (v2.1.219). Łatwo zgodzić się z zasadą „najpierw izolować na poziomie środowiska”, lecz dotychczas trudno było ją rzeczywiście skonfigurować, ponieważ sandbox Claude Code rozstrzygał kwestie nieobjęte regułami, zadając pytanie — a prośba o uprawnienia to probabilistyczna ochrona przebrana za deterministyczną, co potwierdza przytoczony wyżej wskaźnik 93% zatwierdzeń. sandbox.network.strictAllowlist eliminuje pytanie w przypadku ruchu wychodzącego: po ustawieniu tej opcji żądanie polecenia działającego w sandboxie skierowane do hosta spoza listy dozwolonych jest bezwarunkowo odrzucane zamiast wywoływać monit.84 W połączeniu z wprowadzonym w v2.1.216 ustawieniem sandbox.filesystem.disabled oba ustawienia tworzą spójną postawę bezpieczeństwa, a nie zbiór przełączników — izolację systemu plików i sieci można wybierać niezależnie, a izolacja sieci może być teraz deterministyczna. W przypadku nienadzorowanego harness jest to ważniejsze z tych dwóch ustawień, ponieważ przez ruch wychodzący wstrzyknięta instrukcja prowadzi do eksfiltracji, a krańcowym przypadkiem zmęczenia zatwierdzaniem jest sytuacja, w której przy klawiaturze nie ma nikogo, kto mógłby się zmęczyć. Ceną jest zwykły koszt deterministycznej granicy: lista dozwolonych elementów musi być poprawna, a pominięty host kończy się niejasną odmową zamiast pytaniem. Należy wyliczyć hosty, których agenci rzeczywiście potrzebują, a następnie usunąć monit.
Żaden z tych mechanizmów nie zastępuje warstwy hook; znajduje się pod nią. Wzorce izolacji stanowią deterministyczną podstawę, a historia egzekwowania worktree opisana w tym przewodniku przekazuje tę samą lekcję w mniejszej skali: granica liczy się tylko wtedy, gdy wytrzymuje celowe przekierowanie, a największe szanse mają mechanizmy, których nie napisano specjalnie na tę okazję.
Granice uprawnień
System uprawnień kontroluje operacje na wielu poziomach:
| Poziom | Zakres kontroli | Przykład |
|---|---|---|
| Uprawnienia narzędzi | Których narzędzi można używać | Ograniczenie subagent do Read, Grep, Glob |
| Uprawnienia plików | Które pliki można modyfikować | Blokowanie zapisu do .env, credentials.json |
| Uprawnienia poleceń | Które polecenia bash można uruchamiać | Blokowanie rm -rf, git push --force |
| Uprawnienia sieciowe | Do których domen można uzyskiwać dostęp | Lista dozwolonych połączeń z serwerami MCP |
Reguły uprawnień na poziomie parametrów (czerwiec 2026)
W Claude Code v2.1.178 rozszerzono reguły uprawnień z poziomu narzędzia na poziom parametrów: Tool(param:value) dopasowuje parametry wejściowe narzędzia, a * pełni funkcję symbolu wieloznacznego. Kanonicznym przykładem jest Agent(model:opus) — reguła blokująca uruchamianie subagents na określonym poziomie modelu.63 Z perspektywy architektury zamyka to lukę, której powyższa czteropoziomowa tabela nie potrafiła opisać: wcześniej można było zezwolić na całe narzędzie lub go zabronić, ale nie dało się ograniczyć sposobu jego wywołania. Polityka zarządzania może teraz deterministycznie określać, że „subagents mogą być uruchamiane, lecz nie na poziomie Fable 5” albo „Bash jest dozwolony, ale nie z tą flagą”, zamiast polegać na prośbie w prompcie.
Uzupełniające ustawienie zarządzane enforceAvailableModels (v2.1.175) ogranicza wybór modelu odgórnie: przypina model Default i uniemożliwia ustawieniom użytkownika lub projektu rozszerzenie zarządzanej listy dozwolonych modeli availableModels.63 Oba mechanizmy współdziałają — lista dozwolonych określa, które poziomy w ogóle są dostępne w sesji, natomiast reguły na poziomie parametrów ograniczają sposób, w jaki subagents z nich korzystają. Od wersji v2.1.196 administratorzy mogą również ustawić domyślny model dla całej organizacji w konsoli organizacji; jest on wyświetlany jako „Org default” w /model, dzięki czemu wszystkie środowiska dziedziczą zarządzany model domyślny bez konieczności przypinania go przez każdego operatora — jest to dolna granica uzupełniająca górną granicę listy dozwolonych.
Reguły zezwalające ograniczone do ścieżek są zakotwiczone w katalogu roboczym (lipiec 2026)
W Claude Code v2.1.214 usunięto ciche, nadmiernie szerokie dopasowanie w regułach uprawnień ograniczonych do ścieżek: reguła zezwalająca z jednosegmentowym wzorcem dir/** — na przykład Edit(src/**) — automatycznie zatwierdzała edycje w każdym katalogu o nazwie src na dowolnej głębokości, w tym w vendor/some-package/src/ i wszystkich innych zagnieżdżonych katalogach src/, których autor reguły nie zamierzał obejmować. Takie reguły są teraz zakotwiczone wyłącznie w <cwd>/dir; jeśli rzeczywiście potrzebne jest dopasowanie na dowolnej głębokości, należy zadeklarować je jako **/dir/**.74 Reguły odmowy i pytania celowo zachowują wcześniejsze dopasowanie na dowolnej głębokości. Ta asymetria jest prawidłowym projektem bezpiecznym w razie awarii: zbyt wąsko dopasowana reguła zezwalająca zachowuje bezpieczeństwo (pojawia się monit), natomiast zbyt wąsko dopasowana reguła odmowy otwiera dostęp (zablokowana ścieżka przechodzi) — dlatego zezwolenia zaostrzono, a odmowy pozostawiono szerokie. Jeśli ustawienia wykorzystują jednosegmentowe wzorce zezwalające do obejmowania zagnieżdżonych ścieżek, od wersji v2.1.214 po cichu przestały to robić; oznacza to, że poprawka działa zgodnie z zamierzeniem, lecz warto przejrzeć listy dozwolonych elementów i ponownie zadeklarować rzeczywiście potrzebny zakres.
Zabezpieczenia trybu automatycznego przed destrukcyjnymi poleceniami (czerwiec 2026)
W Claude Code v2.1.183 ograniczono zasięg szkód trybu automatycznego w przypadku operacji, które mogą po cichu spowodować utratę pracy lub zniszczyć środowiska. Tryb automatyczny bezwarunkowo blokuje teraz następujące działania, chyba że zostały jawnie zlecone podczas sesji: destrukcyjne operacje git (git reset --hard, git checkout -- ., git clean -fd, git stash drop); git commit --amend, jeśli commit nie został utworzony przez agenta w tej sesji; oraz likwidację infrastruktury (terraform destroy, pulumi destroy, cdk destroy), o ile nie wskazano konkretnego stosu.65 Z perspektywy architektury uzupełnia to opisaną powyżej weryfikację uruchamiania i reguły na poziomie parametrów: zamiast kontrolować, którego narzędzia można użyć lub jak jest uruchamiane, mechanizm kontroluje niewielki zbiór konkretnych nieodwracalnych poleceń na podstawie intencji — agent nadal może je wykonać, ale tylko na jawne polecenie, nigdy z własnej inicjatywy. W autonomicznym harness należy zakodować tę samą zasadę we własnych hooks PreToolUse: polecenia niszczące stan wymagają domyślnej reguły odmowy, którą może uchylić wyłącznie jawny sygnał operatora.
Lipiec 2026: tryb automatyczny trafia do przedsiębiorstw, a jednego monitu nie można już pominąć. Tryb automatyczny osiągnął status GA na platformach Amazon Bedrock, Google Vertex AI i Microsoft Foundry w wersji v2.1.207, wraz z zarządzanym ustawieniem disableAutoMode umożliwiającym rezygnację na poziomie przedsiębiorstwa — podejście wykorzystujące klasyfikator jako warstwę kontrolną jest obecnie dostępne na każdej własnej platformie korporacyjnej, a jego wyłączenie stanowi jawną decyzję dotyczącą zarządzania, nie zaś lukę platformy.68 Następnie w v2.1.208 zabezpieczenie przed katastrofalnym usuwaniem stało się bezwarunkowe: monity o potwierdzenie katastrofalnego usunięcia przebijają się teraz zarówno przez --dangerously-skip-permissions, jak i tryb automatyczny.68 To istotny precedens — pierwsze potwierdzenie w Claude Code, którego nie może pominąć żaden tryb uprawnień, łącznie z jawną flagą obejścia. Projekty autonomicznych harnesses, które zakładały, że --dangerously-skip-permissions oznacza dosłownie brak monitów, powinny uwzględnić ten jeden wyjątek; jest uruchamiany dokładnie tam, gdzie nienadzorowana pętla może spowodować najbardziej nieodwracalne szkody.
Zabezpieczenia przed fabrykowaniem danych (lipiec 2026)
Wydania v2.1.203–v2.1.206 zamknęły dwie drogi, którymi agent mógł sfabrykować własną ścieżkę audytową.68 Po pierwsze, reguła trybu automatycznego blokuje teraz ingerowanie w pliki transkrypcji — wywołania narzędzi należące do sesji nie mogą już przepisywać zapisu tej samej sesji. Po drugie, powiadomienia o zadaniach w tle wyraźnie informują teraz, że podczas wykonywania zadania nie nastąpiło żadne działanie człowieka. Druga zmiana rozwiązuje subtelny problem: model podsumowujący zadanie w tle mógł wcześniej przedstawić (lub wymyślić) zapisane w transkrypcji „zatwierdzenie”, którego nigdy nie udzielono, a powiadomienie temu nie przeczyło. Teraz samo powiadomienie stanowi kontrdowód.
Wniosek architektoniczny dotyczy ogólnie evidence gate: transkrypcje, powiadomienia i logi są powierzchniami audytowymi, a rzecz podlegająca audytowi nie może mieć możliwości zapisu do powierzchni, która ją audytuje. Platforma egzekwuje obecnie tę zasadę dla własnej transkrypcji; należy zastosować ją również do własnego harness — raporty dowodowe, wyniki testów i zapisy deliberacji powinny znajdować się poza ścieżką zapisywalną przez model.
Ochrona przed prompt injection
Skills i hooks zapewniają wielowarstwową ochronę przed prompt injection:
Skills z ograniczeniami narzędzi uniemożliwiają przejętemu promptowi uzyskanie dostępu do zapisu:
allowed-tools: Read, Grep, Glob
Hooks PreToolUse weryfikują każde wywołanie narzędzia niezależnie od sposobu sformułowania promptu dla modelu:
# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
echo "BLOCKED: Sensitive file access" >&2
exit 2
fi
Izolacja subagent ogranicza zasięg szkód. Subagent z permissionMode: plan nie może wprowadzać zmian, nawet jeśli jego prompt został przejęty.
Minimalny poziom bezpieczeństwa platformy wzrósł w lipcu 2026. W Claude Code v2.1.210 wzmocniono Agent tool przeciwko pośredniemu prompt injection przenoszonemu w treści odczytanej przez subagent — zatruty plik, strona internetowa lub wynik narzędzia pobrany przez subagent ma mniejszą zdolność sterowania samą powierzchnią delegowania.69 Z kolei w v2.1.211 wzmocniono ludzkie ogniwo łańcucha: podglądy uprawnień neutralizują teraz znaki Unicode dwukierunkowego nadpisywania, znaki o zerowej szerokości oraz znaki podobne wizualnie, dzięki czemu polecenie nie może już zostać skonstruowane tak, aby w oknie zatwierdzenia wyglądało niewinnie, a wykonywało coś innego.69 Druga poprawka ma największe znaczenie w harnesses, w których człowiek zatwierdza wyrenderowane podglądy pod presją czasu — wyświetlany tekst również stanowił powierzchnię prompt injection. Żadna z tych zmian nie zastępuje opisanych powyżej zabezpieczeń na poziomie hook; podnoszą one poziom podstawowej ochrony pod nimi.
Logi agentów i guardrails są powierzchniami bezpieczeństwa
Dwa komunikaty z maja 2026 potwierdzają pewien wzorzec: infrastruktura agentów tworzy nowe miejsca, z których poufne treści i wykonywalne polityki mogą wyciekać lub wydostawać się poza wyznaczone granice. Komunikat GitHub GHSA-f3jg-756w-gm35 opisuje problem z filtrem ładunków Gryph Agents, przez który poufna zawartość ładunków narzędzi mogła pozostawać w lokalnych logach SQLite przy domyślnym sposobie rejestrowania.45 OSV GHSA-wxxx-gvqv-xp7p opisuje ucieczkę z sandboxa niestandardowego kodu guardrail LiteLLM w punkcie końcowym proxy chronionym przez administratora.46
Zasada produkcyjna: transkrypcje agentów, ładunki narzędzi, logi SQLite oraz wykonywanie guardrails należy traktować jako poufną infrastrukturę. Dane należy redagować przed ich utrwaleniem, stosować limity przechowywania oraz utrzymywać niestandardowy kod guardrail w sandboxie i w formie możliwej do przeglądu. Reguła „nie rejestruj sekretów” na poziomie promptu nie wystarcza; ścieżka rejestrowania i guardrail wymaga deterministycznych testów.
Bezpieczeństwo hooks
Hooks HTTP, które interpolują zmienne środowiskowe w nagłówkach, wymagają jawnej listy allowedEnvVars, aby zapobiec eksfiltracji dowolnych zmiennych środowiskowych:13
{
"type": "http",
"url": "https://api.example.com/notify",
"headers": {
"Authorization": "Bearer $MY_TOKEN"
},
"allowedEnvVars": ["MY_TOKEN"]
}
Podział odpowiedzialności między człowieka a agenta
Bezpieczeństwo architektur agentów wymaga wyraźnego podziału odpowiedzialności między człowieka i agenta:17
| Odpowiedzialność człowieka | Odpowiedzialność agenta |
|---|---|
| Definiowanie problemu | Wykonywanie potoku |
| Progi pewności | Wykonywanie w granicach progów |
| Wymagania dotyczące konsensusu | Obliczanie konsensusu |
| Kryteria quality gate | Egzekwowanie quality gate |
| Analiza błędów | Wykrywanie błędów |
| Decyzje architektoniczne | Warianty architektury |
| Wprowadzanie kontekstu dziedzinowego | Generowanie dokumentacji |
Wzorzec: ludzie odpowiadają za decyzje wymagające kontekstu organizacyjnego, osądu etycznego lub kierunku strategicznego. Agenci odpowiadają za decyzje wymagające przeszukiwania obliczeniowego dużych przestrzeni możliwości. Hooks egzekwują tę granicę.
Rekurencyjne egzekwowanie hooks
Hooks są uruchamiane również dla działań subagent.13 Jeśli Claude uruchamia subagent za pośrednictwem Agent tool, hooks PreToolUse i PostToolUse wykonują się dla każdego narzędzia używanego przez subagent. Bez rekurencyjnego egzekwowania hooks subagent mógłby ominąć bramki bezpieczeństwa. Zdarzenie SubagentStop umożliwia wykonanie czyszczenia lub walidacji po zakończeniu działania subagent.
Nie jest to opcjonalne. Agent uruchamiający subagent bez hooks bezpieczeństwa może wymusić push do main, odczytać pliki z danymi uwierzytelniającymi lub uruchomić destrukcyjne polecenia, podczas gdy bramki bezczynnie obserwują główną konwersację.
Koszt jako element architektury
Koszt jest decyzją architektoniczną, a nie późniejszą kwestią operacyjną.2 Trzy poziomy:
Poziom tokenów. Kompresja promptu systemowego. Należy usunąć przykłady kodu instruktażowego (model zna APIs), scalić powielone reguły znajdujące się w różnych plikach i zastąpić wyjaśnienia ograniczeniami. „Odrzucaj wywołania narzędzi pasujące do poufnych ścieżek” wykonuje tę samą pracę co 15-wierszowe wyjaśnienie, dlaczego nie należy odczytywać danych uwierzytelniających.
Poziom agentów. Świeże uruchomienia zamiast długich konwersacji. Każda historia w autonomicznym przebiegu otrzymuje nowego agenta z czystym kontekstem. Kontekst nigdy nadmiernie się nie rozrasta, ponieważ każdy agent zaczyna od nowa. Briefing zamiast pamięci: modele lepiej wykonują jasny briefing, niż poruszają się po 30 krokach nagromadzonego kontekstu.
Poziom architektury. Najpierw CLI, a nie MCP, gdy operacja jest bezstanowa. Wywołanie claude --print służące do jednorazowej oceny kosztuje mniej i nie powoduje narzutu związanego z połączeniem. MCP ma sens, gdy narzędzie wymaga trwałego stanu lub przesyłania strumieniowego.
Struktura decyzyjna
Kiedy używać poszczególnych mechanizmów:
| Problem | Użyć | Dlaczego |
|---|---|---|
| Formatowanie kodu po każdej edycji | PostToolUse hook | Musi odbywać się za każdym razem, deterministycznie |
| Blokowanie niebezpiecznych poleceń bash | PreToolUse hook | Musi blokować przed wykonaniem, kod wyjścia 2 |
| Stosowanie wzorców przeglądu bezpieczeństwa | Skill | Wiedza domenowa aktywowana automatycznie na podstawie kontekstu |
| Eksplorowanie codebase bez zaśmiecania kontekstu | Explore subagent | Izolowany kontekst, zwraca tylko podsumowanie |
| Bezpieczne uruchamianie eksperymentalnego refaktoringu | Worktree-isolated subagent | Zmiany można odrzucić, jeśli się nie powiodą |
| Przegląd kodu z wielu perspektyw | Parallel subagents lub Agent Team | Niezależna ocena zapobiega martwym punktom |
| Podejmowanie nieodwracalnej decyzji architektonicznej | Multi-agent deliberation | Wyzwalacz pewności + walidacja konsensusu |
| Zachowywanie decyzji między sesjami | MEMORY.md | System plików przetrwa granice kontekstu |
| Udostępnianie standardów zespołu | Project CLAUDE.md + .claude/rules/ | Dystrybuowane przez Git, ładowane automatycznie |
| Definiowanie poleceń build/test projektu | CLAUDE.md | Instrukcje zorientowane na polecenia, które agent może zweryfikować |
| Prowadzenie długiego autonomicznego developmentu | Ralph loop (iteracja ze świeżym kontekstem) | Pełny budżet kontekstu na iterację, stan systemu plików |
| Powiadamianie Slack po zakończeniu sesji | Async Stop hook | Nieblokujące, nie spowalnia sesji |
| Walidacja jakości przed commitem | PreToolUse hook on git commit | Blokuje commit, jeśli lint/testy się nie powiodą |
| Egzekwowanie kryteriów ukończenia | Stop hook | Zapobiega zatrzymaniu agenta przed zakończeniem zadania |
Skills vs Hooks vs Subagents
| Wymiar | Skills | Hooks | Subagents |
|---|---|---|---|
| Wywołanie | Automatyczne (rozumowanie LLM) | Deterministyczne (sterowane zdarzeniami) | Jawne lub automatycznie delegowane |
| Gwarancja | Probabilistyczna (decyduje model) | Deterministyczna (uruchamia się zawsze) | Deterministyczna (izolowany kontekst) |
| Koszt kontekstu | Wstrzykiwane do głównego kontekstu | Zerowy (działa poza LLM) | Osobne okno kontekstu |
| Koszt tokenów | Budżet opisu (1% okna, fallback 8,000 znaków) | Zerowy | Pełny kontekst na subagent |
| Najlepsze do | Wiedza domenowa | Egzekwowanie zasad | Skupiona praca, eksploracja |
FAQ
Ile hooks to za dużo?
Ograniczeniem jest wydajność, a nie liczba. Każdy hook działa synchronicznie, więc łączny czas wykonywania hooks dodaje się do każdego dopasowanego wywołania narzędzia. 95 hooks w ustawieniach na poziomie użytkownika i projektu działa bez zauważalnych opóźnień, jeśli każdy hook kończy się w czasie poniżej 200 ms. Próg, który warto obserwować: jeśli PostToolUse hook dodaje ponad 500 ms do każdej edycji pliku, sesja zaczyna sprawiać wrażenie ociężałej. Przed wdrożeniem hooks należy je profilować za pomocą time.14
Czy hooks mogą zablokować Claude Code przed uruchomieniem polecenia?
Tak. PreToolUse hooks blokują dowolną akcję narzędzia przez zakończenie z kodem 2. Claude Code anuluje oczekującą akcję i pokazuje modelowi wyjście stderr z hook. Claude widzi powód odrzucenia i proponuje bezpieczniejszą alternatywę. Kod wyjścia 1 oznacza nieblokujące ostrzeżenie, przy którym akcja nadal jest wykonywana.3
Gdzie umieścić pliki konfiguracji hooks?
Konfiguracje hooks trafiają do .claude/settings.json dla hooks na poziomie projektu (commitowane do repozytorium, współdzielone z zespołem) albo do ~/.claude/settings.json dla hooks na poziomie użytkownika (osobiste, stosowane w każdym projekcie). Hooks na poziomie projektu mają pierwszeństwo, gdy istnieją oba warianty. Dla plików skryptów należy używać ścieżek bezwzględnych, aby uniknąć problemów z katalogiem roboczym.14
Czy każda decyzja wymaga deliberation?
Nie. Moduł pewności ocenia decyzje w czterech wymiarach (niejednoznaczność, złożoność, stawka, zależność od kontekstu). Deliberation wyzwalają tylko decyzje z łączną pewnością poniżej 0,70, czyli około 10% wszystkich decyzji. Poprawki dokumentacji, zmiany nazw zmiennych i rutynowe edycje całkowicie pomijają deliberation. Architektura bezpieczeństwa, zmiany schematu bazy danych i nieodwracalne wdrożenia wyzwalają ją konsekwentnie.7
Jak testować system zaprojektowany do generowania niezgody?
Należy testować zarówno ścieżki sukcesu, jak i ścieżki błędów. Sukces: agenci produktywnie się nie zgadzają i dochodzą do konsensusu. Błąd: agenci zbyt szybko osiągają zgodność, nigdy jej nie osiągają albo przekraczają budżety spawn. Testy end-to-end symulują każdy scenariusz z deterministycznymi odpowiedziami agentów, weryfikując, że obie bramki walidacji wychwytują każdy udokumentowany tryb awarii. Produkcyjny system deliberation uruchamia 141 testów na trzech warstwach: 48 testów integracyjnych bash, 81 testów jednostkowych Python i 12 symulacji pipeline end-to-end.7
Jaki wpływ na opóźnienia ma deliberation?
Deliberation z 3 agentami dodaje 30-60 sekund czasu zegarowego (agenci działają sekwencyjnie przez Agent tool). Deliberation z 10 agentami dodaje 2-4 minuty. Hooks consensus i pride check działają każdy poniżej 200 ms. Głównym wąskim gardłem jest czas inferencji LLM na agenta, a nie narzut orkiestracji.7
Jak długi powinien być plik CLAUDE.md?
Każda sekcja powinna mieć mniej niż 50 wierszy, a cały plik mniej niż 150 wierszy. Długie pliki są obcinane przez okna kontekstu, więc najważniejsze instrukcje warto umieścić na początku: polecenia i definicje zamknięcia przed preferencjami stylu.21
Czy to może działać z narzędziami innymi niż Claude Code?
Zasady architektoniczne (hooks jako deterministyczne bramki, skills jako wiedza domenowa, subagents jako izolowane konteksty, system plików jako pamięć) koncepcyjnie stosują się do każdego systemu agentowego. Konkretna implementacja używa zdarzeń cyklu życia Claude Code, wzorców matcher i Agent tool. AGENTS.md przenosi te same wzorce do Codex, Cursor, Copilot, Amp i Windsurf.21 Wzorzec harness jest niezależny od narzędzia, nawet jeśli szczegóły implementacji są specyficzne dla danego narzędzia.
Ściąga
Konfiguracja hook
{
"hooks": {
"PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
"PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
"Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
"SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
}
}
Frontmatter skill
---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---
Definicja subagent
---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
Instructions for the subagent.
Kody wyjścia
| Kod | Znaczenie | Zastosowanie |
|---|---|---|
| 0 | Sukces | Zezwolenie na operację |
| 2 | Blokada | Bramki bezpieczeństwa, bramki jakości |
| 1 | Nieblokujące ostrzeżenie | Logowanie, komunikaty doradcze |
Kluczowe polecenia
| Polecenie | Cel |
|---|---|
/compact |
Kompresja kontekstu, zachowanie decyzji |
/context |
Wyświetlenie alokacji kontekstu i aktywnych skills |
edit .claude/agents/ |
Zarządzanie subagents — kreator /agents został usunięty w v2.1.198; definicje należy tworzyć lub edytować bezpośrednio albo poprosić o to Claude |
/goal <condition> |
Utrzymanie pracy Claude w kierunku warunku ukończenia |
claude agents |
Otwarcie Agent View dla sesji uruchomionych, zablokowanych i ukończonych |
CLAUDE_CODE_WORKFLOWS=1 |
Włączenie Workflow tool dla deterministycznej orkiestracji multi-agent |
claude -c |
Kontynuacja najnowszej sesji |
claude --print |
Jednorazowe wywołanie CLI (bez rozmowy) |
# <note> |
Dodanie notatki do pliku pamięci |
/memory |
Wyświetlanie i zarządzanie auto-memory |
Lokalizacje plików
| Ścieżka | Cel |
|---|---|
~/.claude/CLAUDE.md |
Osobiste instrukcje globalne |
.claude/CLAUDE.md |
Instrukcje projektu (współdzielone przez Git) |
.claude/settings.json |
Hooks i uprawnienia projektu |
~/.claude/settings.json |
Hooks i uprawnienia użytkownika |
~/.claude/skills/<name>/SKILL.md |
Osobiste skills |
.claude/skills/<name>/SKILL.md |
Skills projektu (współdzielone przez Git) |
~/.claude/agents/<name>.md |
Osobiste definicje subagent |
.claude/agents/<name>.md |
Definicje subagent projektu |
.claude/rules/*.md |
Pliki reguł projektu |
~/.claude/rules/*.md |
Pliki reguł użytkownika |
~/.claude/projects/{path}/memory/MEMORY.md |
Auto-memory |
Dziennik zmian
| Data | Zmiana | Źródło |
|---|---|---|
| 2026-08-01 | Usunięcie nieaktualności: stwierdzenie dotyczące wersji „według stanu na lipiec 2026”, które zdążyło się zdezaktualizować względem pozostałej części przewodnika. W akapicie poświęconym Python SDK podano, że pakiet „osiągnął wersję v0.2.111 w PyPI (z dołączonym Claude CLI v2.1.202), a TypeScript SDK — wersję v0.3.203” — w obu przypadkach o 17 wydań mniej niż aktualnie, podczas gdy inne sekcje tego samego przewodnika prawidłowo dokumentowały wersje 0.2.128 i 0.3.220. Teraz widnieją tam wersje v0.2.128 (dołączony CLI v2.1.220, minimalna wersja mcp podniesiona do >=1.23.0) oraz v0.3.220, opatrzone datą zweryfikowania zamiast otwartego przedziału miesięcznego. Nowy przypis 86 odsyła do PyPI, npm oraz dziennika zmian Python SDK. W tym okresie nie pojawiły się nowe wydania nadrzędnych projektów: Claude Code v2.1.220, stabilny Codex v0.146.0 (wyłącznie wersje alfa v0.147.0), FastAPI 0.141.1, XcodeBuildMCP 2.7.0, MCPVault 0.12.4, hermes-agent 0.19.0, Midjourney Version 8.2, Suno V5.5 oraz stabilne Apple 26.6 pozostały bez zmian. |
86 |
| 2026-07-29 | Uzupełnienie braków: trzy pola TS SDK v0.3.216 pominięte we wpisie z 21 lipca. Ponowne porównanie dziennika zmian claude-agent-sdk-typescript z tym przewodnikiem wykazało, że na liście pól wersji v0.3.216 brakowało trzech pozycji: odpowiedzi rewindFiles zawierają opcjonalną liczbę skippedLinks, wskazującą ścieżki, których mechanizmy bezpieczeństwa operacji cofania odmówiły przywrócenia lub usunięcia, natomiast komunikat z wynikiem powodzenia zawiera opcjonalne pola user_message_uuid i request_sent_wall_ms, służące do korelacji opóźnienia żądań między hostami. Dodano je zarówno do listy w treści, jak i do 75; bez nowego przypisu. Wszystkie pozostałe zmiany z zakresu v0.3.215–v0.3.220 zostały już uwzględnione, w tym historia limitu głębokości zagnieżdżania subagents (początkowo 5, obniżona do 1 w v2.1.217, ostatecznie ustalona na 3 w v2.1.219) oraz limit współbieżności wynoszący 20 — wpis „depth cap lowered from 5 to 1” w dzienniku zmian SDK jest nieaktualnym obrazem wartości, której dalsze zmiany opisano już w tym przewodniku. Potwierdzono, że najnowsza wersja Agent SDK w npm to 0.3.220 (24 lipca), a w PyPI — 0.2.128; w tym okresie nie pojawiło się nowsze wydanie. |
75 |
| 2026-07-27 | Poprawka renderowania, bez zmian treści. Nagłówek tego dziennika zmian deklarował dwie kolumny, podczas gdy wiersze zawierały trzy, dlatego python-markdown obcinał każdy wiersz do kolumn Date i Change oraz bez ostrzeżenia usuwał komórkę Source — wraz z dziewięcioma cytowaniami przypisów ([^83], [^84], [^85], [^103], [^105], [^107], [^108], [^110], [^111]). Ponieważ tych dziewięciu przypisów nie cytowano nigdzie indziej, każdy z nich był renderowany jako pozycja na liście źródeł ze strzałką powrotu prowadzącą do kotwicy, która nie istniała na stronie. Nagłówek ma teraz postać Date \| Change \| Source, co przywraca wszystkie dziewięć cytowań. Zweryfikowano to, renderując przewodnik przy użyciu konfiguracji Markdown samej witryny i porównując id="fn:N" z id="fnref:N": wcześniej 77 aktywnych odwołań, później 86 i zero osieroconych wpisów. Podczas tej samej kontroli identyczną usterkę znaleziono i usunięto w przewodnikach dotyczących FastAPI + HTMX oraz Obsidian; ios-agent-development zawiera inną, nieusuniętą lukę w cytowaniach, opisaną w jego własnym raporcie. |
– |
| 2026-07-25 | Przewodnik v1.27: skorygowana domyślna głębokość zagnieżdżania (3, nie 1), Claude Opus 5 oraz czwarty wymiar zabezpieczeń. Korekta — głębokość tworzenia zagnieżdżonych subagents ponownie wynosi 3 (v2.1.219): „Subagents mogą teraz domyślnie tworzyć zagnieżdżonych subagents do głębokości 3 (wcześniej 1); aby wyłączyć zagnieżdżanie, należy ustawić CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1”. Początkowa wartość domyślna wynosiła 5 (v2.1.172), następnie została obniżona do 1 (v2.1.217), a ostatecznie ustalona na 3 (v2.1.219) — dwie ostatnie zmiany nastąpiły w ciągu trzech dni. Podsekcja dotycząca Recursion Guard nie przedstawia już żadnej wartości domyślnej jako ustalonej; wskazuje natomiast, że głębokość jest niestabilnym parametrem platformy i należy przypiąć ją jawnie za pomocą CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, zamiast dziedziczyć wartość domyślną. Powiązana poprawka: --forward-subagent-text przekazuje teraz również tekst subagents z głębokości 2 i większej, oznaczając go identyfikatorem tool_use narzędzia Agent, które je utworzyło — przekazywany tekst należy grupować według tego identyfikatora, zamiast zakładać, że każdy wiersz pochodzi od bezpośredniego procesu potomnego. Hook DirectoryAdded (CC v2.1.219 + TS SDK v0.3.219): pierwsze nowe zdarzenie cyklu życia od czasu MessageDisplay (v2.1.152), wywoływane po zarejestrowaniu katalogu roboczego w trakcie sesji przez /add-dir lub żądanie sterujące SDK register_repo_root — trzeba wtedy ponownie wykonać początkowe asercje obszaru roboczego (kontrole zaufania, skanowanie sekretów, reguły ograniczone do ścieżek i zasady dla poszczególnych repozytoriów); tabela zdarzeń obejmuje teraz 30 pozycji. sandbox.network.strictAllowlist (v2.1.219): blokuje hosty spoza listy dozwolonych dla poleceń uruchamianych w sandboxie bez wyświetlania monitu — zapewnia deterministyczne blokowanie ruchu wychodzącego i współdziała z sandbox.filesystem.disabled z wersji v2.1.216; funkcję dodano do podsekcji dotyczącej wzorców izolacji jako element ustawień realizujący zasadę „najpierw ograniczać na poziomie środowiska”. Szerokość orkiestracji stanowi czwarty wymiar zabezpieczeń (v2.1.219): dynamiczne przepływy pracy otrzymały domyślną wytyczną średniego rozmiaru („należy dążyć do mniej niż 15 agentów”), konfigurowalną w dowolnym pliku ustawień za pomocą nowego klucza workflowSizeGuideline (obecnego również w typach ustawień TS SDK) i wyświetlaną w wierszu stanu działającego przepływu pracy — model trzech wymiarów (liczba utworzeń, głębokość i współbieżność) obejmuje teraz cztery, a wartość 15 jest wreszcie tego samego rzędu wielkości co budżet 12 agentów przyjęty w tym przewodniku dla deliberation, zamiast pełnić funkcję niekontrolowanego bezpiecznika. Claude Opus 5 (claude-opus-5, 24 lipca): nowy domyślny Opus — kontekst 1M, 5/25 USD za MTok (ta sama cena co Opus 4.8), tryb szybki w cenie 10/50 USD i działający około 2,5 raza szybciej; osiąga ponad dwukrotnie lepszy wynik niż Opus 4.8 w Frontier-Bench v0.1, a jego wynik w CursorBench 3.2 różni się od Fable 5 o mniej niż 0,5% przy o połowę niższym koszcie. Zalecany w tym przewodniku domyślny model do zadań agentowych zmienia się z Opus 4.8 na Opus 5; Opus 4.7 usunięto z trybu szybkiego (/fast działa teraz z Opus 5 i Opus 4.8), a model zastępczy Fable-5 klasyfikatora trybu automatycznego jest teraz rozwiązywany jako Opus 5. Tylko w dzienniku zmian: Py SDK v0.2.127 — zadania działające w tle bez ostrzeżenia omijały hooks PreToolUse: query() zamykało stdin po pierwszej ramce result, gdy działające w tle subagents nadal wykonywały pracę, przez co ich wywołania narzędzi SDK-MCP kończyły się błędem "Stream closed" i pomijały hook (#1103). Jest to drugi w ciągu miesiąca przypadek obejścia wymuszania hooks po zamianie abort→hook-success w TS v0.3.208; wzorzec nazwano teraz w zastrzeżeniu dotyczącym strumieniowania hooks w SDK — wymuszanie po stronie SDK pozostaje otwarte w przypadku błędu na granicach cyklu życia i dzieje się to bez ostrzeżenia, ponieważ pominięty hook wygląda tak samo jak hook zatwierdzający operację. TS SDK v0.3.219: opcjonalne cancel_queued w żądaniu sterującym przerwania (możliwość interrupt_cancel_queued_v1); fast_mode_disabled_reason w wyniku i inicjalizacji; odpowiedź inicjalizacyjna nie zgłasza już fast_mode_state modelu wybranego podczas uruchamiania po jego przełączeniu. Diagnostyka CC v2.1.219 MCP: mcp_server_errors w bezinterfejsowym zdarzeniu inicjalizacyjnym stream-json; status HTTP i treść błędu w claude mcp list / /mcp po nieudanym połączeniu; ostrzeżenie o ukrytych białych znakach w wartościach konfiguracji MCP. Zakres ustawień zarządzanych: wpisy ${VAR} zarządzanych list dozwolonych/zabronionych MCP są teraz rozwiązywane na podstawie środowiska startowego i środowiska ustawień zarządzanych, a nie środowiska pliku ustawień — jest to istotna z punktu widzenia nadzoru zmiana kolejności rozwiązywania. Pozostałe: claude -p nie usuwa już wygenerowanego tekstu, gdy tura kończy się błędem w trakcie strumieniowania; CLAUDE_CODE_GIT_BASH_PATH jest ignorowane z ostrzeżeniem, jeśli nie wskazuje pliku wykonywalnego bash/sh; dołączony skill claude-api domyślnie korzysta z Opus 5. CC v2.1.220 / TS v0.3.220 / Py v0.2.128 (25 lipca): wyłącznie poprawki błędów i aktualizacje zapewniające zgodność wersji. MCP: brak zmian normatywnych; specyfikacja bezstanowa nadal ma zostać włączona 2026-07-28. |
84 85 87 |
| 2026-07-24 | Przewodnik v1.26: uwzględnienie wpisu Anthropic o wzorcach izolacji + Claude Code v2.1.218. Do sekcji dotyczącej bezpieczeństwa dodano podsekcję „Trzy wzorce izolacji stosowane w różnych produktach”, opracowaną na podstawie technicznego wpisu Anthropic „Jak izolujemy Claude w różnych produktach” (25 maja 2026): efemeryczne kontenery gVisor po stronie serwera (claude.ai), sandboxing systemu operacyjnego z udziałem człowieka (Claude Code: Seatbelt/bubblewrap oraz udostępniony jako open source sandbox-runtime) i zapieczętowane maszyny wirtualne działające na hiperwizorach platformy (Claude Cowork: framework Apple Virtualization / Windows HCS, dane uwierzytelniające w pęku kluczy hosta oraz ograniczone zakresowo, odwoływalne tokeny sesji, których użycie wymusza defensywny serwer proxy MITM wewnątrz maszyny wirtualnej) — a także przedstawione we wpisie zasady projektowania harness: w pierwszej kolejności izolacja na poziomie środowiska, dopasowanie izolacji do możliwości nadzoru ze strony użytkownika, sprawdzone w praktyce mechanizmy zamiast niestandardowego kodu izolacyjnego, traktowanie lokalnej konfiguracji projektu i wyników narzędzi jako niezaufanych danych wejściowych oraz przechowywanie danych uwierzytelniających poza sandboxem. Tylko w dzienniku zmian: CC v2.1.218 (22 lipca) — klasyfikator trybu automatycznego rozstrzyga kontrole dotyczące niebezpiecznego rm, działającego w tle & i podejrzanych ścieżek Windows zamiast otwierać okna dialogowe uprawnień; w trybie planowania z trybem automatycznym polecenia Bash, których analizator statyczny nie potrafi uznać za przeznaczone wyłącznie do odczytu, są kierowane do klasyfikatora; hooks we frontmatter agenta wymagają zaakceptowania zaufania do obszaru roboczego dla folderu zawierającego plik tego agenta; skills z context: fork domyślnie działają w tle (background: false wyłącza to zachowanie); /code-review działa jako subagent w tle; /deep-research nie wywołuje już sam siebie; pochodzenie sesji fork jest zachowywane po kompaktowaniu w sesjach bez interfejsu graficznego/SDK; przenoszenie do tła za pomocą Ctrl+B respektuje limity powłok działających w tle. TS SDK v0.3.218 (22 lipca): flaga SkillToolOutput.background; api_error_status zgłasza błędy 429/529 w trakcie strumieniowania; canonicalModel + provider w modelUsage. Py SDK v0.2.126 (22 lipca): ResultMessage.terminal_reason; typowane model_usage z canonicalModel/provider; zawiera CLI v2.1.218. MCP: bez zmian normatywnych; specyfikacja stateless nadal zostanie opublikowana 2026-07-28. |
81 82 83 |
| 2026-07-22 | Przewodnik v1.25: Claude Code v2.1.217 — wycofanie rekurencyjnych subagents + limit współbieżności. Zagnieżdżone uruchamianie domyślnie wyłączone: subagents nie uruchamiają już własnych subagents — wprowadzone w v2.1.172 domyślne pięć poziomów rekurencji obowiązywało do v2.1.216; głębsze zagnieżdżanie wymaga teraz jawnego włączenia za pomocą CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH (przepisano podsekcję dotyczącą zabezpieczenia przed rekurencją). Limit współbieżności: liczba działających jednocześnie subagents jest domyślnie ograniczona do 20 (CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS), aby pojedyncza wiadomość nie mogła uruchomić nieograniczonej liczby agentów działających w tle. Zestaw wbudowanych zabezpieczeń obejmuje teraz wszystkie trzy wymiary monitorowane przez działające w warstwie użytkownika zabezpieczenie budżetu uruchomień: łączną liczbę uruchomień w sesji (v2.1.212, limit 200), głębokość zagnieżdżenia (v2.1.217, domyślnie jeden poziom) i szerokość współbieżności (v2.1.217, domyślnie 20). Tylko w dzienniku zmian: w CC v2.1.217 opcja --max-budget-usd rzeczywiście zatrzymuje teraz subagents działające w tle (po osiągnięciu limitu nowe uruchomienia są odrzucane, a działające w tle agenty zostają zatrzymane); izolacja sesji działających w tle kanonizuje katalogi robocze wskazywane przez dowiązania symboliczne. Py SDK v0.2.125 zawiera CLI v2.1.217 bez zmian w interfejsie SDK; równolegle wydano TS SDK v0.3.217. MCP PR #3092 (scalony 21 lipca): korekta normatywna uzgadniająca kody błędów SEP-2575 ze schematem projektu po zmianie numeracji i zestawem testów zgodności — przygotowania do wydania z 28 lipca trwają. |
78 79 80 |
| 2026-07-21 | Przewodnik v1.24: Claude Code v2.1.214–v2.1.216 — wzmocnienie ograniczania zakresu ścieżek i egzekwowania worktree; Codex v0.145.0 — multi-agent V2 + import między harness. Reguły ograniczone do ścieżek są zakotwiczone w cwd (v2.1.214): jednosegmentowe reguły allow dir/** (np. Edit(src/**)) automatycznie zatwierdzały zapisy w każdym zagnieżdżonym katalogu dir/ w dowolnym miejscu drzewa — teraz są zakotwiczone wyłącznie w <cwd>/dir; warunki if: dla hooks z jednosegmentowym dir/** również dotyczą teraz wyłącznie cwd (aby dopasować dowolną głębokość, należy użyć **/dir/**); reguły deny/ask celowo zachowują dopasowywanie na dowolnej głębokości (asymetryczne bezpieczne zachowanie w razie błędu: reguła allow w razie błędu wyświetla monit, natomiast reguła deny nie może przez błąd dopuścić operacji). Izolacja worktree zapewnia poziom egzekwowania (v2.1.216): subagents w worktree mogły przekierować git do współdzielonego checkoutu za pomocą git -C, --git-dir lub GIT_DIR/GIT_WORK_TREE — tę lukę zamknięto; sesje worktree nie trafiają już do pozostałości worktree innego projektu; zapisy z workflow/zaplanowanych zadań nie podążają już za dowiązaniem symbolicznym umieszczonym w .claude; /rewind odrzuca dowiązania symboliczne i twarde. Wycofanie automatycznej aktywacji skills (v2.1.215): Claude nie wywołuje już samodzielnie dołączonych skills /verify i /code-review — wymagane jest jawne wywołanie. Codex v0.145.0: ustabilizowano opcjonalny multi-agent V2 (konfigurowalne modele subagents, poziomy rozumowania i współbieżność oraz przywrócone role); /import przenosi teraz ustawienia Claude Code i Cursor, serwery MCP, plugins, sesje, polecenia oraz memories o zakresie projektu — jest to pełna migracja między harness, rozszerzająca możliwości z v0.140.0. Tylko w dzienniku zmian: CC v2.1.214 — narzędzie EndConversation; pakiet wzmocnień Bash/PowerShell działających w trybie fail-closed (przekierowania deskryptorów plików kończą się bezpieczną odmową, polecenia dłuższe niż 10 000 znaków zawsze wyświetlają monit, indeksy zsh wyświetlają monit, zamknięto automatyczne zezwalanie na help/man, flagi przekierowujące demona docker/Podman wyświetlają monit, file -m/-f wymaga uprawnienia, poprawiono obejście zabezpieczeń w PowerShell 5.1); kod wyjścia 2 z hook blokuje operację nawet wtedy, gdy stdout JSON nie przejdzie walidacji schematu; frontmatter memory otrzymuje znacznik czasu ISO modified bez cichego obcinania przy śródwierszowym #; OTel message.uuid/client_request_id/tool_source + CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. CC v2.1.216 — sandbox.filesystem.disabled (kontrola wychodzącego ruchu sieciowego bez izolacji systemu plików); wznowione sesje agentów działających w tle przywracają ograniczenia promptu/narzędzi agenta; zmiany skills/poleceń wprowadzone w trakcie sesji pojawiają się w menu poleceń ukośnikowych bez ponownego uruchamiania. TS SDK v0.3.214/v0.3.216: set_permission_mode odrzuca nieznane tryby; aborted: true w wiadomościach obciętych przez przerwanie; tool_progress subagent_type/subagent_retry; podtyp powiadomienia o zadaniu scheduled-trigger; źródło SessionStart "fork"; plik towarzyszący tool_result_meta (non_execution_kind, user_feedback); rewindFiles zgłasza skippedLinks dla ścieżek, których zabezpieczenia rewind odmówiły przywrócenia lub usunięcia; pomyślne wyniki zawierają user_message_uuid i request_sent_wall_ms, umożliwiające korelację opóźnienia żądań między hostami. Py SDK v0.2.124: poprawka dla Windows z klasy BatBadBut (odmowa uruchamiania .bat/.cmd; metaznaki cmd.exe w resume/session_id powodują zgłoszenie ValueError; rozpoczynające się od łącznika extra_args są wiązane jako --flag=value). Wzmocnienia Codex v0.145.0: limity czasu uruchamiania MCP, serializowane odświeżanie OAuth, nieblokujące wykrywanie OAuth, skuteczniejsze wykrywanie wymuszonego rm, zachowywanie powodów odrzucenia, eksperymentalna stronicowana historia wątków. Przygotowania do wydania MCP z 2026-07-28 (PR-y dokumentacji #3064/#3066/#3098, scalone 21 lipca): sfinalizowano specyfikację przedstawiającą Tasks jako opcjonalne rozszerzenie io.modelcontextprotocol/tasks; HTTP+SSE oznaczono jako przestarzałe na rzecz Streamable HTTP. |
74 75 76 77 |
| 2026-07-17 | Guide v1.23: Claude Code v2.1.203–v2.1.212 — zabezpieczenia przed niekontrolowanymi pętlami i wzmocnienie ochrony przed wstrzyknięciami, powierzchnie protokołu TS SDK, projekt bezstanowej tożsamości MCP, zgodność funkcjonalna z Codex/OpenAI. Natywne zabezpieczenia przed niekontrolowanymi pętlami (v2.1.212): limit uruchomień subagents na sesję (domyślnie 200, CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, resetowany przez /clear) oraz limit WebSearch (200, CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) — wzorzec budżetu uruchomień w warstwie użytkownika ma teraz natywne zabezpieczenie; parametr mode narzędzia Task jest przestarzały (subagents dziedziczą tryb uprawnień sesji nadrzędnej); /fork tworzy teraz nową sesję w tle (wariant działający w ramach sesji przemianowano na /subtask); wywołania MCP trwające ponad 2 min automatycznie przechodzą do tła (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). Priorytet hook względem trybu automatycznego (v2.1.211): ask w PreToolUse wyznacza minimalny poziom decyzji jako monit (tryb automatyczny nie może go pominąć w przypadku nieizolowanego Bash); --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT dla stream-json; reguły „zawsze zezwalaj” są zachowywane w katalogu głównym repozytorium we wszystkich worktrees; podglądy uprawnień neutralizują podszywanie się za pomocą znaków dwukierunkowych, znaków o zerowej szerokości i podobnie wyglądających znaków. v2.1.210: naprawiono modyfikowanie głównego checkout przez subagents działające w izolacji worktree; Agent tool wzmocniono przed pośrednimi wstrzyknięciami pochodzącymi z treści odczytywanych przez subagent; klasyfikator trybu automatycznego domyślnie korzysta z Sonnet 5, przypiętego na czas sesji; zapis do MEMORY.md po przekroczeniu limitu zgłasza błąd zamiast po cichu obcinać zawartość. v2.1.207/v2.1.208: tryb automatyczny udostępniono ogólnie w Bedrock/Vertex/Foundry (rezygnacja przez disableAutoMode); monity dotyczące katastrofalnego usuwania są wyświetlane mimo --dangerously-skip-permissions i trybu automatycznego; CLAUDE_CODE_PROCESS_WRAPPER jako firmowy program uruchamiający; nawet 7-krotnie szybsze rundy narzędzi przy dużej liczbie narzędzi MCP oraz 79-krotnie mniejsze transkrypcje. v2.1.203–v2.1.206: ochrona przed fabrykowaniem informacji (zablokowano manipulowanie plikiem transkrypcji; powiadomienia o zadaniach w tle wyraźnie informują, że nie nastąpiło żadne działanie człowieka); roots/list w MCP obejmuje dodatkowe katalogi robocze wraz z roots/list_changed; /doctor proponuje skrócenie zawartości CLAUDE.md, którą można wywnioskować z bazy kodu. TS SDK v0.3.205–v0.3.208: typowane potwierdzenia przerwania (still_queued, interrupt_receipt_v1), ramki command_lifecycle, AgentToolCompletedOutput, canUseTool {behavior:'allow'} bez updatedInput; poprawka zabezpieczeń w v0.3.208 — przerwanie przez wywołującego podczas oczekującego hook było interpretowane jako powodzenie hook, co pozwalało narzędziom kontrolowanym przez PreToolUse wykonać się po przerwaniu. Projekt specyfikacji MCP (PR #3002, scalony 16 lipca): opcjonalne, deklarowane przez sam serwer pole _meta w odpowiedzi io.modelcontextprotocol/serverInfo oraz opcjonalne clientInfo — wyłącznie do wyświetlania i rejestrowania; NIE POWINNY wpływać na decyzje dotyczące zabezpieczeń; ostateczna specyfikacja bezstanowa zostanie wydana 2026-07-28. Codex: v0.143.0 — narzędzia MCP domyślnie dostępne przez wyszukiwanie narzędzi (odroczone ładowanie narzędzi); v0.144.0 — tryb zatwierdzania aplikacji writes oraz ogólna dostępność interaktywnego uwierzytelniania MCP; v0.144.5 — rozszerzone wykrywanie niebezpiecznych poleceń. Hostowana przez OpenAI wersja beta rozwiązania wieloagentowego: openai-agents-python v0.18.2 (11 lipca) + openai-agents-js v0.13.2 (10 lipca). Tylko w dzienniku zmian: poprawki dotyczące wstrzykiwania flag argv w SDK (TS 0.3.212 / Py 0.2.121 — wartości resume/session_id rozpoczynające się od łącznika są teraz przekazywane w formie ze znakiem równości); BashToolOutput.timedOutAfterMs; SDKAssistantMessage.timestamp; poprawka strumieniowania SessionStart w trybie headless w CC v2.1.204; domyślne ustawienia GPT-5.6 w openai-agents; wskazówki dotyczące ponawiania żądań po odrzuceniu Mcp-Param-* przez MCP. |
68 69 70 71 72 73 |
| 2026-07-07 | Guide v1.22: Claude Code v2.1.196–v2.1.202. Sonnet 5 jest dostarczanym modelem domyślnym (v2.1.197) — przeformułowano uwagę dotyczącą poziomów modeli (niniejszy przewodnik nadal zaleca Opus 4.8 jako domyślny model agentic dla autonomicznych harnesses). Subagents domyślnie działają w tle (v2.1.198): pole background przypina teraz zachowanie, zamiast je włączać; agent Explore dziedziczy model sesji (maksymalnie Opus); subagents i kompaktowanie dziedziczą konfigurację rozszerzonego rozumowania; działające w tle sesje claude agents automatycznie wykonują commit, push, otwierają wersję roboczą PR i uruchamiają hook Notification z agent_needs_input/agent_completed; usunięto kreator /agents (należy bezpośrednio edytować .claude/agents/). v2.1.199: hooks SessionStart/Setup/SubagentStart udostępniają stderr przy kodzie wyjścia 2; do uwagi o uprawnieniach między sesjami dodano wykrywanie błędnego kierowania SendMessage po ponownym użyciu nazwy; można nakładać na siebie do 5 slash-skills. v2.1.200: tryb uprawnień default ma na liście permissionMode subagent etykietę „Ręczny” (alias manual). v2.1.196: w sekcji dotyczącej ładu odnotowano domyślne modele obejmujące całą organizację; zamknięto możliwość samodzielnego zatwierdzania przez MCP. Aktualność SDK: claude-agent-sdk v0.2.111 (Python, zawiera CLI v2.1.202) / @anthropic-ai/claude-agent-sdk v0.3.203 (TS), stanowiące przyrostowe rozszerzenie względem udokumentowanej powierzchni 0.1.x. |
67 |
| 2026-07-02 | Guide v1.21: aktualizacje ładu dotyczące matcher hook i klasyfikatora. Claude Code v2.1.195: matchers identyfikatorów zawierających łączniki dopasowują teraz dokładnie, a nie na podstawie podciągu (zob. Hook Architecture — semantyka matcher). Claude Code v2.1.193: autoMode.classifyAllShell kieruje wszystkie polecenia powłoki przez klasyfikator trybu automatycznego, a przyczyny odmowy są widoczne w transkrypcji, komunikacie toast i /permissions (zob. Security Considerations). Codex v0.142.2: PowerShell z obszarami AST, których nie można sprawdzić, wymaga teraz zatwierdzenia. Podczas tego cyklu aktualizacji wszystkie elementy zweryfikowano względem kanonicznych dzienników zmian. |
66 |
| 2026-06-20 | Guide v1.20: Claude Code v2.1.183 + Codex v0.141.0 — ład i bezpieczeństwo wykonywania zdalnego. Do Security Considerations dodano zabezpieczenia trybu automatycznego przed destrukcyjnymi poleceniami (CC v2.1.183 bezwzględnie blokuje git reset --hard/checkout -- ./clean -fd/stash drop, git commit --amend dla commitów niewykonanych przez agenta oraz terraform/pulumi/cdk destroy bez nazwanej instancji stack, o ile nie zostało to zlecone), przedstawiając je jako uzupełnienie reguł na poziomie parametrów i weryfikacji uruchamiania, działające na poziomie intencji; do Codex Parity Notes dodano zaś zdalne executors z szyfrowanym przekaźnikiem Noise (Codex v0.141.0: kompleksowo szyfrowane kanały executor, zachowanie cwd/powłoki między platformami, TLS P-521). |
65 |
| 2026-06-16 | Guide v1.19: Claude Code v2.1.173–v2.1.179 — ład i mechanizmy zakresu, a także import między narzędziami w Codex v0.140.0. Zmiany z wydania v2.1.178 wpleciono w treść przewodnika: reguły uprawnień na poziomie parametrów Tool(param:value) z symbolem wieloznacznym * (np. Agent(model:opus) w celu zablokowania poziomu modelu) oraz zarządzane ustawienie enforceAvailableModels (v2.1.175), oba w Security → Permission Boundaries; tryb automatyczny weryfikuje teraz uruchamianie subagent przed startem, zamykając lukę pozwalającą obejść zabezpieczenia przez uruchomienie (Subagent Patterns); ładowanie zagnieżdżonych .claude/skills i rozstrzyganie według zasady pierwszeństwa najbliższego elementu dla skills/agents/workflows/output-styles w zagnieżdżonych drzewach .claude/ (Skills System); a także poprawkę dopasowywania specyfikacji serwera MCP przez disallowedTools (Subagent Configuration Fields). Do uwagi o zgodności funkcjonalnej z Codex dodano przenośność między narzędziami przez /import oraz trwałe usuwanie sesji (v0.140.0). |
63 64 |
| 2026-06-10 | Guide v1.18: Rekurencyjne subagents (Claude Code v2.1.172). Do podsekcji Recursion Guard dodano uwagę: subagents w Claude Code mogą teraz uruchamiać własne subagents, zagnieżdżając je na maksymalnie 5 poziomach — wcześniej delegowanie było faktycznie ograniczone do jednego poziomu (v2.1.172, 10 czerwca). Wzorzec budżetu uruchomień i limitu głębokości w warstwie użytkownika przedstawiono na nowo jako mechanizm zapobiegający niekontrolowanemu rozrastaniu się drzewa o 5 poziomach, przy czym 5 poziomów traktuje się jako limit platformy, a nie wartość domyślną. | 62 |
| 2026-06-09 | Guide v1.17: Claude Code v2.1.169–v2.1.170 + Codex v0.138.0–v0.139.0 — ład i wzmocnienie multi-agent-v2. W treść przewodnika wpleciono 5 zweryfikowanych zmian w architekturze harness. W Skills System dodano podsekcję „Ukrywanie wbudowanej powierzchni jako mechanizm ładu”: ustawienie disableBundledSkills (oraz zmienna środowiskowa CLAUDE_CODE_DISABLE_BUNDLED_SKILLS) ukrywa przed modelem wbudowane skills, workflows i wbudowane polecenia ukośnikowe, celowo ograniczając powierzchnię ataku (v2.1.169). W czerwcowej podsekcji Hook Architecture dodano flagę --safe-mode (oraz CLAUDE_CODE_SAFE_MODE), która uruchamia sesję z wyłączonymi wszystkimi modyfikacjami — CLAUDE.md, plugins, skills, hooks, MCP — na potrzeby diagnostyki i ładu w czystym środowisku (v2.1.169), a także uwagę dotyczącą poziomu modelu: Claude Fable 5 (claude-fable-5) firmy Anthropic zadebiutował 9 czerwca jako poziom klasy Mythos powyżej Opus; od v2.1.170 można go wybrać za pomocą /model claude-fable-5, natomiast Opus 4.8 pozostaje domyślnym modelem agentic w Claude Code. Do Memory and Context dodano polecenie /cd (v2.1.169), które przenosi sesję do nowego katalogu roboczego bez naruszania pamięci podręcznej monitów w trakcie sesji. Multi-Agent Orchestration / Codex Parity wzmocniono z myślą o środowiskach produkcyjnych: close_agent przemianowano na interrupt_agent (v0.139.0), dodano szyfrowane ładunki wiadomości między agentami, katalog konfiguracji agentów v2, pamięć LRU rezydencji agentów oraz zliczanie współbieżności według aktywnych wykonań (v0.138.0), wyszukiwanie AGENTS.md skierowano przez systemy plików środowisk z zachowaniem ścieżek logicznych, aby zapewnić poprawny wybór plików w zdalnych przestrzeniach roboczych i przestrzeniach z dowiązaniami symbolicznymi (v0.138.0/v0.139.0), natomiast ostrzeżenia o uruchamianiu MCP przez subagent ograniczono do wątku będącego ich właścicielem, zamiast powielać je w wątku nadrzędnym (v0.139.0). |
60 61 |
| 2026-06-08 | Przewodnik v1.16: Czerwcowe wzorce architektury agentów z Claude Code v2.1.162–v2.1.166 oraz Codex v0.137.0. Dodano podsekcję „Sterowanie za pomocą hooka Stop, uprawnienia między sesjami i multi-agent v2”, obejmującą cztery zmiany istotne dla harness: (1) hooks Stop/SubagentStop mogą zwracać hookSpecificOutput.additionalContext, aby wstrzyknąć informację zwrotną „jeszcze nie ukończono — oto dlaczego” i kontynuować turę bez bloku błędu hooka (v2.1.163); (2) wzmocniono zabezpieczenia komunikacji między sesjami, dzięki czemu wiadomości przekazywane przez SendMessage z innej sesji nie przenoszą już uprawnień użytkownika sesji źródłowej — przychodzące wiadomości między agentami należy traktować jako niezaufane dane (v2.1.166); (3) ustawienie fallbackModel umożliwia skonfigurowanie łańcucha maksymalnie trzech modeli zapasowych z jednorazową próbą przełączenia po błędach API, których nie można ponowić, a claude agents --json dodaje pole waitingFor na potrzeby obserwowalności floty (v2.1.162/166); (4) Codex multi-agent v2 (v0.137.0) utrzymuje środowisko wykonawcze przy każdym wątku, domyślnie ustawia hide_spawn_agent_metadata na true, propaguje zdarzenia nadrzędne do odbiorców nasłuchujących w wątkach potomnych oraz dodaje rozszerzenie skills v1 z rozpoznawaniem katalogu w każdej turze i zdarzeniami lifecycle contributor dotyczącymi rozpoczęcia wątku oraz błędu tury. Bez zmian w specyfikacji AGENTS.md (nadal zarządzanej przez Agentic-AI-Foundation, bez wersjonowanego changelogu). |
59 |
| 2026-05-31 | Przewodnik v1.15: Poprawki Claude Code v2.1.157 oraz Hermes v0.15.1/v0.15.2. Dodano podsekcję „Ujednolicenie pluginów i skills w .claude/skills/”: w Claude Code v2.1.157 każdy folder w katalogu projektu .claude/skills/ jest automatycznie ładowany jako plugin bez rejestracji w marketplace, a claude plugin init <name> tworzy w nim strukturę nowego pluginu z manifestem i SKILL.md. Ma to realne znaczenie dla harness — narzędzia projektowe o wąskim zakresie nie muszą już ponosić kosztu tworzenia manifestu, aby znaleźć się w systemie kontroli wersji; pluginy nadal zachowują postać możliwego do zainstalowania pakietu ZIP. To samo wydanie wprowadza EnterWorktree, umożliwiające przełączanie w trakcie sesji między worktrees zarządzanymi przez Claude, oraz pozostawia worktrees zadań w tle odblokowane po zakończeniu pracy agenta, dzięki czemu git worktree remove/prune działają prawidłowo. Hermes Agent v0.15.1 (29 maja) to opublikowana tego samego dnia poprawka awaryjna wydania Velocity: naprawiono pętlę przeładowywania panelu po błędzie 401 w trybie loopback, Docker wymaga teraz jawnego ustawienia HERMES_DASHBOARD_INSECURE=1, polecenia bez ścieżki MCP (npx, npm, node) są rozpoznawane w Docker, przywrócono stronę Skills, procesy robocze Kanban prawidłowo reagują na SIGTERM, a katalog Skills.sh powiększył się z 858 do 19 932 pozycji dzięki mapie witryny. Hermes v0.15.2 (29 maja) to poprawka awaryjna dotycząca wyłącznie pakowania, która dołącza manifesty plugin.yaml do dystrybucji wheel i sdist. |
58 |
| 2026-05-28 | Przewodnik v1.14: Przegląd wzorców architektonicznych w Claude Code v2.1.152-v2.1.154, Codex v0.134.0-v0.135.0 oraz Hermes v0.15.0. Claude Code zmienił ustawienia domyślne i dodał mechanizmy orkiestracji: Opus 4.8 jest teraz modelem domyślnym, domyślnie z wysokim poziomem effort, oraz dodano nowe /effort xhigh; dynamic workflows koordynują w tle od dziesiątek do setek agentów za pomocą /workflows; uproszczony prompt systemowy jest teraz domyślny dla wszystkich modeli z wyjątkiem Haiku/Sonnet/Opus 4.7 i starszych; nowe zdarzenie hooka MessageDisplay pozwala hooks przekształcać lub ukrywać tekst asystenta podczas jego wyświetlania; disallowed-tools we frontmatter skill/polecenia usuwa narzędzia na czas aktywności skill; /reload-skills ponownie skanuje katalogi skills bez ponownego uruchamiania; hooks SessionStart mogą zwracać reloadSkills: true i ustawiać hookSpecificOutput.sessionTitle; --fallback-model przełącza model w trakcie sesji, gdy model podstawowy jest niedostępny; tryb automatyczny nie wymaga już uprzedniej zgody; zarządzane ustawienie pluginSuggestionMarketplaces tworzy listę dozwolonych firmowych marketplace na potrzeby sugestii zależnych od kontekstu; claude agents obsługuje sesje powłoki działające w tle za pomocą ! <command>; pluginy mogą deklarować defaultEnabled: false; środowisko podprocesów stdio MCP zawiera teraz CLAUDE_CODE_SESSION_ID i CLAUDECODE=1. W Codex v0.134.0 --profile stał się głównym selektorem profilu w CLI, uprawnieniach TUI i procesach sandbox (starsze konfiguracje są odrzucane wraz ze wskazówkami dotyczącymi migracji), dodano lokalne przeszukiwanie historii konwersacji, ulepszono konfigurację MCP przez obsługę środowiska określanego osobno dla każdego serwera oraz OAuth dla serwerów korzystających ze strumieniowego HTTP, a także umożliwiono równoległe uruchamianie narzędzi MCP tylko do odczytu, jeśli deklarują readOnlyHint; v0.135.0 dodał bardziej szczegółową diagnostykę codex doctor, informacje zdalne w /status, edycję obiektów tekstowych w stylu vim, nazwane profile uprawnień w /permissions oraz ustawienia wstępne Sandbox w Python SDK. Hermes Agent v0.15.0 (28 maja) to wydanie Velocity: run_agent.py zrefaktoryzowano w 76% i podzielono na 14 modułów, dodano multi-agent Kanban v2 z automatyczną dekompozycją i topologią roju, Bitwarden Secrets Manager zastępujący osobne klucze dostawców jednym tokenem inicjującym, ochronę Promptware przed wstrzykiwaniem promptów klasy Brainworm w trzech krytycznych punktach zabezpieczeń, pakiety skills, orkiestrator sesji w TUI do zarządzania wieloma sesjami w jednym terminalu oraz 4 500 razy szybsze session_search po usunięciu zależności LLM. Wnioski dla architektury harness: wzorzec nazwanych profili (Codex --profile, Claude Code pluginSuggestionMarketplaces) staje się standardowym mechanizmem konfiguracji wielodostępnych środowisk wykonawczych agentów; współbieżne narzędzia MCP tylko do odczytu (Codex readOnlyHint) są właściwym wzorcem równoległego pobierania kontekstu bez modyfikowania danych; hook MessageDisplay zapewnia operatorom pełnoprawną warstwę transformacji, która nie była dostępna z poziomu PostToolUse ani Stop; domyślny uproszczony prompt systemowy eliminuje natomiast wieloletni kompromis między kontekstem definiowanym przez operatora a strukturą dostarczaną przez dostawcę. |
55 56 57 |
| 2026-05-24 | Przewodnik v1.13: Przegląd bezpieczeństwa i aktualności Claude Code v2.1.150 oraz OpenAI Agents SDK v0.17.3. Lokalne polecenie claude --version zwróciło 2.1.144 (Claude Code), natomiast najnowsza wersja npm pakietu @anthropic-ai/claude-code zwróciła 2.1.150, a najnowsze wydanie GitHub — v2.1.150. Dodano wskazówki dotyczące harness w wersji v2.1.149: poprawki mechanizmu obchodzenia uprawnień w PowerShell, poprawki analizy uprawnień odnoszące się do reguł zezwalających i nieaktualnych zmiennych w PowerShell oraz poprawkę listy dozwolonych lokalizacji zapisu w sandbox dla git worktree; zaznaczono, że v2.1.150 obejmuje wyłącznie wewnętrzną infrastrukturę i nie zawiera zapowiedzianych zmian widocznych dla użytkownika. Najnowsza wersja openai-agents w PyPI zwróciła 0.17.3, dlatego sekcja dotycząca sandbox OpenAI uwzględnia teraz dalsze wzmocnienia zabezpieczeń z wersji 0.17.1-0.17.3 w zakresie wyodrębniania archiwów, podścieżek GitRepo, danych uwierzytelniających sandbox, względnych katalogów głównych przestrzeni roboczej oraz obsługi stanów końcowych dostawcy.5354 |
|
| 2026-05-21 | Przewodnik v1.12: Przegląd Workflow w Claude Code v2.1.147. Lokalne polecenie claude --version zwróciło 2.1.144 (Claude Code), natomiast najnowsza wersja npm pakietu @anthropic-ai/claude-code zwróciła 2.1.147. Dodano domyślnie wyłączone narzędzie Workflow jako natywny, deterministyczny mechanizm orkiestracji multi-agent oraz wyjaśniono, że hooks, testy, bramki przeglądu, limity uruchamiania agentów i raporty dowodowe pozostają granicą poprawności.52 |
|
| 2026-05-15 | Przewodnik v1.11: Przegląd niezawodności sesji w tle i pluginów w Claude Code v2.1.142. Lokalne polecenie claude --version zwróciło 2.1.141 (Claude Code), natomiast najnowsza wersja npm pakietu @anthropic-ai/claude-code zwróciła 2.1.142. Dodano wskazówki dla operatorów dotyczące nowych flag wysyłania zadań claude agents, domyślnego trybu Fast w Opus 4.7, wykrywania pliku SKILL.md na najwyższym poziomie pluginu, widoczności LSP pluginu, zachowania zdalnego HTTP/SSE dla MCP_TOOL_TIMEOUT oraz poprawek niezawodności sesji w tle, daemonów i pamięci podręcznej pluginów.51 |
|
| 2026-05-14 | Przewodnik v1.10: Przegląd sygnalizowania operatorom i określania zakresu w Claude Code v2.1.141. Lokalne polecenie claude --version zwróciło 2.1.141 (Claude Code), a najnowsza wersja npm pakietu @anthropic-ai/claude-code zwróciła 2.1.141. Dodano wskazówki dotyczące używania terminalSequence przez hooks do sygnalizowania operatorom, a nie egzekwowania zasad, odnotowano claude agents --cwd <path> dla widoku Agent View ograniczonego do katalogu oraz udokumentowano wpływ CLAUDE_CODE_PLUGIN_PREFER_HTTPS i ANTHROPIC_WORKSPACE_ID na architekturę w zakresie instalowania pluginów oraz określania zakresu federacji tożsamości obciążeń.50 |
|
| 2026-05-13 | Przewodnik v1.9: Przegląd niezawodności Claude Code v2.1.140. Lokalne polecenie claude --version zwróciło 2.1.140 (Claude Code). Dodano subagent_type do wskazówek dotyczących hooków agentów oraz zaktualizowano sekcję zarządzania hooks o poprawki z wersji v2.1.140 dotyczące ConfigChange, disableAllHooks, allowManagedHooksOnly, wyświetlania zmiennych środowiskowych w oknie dialogowym uprawnień, resetowania niestandardowego stylu po synchronizacji ustawień, awaryjnego użycia natywnego pakietu Windows Git Bash oraz działania /scroll-speed.49 |
|
| 2026-05-11 | Przewodnik v1.8: Przegląd aktualności Claude Code v2.1.139 oraz ukierunkowany przegląd bezpieczeństwa i pamięci agentów. Zweryfikowano lokalne claude --version jako 2.1.139 i dodano zmiany operacyjne z v2.1.139: Agent View przez claude agents, pętle realizacji celu /goal, args dla hooków poleceń, continueOnBlock w PostToolUse, CLAUDE_PROJECT_DIR dla MCP oraz poprawkę pomiaru aktywnego czasu w OpenTelemetry.424344 Dodano ostrzeżenie dotyczące selekcji pamięci na podstawie preprintu arXiv „The Memory Curse”, wskazówki dotyczące zatwierdzania scalenia przez człowieka na podstawie preprintu arXiv o cyklu życia PR oraz wskazówki dotyczące bezpieczeństwa logów agentów i guardrails na podstawie ostrzeżeń Gryph Agents i LiteLLM.45464748 Poprawiono nieaktualny wiersz dotyczący budżetu tokenów Skills, Hooks i Subagents, zmieniając 2% na obecny limit 1% / 8 000 znaków opisu skill. |
|
| 2026-05-09 | Przewodnik v1.7: Aktualizacja po 3 dniach dotycząca Claude Code v2.1.136 + openai-agents-python v0.17.0. Do podsekcji dotyczącej poprawek hooków/wtyczek w v2.1.136 w części Architektura hooków dodano autoMode.hard_deny; omówiono nowy poziom bezwarunkowego blokowania, poprawkę dotyczącą znikania MCP po /clear w VS Code/JetBrains/Agent SDK, utratę tokena odświeżania MCP OAuth podczas równoczesnego odświeżania, poprawkę blokowania zapisu w trybie planowania po dopasowaniu reguły zezwalającej Edit(...), wyścig podczas czyszczenia pamięci podręcznej przez Stop/UserPromptSubmit wtyczki, ukrywanie domyślnego folderu skills/ przez wpis skills oraz dezaktualizowanie się zmiennych środowiskowych hooka SessionStart z CLAUDE_ENV_FILE po /resume//clear.40 Do Wzorców produkcyjnych dodano podsekcję Ankieta opinii OTel dotyczącą CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL.40 Podsekcję Sandbox rozszerzono o ograniczenia bezpieczeństwa z openai-agents-python v0.17.0: LocalFile.src / LocalDir.src ograniczono do lokalizacji wewnątrz base_dir, chyba że dostęp zostanie przyznany przez Manifest.extra_path_grants za pomocą SandboxPathGrant.41 Do części Zarządzane a samodzielnie hostowane harnesses dodano informację o domyślnym modelu RealtimeAgent (gpt-realtime-2).41 Tylko w dzienniku zmian: Claude Code v2.1.137 (poprawka aktywacji Win VSCode), v2.1.138 (poprawki wewnętrzne); claude-agent-sdk-python v0.1.78 (pakiet CLI v2.1.136), v0.1.79 (pakiet CLI v2.1.137), v0.1.80 (pakiet CLI v2.1.138). |
|
| 2026-05-08 | Przewodnik v1.6: Aktualizacja po 2 dniach dotycząca Claude Code v2.1.132/v2.1.133 + SDK v0.1.77. Do Systemu skills dodano podsekcję Interfejs Skill w SDK, dotyczącą opcji skills w ClaudeAgentOptions oraz wycofania "Skill" z allowed_tools.37 Do Architektury hooków dodano podsekcję Nakład pracy i pochodzenie sesji, dotyczącą nowego pola JSON effort.level wraz ze zmienną środowiskową $CLAUDE_EFFORT w danych wejściowych hooka oraz zmiennej środowiskowej CLAUDE_CODE_SESSION_ID w podprocesach Bash.3839 Do tabeli pól konfiguracji subagents dodano poprawkę wykrywania skills przez subagent (subagents wykrywają teraz skills projektu, użytkownika i wtyczek za pośrednictwem narzędzia Skill; przed v2.1.133 były one po cichu pomijane).39 Do Wzorców produkcyjnych dodano podsekcję Baza worktree, ścieżki Sandbox i ustawienia administratora, dotyczącą worktree.baseRef (wycofanie zmiany domyślnego zachowania powodującej niezgodność — powrót z lokalnego HEAD do origin/<default>), sandbox.bwrapPath, sandbox.socatPath oraz parentSettingsBehavior.39 |
|
| 2026-05-07 | Przewodnik v1.5: Zarządzane agenty Claude, rozszerzenie z 6 maja w San Francisco. Do części Pamięć i kontekst dodano Strategię 5 (Zarządzane porządkowanie pamięci: Dreaming, Research Preview) wraz z tabelą porównującą system plików jako pamięć z Dreaming.35 Na początku części Orkiestracja wieloagentowa dodano Zarządzaną orkiestrację wieloagentową (publiczna wersja beta) oraz Outcomes (publiczna wersja beta), wraz z dosłownymi cytatami Anthropic dotyczącymi specjalistów korzystających ze wspólnego systemu plików i śledzenia w Claude Console, a także tabelą porównawczą z samodzielnie hostowanym deliberation. Dodano podsekcję dotyczącą strumieniowania zdarzeń hooków po stronie SDK, obejmującą include_hook_events i HookEventMessage z claude-agent-sdk-python v0.1.74.36 Tylko w dzienniku zmian: Claude Code v2.1.124-v2.1.131 (claude project purge, --dangerously-skip-permissions dla folderów projektu, skill_activated invocation_trigger, poprawka formatowania przy zapisie w PostToolUse, poprawka blokowania przez PreToolUse JSON+kod wyjścia 2, ustawienia skillOverrides); claude-agent-sdk-python v0.1.72 (CLI 2.1.126), v0.1.73 (session_store_flush), v0.1.75 (CLI 2.1.131), v0.1.76 (api_error_status); openai-agents-python v0.15.0-v0.16.1, przy czym v0.16.0 (7 maja) domyślnie korzysta z gpt-5.4-mini, usuwa niejawny limit max_turns i dodaje współbieżne wykonywanie narzędzi po stronie SDK. |
|
| 2026-05-07 | Przewodnik v1.4: Zaktualizowano mechanizmy hooków i skills w Claude Code na podstawie bieżącej oficjalnej dokumentacji i lokalnych danych z działania środowiska (claude --version 2.1.132, polecenie codex --version zwróciło codex-cli 0.128.0). Zwiększono liczbę udokumentowanych zdarzeń hooków z 22/26+ do 29, poprawiono budżet opisów skills z 2%/16 000 na 1%/8 000, zmieniono liczbę typów hooków z czterech na pięć, dodając mcp_tool, usunięto niepotwierdzone twierdzenie o stałej liczbie „10 równoległych subagents” oraz dodano bezpieczną do publicznego udostępnienia sekcję o odpowiednikach w Codex, obejmującą AGENTS.md, skills, hooks, wtyczki i jawne przepływy pracy z subagents. |
|
| 2026-04-29 | Przewodnik v1.3: Rozszerzono omówienie OpenAI Agents SDK w części Zarządzane a samodzielnie hostowane harnesses o nazwane elementy interfejsu SDK z openai-agents Python v0.14.0 (15 kwietnia) — SandboxAgent, Manifest, SandboxRunConfig, pamięć sandbox z progresywnym ujawnianiem, montowanie przestrzeni roboczych (S3/R2/GCS/Azure), przenośne migawki oraz lokalne/Docker/hostowane backendy klienta (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel). Drugorzędne źródło Help Net Security zastąpiono podstawowym źródłem — informacjami o wydaniu v0.14.0. Dodano krótką informację o claude-agent-sdk-python v0.1.69-v0.1.71 (28–29 kwietnia) jako trzeciej opcji samodzielnego hostowania (osadzenie środowiska wykonawczego Claude Code jako biblioteki Python): dołączony Claude CLI zaktualizowano do v2.1.123, podniesiono minimalną wersję zależności mcp do >=1.19.0 (starsze wersje po cichu pomijały CallToolResult z działających w procesie narzędzi MCP), poprawiono anulowanie nursery w Trio oraz zapewniono zgodność pól listy dozwolonych elementów SandboxNetworkConfig z TS SDK. Udoskonalenia SDK w wersjach v0.14.7-v0.14.8 udokumentowano w [^58]. |
|
| 2026-04-25 | Przewodnik v1.2: Google Cloud Next 2026 (22–24 kwietnia) — Vertex AI przemianowano na Gemini Enterprise Agent Platform; Agentspace włączono do ujednoliconego Gemini Enterprise; Workspace Studio (narzędzie do tworzenia agentów bez kodowania); ponad 200 modeli w Model Garden, w tym Anthropic Claude; agenty partnerskie od Box, Workday, Salesforce i ServiceNow; stabilne ADK v1.0 w czterech językach; Project Mariner (agent przeglądający internet); zarządzane serwery MCP z Apigee jako pomostem między API a agentem; protokół A2A v1.0 używany produkcyjnie w 150 organizacjach. Microsoft Agent Framework 1.0 (kwiecień 2026): stabilne API, zobowiązanie do długoterminowego wsparcia, pełna obsługa MCP, .NET + Python. Działający w przeglądarce DevUI, który wizualizuje wykonywanie zadań przez agenta i wywołania narzędzi w czasie rzeczywistym, jest udostępniany jako wersja zapoznawcza wraz ze stabilnym interfejsem 1.0. Salesforce Headless 360 (15 kwietnia, TDX): każda funkcja Salesforce (CRM, obsługa klienta, marketing, handel elektroniczny) jest udostępniana jako polecenie narzędzia/CLI API/MCP, dzięki czemu agenty takie jak Claude Code, Cursor i Codex mogą tworzyć rozwiązania na tej platformie bez przeglądarki. (TDX 2026 odbyło się 15–16 kwietnia; ogłoszenie Headless 360 nosi datę 15 kwietnia). MetaComp StableX KYA (21 kwietnia): ramy nadzoru Know Your Agent dla regulowanych usług finansowych (płatności, zgodność z przepisami, zarządzanie majątkiem) — pierwsze tego rodzaju rozwiązanie stworzone przez licencjonowaną instytucję finansową; dostępne w Claude, Claude Code, OpenClaw i innych zgodnych platformach AI. Cennik Zarządzanych agentów Claude: 0,08 USD za godzinę działania sesji, bez opłat za środowisko wykonawcze w czasie bezczynności — oprócz standardowych opłat za tokeny modelu Claude. (Według strony cennika Claude firmy Anthropic; publiczna wersja beta została uruchomiona 8 kwietnia 2026). Pamięć dla Zarządzanych agentów weszła do publicznej wersji beta 23 kwietnia 2026 pod nagłówkiem wersji beta managed-agents-2026-04-01. Wszystkie punkty końcowe Zarządzanych agentów wymagają teraz tego nagłówka wersji beta. |
|
| 2026-04-16 | Przewodnik v1.1: Dodano część Zarządzane a samodzielnie hostowane harnesses, obejmującą Zarządzane agenty Claude (wersja beta z 8 kwietnia) oraz rozdzielenie harness/zasobów obliczeniowych w OpenAI Agents SDK (16 kwietnia). Dodano Scion — wieloagentowy hipernadzorca działający między narzędziami (7 kwietnia, Google). Udokumentowano stwierdzone w M3MAD-Bench wypłaszczenie korzyści z debaty. Dodano Pięć zasad godnych zaufania agentów (Anthropic, 9 kwietnia) oraz nadzór Linux Foundation nad MCP/AGENTS.md. Dodano odniesienie do sandbox dla skills Permiso SandyClaw. Nowe wzorce długookresowe Opus 4.7: odporność na awarie narzędzi, poziom nakładu pracy xhigh, limit budżetu tokenów (task_budget beta), świadomość niejawnych potrzeb ograniczająca tworzenie rusztowania CLAUDE.md. |
|
| 2026-03-24 | Pierwsza publikacja | |
| — |
Źródła
-
Andrej Karpathy o „claws” jako nowej warstwie nad agentami LLM. Dyskusja na HN (406 punktów, 917 komentarzy). ↩
-
Implementacja autora. 84 hooks, 48 skills, 19 agentów, około 15 000 wierszy kodu orkiestracji. Opisana w artykule Claude Code jako infrastruktura. ↩↩↩↩↩↩↩↩
-
Anthropic, „Claude Code Hooks: kody zakończenia”. code.claude.com/docs/en/hooks. Kod zakończenia 0 zezwala, 2 blokuje, a 1 generuje ostrzeżenie w przypadku większości zdarzeń;
WorktreeCreatepodlega bardziej rygorystycznym zasadom. ↩↩↩↩↩ -
Anthropic, „Rozszerzanie Claude za pomocą Skills”. code.claude.com/docs/en/skills. Struktura skill, pola frontmatter, dopasowywanie oparte na LLM oraz limit opisu wynoszący 1% / 8 000 znaków. ↩↩↩↩↩↩↩
-
Anthropic, „Claude Code Sub-agents”. code.claude.com/docs/en/sub-agents. Izolowany kontekst, obsługa worktree, zespoły agentów. ↩↩↩↩↩
-
Anthropic, „Dokumentacja Claude Code”. docs.anthropic.com/en/docs/claude-code. Pliki pamięci, CLAUDE.md, automatyczna pamięć. ↩↩↩↩↩
-
Wieloagentowy system deliberacji autora. 10 person badawczych, 7-fazowa maszyna stanów, 141 testów. Opisany w artykule Deliberacja wieloagentowa. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Simon Willison, „Pisanie kodu jest teraz tanie”. Wzorce inżynierii agentowej. ↩
-
Laban, Philippe i in., „LLMs gubią się w wieloturowych konwersacjach”, arXiv:2505.06120, maj 2025. Microsoft Research i Salesforce. 15 LLMs, ponad 200 000 konwersacji, średni spadek wydajności o 39%. ↩↩↩
-
Mikhail Shilkov, „Wewnątrz Claude Code Skills: struktura, prompty, wywoływanie”. mikhail.io. Niezależna analiza wykrywania skills, wstrzykiwania kontekstu oraz sekcji promptu
available_skills. ↩ -
Kod źródłowy Claude Code,
SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code. ↩ -
Anthropic, „Najlepsze praktyki tworzenia Skills”. platform.claude.com. Limit 500 wierszy, pliki pomocnicze, konwencje nazewnictwa. ↩
-
Anthropic, „Claude Code Hooks: zdarzenia cyklu życia”. code.claude.com/docs/en/hooks. 30 udokumentowanych zdarzeń cyklu życia, typy hooks, działanie mechanizmu dopasowującego, asynchroniczne hooks, hooks HTTP, hooks promptów, hooks agentów oraz hooks narzędzi MCP. ↩↩↩↩↩↩↩
-
Samouczek autora dotyczący Claude Code hooks. 5 produkcyjnych hooks utworzonych od podstaw. Opisany w artykule Samouczek dotyczący Claude Code Hooks. ↩↩↩↩↩
-
Zarządzanie oknem kontekstu przez autora na przestrzeni 50 sesji. Opisane w artykule Zarządzanie oknem kontekstu. ↩↩↩↩↩
-
Implementacja Ralph Loop autorstwa autora. Iteracje ze świeżym kontekstem, stanem w systemie plików i limitami uruchomień. Opisana w artykule Ralph Loop. ↩↩↩↩↩↩↩
-
Architektura systemu deliberacji autora. 3 500 wierszy Python, 12 modułów, wyzwalacz oparty na poziomie pewności, walidacja konsensusu. Opisana w artykule Budowanie systemów AI: od RAG do agentów. ↩↩↩
-
Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. ↩
-
Wu, H., Li, Z. i Li, L., „Czy agenci LLM naprawdę potrafią debatować?” arXiv:2511.07784, 2025. ↩
-
Liang, T. i in., „Wspieranie myślenia dywergencyjnego w dużych modelach językowych poprzez debatę wieloagentową”, EMNLP 2024. ↩
-
Analiza autora dotycząca AGENTS.md w rzeczywistych repozytoriach. Opisana w artykule Wzorce AGENTS.md. Zobacz również: blog GitHub, „Jak napisać świetny agents.md: wnioski z ponad 2 500 repozytoriów”. ↩↩↩↩↩↩↩↩
-
Metodyka quality loop i evidence gate opracowana przez autora. Część systemu rzemiosła Jiro. ↩
-
Anthropic, „Przegląd zarządzanych agentów Claude”. Publiczna wersja beta została udostępniona 8 kwietnia 2026. Harness jako usługa z punktami kontrolnymi sesji, zintegrowanym sandboxem i REST API. Cennik: standardowe tokeny + 0,08 USD za godzinę sesji. Nagłówek wersji beta:
managed-agents-2026-04-01. ↩↩ -
OpenAI, „Informacje o wydaniu openai-agents Python v0.14.0”. Wydano 15 kwietnia 2026; ogłoszenie opublikowano 16 kwietnia. Wprowadza interfejs SDK Sandbox Agents jako warstwę beta nad istniejącym przepływem
Agent/Runner:SandboxAgent,Manifest(kontrakt przestrzeni roboczej),SandboxRunConfig, funkcje (powłoka, edycja systemu plików, inspekcja obrazów, skills, pamięć sandboxa, kompakcja), montowanie przestrzeni roboczych (lokalne, Git, zdalne: S3, R2, GCS, Azure Blob, S3 Files), przenośne migawki z normalizacją ścieżek i zachowaniem dowiązań symbolicznych oraz serializację stanu uruchomienia umożliwiającą wznowienie. Backendy:UnixLocalSandboxClient,DockerSandboxClientoraz hostowane klienty dla Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop i Vercel dostępne za pośrednictwem opcjonalnych dodatków. Podsumowanie ogłoszenia z 16 kwietnia opublikowano w serwisie Help Net Security. ↩↩ -
Google Cloud, „Scion: wieloagentowy hipernadzorca”. Udostępniony jako oprogramowanie open source 7 kwietnia 2026. Orkiestruje Claude Code, Gemini CLI oraz inne zaawansowane agenty jako izolowane procesy, z osobnym kontenerem, git worktree i poświadczeniami dla każdego agenta. Tryby wdrożenia: lokalny, hub i Kubernetes. Relacja InfoQ. ↩
-
Zbiór badań nad debatą wieloagentową, I–II kwartał 2026. Wu i in., „Czy agenci LLM naprawdę potrafią debatować?” (arXiv 2511.07784); M3MAD-Bench — benchmark wielomodelowej debaty wieloagentowej wykazujący stabilizację wydajności oraz podatność na mylący konsensus; Tool-MAD — heterogeniczne przypisywanie narzędzi poszczególnym agentom oraz oceny sędziowskie Faithfulness/Relevance. ↩
-
Anthropic, „Nasze ramy tworzenia bezpiecznych i godnych zaufania agentów”. 9 kwietnia 2026. Pięć zasad: kontrola człowieka, zgodność z wartościami, bezpieczeństwo, przejrzystość, prywatność. Darowizna MCP na rzecz Agentic AI Foundation działającej przy Linux Foundation. ↩↩
-
Permiso Security, „SandyClaw: pierwszy dynamiczny sandbox dla AI Agent Skills”. 2 kwietnia 2026. Sandbox do wykonywania skills z mechanizmami wykrywania Sigma/YARA/Nova/Snort oraz werdyktami popartymi dowodami. ↩
-
Anthropic, „Przedstawiamy Claude Opus 4.7”. 16 kwietnia 2026. Ulepszenia agentów przeznaczonych do zadań długoterminowych: 3-krotnie wyższa skuteczność rozwiązywania zadań produkcyjnych SWE-Bench w porównaniu z Opus 4.6, odporność na awarie narzędzi, poziom wysiłku
xhigh, budżety zadań (beta), rozpoznawanie niejawnych potrzeb. Zobacz również Co nowego w Opus 4.7, aby zapoznać się ze zmianami powodującymi niezgodność wsteczną w Messages API. ↩ -
Źródło zbiorcze — OpenAI
openai-agents-pythonv0.14.7 (28 kwietnia 2026) i v0.14.8 (29 kwietnia 2026); Anthropicclaude-agent-sdk-pythonv0.1.69 (28 kwietnia), v0.1.70 (28 kwietnia) i v0.1.71 (29 kwietnia). Najważniejsze zmiany w v0.14.7: pomocnicze właściwościtool_name/call_idw elementach narzędzi, zwiększony limit tur konsolidacji pamięci w fazie 2, aliasy GPT-5.5 na potrzeby kompakcji sandboxa, zaostrzenie walidacji elementów archiwów tar/zip, odrzucanie dowiązań symbolicznych w źródłachLocalFile, usunięcie nieustawionych pól z wywołań Responses API. Najważniejsze zmiany w v0.14.8: zachowanie błędów importu przy ponownym eksporcie MCP, rozdzielenie sekcji instrukcji promptu dotyczących sandboxa. W claude-agent-sdk-python v0.1.69 dodano docstringi do pólClaudeAgentOptionsi zaktualizowano dołączony CLI do wersji v2.1.121; w v0.1.70 podniesiono minimalną wersję zależnościmcpdo>=1.19.0(starsze wersje bez ostrzeżenia pomijały wartości zwracane przezCallToolResultz działających w tym samym procesie procedur obsługi narzędzi MCP), naprawiono uszkadzanie struktury nursery biblioteki Trio przy wczesnym anulowaniu podczas iterowania poquery()z ustawionymoptions.stderr(czytnik stderr korzysta teraz zspawn_detached()) oraz zaktualizowano dołączony CLI do wersji v2.1.122; w v0.1.71 dodano pola list dozwolonych domen (allowedDomains,deniedDomains,allowManagedDomainsOnly,allowMachLookup) doSandboxNetworkConfig, aby zapewnić zgodność ze schematem TypeScript, oraz zaktualizowano dołączony CLI do wersji v2.1.123. ↩ -
OpenAI, „Niestandardowe instrukcje z AGENTS.md”. Przed rozpoczęciem pracy Codex odczytuje globalne i projektowe pliki
AGENTS.md/AGENTS.override.md, scala wytyczne od katalogu głównego do bieżącego oraz ogranicza rozmiar dokumentacji projektu za pomocąproject_doc_max_bytes. ↩ -
OpenAI, „Agent Skills”. Codex skills korzystają z
SKILL.md, stopniowego ujawniania informacji, jawnego wywołania$skilloraz niejawnej aktywacji na podstawie opisów. ↩ -
OpenAI, „Codex Hooks”. Codex hooks obsługują hooks poleceń w konfiguracji, hooks wtyczek, zarządzane hooks, wzorce dopasowania dla obsługiwanych zdarzeń, dane wejściowe stdin w formacie JSON oraz pola wyjściowe JSON. ↩
-
OpenAI, „Codex Subagents” i „Dziennik zmian Codex CLI 0.128.0”. Codex obsługuje jawne równoległe przepływy pracy z subagents, wbudowanych agentów
default,workeriexplorer, niestandardowych agentów TOML, dziedziczone zasady sandboxa, hooks dołączane do wtyczek, stan włączenia hooks oraz trwałe przepływy pracy/goalw wersji 0.128.0. ↩ -
Anthropic, „Nowości w Claude Managed Agents”. 6 maja 2026. Dreaming (wersja zapoznawcza do celów badawczych): zaplanowany proces działający w tle, który przegląda sesje agentów i magazyny pamięci, wyodrębnia wzorce oraz porządkuje wspomnienia. Outcomes (publiczna wersja beta): ocena oparta na kryteriach, w której niezależny moduł oceniający punktuje wynik według kryteriów we własnym oknie kontekstu, dzięki czemu tok rozumowania agenta nie wpływa na ocenę. Multiagent Orchestration (publiczna wersja beta): agent prowadzący deleguje części zadania specjalistom, z których każdy ma własny model, prompt i narzędzia; specjaliści pracują równolegle we współdzielonym systemie plików i wnoszą wkład do ogólnego kontekstu agenta prowadzącego, a w Claude Console dostępne jest pełne śledzenie każdego kroku. ↩↩↩↩↩↩↩↩
-
Anthropic,
claude-agent-sdk-pythonv0.1.74. 6 maja 2026. Dodanoinclude_hook_eventsdoClaudeAgentOptions; po ustawieniu tej opcji zdarzenia hooks (PreToolUse, PostToolUse, Stop i inne) są emitowane przez CLI oraz zwracane w strumieniu komunikatów jakoHookEventMessage, analogicznie doincludeHookEventsw TypeScript SDK. Dołączony Claude CLI zaktualizowano do wersji v2.1.129. ↩↩ -
Anthropic,
claude-agent-sdk-pythonv0.1.77. 8 maja 2026. Wartość"Skill"wallowed_toolsoznaczono jako przestarzałą na rzecz odrębnej opcjiskillswClaudeAgentOptions, zapewniono Claude Code bardziej ustrukturyzowane informacje o dostępnych skills, ulepszono komunikaty o błędach w wyjątkachCommand failedoraz dołączono Claude CLI v2.1.133. ↩↩ -
Anthropic, Claude Code v2.1.132. 6 maja 2026. Dodano zmienną środowiskową
CLAUDE_CODE_SESSION_IDw podprocesach narzędzia Bash (zgodną zsession_id, który jest już dostępny dla hooks),CLAUDE_CODE_DISABLE_ALTERNATE_SCREENpozwalającą zachować rozmowę w natywnym buforze przewijania, odświeżony baner startowy/tui fullscreen(mniejsze zużycie pamięci, obsługa myszy, automatyczne kopiowanie po zaznaczeniu) oraz około 20 poprawek błędów obejmujących prawidłowe zamykanie po SIGINT, uszkadzanie zastępczych znaków emoji przez--resume, flagę--permission-modew trybie planowania, obsługę kursora dla pism indyjskich i sekwencji ZWJ, operacje vim w NFD, pomijanie wklejonego tekstu zaczynającego się od/, nieograniczone zużycie pamięci przez MCP, ponawianietools/listw MCP, błąd 400 dla Bedrock + Vertex zENABLE_PROMPT_CACHING_1Horaz wyświetlanie skumulowanej liczby tokenów jakocontext_windoww wierszu stanu. ↩↩ -
Anthropic, Claude Code v2.1.133. 7 maja 2026. Hooks otrzymują teraz dane wejściowe JSON
effort.leveloraz zmienną środowiskową$CLAUDE_EFFORT(dostępną również z poleceń Bash). Subagents wykrywają projektowe, użytkownika i pochodzące z wtyczek skills za pomocą narzędziaSkill(poprawka regresji). Nowe ustawienia administratora:worktree.baseRef(fresh|head) przywraca bazę worktree doorigin/<default>po zmianie na lokalnyHEADw v2.1.128;sandbox.bwrapPathisandbox.socatPathprzypisują konkretne pliki binarne sandboxa w systemach Linux/WSL;parentSettingsBehavior('first-wins' | 'merge') określa sposób łączeniamanagedSettingsw SDK z ustawieniami nadrzędnymi. Pozostałe poprawki: błąd 401 w sesjach równoległych po wyścigu podczas odświeżania tokenu, zakres reguł zezwalających dla katalogu głównego dysku, obsługa proxy/mTLS dla MCP OAuth, kończenie anulowania przez zatrzymanie/przerwanie Remote Control, przenikanie ustawienia/effortmiędzy sesjami, uwzględnienie--remote-controlw--help. ↩↩↩↩↩↩ -
Anthropic, Claude Code v2.1.136. 8 maja 2026. Dodano
settings.autoMode.hard_denydla reguł klasyfikatora trybu automatycznego, które bezwarunkowo blokują działania niezależnie od intencji użytkownika lub wyjątków zezwalających, orazCLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, aby ponownie włączyć ankietę jakości w sesji dla przedsiębiorstw rejestrujących odpowiedzi za pośrednictwem OpenTelemetry. Poprawki istotne dla operatorów: serwery MCP z.mcp.json, wtyczek i konektorów claude.ai znikały bez ostrzeżenia po/clearw VS Code, JetBrains i Agent SDK; tokeny odświeżania MCP OAuth były tracone przy równoczesnym odświeżaniu; tryb planowania nie blokował zapisu plików, gdy istniała pasująca reguła zezwalającaEdit(...); hooksStop/UserPromptSubmitwtyczek nie działały, gdy czyszczenie pamięci podręcznej usuwało nadal działającą wersję; wpisskillswplugin.jsonukrywał domyślny katalogskills/wtyczki; zmienne środowiskowe z hook SessionStart zapisane wCLAUDE_ENV_FILEstawały się nieaktualne po/resumelub/clear. Ponadto wprowadzono około 30 dodatkowych poprawek dopracowujących interfejs TUI, autouzupełnianie i renderowanie terminala oraz zwiększających ich niezawodność. Wydania towarzyszące: v2.1.137 (9 maja, poprawka aktywacji rozszerzenia VSCode w systemie Windows), v2.1.138 (9 maja, poprawki wewnętrzne); wclaude-agent-sdk-pythonv0.1.78, v0.1.79 i v0.1.80 zaktualizowano dołączony Claude CLI odpowiednio do wersji v2.1.136, v2.1.137 i v2.1.138. ↩↩↩↩ -
OpenAI,
openai-agents-pythonv0.17.0. 8 maja 2026.RealtimeAgentdomyślnie korzysta zgpt-realtime-2. Materializacja źródeł lokalnych w sandboxie ogranicza terazLocalFile.srciLocalDir.srcdo katalogubase_dirmanifestu (bieżącego katalogu roboczego procesu SDK w chwili zastosowania manifestu), chyba że dostęp do źródła zostanie jawnie przyznany za pomocąManifest.extra_path_grantszSandboxPathGrant. Względne źródła lokalne są rozwiązywane względembase_dir; źródła bezwzględne muszą już znajdować się w tym katalogu lub w lokalizacji objętej jawnym uprawnieniem. Migracja: zaufane katalogi główne hosta należy deklarować na poziomie manifestu, najlepiej z dostępem tylko do odczytu.extra_path_grantsnależy traktować jako zaufaną konfigurację aplikacji; nie należy wypełniać jej danymi wyjściowymi modelu ani niezaufanymi danymi wejściowymi manifestu. Wydanie zawiera również poprawkę kolizjiextra_argsw zarządzaniu kontekstem Responses. ↩↩↩↩ -
Anthropic, Claude Code v2.1.139. Maj 2026. Lokalne dane z bieżącej sesji z 11 maja 2026: polecenie
claude --versionzwróciło2.1.139 (Claude Code). Informacje o wydaniu obejmują Agent View (claude agents),/goal,args: string[]dla hooks,continueOnBlockdlaPostToolUse,CLAUDE_PROJECT_DIRdla serwerów stdio MCP, interpolację poleceń pluginów dla${CLAUDE_PROJECT_DIR}oraz poprawki, w tym emitowanie danych telemetrycznych OpenTelemetryclaude_code.active_time.totalw trybie--print. ↩↩↩↩↩ -
Anthropic, „Zarządzanie wieloma agents za pomocą Agent View”. Dokumentacja Agent View opisuje uruchamianie wielu sesji Claude Code i zarządzanie nimi z jednego ekranu, sprawdzanie działań wykonywanych w poszczególnych sesjach oraz identyfikowanie sesji wymagających reakcji operatora. Na stronie określono Agent View jako Research Preview oraz opisano ograniczenia sesji lokalnych. ↩↩↩
-
Anthropic, „Hooks w Claude Code”. Dokumentacja hooks obejmująca pola poleceń hooks,
PreToolUse,PostToolUse, działanie kodów wyjścia, dane wejściowe i wyjściowe hooks oraz ścieżki bezpośredniego rozwijania poleceń poprzedzonych ukośnikiem. ↩↩ -
Baza danych porad bezpieczeństwa GitHub, GHSA-f3jg-756w-gm35 / CVE-2026-45046. „Filtr ładunków Gryph Agents nie usuwa z ładunku narzędzia poufnych treści”. Opublikowano w maju 2026; opisano przypadek, w którym przy domyślnym sposobie rejestrowania poufna zawartość ładunku
file-writepozostawała w lokalnych dziennikach SQLite, oraz poprawkę w Gryph v0.7.0. ↩↩ -
OSV, GHSA-wxxx-gvqv-xp7p / CVE-2026-40217. „LiteLLM umożliwia ucieczkę z piaskownicy w zabezpieczeniu niestandardowego kodu”. Opublikowano 11 maja 2026; opisano chroniony uprawnieniami administratora punkt końcowy
POST /guardrails/test_custom_code, który uruchamia Python dostarczony przez użytkownika w samodzielnie zaimplementowanej piaskownicy, oraz zalecono aktualizację lub zablokowanie tego punktu końcowego, jeśli aktualizacja nie jest możliwa. ↩↩ -
Young Jo (seph) Chung i Safwat Hassan, „Współpracownik czy asystent? Jak agenty programistyczne AI dzielą pracę w całym cyklu życia pull requestów”, arXiv:2605.08017v1, maj 2026. W abstrakcie przedstawiono analizę cyklu życia 29 585 PR-ów w OpenAI, Copilot, Devin, Cursor i Claude Code, rozróżniając samodzielność operacyjną od kontroli nad scalaniem zmian. ↩↩
-
Jiayuan Liu i in., „Klątwa pamięci: jak szerszy dostęp do historii osłabia skłonność do współpracy w agents LLM”, arXiv:2605.08060v1, maj 2026. W abstrakcie opisano eksperymenty obejmujące 7 modeli LLM i 4 gry rozgrywane przez 500 rund, w których szerszy dostęp do historii pogorszył współpracę w 18 spośród 28 konfiguracji model–gra. ↩↩
-
Anthropic, Claude Code v2.1.140. 12 maja 2026. Dodano
subagent_typedo danych wejściowych agent hooks oraz poprawiono hooksConfigChange,disableAllHooks,allowManagedHooksOnly, wyświetlanie w oknie dialogowym uprawnień zmiennych środowiskowych pochodzących z wyników hooks, resetowanie niestandardowego stylu po aktualizacji ustawień, mechanizm awaryjny rozwiązywania pakietów natywnych w Windows Git Bash i/scroll-speed. ↩↩↩ -
Anthropic, Claude Code v2.1.141. 13 maja 2026. Dodano
terminalSequencedo danych wyjściowych JSON hooks na potrzeby powiadomień systemowych, tytułów okien i sygnałów dźwiękowych;CLAUDE_CODE_PLUGIN_PREFER_HTTPSdo klonowania źródeł pluginów HTTPS;ANTHROPIC_WORKSPACE_IDdo określania zakresu przestrzeni roboczej przy federacji tożsamości obciążeń;claude agents --cwd <path>do filtrowania katalogów w Agent View; opcje dołączania do/feedbacksesji z ostatnich 24 godzin lub 7 dni; a także powiązane poprawki dotyczące agents, zadań w tle, hooks, MCP, Remote Control, okna dialogowego uprawnień i renderowania terminala. Weryfikacja w bieżącej sesji 14 maja 2026: polecenieclaude --versionzwróciło2.1.141 (Claude Code), anpm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonzwróciło najnowszą wersję2.1.141. ↩↩↩ -
Anthropic, Claude Code v2.1.142. 14 maja 2026. Dodano flagi uruchamiania
claude agentsdla sesji w tle (--add-dir,--settings,--mcp-config,--plugin-dir,--permission-mode,--model,--effort,--dangerously-skip-permissions), domyślnym modelem w trybie Fast został Opus 4.7, przy czymCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1służy do przypięcia poprzedniej wersji, plikiSKILL.mdpluginów na poziomie głównym są udostępniane jako skills, gdy nie istnieje katalogskills/, serwery LSP dostarczane przez pluginy są wyświetlane w szczegółach pluginu, przed zastąpieniem istniejącego połączenia z aplikacją GitHub pojawia się ostrzeżenie, a także poprawiono problemy dotycząceMCP_TOOL_TIMEOUT, worktree sesji w tle, usypiania i wybudzania demona, czyszczenia demona po aktualizacji, pamięci podręcznej pluginów oraz niezawodności Agent View. Weryfikacja w bieżącej sesji 15 maja 2026: polecenieclaude --versionzwróciło2.1.141 (Claude Code), natomiast najnowszą wersją w npm była2.1.142. ↩↩ -
Anthropic, Claude Code v2.1.147. 21 maja 2026. Dodano domyślnie wyłączone narzędzie
Workflowdo deterministycznej orkiestracji wielu agents (CLAUDE_CODE_WORKFLOWS=1), możliwość przypinania sesji w tle,/code-review [effort] --commentzastępujące/simplify, wzmocniono zabezpieczenia piaskownicy REPL i Workflow, dodano diagnostykę automatycznego aktualizatora, ulepszono renderowanie dużych różnic i deduplikację historii promptów, a także poprawiono ograniczenia logowania korporacyjnego, działanie PowerShell, stronicowanie MCP, Agent View, pluginy, warunki hooks, wklejony tekst oraz pętle spowodowane usuniętymi obrazami. Weryfikacja w bieżącej sesji 21 maja 2026: polecenieclaude --versionzwróciło2.1.144 (Claude Code), anpm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonzwróciło najnowszą wersję2.1.147z wartościątime.modifiedrówną2026-05-21T20:38:35.053Z. ↩↩↩ -
Anthropic, Claude Code v2.1.148, v2.1.149, v2.1.150 oraz CHANGELOG Claude Code. W wersji v2.1.148 poprawiono regresję kodu wyjścia Bash wprowadzoną w v2.1.147. W v2.1.149 dodano
/usagez wykorzystaniem limitów według kategorii, przewijanie za pomocą klawiatury w/diff, renderowanie list zadań GFM oraz korporacyjneallowAllClaudeAiMcps; poprawki istotne dla harness obejmują obchodzenie uprawnień przezcdw PowerShell, analizę uprawnień dla prefiksów i symboli wieloznacznych PowerShell oraz nieaktualnych zmiennych, zakres listy dozwolonych zapisów piaskownicy dla git-worktree, wyczerpywanie vnode przez polecenie Bashfindw systemie macOS, zawieszanie się zatwierdzania ustawień zarządzanych, diagnostykę spacji w ścieżkachotelHeadersHelperoraz synchronizację zmiany nazwy sesji Remote Control. Wersja v2.1.150 zawiera wyłącznie zmiany wewnętrznej infrastruktury. Weryfikacja w bieżącej sesji 24 maja 2026: lokalne polecenieclaude --versionzwróciło2.1.144 (Claude Code), natomiast najnowszą wersją w npm była2.1.150z wartościątime.modifiedrówną2026-05-23T04:03:10.243Z; najnowszym wydaniem w GitHub byłov2.1.150, opublikowane2026-05-23T04:03:51Z. ↩↩↩ -
OpenAI,
openai-agents-pythonv0.17.1, v0.17.2 oraz v0.17.3. W v0.17.1 dodano szczegóły błędów dostawcy piaskownicy, limity wyodrębniania archiwów, walidację podścieżek GitRepo oraz poprawki śledzenia, sesji i działania w czasie rzeczywistym. W v0.17.2 poprawiono utrwalanie rozumowania Conversations, przyczyny odrzucania lokalnych zatwierdzeń, ustawienia AsyncSQLiteSession oraz obsługę nieznanych narzędzi w czasie rzeczywistym. W v0.17.3 dane uwierzytelniające punktów montowania nie trafiają do poleceń piaskownicy, względne katalogi główne przestrzeni roboczych piaskownicy są odrzucane, obsługiwane są końcowe stany piaskownicy Vercel, a także poprawiono przypadki brzegowe dotyczące schematu wyjściowego, guardrail, środowiska uruchomieniowego i importowania pamięci. Weryfikacja w bieżącej sesji 24 maja 2026: poleceniepython3 -m pip index versions openai-agentszwróciło najnowszą wersję0.17.3; najnowszym wydaniem w GitHub byłov0.17.3, opublikowane2026-05-19T01:27:36Z. ↩↩ -
Claude Code — dziennik zmian (źródło kanoniczne), informacje o wydaniu v2.1.152, informacje o wydaniu v2.1.153, informacje o wydaniu v2.1.154. Wersja v2.1.152 (27 maja) dodaje zdarzenie hooka
MessageDisplay, opcjędisallowed-toolswe frontmatter skills/poleceń,/reload-skills, wynikireloadSkillsisessionTitlehookaSessionStart, stosowanie zmian przez/code-review --fixbezpośrednio w drzewie roboczym, zarządzane ustawieniepluginSuggestionMarketplaces, usunięcie konieczności wyrażania zgody na tryb automatyczny oraz przełączanie--fallback-modelw trakcie sesji. W wersji v2.1.153 (28 maja)/modelzapisuje wybrany model jako domyślny dla nowych sesji, natomiastsogranicza wybór do bieżącej sesji; dodanoskipLfsdo repozytoriów pluginów, udostępnionoCOLUMNS/LINESw środowisku wiersza stanu oraz zapewniono trwałość uprawnień Prywatność i ochrona przyznanych agentowi działającemu w tle w systemie macOS. Wersja v2.1.154 (28 maja) ustawia Opus 4.8 jako model domyślny, domyślnie z wysokim poziomem wysiłku, i dodaje/effort xhigh; wprowadza dynamiczne przepływy pracy za pośrednictwem/workflows; udostępnia tryb Fast w Opus 4.8 w cenie 2× wyższej, zapewniający 2,5× większą szybkość; domyślnie stosuje odchudzony prompt systemowy dla wszystkich modeli z wyjątkiem Haiku/Sonnet/Opus 4.7 i wcześniejszych; umożliwia przekazanie przezclaude agentspolecenia! <command>w celu uruchomienia sesji powłoki w tle; pozwala pluginom deklarowaćdefaultEnabled: false; przekazujeCLAUDE_CODE_SESSION_IDiCLAUDECODE=1do środowiska podprocesów stdio MCP; a także oznaczaCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDEjako przestarzałe (usunięto 1 czerwca). ↩ -
Dziennik zmian Codex (OpenAI Developers) oraz wydania openai/codex. Codex CLI 0.134.0 (26 maja 2026) dodał lokalne wyszukiwanie w historii rozmów; ustanowił
--profiległównym selektorem profilu w przepływach CLI/TUI/sandbox wraz z migracją starszej konfiguracji; usprawnił konfigurację MCP o wybór środowiska dla poszczególnych serwerów oraz OAuth dla serwerów korzystających ze strumieniowego HTTP; zwiększył niezawodność schematów narzędzi konektorów przez zachowywanie lokalnych$ref/$defsi kompresowanie nadmiernie rozbudowanych schematów przed ich udostępnieniem; a także umożliwił równoległe wykonywanie narzędzi MCP przeznaczonych tylko do odczytu i deklarującychreadOnlyHint. Codex CLI 0.135.0 (28 maja 2026) dodał bardziej szczegółową diagnostykęcodex doctor; udostępnił w/statusszczegóły połączenia zdalnego i wersję serwera; dodał edycję obiektów tekstowych w stylu vim z ulepszonym działaniem na słowach i końcach wierszy oraz konfigurowalnym przerywaniem tury; zapewnił w/permissionsobsługę nazwanych profili uprawnień; dołączył poprawionego pomocnika zsh dla obsługiwanych systemów macOS i Linux; a także dodał przyjazne ustawienia wstępneSandboxdo Python SDK dla APIs wątków i tur. ↩ -
Informacje o wydaniu Hermes Agent v0.15.0. „Wydanie Velocity”. 1 302 commity, 747 scalonych PR-ów, 321 współtwórców ze społeczności.
run_agent.pyzrefaktoryzowano w 76% (z 16 083 do 3 821 wierszy w 14 modułach). Wieloagentowa platforma Kanban z automatycznym podziałem zadań, topologią roju, możliwością nadpisania modelu dla poszczególnych zadań, zadaniami zaplanowanymi oraz zarządzaniem drzewami roboczymi.session_searchprzeprojektowano, uzyskując 4 500-krotne przyspieszenie i usuwając zależność LLM. Ochrona przed złośliwymi promptami klasy Brainworm w trzech krytycznych punktach zabezpieczeń. Integracja z Bitwarden Secrets Manager, która zastępuje klucze poszczególnych dostawców jednym tokenem rozruchowym. Pakiety skills umożliwiające ładowanie wielu skills jednym poleceniem z ukośnikiem. Orkiestrator sesji TUI do zarządzania wieloma sesjami w jednym terminalu. Dostawcy generowania obrazów Krea 2 i FAL; pakiet integracji z xAI (plugin wyszukiwania internetowego, nadrzędny OAuth, wykrywanie wycofanych modeli, naturalne pauzy TTS). ↩ -
Informacje o wydaniu Claude Code v2.1.157 oraz Claude Code — dziennik zmian (źródło kanoniczne). 29 maja 2026. Pluginy umieszczone w katalogu projektu
.claude/skills/są teraz ładowane automatycznie bez konieczności korzystania z repozytorium;claude plugin init <name>tworzy szkielet nowego pluginu w tym katalogu;/pluginzyskało automatyczne uzupełnianie argumentów. Ponadto:EnterWorktreemoże przełączać w trakcie sesji drzewa robocze zarządzane przez Claude, drzewa robocze działające w tle pozostają odblokowane po zakończeniu pracy agenta, dzięki czemugit worktree remove/prunedziałają prawidłowo, a zdarzenia telemetrycznetool_decisionzawierajątool_parameters, gdy ustawionoOTEL_LOG_TOOL_DETAILS=1. Wydanie obejmuje również poprawki błędów dotyczących obrazów, których nie można przetworzyć (są teraz zastępowane tekstowymi symbolami zastępczymi), monitów o uprawnienia sieciowe sandboxa w trybie automatycznym/obejścia, kończenia sesji w tle po ich zaparkowaniu oraz renderowania terminala w tmux / VS Code / Cursor / Windsurf. ↩↩ -
Claude Code Dziennik zmian (źródło kanoniczne) oraz informacje o wydaniu Codex CLI v0.137.0, czerwiec 2026. Claude Code v2.1.162 (3 czerwca) dodał
waitingFordoclaude agents --json; v2.1.163 (4 czerwca) dodałhookSpecificOutput.additionalContextna potrzeby informacji zwrotnych niebędących błędami dlaStop/SubagentStop; v2.1.166 (6 czerwca) wzmocnił kontrolę uprawnieńSendMessagemiędzy sesjami (przekazywane wiadomości nie dziedziczą już uprawnień użytkownika) oraz dodał ustawieniefallbackModel(maksymalnie trzy modele rezerwowe, jedna próba ponowienia w przypadku błędów niekwalifikujących się standardowo do ponowienia). Codex CLI v0.137.0 (4 czerwca) wprowadził multi-agent v2 (środowisko wykonawcze z wątkiem, domyślnehide_spawn_agent_metadataustawione na true, propagowanie zdarzeń z rodzica do dziecka), rozszerzenie skills v1 z rozpoznawaniem katalogu dla każdej tury oraz zdarzenia cyklu życia dla współtwórców dotyczące rozpoczęcia wątku i błędu tury; dokumentacja subagents Codex potwierdza typy agentów default/worker/explorer oraz mechanizmy kontroli współbieżnościagents.max_threads/max_depth. AGENTS.md (agents.md) nie publikuje żadnej wersjonowanej zmiany specyfikacji. Weryfikacja w bieżącej sesji: 8 czerwca 2026. ↩↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.169 oraz informacje o wydaniu v2.1.170, 8–9 czerwca 2026. Wersja v2.1.169 dodaje ustawienie
disableBundledSkillsorazCLAUDE_CODE_DISABLE_BUNDLED_SKILLS(ukrywa przed modelem wbudowane skills, przepływy pracy i polecenia z ukośnikiem); flagę--safe-modeorazCLAUDE_CODE_SAFE_MODE(uruchamia sesję z wyłączonymi wszystkimi dostosowaniami: CLAUDE.md, pluginami, skills, hooks i serwerami MCP); a także polecenie/cd(przenosi sesję do nowego katalogu roboczego bez naruszania pamięci podręcznej prompta). Wersja v2.1.170 umożliwia wybranie Claude Fable 5 (claude-fable-5) za pomocą/model claude-fable-5, przy czym Opus 4.8 pozostaje domyślnym modelem agentowym Claude Code. Premiera nowej klasy modelu: Anthropic, „Claude Fable 5”, 9 czerwca 2026 — klasa „Mythos” powyżej Opus, opisywana jako najpotężniejszy model Anthropic, który udało się uczynić bezpiecznym do powszechnego użytku. ↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI rust-v0.138.0 (8 czerwca 2026) oraz informacje o wydaniu rust-v0.139.0 (9 czerwca 2026). Wersja v0.138.0 wzmacnia multi-agent v2 przez szyfrowanie treści wiadomości między agentami, katalog konfiguracji agentów v2, pamięć LRU rezydentnych agentów oraz obliczanie współbieżności na podstawie aktywnych wykonań zamiast utworzonych wątków. Wersja v0.139.0 zmienia nazwę API cyklu życia
close_agentnainterrupt_agentoraz ogranicza ostrzeżenia uruchomieniowe MCP subagents do wątku właściciela, dzięki czemu nie są już powielane w wątku nadrzędnym. Mechanizm wykrywania AGENTS.md wzmocniono w obu wydaniach: ładowanie odbywa się przez systemy plików środowiska, a podczas wykrywania zachowywane są ścieżki logiczne, co gwarantuje wybór właściwych plików w zdalnych obszarach roboczych oraz tych korzystających z dowiązań symbolicznych. ↩↩↩↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.172 (10 czerwca 2026). Sub-agents mogą teraz tworzyć własnych sub-agents, a delegowanie rekurencyjne jest obsługiwane do głębokości 5 poziomów; wcześniej delegowanie było w praktyce ograniczone do jednego poziomu. ↩↩
-
Anthropic, informacje o wydaniu Claude Code v2.1.175 oraz informacje o wydaniu v2.1.178, 12–15 czerwca 2026. Wersja v2.1.175 dodaje zarządzane ustawienie
enforceAvailableModels(przypina model Default i uniemożliwia ustawieniom użytkownika/projektu rozszerzenie zarządzanej listy dozwolonych modeliavailableModels). Wersja v2.1.178 dodaje składnię reguł uprawnieńTool(param:value), która dopasowuje parametry wejściowe narzędzia z użyciem symbolu wieloznacznego*(np.Agent(model:opus)); ładuje skills z zagnieżdżonych katalogów.claude/skills, stosując zapis<dir>:<name>do rozróżniania konfliktów nazw; w przypadku kolizji wybiera z zagnieżdżonych katalogów.claude/agents, przepływy pracy i style wyjściowe położone najbliżej bieżącego katalogu roboczego (przepływy pracy zapisywane w zakresie projektu trafiają do najbliższego istniejącego katalogu.claude/workflows/); przed uruchomieniem ocenia tworzenie subagent za pomocą klasyfikatora trybu automatycznego; a także naprawia błąd powodujący ciche ignorowanie specyfikacji na poziomie serwera MCP (mcp__server,mcp__server__*,mcp__*) wdisallowedToolssubagent. ↩↩↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI rust-v0.140.0, 15 czerwca 2026 (wersja przeniesiona do kanału stabilnego z linii v0.140.0-alpha). Dodano
/import, umożliwiające selektywne importowanie konfiguracji początkowej, konfiguracji projektu i ostatnich czatów z Claude Code; trwałe usuwanie sesji za pomocącodex delete,/deleteorazthread/deleteserwera aplikacji, z zabezpieczeniami wymagającymi potwierdzenia; ujednolicone menu wzmianek@dla plików, plugins i skills; a także widoki aktywności tokenów/usage. ↩↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.183, 19 czerwca 2026 — tryb automatyczny blokuje destrukcyjne polecenia git (
git reset --hard,git checkout -- .,git clean -fd,git stash drop), jeśli nie zażądano odrzucenia zmian,git commit --amendw przypadku commitów, których agent nie utworzył w bieżącej sesji, orazterraform destroy/pulumi destroy/cdk destroy, o ile nie wskazano konkretnego stosu. OpenAI, informacje o wydaniu Codex CLI rust-v0.141.0, 18 czerwca 2026 (wersja przeniesiona do kanału stabilnego z linii v0.141.0-alpha) — zdalne executory korzystają z uwierzytelnionych, szyfrowanych end-to-end kanałów przekaźnikowych Noise; wieloplatformowe wykonywanie zdalne zachowuje katalogi robocze i powłoki właściwe dla executora; TLS obsługuje podpisy certyfikatów P-521 na potrzeby firmowych serwerów proxy. ↩↩↩ -
Dziennik zmian Claude Code (źródło kanoniczne) — v2.1.193 (25 czerwca 2026): ustawienie
autoMode.classifyAllShell; przyczyny odmowy w trybie automatycznym widoczne w transkrypcji, powiadomieniu typu toast i/permissions. v2.1.195 (26 czerwca 2026): matchery hooks z identyfikatorami zawierającymi łączniki (np.code-reviewer,mcp__brave-search) stosują dopasowanie ścisłe zamiast dopasowania podciągu; aby dopasować wszystkie narzędzia z serwera MCP, którego nazwa zawiera łącznik, należy użyćmcp__brave-search__.*. Informacje o wydaniu Codex CLI v0.142.2 (25 czerwca 2026): polecenia PowerShell zawierające wykonywalne regiony AST, których klasyfikator bezpieczeństwa nie może sprawdzić, wymagają teraz zatwierdzenia. Zweryfikowano na podstawie obu źródeł kanonicznych 1–2 lipca 2026 (PST). ↩↩↩ -
Dziennik zmian Claude Code (źródło kanoniczne) oraz wydania GitHub. v2.1.196 (29 czerwca 2026): domyślne modele dla całej organizacji (ustawiane przez administratora i wyświetlane jako „Org default” w
/model);claude mcp list/getnie uruchamiają już serwerów.mcp.json, które zatwierdzają własne repozytorium, w niezaufanych obszarach roboczych. v2.1.197 (30 czerwca): Claude Sonnet 5 staje się dostarczanym modelem domyślnym (natywny kontekst 1M, promocyjne ceny $2/$10 do 31 sierpnia). v2.1.198 (1 lipca): subagents domyślnie działają w tle; wbudowany agent Explore dziedziczy model sesji (maksymalnie Opus); subagents i kompakcja dziedziczą konfigurację rozszerzonego rozumowania sesji; działające w tle sesjeclaude agentspo wykonaniu prac nad kodem w worktree tworzą commit, wykonują push i otwierają roboczy PR, a następnie uruchamiają hookNotificationzagent_needs_input/agent_completed; kreator/agentszostał usunięty (należy bezpośrednio edytować.claude/agents/lub poprosić Claude). v2.1.199 (2 lipca): zestawione wywołania slash-skills wczytują maksymalnie 5 początkowych skills; wykrywane jest błędne kierowanieSendMessagespowodowane ponownym użyciem nazwy agenta; hooksSessionStart/Setup/SubagentStartujawniają stderr przy kodzie wyjścia 2. v2.1.200 (3 lipca): tryb uprawnieńdefaultjest oznaczony jako „Manual” w interfejsie CLI,--help, VS Code i JetBrains, amanualjest akceptowane obok niezmienionej wartości konfiguracji; okna dialogoweAskUserQuestionnie kontynuują już domyślnie automatycznie. v2.1.202 (6 lipca): opcja/config„Dynamic workflow size”;/review <pr>powraca do przeglądu jednoetapowego, natomiast/code-review <level> <pr#>uruchamia proces wieloagentowy. Pakiet Anthropicclaude-agent-sdkjest dostępny w wersji v0.2.111 (6 lipca 2026; zawiera Claude CLI v2.1.202), a pakiet TypeScript@anthropic-ai/claude-agent-sdk— w wersji v0.3.203; linie 0.2.x / 0.3.x stanowią przyrostowe rozszerzenia udokumentowanego interfejsu 0.1.x (najnowsze prace dotyczą czyszczenia podprocesów i niezawodności strumieni NDJSON). Weryfikacja w bieżącej sesji: 7 lipca 2026 (PST). ↩ -
Dziennik zmian Claude Code (źródło kanoniczne), wydania GitHub v2.1.207 i v2.1.208 oraz Nowości w Claude Code. Lipiec 2026. v2.1.203–v2.1.206 (początek lipca): reguła trybu automatycznego blokuje manipulowanie plikami transkrypcji; powiadomienia o zadaniach w tle jednoznacznie informują, że podczas wykonywania zadania nie nastąpiła żadna interakcja ze strony człowieka; MCP
roots/listuwzględnia dodatkowe katalogi robocze sesji i wysyła powiadomieniaroots/list_changed;/doctorproponuje skrócenie treści CLAUDE.md, które można wywnioskować z kodu; wersja v2.1.204 naprawiła również strumieniowanieSessionStartw trybie bez interfejsu. v2.1.207: ogólna dostępność trybu automatycznego w Amazon Bedrock, Google Vertex AI i Microsoft Foundry, z zarządzanym ustawieniemdisableAutoModeumożliwiającym rezygnację;CLAUDE_CODE_PROCESS_WRAPPERdla firmowych programów uruchamiających procesy; do 7× szybsze cykle użycia narzędzi przy dużej liczbie narzędzi MCP oraz 79× mniejsze transkrypcje sesji. v2.1.208: monity o potwierdzenie katastrofalnego usuwania są wyświetlane nawet przy--dangerously-skip-permissionsi w trybie automatycznym. ↩↩↩↩↩↩↩↩ -
Dziennik zmian Claude Code (źródło kanoniczne) oraz wydania GitHub v2.1.210, v2.1.211 i v2.1.212. Lipiec 2026. v2.1.210: subagents izolowane za pomocą worktree nie mogą już modyfikować głównego checkoutu; Agent tool zabezpieczono przed pośrednim wstrzykiwaniem promptów z treści odczytanych przez subagenta; klasyfikator trybu automatycznego domyślnie korzysta z Sonnet 5, przypisanego na stałe do danej sesji; zapisy do
MEMORY.mdprzekraczające limit rozmiaru powodują błąd zamiast cichego obcięcia zawartości. v2.1.211: decyzjeaskhookaPreToolUseustalają minimalny wynik kontroli uprawnień na poziomie monitu — tryb automatyczny nie może zmienić go na zezwolenie dla nieizolowanego Bash;--forward-subagent-text/CLAUDE_CODE_FORWARD_SUBAGENT_TEXTprzekazuje tekst subagenta do danych wyjściowych stream-json; reguły „always allow” są zachowywane w katalogu głównym repozytorium we wszystkich worktrees; podglądy uprawnień neutralizują znaki zmieniające kierunek tekstu, znaki o zerowej szerokości i znaki łudząco podobne. v2.1.212: limit uruchomień subagents na sesję (domyślnie 200,CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION, resetowany przez/clear); limit WebSearch na sesję (200,CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION); parametrmodenarzędzia Task został uznany za przestarzały na rzecz dziedziczenia trybu uprawnień sesji nadrzędnej;/forktworzy nową sesję w tle, a wariant działający w ramach sesji otrzymał nazwę/subtask; wywołania MCP trwające dłużej niż 2 minuty są automatycznie przenoszone do tła (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). ↩↩↩↩↩↩↩↩↩↩↩↩↩ -
Anthropic, wydania v0.3.205–v0.3.208 pakietu TypeScript
@anthropic-ai/claude-agent-sdk. Lipiec 2026. Typowane potwierdzenia przerwań (identyfikatory UUIDstill_queued; funkcjainterrupt_receipt_v1ogłaszana wsystem/init); ramkicommand_lifecycleraportujące dla każdej wiadomości stany oczekiwania w kolejce, uruchomienia, ukończenia, anulowania i odrzucenia; typAgentToolCompletedOutput;canUseToolmoże zwracać{behavior: 'allow'}bezupdatedInput. Poprawka bezpieczeństwa w wersji v0.3.208: przerwanie przez wywołującego, które następowało podczas oczekiwania na hook, było przekształcane w powodzenie hooka, przez co narzędzia kontrolowane przez hookPreToolUsemogły zostać wykonane już po przerwaniu operacji przez wywołującego. ↩↩↩ -
Model Context Protocol, PR #3002. Scalono 16 lipca 2026 z projektem specyfikacji. Dodano opcjonalny obiekt
io.modelcontextprotocol/serverInfow_metaodpowiedzi, aclientInfostało się opcjonalne w żądaniach, przywracając tożsamość serwera po usunięciu stanowego uzgadniania inicjalizacyjnego przez bezstanowy rdzeń SEP-2575. Tożsamość jest deklarowana przez sam serwer i nie jest weryfikowana: służy wyłącznie do wyświetlania i rejestrowania oraz NIE POWINNA stanowić podstawy decyzji dotyczących bezpieczeństwa. Sfinalizowana wersja specyfikacji bezstanowej jest zaplanowana na 28 lipca 2026. ↩↩ -
OpenAI, wydania Codex CLI rust-v0.143.0, rust-v0.144.0 i rust-v0.144.5. Lipiec 2026. v0.143.0: narzędzia MCP są domyślnie wczytywane za pośrednictwem wyszukiwania narzędzi (odroczone wczytywanie narzędzi zamiast wstępnego ładowania schematów). v0.144.0: nowy tryb zatwierdzania aplikacji
writes— działania tylko do odczytu są wykonywane bez monitu, natomiast operacje zapisu wymagają zatwierdzenia — oraz ogólna dostępność interaktywnego uwierzytelniania MCP. v0.144.5: rozszerzone wykrywanie niebezpiecznych poleceń. ↩↩ -
OpenAI,
openai-agents-pythonv0.18.2 (11 lipca 2026) orazopenai-agents-jsv0.13.2 (10 lipca 2026). Obie wersje wprowadzają obsługę hostowanego systemu wieloagentowego w wersji beta — zarządzaną przez OpenAI orkiestrację wielu agentów jako usługę hostowaną, będącą odpowiednikiem publicznej wersji beta Managed Multiagent Orchestration firmy Anthropic. ↩↩ -
Dziennik zmian Claude Code (źródło kanoniczne), v2.1.214–v2.1.216, lipiec 2026. v2.1.214: reguły uprawnień i warunki
if:w hooks ze wzorcami ścieżekdir/**obejmującymi jeden segment są teraz zakotwiczone w<cwd>/dir(aby dopasować dowolną głębokość, należy użyć**/dir/**); wcześniej reguły zezwalające, takie jakEdit(src/**), automatycznie zatwierdzały dostęp do każdego zagnieżdżonego folderudir/w drzewie; reguły odmowy i zapytania zachowują dopasowywanie na dowolnej głębokości. Ponadto: narzędzieEndConversation; zestaw zabezpieczeń uprawnień Bash/PowerShell działających zgodnie z zasadą bezpiecznej odmowy; kod wyjścia 2 z hook blokuje operację nawet wtedy, gdy JSON ze standardowego wyjścia nie przejdzie walidacji schematu; znaczniki czasu ISOmodifiedwe frontmatter pamięci bez cichego obcinania; OTelmessage.uuid,client_request_id,tool_sourceorazCLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. v2.1.215: dołączone skills/verifyi/code-reviewnie uruchamiają się już samoczynnie — wymagają jawnego wywołania. v2.1.216: subagents izolowane za pomocą worktree nie mogą już przekierowywać git do współdzielonego repozytorium roboczego za pomocągit -C,--git-diraniGIT_DIR/GIT_WORK_TREE; sesje worktree nie są już rozwiązywane do pozostałości worktree innego projektu; zapisy przepływów pracy i zaplanowanych zadań są odrzucane, jeśli.claudejest dowiązaniem symbolicznym wskazującym poza projekt;/rewindnie przechodzi już przez dowiązania symboliczne ani twarde;sandbox.filesystem.disabledumożliwia sandboxing wyłącznie wychodzącego ruchu sieciowego; wznowione sesje agentów działających w tle przywracają prompt agenta i ograniczenia narzędzi; zmiany skills i poleceń w trakcie sesji pojawiają się w menu poleceń ukośnikowych bez ponownego uruchamiania. Zweryfikowano na podstawie kanonicznego dziennika zmian 21 lipca 2026 (PST). ↩↩↩↩↩ -
Anthropic, wersje v0.3.214–v0.3.216 pakietu
@anthropic-ai/claude-agent-sdkdla TypeScript orazclaude-agent-sdkdla Python v0.2.124. Lipiec 2026. TypeScript:set_permission_modeodrzuca nieznane tryby;aborted: truew wiadomościach uciętych przez przerwanie;tool_progresszawierasubagent_typeisubagent_retry; podtyp powiadomienia o zadaniuscheduled-trigger; źródłoSessionStarto wartości"fork"; plik pomocniczytool_result_metaz polaminon_execution_kindiuser_feedback; opcjonalna liczbaskippedLinksw odpowiedziachrewindFiles; opcjonalne polauser_message_uuidirequest_sent_wall_msw wiadomości o pomyślnym wyniku. Python v0.2.124 (Windows, klasa BatBadBut): odmawia uruchamiania plików.bat/.cmd; metaznakicmd.exew wartościachresume/session_idpowodują zgłoszenieValueError; wartościextra_argszaczynające się od myślnika są wiązane w postaci--flag=value. ↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI rust-v0.145.0, lipiec 2026. Stabilizuje opcjonalny interfejs wieloagentowy V2 (konfigurowalne modele sub-agentów, poziomy rozumowania i współbieżność; przywrócone role agentów); rozszerza
/import, umożliwiając migrację ustawień, serwerów MCP, wtyczek, sesji, poleceń i pamięci o zakresie projektowym z Claude Code oraz Cursor. Zabezpieczenia: limity czasu uruchamiania MCP, serializowane odświeżanie OAuth, nieblokujące wykrywanie OAuth, skuteczniejsze wykrywanie wymuszonego rm, zachowywanie przyczyn odrzucenia oraz eksperymentalna stronicowana historia wątków. ↩↩ -
Model Context Protocol, PR-y dotyczące dokumentacji wydania specyfikacji #3064, #3066 i #3098, scalone 21 lipca 2026 przed wydaniem specyfikacji zaplanowanym na 28 lipca. W ostatecznej wersji Tasks zostaną przedstawione jako opcjonalne rozszerzenie
io.modelcontextprotocol/tasks, a nie funkcja podstawowa, natomiast transport HTTP+SSE zostanie oznaczony jako przestarzały na rzecz Streamable HTTP. ↩ -
Dziennik zmian Claude Code (źródło kanoniczne), v2.1.217, 21 lipca 2026. Subagents nie uruchamiają już domyślnie zagnieżdżonych subagents — aby zezwolić na głębsze zagnieżdżanie, należy ustawić
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH; wprowadzono nowy limit jednocześnie działających subagents (domyślnie 20,CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS), dzięki czemu jedna wiadomość nie może uruchomić nieograniczonej liczby agentów w tle;--max-budget-usdteraz faktycznie zatrzymuje subagents działające w tle — po osiągnięciu limitu uruchamianie nowych jest odrzucane, a działające w tle agenty są zatrzymywane; izolacja sesji w tle kanonizuje katalogi robocze będące dowiązaniami symbolicznymi, eliminując możliwość wydostania się poza folder obszaru roboczego. Zweryfikowano na podstawie kanonicznego dziennika zmian 22 lipca 2026 (PST). ↩↩ -
Anthropic,
claude-agent-sdkdla Python v0.2.125 oraz@anthropic-ai/claude-agent-sdkdla TypeScript v0.3.217, 21 lipca 2026. Python v0.2.125 zawiera CLI v2.1.217 bez zmian w interfejsie SDK; równolegle wydano TS v0.3.217. Obie wersje dziedziczą nowe domyślne ustawienia zagnieżdżania i współbieżności subagents z CLI. ↩ -
Model Context Protocol, PR #3092, scalony 21 lipca 2026. Korekta normatywna uzgadniająca kody błędów SEP-2575 z przenumerowanym roboczym schematem i zestawem testów zgodności, stanowiąca część przygotowań do wydania specyfikacji 28 lipca 2026. ↩
-
Anthropic Engineering, „Jak izolujemy Claude w różnych produktach”, 25 maja 2026. Trzy wzorce izolacji dostosowane do poszczególnych interfejsów produktów: efemeryczne kontenery gVisor z systemami plików przypisanymi do poszczególnych sesji po stronie serwera (claude.ai); sandboxing systemu operacyjnego z udziałem człowieka (Claude Code: Seatbelt w macOS, bubblewrap w systemie Linux oraz udostępniony jako open source
sandbox-runtime); zamknięte maszyny wirtualne działające na hypervisorach platformowych (Claude Cowork: framework Apple Virtualization w macOS, HCS w systemie Windows, zamontowane wyłącznie workspace i.claude). Zasady projektowe: najpierw izolować na poziomie środowiska, a dopiero potem sterować na poziomie modelu; dostosowywać siłę izolacji do możliwości nadzoru użytkownika; wybierać sprawdzone w praktyce mechanizmy (hypervisory, seccomp, środowiska uruchomieniowe kontenerów) zamiast własnego kodu izolacji; traktować lokalną konfigurację projektu i wyniki działania narzędzi jako niezaufane; przechowywać dane uwierzytelniające poza sandbox za pomocą ograniczonych zakresem tokenów dla poszczególnych sesji, które można niezależnie unieważniać — w Cowork egzekwuje to zabezpieczający serwer proxy MITM wewnątrz maszyny wirtualnej, odrzucający żądania bez tokenu przydzielonego tej maszynie. ↩↩ -
Dziennik zmian Claude Code (źródło kanoniczne), v2.1.218, 22 lipca 2026. Kontrole niebezpiecznego rm, znaku
&uruchamiającego proces w tle i podejrzanych ścieżek systemu Windows nie otwierają już okien dialogowych uprawnień — rozstrzyga je klasyfikator trybu automatycznego; tryb planowania z włączoną automatyką nie wyświetla już monitów dotyczących poleceń Bash, których analizator statyczny nie potrafi jednoznacznie uznać za tylko do odczytu — ocenia je klasyfikator; hooks we frontmatter agenta wymagają zaakceptowania zaufania do workspace dla folderu zawierającego plik tego agenta; skills zcontext: forkdomyślnie działają w tle (background: falsewyłącza to zachowanie dla danego skill);/code-reviewdziała jako subagent w tle;/deep-researchuruchamia się wyłącznie po ręcznym wywołaniu; pochodzenie sesji fork jest zachowywane po kompakcji w sesjach bez interfejsu i sesjach SDK; przenoszenie do tła za pomocąCtrl+Bpodlega tym samym limitom powłoki działającej w tle co pozostałe ścieżki. Zweryfikowano na podstawie kanonicznego dziennika zmian 24 lipca 2026 (PST). ↩ -
Anthropic,
@anthropic-ai/claude-agent-sdkdla TypeScript v0.3.218 orazclaude-agent-sdkdla Python v0.2.126, 22 lipca 2026. TypeScript: flagaSkillToolOutput.background;api_error_statuszgłasza błędy 429/529 występujące w trakcie strumieniowania; polacanonicalModeliproviderwmodelUsage. Python:ResultMessage.terminal_reason; typowane wpisymodel_usagez polamicanonicalModel/provider; zawiera CLI v2.1.218. ↩ -
Claude Code Changelog (kanoniczny), v2.1.219 (24 lipca 2026) i v2.1.220 (25 lipca 2026). v2.1.219: „Subagents mogą teraz domyślnie uruchamiać zagnieżdżone subagents do głębokości 3 (wcześniej 1); aby wyłączyć zagnieżdżanie, należy ustawić
CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1”; Claude Opus 5 (claude-opus-5) dodano jako domyślny model Opus — kontekst 1M, tryb szybki w cenie 10/50 USD za MTok;sandbox.network.strictAllowlistbez monitowania odrzuca w przypadku poleceń uruchamianych w sandboxie hosty spoza listy dozwolonych; nowy hookDirectoryAdded, wywoływany po tym, jak/add-dirlub żądanie sterujące SDKregister_repo_rootzarejestruje katalog roboczy w trakcie sesji; dynamiczne przepływy pracy domyślnie korzystają z wytycznej średniego rozmiaru („należy dążyć do mniej niż 15 agents”), którą można ustawić z dowolnego pliku ustawień za pomocąworkflowSizeGuideline(wiersz/configpozostaje wówczas ukryty) i która jest widoczna w wierszu stanu uruchomionego przepływu pracy; przekazywanie zagnieżdżonych subagents w stream-json — subagents na głębokości 2+ pojawiają się w--forward-subagent-text, z kluczami odpowiadającymi identyfikatoromtool_useuruchamiającego je Agent;mcp_server_errorsw zdarzeniu inicjalizacyjnym headless stream-json, zawierające wpisy--mcp-configpominięte wskutek walidacji konfiguracji, wraz z ostrzeżeniem podczas uruchamiania w terminalu; status HTTP i tekst błędu wclaude mcp listoraz/mcppo nieudanym połączeniu, a także ostrzeżenie dotyczące wartości konfiguracji MCP z ukrytymi początkowymi lub końcowymi białymi znakami; wpisy${VAR}na zarządzanych listach dozwolonych i zabronionych MCP są rozwiązywane na podstawie środowiska startowego oraz środowiska ustawień zarządzanych, a nie środowiska z pliku ustawień;claude -pnie pomija już tekstu wygenerowanego przed przerwaniem tury przez błąd API w trakcie strumieniowania;CLAUDE_CODE_GIT_BASH_PATHjest ignorowane z ostrzeżeniem, jeśli ścieżka nie wskazuje pliku binarnego bash/sh; Opus 4.7 usunięto z trybu szybkiego (/fastdotyczy teraz Opus 5 i Opus 4.8); dołączony skill claude-api domyślnie korzysta z Opus 5 i zapewnia ścieżkę migracji z Opus 4.8. v2.1.220: wyłącznie poprawki błędów i niezawodności. Mechanizm awaryjnego przełączania trybu automatycznego Fable-5 na „najlepszy dostępny model Opus” pochodzi z wersji v2.1.176 i obecnie wybiera Opus 5. Zweryfikowano na podstawie kanonicznego changelogu 25 lipca 2026. ↩↩↩↩↩↩↩↩↩↩ -
Anthropic,
@anthropic-ai/claude-agent-sdkTypeScript v0.3.219 i v0.3.220;claude-agent-sdkPython v0.2.127 i v0.2.128. 24–25 lipca 2026. TypeScript v0.3.219: zdarzenie hook cyklu życiaDirectoryAddeddodano do protokołu sterującego; opcjonalny parametrcancel_queuedżądania sterującego przerwaniem (funkcjainterrupt_cancel_queued_v1) anuluje wraz z przerwaniem wiadomości oczekujące w kolejce i na wysłanie;fast_mode_disabled_reasonw komunikatach wynikowych i inicjalizacyjnych; odpowiedź inicjalizacyjna nie raportuje jużfast_mode_statemodelu z chwili uruchomienia po zmianie modelu;sandbox.network.strictAllowlistiworkflowSizeGuidelinedodano do typów ustawień SDK. Python v0.2.127: naprawiono przedwczesne zamykanie stdin podczas działania zadań w tle —query()zamykało stdin po pierwszej ramceresult, gdy działające w tle subagents nadal pracowały, przez co ich wywołania narzędzi SDK-MCP kończyły się błędem"Stream closed"i po cichu omijały hooksPreToolUse; stdin pozostaje teraz otwarte do czasu ukończenia wszystkich trwających zadań i nadejścia końcowej ramki wynikowej (#1103). v0.3.220 / v0.2.128: aktualizacje zapewniające zgodność z CLI v2.1.220. ↩↩↩↩ -
claude-agent-sdkw PyPI i jego CHANGELOG;@anthropic-ai/claude-agent-sdkw npm. Zweryfikowano 1 sierpnia 2026: Python 0.2.128 (changelog: „Zaktualizowano dołączony Claude CLI do wersji 2.1.220”; wymagamcp<2.0.0,>=1.23.0), TypeScript 0.3.220 (opublikowano 24 lipca 2026, „zgodność z Claude Code v2.1.220”). Poprzednie wartości w tym akapicie (Python v0.2.111 z dołączonym CLI v2.1.202, TypeScript v0.3.203) były w obu wierszach nieaktualne o 17 wydań, podczas gdy pozostała część tego przewodnika uwzględniała już wersje 0.2.128 i 0.3.220. ↩↩↩ -
Anthropic, „Przedstawiamy Claude Opus 5”. 24 lipca 2026.
claude-opus-5; „5 USD za milion tokenów wejściowych i 25 USD za milion tokenów wyjściowych”; tryb szybki działa „około 2,5 raza szybciej niż tryb domyślny” przy „dwukrotnie wyższej cenie bazowej Opus 5” (10/50 USD za MTok według changelogu Claude Code v2.1.219, który podaje również okno kontekstu 1M). Wyniki testów porównawczych: „W Frontier-Bench v0.1 Opus 5 przewyższa wszystkie pozostałe modele, osiągając ponad dwukrotnie lepszy wynik niż Opus 4.8”; w CursorBench 3.2 osiąga wynik „w granicach 0,5% od najlepszego wyniku Fable 5, lecz przy o połowę niższym koszcie”; „W ARC-AGI 3 […] wynik Opus 5 jest trzykrotnie wyższy niż wynik kolejnego najlepszego modelu”; w OSWorld 2.0 przewyższa „najlepszy wynik Fable 5 przy nieco ponad jednej trzeciej kosztu”. Model opisano jako „rozważny i proaktywny” oraz „znacznie skuteczniejszy w weryfikowaniu swojej pracy i jej starannym, iteracyjnym udoskonalaniu”. ↩↩