agent:~/.claude$ cat agent-architecture.md

Architektura agentów: tworzenie środowisk programistycznych opartych na AI

# Kompletny system tworzenia produkcyjnych środowisk dla agentów AI: umiejętności, hooki, pamięć, subagenci oraz wzorce orkiestracji zapewniające niezawodność agentów.

author: words: 32376 read_time: 123m updated: 2026-08-18 21:30

Part 2 of Agentic Engineering

$ less agent-architecture.md

TL;DR: Claude Code nie jest oknem czatu z dostępem do plików. To programowalne środowisko uruchomieniowe z 31 udokumentowanymi zdarzeniami cyklu życia, z których każde można podpiąć do skryptów powłoki, których model nie może pominąć. Łącząc hooks w dispatchers, dispatchers w skills, skills w agents, a agents w workflows, otrzymuje się autonomiczny harness programistyczny, który egzekwuje ograniczenia, deleguje pracę, utrwala pamięć między sesjami i orkiestruje wieloagentowe deliberacje. Dynamic workflows Claude Code (v2.1.154+) uczyniły deterministyczną wieloagentową orkiestrację natywnym mechanizmem — od dziesiątek do setek agentów działających w tle przez /workflows — a platforma uruchamia teraz subagents domyślnie w tle (20 równoczesnych, zagnieżdżanie do głębokości 3), pozwala sesjom przesyłać sobie wiadomości jako równorzędnym uczestnikom (v2.1.224) oraz wykonuje sesje chmurowe na self-hosted runners. Za poprawność nadal odpowiadają hooks i evidence gates.525387 Ten przewodnik omawia każdą warstwę tego stosu: od pojedynczego hooka po 10-agentowy system konsensusu. Bez wymaganych frameworków. Wyłącznie bash i JSON.

Andrej Karpathy ukuł termin opisujący to, co narasta wokół agenta LLM: claws. To hooks, skrypty i orkiestracja, które pozwalają agentowi chwytać świat poza jego oknem kontekstowym.1 Większość programistów traktuje agentów AI do programowania jak interaktywnych asystentów. Wpisują prompt, obserwują edycję pliku i przechodzą dalej. Takie podejście ogranicza produktywność do tego, co można osobiście nadzorować.

Model mentalny infrastruktury jest inny: agent AI do programowania to programowalne środowisko uruchomieniowe z jądrem LLM. Każde działanie modelu przechodzi przez kontrolowane przez Pana/Panią hooks. Definiuje Pan/Pani zasady, a nie prompty. Model działa w ramach infrastruktury tak samo, jak serwer WWW działa w ramach reguł nginx. Nie siedzi Pan/Pani przy nginx i nie wpisuje żądań. Konfiguruje go Pan/Pani, wdraża i monitoruje.

To rozróżnienie ma znaczenie, ponieważ infrastruktura się kumuluje. Hook blokujący dane uwierzytelniające w poleceniach bash chroni każdą sesję, każdego agenta i każde autonomiczne uruchomienie. Skill kodujący kryteria oceny jest stosowany konsekwentnie niezależnie od tego, czy wywołuje go Pan/Pani, czy agent. Agent sprawdzający kod pod kątem bezpieczeństwa wykonuje te same kontrole bez względu na to, czy jest Pan/Pani obecny/a, czy nie.2


Najważniejsze wnioski

  • Hooks gwarantują wykonanie; prompty nie. Hooks należy stosować do lintingu, formatowania, kontroli bezpieczeństwa oraz wszystkiego, co musi uruchamiać się za każdym razem niezależnie od zachowania modelu. Kod wyjścia 2 blokuje działania. Kod wyjścia 1 jedynie ostrzega.3
  • Skills kodują wiedzę dziedzinową aktywującą się automatycznie. Pole description decyduje o wszystkim. Claude wykorzystuje rozumowanie LLM (a nie dopasowywanie słów kluczowych), aby zdecydować, kiedy zastosować skill.4
  • Subagents zapobiegają rozrastaniu się kontekstu. Odizolowane okna kontekstowe na potrzeby eksploracji i analizy utrzymują główną sesję w zwięzłej formie. Niezależne subagents należy uruchamiać równolegle, a agent teams stosować wtedy, gdy pracownicy potrzebują trwałej koordynacji.5
  • Memory znajduje się w systemie plików. Pliki zachowują się między oknami kontekstowymi. CLAUDE.md, MEMORY.md, katalogi reguł i dokumenty przekazania tworzą ustrukturyzowany zewnętrzny system pamięci.6
  • Wieloagentowa deliberacja wykrywa martwe punkty. Pojedynczy agenci nie potrafią podważać własnych założeń. Dwaj niezależni agenci o różnych priorytetach oceny wychwytują błędy strukturalne, których quality gates nie są w stanie rozwiązać.7
  • Wzorzec harness jest systemem. CLAUDE.md, hooks, skills, agents i memory nie są niezależnymi funkcjami. Łączą się w deterministyczną warstwę między Panem/Panią a modelem, która skaluje się wraz z automatyzacją.

Jak korzystać z tego przewodnika

Doświadczenie Zacznij tutaj Następnie poznaj
Codzienne korzystanie z Claude Code, potrzeba więcej Wzorzec harness System skills, Architektura hooks
Tworzenie autonomicznych workflows Wzorce subagents Wieloagentowa orkiestracja, Wzorce produkcyjne
Ocena architektury agentów Dlaczego architektura agentów ma znaczenie Ramy decyzyjne, Aspekty bezpieczeństwa
Konfigurowanie harness dla zespołu Projektowanie CLAUDE.md Architektura hooks, Szybka karta referencyjna

Każda sekcja rozwija poprzednią. Znajdujące się na końcu ramy decyzyjne zawierają tabelę wyszukiwania, która pomaga wybrać właściwy mechanizm dla każdego typu 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: kompozycyjny zestaw plików, skryptów i konwencji, które otaczają agenta AI do programowania deterministyczną infrastrukturą. Komponenty:

┌──────────────────────────────────────────────────────────────┐
│                      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 katalogi reguł definiują, co agent wie o projekcie. Są ładowane automatycznie na początku sesji i po każdej kompaktacji. To długoterminowa pamięć architektoniczna agenta.

Warstwa rozszerzeń: skills zapewniają specjalistyczną wiedzę dziedzinową, która aktywuje się automatycznie na podstawie kontekstu. Hooks zapewniają deterministyczne bramki uruchamiane przy każdym pasującym wywołaniu narzędzia. Pliki pamięci utrwalają stan między sesjami. Niestandardowi agenci zapewniają wyspecjalizowane konfiguracje subagents.

Warstwa orkiestracji: wzorce wieloagentowe koordynują niezależnych agentów na potrzeby badań, przeglądów i deliberacji. Budżety uruchomień zapobiegają niekontrolowanej rekurencji. 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 używają warstwy podstawowej wyłącznie do orkiestracji i podejmowania ostatecznych decyzji.2

Zarządzane i samodzielnie hostowane harnesses (kwiecień 2026)

Przez cały początek 2026 roku jedyną realną opcją była ścieżka „zbuduj własny harness”. W kwietniu 2026 roku to się zmieniło. Anthropic udostępniło w publicznej becie Claude Managed Agents (8 kwietnia): pętla harness + wykonywanie narzędzi + kontener sandbox + utrwalanie stanu jako REST API, rozliczane według standardowych tokenów oraz 0,08 USD za godzinę sesji. Aktualizacja Agents SDK firmy OpenAI (16 kwietnia) sformalizowała ten sam podział — harness i zasoby obliczeniowe jako odrębne warstwy, z natywnymi dostawcami sandbox (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) oraz snapshot/rehydrate umożliwiającymi przetrwanie utraty kontenera.2324

Głębsza powierzchnia SDK po stronie OpenAI pojawiła się w openai-agents Python v0.14.0 (wydanej 15 kwietnia 2026 roku; ogłoszonej 16 kwietnia): podklasa SandboxAgent klasy Agent z default_manifest, instrukcjami sandbox i możliwościami; Manifest opisujący kontrakt świeżej przestrzeni roboczej (pliki, katalogi, pliki lokalne, repozytoria Git, env, użytkownicy, montowania); SandboxRunConfig do konfiguracji dla każdego uruchomienia klienta sandbox, wstrzykiwania aktywnej sesji, nadpisywania manifestu, snapshotów i 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 kompaktację. Pamięć sandbox utrwala wyodrębnione wnioski między uruchomieniami i udostępnia je stopniowo; przestrzenie robocze obsługują pliki lokalne, wpisy repozytoriów Git i zdalne montowania (S3, R2, GCS, Azure Blob, S3 Files); snapshoty są przenośne między dostawcami. Backendy: UnixLocalSandboxClient, DockerSandboxClient oraz hostowani klienci dla Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop i Vercel za pośrednictwem opcjonalnych extras.24

Dla projektów Python, które chcą osadzić runtime Claude Code jako bibliotekę — między „wywołaj z powłoki claude” a „REST API do Managed Agents” — claude-agent-sdk-python jest trzecią opcją. Seria wydań z 28–29 kwietnia (v0.1.69 → v0.1.71) podniosła wersję dołączonego CLI do v2.1.123, zwiększyła minimalną wymaganą wersję zależności mcp do >=1.19.0 (starsze wersje po cichu odrzucały zwroty CallToolResult z narzędzi MCP działających w procesie, pozostawiając modelowi obiekt blob z błędem walidacji) oraz zapewniła zgodność schematu SandboxNetworkConfig z TypeScript SDK (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30 Według stanu na 2026-08-12 pakiet ma wersję v0.2.137 w PyPI, a TypeScript SDK — v0.3.229 (obie zweryfikowano względem aktywnych rejestrów); linia 0.2.x zawiera przyrostowe zmiany względem opisanej tutaj powierzchni 0.1.x — poniższe opcje include_hook_events, skills i konfiguracji sandbox pozostają aktualne — a ostatnie wydania koncentrują się na niezawodności czyszczenia podprocesów i strumieni NDJSON.9086

Jeśli harness obejmuje warstwę głosową lub realtime, openai-agents-python v0.17.0 (8 maja 2026) zaktualizował RealtimeAgent, aby domyślnie używał gpt-realtime-2.41 Istniejące sesje realtime automatycznie przejmują nową wartość domyślną; należy jawnie przypiąć poprzedni model, jeśli na potrzeby oceny trzeba zachować dotychczasowe działanie.

W lipcu 2026 roku zarządzana kolumna zyskała również historię wieloagentową po stronie OpenAI: openai-agents-python v0.18.2 (11 lipca) i openai-agents-js v0.13.2 (10 lipca) dodają w becie hostowaną obsługę wielu agentów — zarządzaną przez OpenAI orkiestrację wielu agentów jako hostowaną usługę, będącą bezpośrednim odpowiednikiem publicznej bety Managed Multiagent Orchestration firmy Anthropic, omówionej w sekcji Orkiestracja wielu agentów.[^^101] Obaj dostawcy oferują teraz na poziomie wielu agentów ten sam kompromis, który poniższa tabela opisuje dla pojedynczych agentów: dostawca prowadzi pętlę delegowania, a użytkownik rezygnuje z powierzchni hooks.

Rozwidlenie architektoniczne jest teraz realne:

Wymiar Samodzielnie hostowany harness (domyślne podejście tego przewodnika) Zarządzany harness (Claude Managed Agents / OpenAI Agents SDK)
Obciążenie operacyjne Wszystko jest uruchamiane samodzielnie Dostawca obsługuje pętlę, sandbox i stan
Możliwość dostosowania Pełna — własne hooks, skills i pamięć Ograniczona — punkty rozszerzeń zdefiniowane przez dostawcę
Model kosztowy Tokeny + samodzielnie hostowane zasoby obliczeniowe Tokeny + opłata za godzinę działania
Trwałość stanu Projektowana samodzielnie Dostawca wykonuje checkpointy między rozłączeniami
Orkiestracja zespołu agentów Należy zbudować ją samodzielnie Koordynacja wielu agentów zapewniana przez dostawcę

Kiedy wybrać które rozwiązanie: samodzielne hostowanie nadal jest właściwe dla zespołów, które mają już zaplecze infrastrukturalne, chcą kontrolować własne skills/hooks lub dogłębnie optymalizują konkretny przepływ pracy. Rozwiązanie zarządzane jest odpowiednie dla zespołów bez dedykowanych inżynierów platformowych, gdy czas do uzyskania wartości jest ważniejszy niż możliwość dostosowania, albo gdy uruchomienia agentów muszą niezawodnie przetrwać zamknięcie laptopa bez budowania własnej warstwy utrwalania. Oba podejścia są zgodne — można uruchomić samodzielnie hostowany harness, który deleguje określone długotrwałe zadania do Managed Agents za pośrednictwem 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 pełni określoną funkcję. Drzewo ~/.claude/ to osobista infrastruktura stosowana we wszystkich projektach. Drzewo .claude/ w każdym repozytorium jest specyficzne dla projektu i współdzielone przez git. Razem tworzą kompletny harness.

System skills

Skills to rozszerzenia wywoływane przez model. Claude automatycznie je wykrywa i stosuje zależnie od kontekstu, bez konieczności ich jawnego wywoływania.4 Gdy tylko zauważy Pan/Pani, że ponownie wyjaśnia ten sam kontekst w kolejnych sesjach, warto utworzyć skill.

Kiedy utworzyć skill

Sytuacja Utwórz… Dlaczego
W każdej sesji wkleja Pan/Pani tę samą listę kontrolną Skill Wiedza dziedzinowa aktywowana automatycznie
Jawnie uruchamia Pan/Pani tę samą sekwencję poleceń Slash command Działanie wywoływane przez użytkownika z przewidywalnym wyzwalaczem
Potrzebna jest odizolowana analiza, która nie powinna zaśmiecać kontekstu Subagent Osobne okno kontekstu do skupionej pracy
Potrzebny jest jednorazowy prompt ze szczegółowymi instrukcjami Nothing Wystarczy go wpisać. Nie wszystko wymaga abstrakcji.

Skills służą do wiedzy, którą Claude ma zawsze do dyspozycji. Slash commands służą do działań wywoływanych jawnie. W razie wyboru między nimi warto zadać pytanie: „Czy Claude powinien zastosować to automatycznie, czy to ja powinienem/powinnam zdecydować, kiedy to uruchomić?”

Tworzenie skill

Skills mogą znajdować się w czterech lokalizacjach, od najszerszego do najwęższego zakresu:4

Zakres Lokalizacja Dotyczy
Enterprise Ustawienia zarządzane Wszyscy użytkownicy w organizacji
Osobisty ~/.claude/skills/<name>/SKILL.md Wszystkie Pana/Pani projekty
Projekt .claude/skills/<name>/SKILL.md Tylko ten projekt
Plugin <plugin>/skills/<name>/SKILL.md Tam, gdzie plugin jest włączony

Każdy skill wymaga pliku SKILL.md z frontmatter 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

Dokumentacja frontmatter

Pole Wymagane Cel
name Tak Unikalny identyfikator (małe litery, łączniki, maks. 64 znaki)
description Tak Wyzwalacz wykrywania (maks. 1024 znaki). Claude używa go, aby zdecydować, kiedy zastosować skill
allowed-tools Nie Ogranicza możliwości Claude (np. Read, Grep, Glob dla trybu tylko do odczytu)
disable-model-invocation Nie Zapobiega automatycznej aktywacji; skill aktywuje się wyłącznie przez /skill-name
user-invocable Nie Ustawienie false całkowicie ukrywa go w menu /
model Nie Zastępuje model używany, gdy skill jest aktywny
context Nie Ustawienie fork uruchamia go w odizolowanym oknie kontekstu
agent Nie Uruchamia jako subagent z własnym odizolowanym kontekstem
hooks Nie Definiuje hooks cyklu życia ograniczone do tego skill
$ARGUMENTS Nie Podstawianie ciągu: zastępowane danymi wejściowymi użytkownika po /skill-name

Pole description jest najważniejsze

Na początku sesji Claude Code wyodrębnia name i description każdego skill, a następnie wstrzykuje je do kontekstu Claude. Gdy wysyłana jest wiadomość, Claude używa rozumowania modelu językowego, aby zdecydować, czy którykolwiek skill jest istotny. Niezależna analiza źródła Claude Code potwierdza ten mechanizm: opisy skill są wstrzykiwane do sekcji available_skills promptu systemowego, a model korzysta ze standardowego rozumienia języka, aby wybierać odpowiednie skills.10

Zły 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: co robi (przegląda kod pod kątem konkretnych typów problemów), kiedy go używać (podczas analizy zmian, PR-ów, jakości) oraz frazy wyzwalające (review, audit, check), które użytkownicy naturalnie wpisują.

Należy pamiętać, że automatyczna aktywacja jest regulowana, a nie bezwzględna: od wersji v2.1.215 Claude nie wywołuje już samodzielnie dołączonych skills /verify i /code-review — uruchamiają się wyłącznie na jawne wywołanie, co jest świadomym wycofaniem aktywacji opartej na opisie dla kosztownych skills do przeglądu, których nieproszone uruchomienia kosztowały więcej, niż przynosiły korzyści.74

Budżet kontekstu

Wszystkie opisy skills współdzielą budżet kontekstu skalowany dynamicznie do 1% okna kontekstu, z limitem awaryjnym wynoszącym 8 000 znaków.4 Przy dużej liczbie skills warto zachować zwięzłość każdego opisu i umieścić najważniejszy przypadek użycia na początku. Budżet można zastąpić zmienną środowiskową SLASH_COMMAND_TOOL_CHAR_BUDGET,11 lecz lepszym rozwiązaniem są krótsze, bardziej precyzyjne opisy. Podczas sesji należy uruchomić /context, aby sprawdzić, czy jakieś skills są wykluczone.

Pliki pomocnicze i organizacja

Skills mogą odwoływać się do dodatkowych plików 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

Należy odwoływać się do nich z SKILL.md za pomocą linków względnych. Claude odczytuje te pliki na żądanie, gdy skill się aktywuje. Warto utrzymywać SKILL.md poniżej 500 wierszy, a szczegółowe materiały referencyjne przenosić do plików pomocniczych.12

Udostępnianie skills przez Git

Project skills (.claude/skills/ w głównym katalogu repozytorium) są udostępniane przez kontrolę 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 wykonają pull, automatycznie otrzymają skill. Bez instalacji i bez konfiguracji. Jest to najskuteczniejszy sposób standaryzacji wiedzy specjalistycznej w zespole.

Skills jako biblioteka promptów

Poza skills o pojedynczym przeznaczeniu struktura katalogów działa jak uporządkowana biblioteka 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 Pana/Pani wiedzy specjalistycznej. Razem tworzą bazę wiedzy, z której Claude automatycznie korzysta zależnie od kontekstu. Młodszy programista otrzymuje wskazówki na poziomie seniora, nie musząc o nie prosić.

Skills współdziałają z hooks

Skills mogą definiować własne hooks w frontmatter, aktywowane tylko podczas działania danego skill. Tworzy to zachowanie specyficzne dla domeny, które nie zaśmieca 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 filozoficzne aktywują się automatycznie przez hooks SessionStart, wstrzykując ograniczenia jakości do każdej sesji bez jawnego wywołania. Sam skill jest wiedzą. Hook jest egzekwowaniem. Razem tworzą warstwę zasad.

Typowe błędy związane ze skills

Zbyt szerokie opisy. Skill git-rebase-helper, który aktywuje się przy każdym prompcie związanym z git (rebase, merge, 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 rywalizujących o budżet. Więcej skills oznacza więcej opisów rywalizujących o 1% budżetu kontekstu. Jeśli skills się nie aktywują, należy sprawdzić /context pod kątem wykluczonych pozycji. Lepiej priorytetyzować mniej, dobrze opisanych skills niż wiele niejasnych.

Krytyczne informacje ukryte w plikach pomocniczych. Claude odczytuje SKILL.md od razu, lecz sięga do plików pomocniczych tylko w razie potrzeby. Jeśli krytyczne informacje znajdują się w pliku pomocniczym, Claude może ich nie znaleźć. Kluczowe informacje należy umieszczać bezpośrednio w SKILL.md.4

Powierzchnia skill SDK (8 maja 2026)

Samodzielnie hostowane harnesses korzystające z claude-agent-sdk-python v0.1.77+ powinny używać opcji skills w ClaudeAgentOptions do deklarowania dostępnych skills, a nie starszej wartości "Skill" w allowed_tools.37 Skrót "Skill" jest przestarzały, a dedykowana opcja zapewnia Claude Code bardziej ustrukturyzowane informacje o dostępnych skills. Dołączony CLI w v0.1.77 ma wersję v2.1.133.

Konwergencja plugin i skills w .claude/skills/ (29 maja 2026)

Skills zawsze były ładowane z katalogu .claude/skills/ projektu. Claude Code v2.1.157 rozszerza ten katalog o plugins: plugin umieszczony w .claude/skills/ ładuje się teraz automatycznie bez rejestracji w marketplace, a claude plugin init <name> tworzy w tym miejscu nowy szkielet z manifestem i SKILL.md już połączonymi.58 Zamyka to lukę między dwoma 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 i serwer MCP, lecz wcześniej wymagał marketplace do instalacji. Praktyczny efekt dla projektowania harness: narzędzia o zakresie projektu nie potrzebują już pośrednictwa rejestru, aby zostać dostarczone — należy je napisać, zatwierdzić w repozytorium, a członkowie zespołu otrzymają tę samą powierzchnię po git pull. Plugins nadal obsługują przypadek instalacji pakietowej (hooks + skills + serwery MCP + agents w jednym ZIP); zmiana polega na tym, że projekt nie musi już uruchamiać marketplace tylko po to, aby załadować plugin z własnego drzewa. Ta konwergencja ma teraz podstawę między dostawcami: Agent Plugins 1.0.0 (opublikowane 6 sierpnia 2026) standaryzuje ten sam format pakietu — manifest plugin.json, katalogi skills/ z folderami SKILL.md, opcjonalny mcp.json — jako „przenośny format pakietów dla agentów AI”, przyjęty przy premierze przez VS Code, Cursor, GitHub Copilot, ChatGPT & Codex oraz Kiro. Jest to wyraźnie warstwa pakietowania wokół Agent Skills i MCP, a nie ich zastępstwo; należy zauważyć, że Anthropic, autor specyfikacji Agent Skills, nie jest jeszcze częścią koalicji — dlatego przenośność z Claude na zewnątrz należy traktować jako zgodność na poziomie formatu, a nie oficjalną dwukierunkową umowę.89

Ukrywanie dołączonej powierzchni jako zarządzanie (8 czerwca 2026)

Skills to możliwości, a możliwości to powierzchnia 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 dołączone skills, workflows i wbudowane slash commands.60 W przypadku wzmocnionego lub regulowanego harness jest to celowe ograniczenie powierzchni ataku: operator, który przeprowadził audyt i zatwierdził określony zestaw project i personal skills, może wyłączyć wszystko, co Anthropic dostarcza w pakiecie, aby model rozumował wyłącznie w obrębie powierzchni zweryfikowanej przez operatora. Należy traktować to tak samo jak allowlist narzędzi — ustawieniem domyślnym są szerokie możliwości, a wyłączenie ustawienia domyślnego jest decyzją z zakresu zarządzania, nie przełącznikiem wygody.

Zagnieżdżone .claude/skills i rozstrzyganie według najbliższego katalogu (16 czerwca 2026)

Claude Code v2.1.178 uczynił narzędzia projektowe świadomymi lokalizacji. Skills w zagnieżdżonych katalogach .claude/skills są teraz ładowane podczas pracy nad plikami znajdującymi się pod tym katalogiem, a nie tylko z głównego katalogu repozytorium; przy kolizji 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 najbliżej katalogu roboczego: gdy nazwa agent, workflow lub stylu wyjściowego koliduje między zagnieżdżonymi katalogami .claude/, wygrywa pozycja najbliższa katalogowi roboczemu, a zapis workflow o zakresie projektu trafia do najbliższego istniejącego .claude/workflows/, zamiast zawsze do katalogu głównego.63 W monorepo lub repozytorium repozytoriów stanowi to różnicę między jedną płaską, globalną powierzchnią a narzędziami dla poszczególnych pakietów, które aktywują się w kontekście — services/api/.claude/skills/ może zawierać skills specyficzne dla API, pojawiające się wyłącznie podczas pracy w tym drzewie, bez kolizji ze skill o tej samej nazwie w services/web/.


Architektura hooków

Hooki 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 /? 10-wierszowy skrypt bash sprawdza polecenie względem listy blokad i odrzuca je, zanim powłoka w ogóle je zobaczy. Hook uruchamia się niezależnie od tego, czy model tego chce.

Dostępne zdarzenia

Według stanu na aktualizację tego przewodnika Claude Code udostępnia 31 udokumentowanych zdarzeń cyklu życia w ośmiu kategoriach. Lista zdarzeń rośnie wraz z wydaniami, dlatego za źródło prawdy należy uznać dokumentację referencyjną i przed podłączeniem hooków produkcyjnych sprawdzić ściągę, aby poznać aktualną pełną tabelę:13

Kategoria Zdarzenia Czy może blokować?
Sesja SessionStart, Setup, SessionEnd Nie
Użytkownik / zakończenie UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle Prompt/rozszerzenie/stop/bezczynność mogą blokować; StopFailure nie może
Narzędzie PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch Zdarzenia pre/uprawnienia/batch mogą blokować; zdarzenia post nie mogą
Subagent / zadanie SubagentStart, SubagentStop, TaskCreated, TaskCompleted Zdarzenia stop/zadanie mogą blokować; start nie może
Kontekst PreCompact, PostCompact, InstructionsLoaded PreCompact może blokować; post/load nie mogą
System plików / workspace CwdChanged, DirectoryAdded, FileChanged, WorktreeCreate, WorktreeRemove Utworzenie worktree może blokować; pozostałe nie mogą
Konfiguracja / powiadomienie ConfigChange, Notification, MessageDisplay Zmiany konfiguracji mogą blokować z wyjątkiem ustawień zasad; powiadomienia nie mogą; MessageDisplay przekształca wyłącznie tekst wyświetlany (displayContent, v2.1.152)
MCP Elicitation, ElicitationResult Tak
Dwa niedawne udoskonalenia mają znaczenie dla harnessów działających w tle i wieloagentowych. Od v2.1.198 sesje działających w tle claude agents wyzwalają hook Notification z wartościami wyzwalacza agent_needs_input i agent_completed, dzięki czemu koordynator może zareagować, gdy tylko członek floty zatrzyma się na promptcie lub zakończy pracę — jest to powiadomieniowy odpowiednik odpytywania claude agents --json. Z kolei od v2.1.199 hooki SessionStart, Setup i SubagentStart udostępniają stderr, gdy kończą się kodem 2 (wcześniej te dane wyjściowe były po cichu odrzucane), więc hook uruchamiany przy starcie lub uruchomieniu subagenta, który zakończy się niepowodzeniem, wyjaśnia teraz przyczynę zamiast zawodzić bez informacji.

DirectoryAdded (v2.1.219) zamyka lukę dotyczącą workspace w trakcie sesji. Lista zdarzeń pozostawała stabilna od czasu pojawienia się MessageDisplay w v2.1.152; DirectoryAdded jest pierwszym nowym zdarzeniem cyklu życia od tamtej pory i uruchamia się po tym, jak /add-dir — albo żądanie kontrolne register_repo_root od SDK — zarejestruje nowy katalog roboczy w trakcie sesji.84 Luka, którą to zamyka, jest realna: dotąd harness mógł wyczerpująco zweryfikować workspace podczas SessionStart, a następnie obserwować dołączenie drugiego repozytorium bez uruchomienia jakiegokolwiek hooka. Wszystko, co jest sprawdzane dotyczące workspace przy starcie — kontrole zaufania, skany sekretów, reguły ograniczania ścieżek wyprowadzane z drzewa, ładowanie zasad dla poszczególnych repozytoriów — należy uruchomić ponownie tutaj, ponieważ zbiór katalogów sesji nie jest już stały od momentu uruchomienia. Zdarzenie ma charakter informacyjny, a nie blokujący, dlatego należy traktować je jako wyzwalacz do ponownego wyprowadzenia stanu i zapisania pochodzenia, a nie jako bramkę; jeśli katalog nigdy nie powinien dać się dodać, należy odmówić tego w ustawieniach, zamiast próbować zawetować je z poziomu hooka. Część dotycząca SDK pojawiła się w tym samym wydaniu (TypeScript v0.3.219 dodaje DirectoryAdded do zdarzeń cyklu życia protokołu kontrolnego), więc harnessy hostowane przez SDK widzą je na równi z tymi opartymi na CLI.85

Semantyka kodów wyjścia

Kody wyjścia określają, czy hooki blokują działania:3

Kod wyjścia Znaczenie Działanie
0 Sukces Operacja jest kontynuowana. Stdout jest wyświetlany w trybie szczegółowym.
2 Błąd blokujący Operacja zostaje zatrzymana. Stderr staje się komunikatem błędu przekazywanym do Claude.
1, 3 itd. Błąd nieblokujący Operacja jest kontynuowana. Stderr jest wyświetlany tylko w trybie szczegółowym (Ctrl+O).
Krytyczne: Każdy hook bezpieczeństwa musi używać exit 2, a nie exit 1. Kod wyjścia 1 jest nieblokującym ostrzeżeniem. Niebezpieczne polecenie nadal zostanie wykonane. To najczęstszy błąd dotyczący hooków w zespołach.14

Konfiguracja hooków

Hooki znajdują się w plikach ustawień. Poziom projektu (.claude/settings.json) służy do współdzielonych hooków. Poziom użytkownika (~/.claude/settings.json) — do hooków osobistych:

{
  "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ść zależną od zdarzenia. W przypadku zdarzeń narzędzi dopasowuje wartości tool_name, takie jak Bash, Edit, Write, Read, Glob, Grep, nazwy narzędzi MCP, takie jak mcp__server__tool, lub * dla wszystkich narzędzi. Proste nazwy i listy rozdzielane znakiem | są dopasowaniami dokładnymi; wartości zawierające inne znaki są wyrażeniami regularnymi JavaScript. Niektóre zdarzenia nie obsługują matcherów i zawsze uruchamiają się po skonfigurowaniu.13 Od 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 skierowany do jednego agenta lub serwera nie uruchamia się już dla każdej nazwy, która jedynie zawiera ten ciąg; aby objąć wszystkie narzędzia z serwera MCP z łącznikiem, należy zapisać jawny wzorzec mcp__brave-search__.*.66 Wersja v2.1.214 zastosowała tę samą zasadę wobec wzorców ścieżek: warunek if: hooka używający 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 w przypadku zmiany z v2.1.195, poprawka zamienia przypadkowy szeroki zakres na deklarowaną intencję; należy skontrolować wszelkie warunki hooków, które po cichu polegały na dawnym zachowaniu obejmującym dowolną głębokość.

Protokół wejścia/wyjścia hooków

Hooki otrzymują JSON na stdin wraz 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"
}

W celu zaawansowanego sterowania hooki PreToolUse mogą zwracać JSON, aby modyfikować dane wejściowe narzędzia, wstrzykiwać kontekst lub podejmować decyzje dotyczące uprawnień. Należy użyć wrappera hookSpecificOutput — starszy format decision/reason na najwyższym poziomie jest przestarzały dla 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 napisaniem dowolnego hooka warto zapytać: jakiego rodzaju gwarancji potrzebuję?14

Gwarancje formatowania zapewniają spójność po fakcie. Hooki PostToolUse dla Write/Edit uruchamiają formatter po każdej zmianie pliku. Dane wyjściowe modelu nie mają znaczenia, ponieważ formatter normalizuje wszystko.

{
  "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. Hooki PreToolUse dla Bash sprawdzają polecenia i blokują destrukcyjne wzorce kodem 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 sprawdzają stan w punktach decyzyjnych. Hooki 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 hooków wykraczające poza polecenia powłoki

Claude Code obsługuje pięć typów hooków:13 Hooki poleceń (type: "command") uruchamiają skrypty powłoki. Są szybkie, deterministyczne i nie generują kosztów tokenów.

Hooki narzędzi MCP (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.

Hooki promptów (type: "prompt") wysyłają prompt jednosesyjny do szybkiego modelu Claude. Model zwraca { "ok": true }, aby zezwolić, albo { "ok": false, "reason": "..." }, aby zablokować. Należy ich używać do niuansowanej oceny, której nie da się wyrazić za pomocą regex.

Hooki agentów (type: "agent") uruchamiają subagent z dostępem do narzędzi (Read, Grep, Glob) w celu wieloturowej weryfikacji. Są eksperymentalne; w bramkach produkcyjnych należy preferować hooki poleceń, a hooki agentów rezerwować dla kontroli, które rzeczywiście wymagają sprawdzenia faktycznych 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 hooka agenta obejmują subagent_type, co pozwala współdzielonemu hookowi odróżnić uruchomienie security-reviewer od explorera lub ogólnego workera bez zgadywania na podstawie tekstu promptu.49

Hooki HTTP (type: "http") wysyłają dane wejściowe JSON zdarzenia jako żądanie POST do adresu URL i otrzymują z powrotem 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 hooki

Hooki mogą działać w tle bez blokowania wykonania. Aby wykonywać niekrytyczne operacje, takie jak powiadomienia i logowanie, 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. Nigdy nie należy używać go do formatowania, walidacji ani niczego, co musi zostać ukończone przed następną akcją.

Dispatchery zamiast niezależnych hooków

Uruchamianie siedmiu hooków wywoływanych przez to samo zdarzenie, z których każdy niezależnie odczytuje stdin, tworzy warunki wyścigu. Dwa hooki zapisujące jednocześnie do tego samego pliku stanu JSON spowodują obcięcie JSON. Każdy hook działający dalej, który analizuje ten plik, przestanie działać.2

Rozwiązanie: jeden dispatcher na zdarzenie, który uruchamia hooki sekwencyjnie na podstawie 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 hooków

Pięć technik debugowania hooków, które zawodzą bez widocznego komunikatu:14

  1. Testowanie skryptów niezależnie. Należy przekazać przykładowy JSON potokiem: echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh
  2. Używanie stderr do danych debugowania. Kod wyjścia 2 wraz ze stderr jest przekazywany z powrotem do Claude jako komunikat błędu. Nieblo­kujący stderr (wyjście 1, 3 itd.) pojawia się wyłącznie w trybie szczegółowym (Ctrl+O).
  3. Kontrolowanie błędów jq. Nieprawidłowe ścieżki JSON zwracają po cichu null. Należy testować wyrażenia jq na rzeczywistych danych wejściowych narzędzia.
  4. Weryfikacja kodów wyjścia. Hook PreToolUse używający exit 1 nie zapewnia żadnego wymuszania, choć może sprawiać wrażenie, że działa.
  5. Utrzymywanie szybkiego działania hooków. Hooki działają synchronicznie. Wszystkie hooki powinny kończyć się w mniej niż 2 sekundy, a najlepiej w mniej niż 500 ms.

Strumieniowanie zdarzeń hooków po stronie SDK

Samodzielnie hostowane harnesses zbudowane na claude-agent-sdk-python (v0.1.74+, 6 maja 2026) mogą subskrybować zdarzenia hooków 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; obiekty HookEventMessage (PreToolUse, PostToolUse, Stop i inne) są zwracane przez ten sam iterator co komunikaty asystenta i wyniki narzędzi. Odzwierciedla to opcję includeHookEvents TypeScript SDK; dołączony CLI został w tej samej wersji podniesiony do v2.1.129.

Wzorzec strumienia zdarzeń sprawdza się, gdy harness działa już w Python i sygnały hooków mają znajdować się w tym samym przepływie sterowania co dane wyjściowe modelu. Kontrakt hooków skryptów powłoki (kody wyjścia, stdin JSON, dispatchery) nadal jest właściwym rozwiązaniem dla harnesses łączących wiele narzędzi, współdzielących hooki między Claude Code a Codex lub wymagających semantyki kodów wyjścia do blokowania.

Seria TypeScript SDK z lipca 2026 roku (v0.3.205–v0.3.208) uczyniła sam protokół strumieniowany bardziej kontraktowym.70 Przerwania zwracają teraz typowane potwierdzenia: przerwanie potwierdza, które wiadomości w kolejce nadal oczekują, za pomocą UUID still_queued, a sesje ogłaszają możliwość interrupt_receipt_v1 w system/init, dzięki czemu koordynator może odróżnić „przerwanie dotarło” od „przerwanie wyścigowo minęło wiadomość już będącą w toku”. Ramki command_lifecycle raportują stan queued/started/completed/cancelled/discarded dla każdej wiadomości — jest to pierwsza własna odpowiedź na pytanie „co stało się z wysłaną przeze mnie wiadomością” bez wnioskowania na podstawie transkrypcji. Pojawiły się też mniejsze elementy: typ AgentToolCompletedOutput dla ładunków ukończenia subagentów, a wywołania zwrotne canUseTool mogą teraz zwracać {behavior: 'allow'} bez pola updatedInput.

Jedna linia w tej serii wyznacza poziom bezpieczeństwa, a nie stanowi funkcji: v0.3.208 naprawiła sytuację, w której przerwanie wywołującego przychodzące podczas oczekiwania na hook było przekształcane w sukces hooka — co oznaczało, że narzędzie bramkowane przez hook PreToolUse mogło wykonać się po przerwaniu przez wywołującego.70 Jeśli harness używa hooków po stronie SDK jako bramki uprawnień i polega na przerwaniu, aby anulować pracę w toku, v0.3.208 należy traktować jako minimalną wersję; poniżej niej „przerwano” nie oznaczało niezawodnie „zablokowano”. Python v0.2.127 (24 lipca 2026) to drugie obejście tego rodzaju w ciągu miesiąca — query() zamykało stdin przy pierwszej ramce result, podczas gdy subagenci w tle nadal działali, więc ich wywołania narzędzi SDK-MCP kończyły się błędem "Stream closed" i całkowicie omijały hooki PreToolUse.85 Należy nazwać ten wzorzec i go monitorować: wymuszanie hooków po stronie SDK zawodzi w trybie fail-open na granicach cyklu życia — abort, teardown, stream close — gdy transport kończy się przed odebraniem werdyktu hooka; zawodzi też bezgłośnie, ponieważ pominięty hook wygląda dokładnie jak hook, który zatwierdził działanie. Należy przypiąć obie minimalne wersje SDK i zachować warstwę hooków powłoki jako możliwe do udowodnienia wymuszanie.

Poziom wysiłku i pochodzenie sesji (7–8 maja 2026)

Dwa dodatki w Claude Code v2.1.132 i v2.1.133 zapewniają hookom i podprocesom lepszy sygnał dotyczący ich kontekstu wykonania:3839

  • effort.level w danych wejściowych hooka. Hooki otrzymują teraz pole JSON effort.level w tych samych danych wejściowych, które zawierają tool_input i session_id. Ta sama wartość jest eksportowana jako zmienna środowiskowa $CLAUDE_EFFORT, dzięki czemu polecenia Bash mogą ją odczytać bez analizowania JSON. Można użyć tego do skalowania kosztu hooka zależnie od poziomu wysiłku: pominąć kosztowną walidację na low, a uruchomić pełną bramkę bezpieczeństwa na xhigh lub max.
  • Zmienna środowiskowa CLAUDE_CODE_SESSION_ID w podprocesach Bash. Podprocesy narzędzia Bash widzą teraz tę samą wartość session_id, którą widzą hooki, udostępnioną jako CLAUDE_CODE_SESSION_ID. Zamyka to lukę w pochodzeniu dla narzędzi rejestrujących stan według sesji, które wcześniej nie mogły powiązać zdarzeń podprocesów ze zdarzeniami hooków.

Oba sygnały są dostępne bez zmian w kodzie; istniejące hooki ignorujące nowe pola nadal działają.

autoMode.hard_deny oraz poprawki hooków/pluginów w v2.1.136 (8 maja 2026)

Claude Code v2.1.136 dodała nowy poziom twardego odrzucania do trybu automatycznego oraz naprawiła grupę problemów z pluginami i MCP, które wpływały na długotrwale działające 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. Znajduje się to ponad istniejącymi mechanizmami dopasowywania zezwalaj/blokuj jako bezwarunkowa dźwignia zarządzania. Należy używać tego dla reguł, których nigdy nie wolno nadpisać (wymuszone wysłanie zmian do main, pliki zawierające sekrety, dostęp do produkcyjnej bazy danych), nawet gdy operator zatwierdził szerszą kategorię w swoich osobistych ustawieniach. - autoMode.classifyAllShell (v2.1.193). Domyślnie klasyfikator trybu automatycznego analizuje wyłącznie polecenia powłoki pasujące do wzorców dowolnego wykonywania kodu. To ustawienie kieruje każde polecenie Bash/PowerShell przez klasyfikator — zapewniając maksymalny poziom pokrycia dla zarządzanego harness — a ta sama wersja udostępnia powody odmowy w transkrypcji, powiadomieniu toast i /permissions, co zamienia ciche blokady w decyzje podlegające audytowi. Codex zaostrzył analogiczny obszar w wersji v0.142.2: polecenia PowerShell zawierające wykonywalne regiony AST, których jego klasyfikator bezpieczeństwa nie potrafi przeanalizować, wymagają teraz zatwierdzenia zamiast przechodzić bezgłośnie.66 - Hook ask ustanawia dolny próg klasyfikatora (v2.1.211). Kwestia pierwszeństwa między hook a trybem automatycznym została już rozstrzygnięta: hook PreToolUse, który zwraca decyzję uprawnień ask, wymusza ostateczny wynik w postaci pytania — tryb automatyczny nie może podnieść go ponownie do zezwolenia dla niesandboxowanych poleceń Bash.69 Dla zarządzanego harness jest to brakująca warstwa gwarancji: ask hooka jest deterministycznym zatrzymaniem z udziałem człowieka, które pozostaje skuteczne nawet przy w pełni automatycznych zasadach uprawnień. W przypadku operacji, dla których potrzebna jest decyzja człowieka zamiast odmowy, należy używać ask (nie tylko blokad exit-2). - Model klasyfikatora jest przypięty na sesję (v2.1.210). Klasyfikator trybu automatycznego domyślnie używa Sonnet 5 i jest przypięty na czas sesji, dlatego zmiana modelu w trakcie sesji nie zmienia już modelu wykonującego klasyfikacje uprawnień.69 Spójność klasyfikacji jest właściwością zarządzania; eliminuje to ciche źródło dryfu. - Serwery MCP nie znikają już po /clear. Serwery skonfigurowane w .mcp.json, pluginach i konektorach claude.ai były bezgłośnie usuwane z aktywnego zestawu po /clear w rozszerzeniu VS Code, pluginie JetBrains i Agent SDK. Poprawka pojawiła się w v2.1.136. Jeśli serwer „MCP server X went missing mid-session”, była to przyczyna. - 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 zapisy podczas odświeżania nadpisywały się nawzajem. - Tryb planu blokuje teraz zapisy plików prawidłowo. Pasująca reguła zezwalająca Edit(...) omijała ochronę zapisu w trybie planu. Tryb planu jest teraz egzekwowany niezależnie od reguł zezwalających. - Hooki pluginów Stop i UserPromptSubmit nie zawodzą już w trakcie sesji. Czyszczenie cache usuwało pliki wersji pluginów, które były nadal używane przez uruchomioną sesję, przerywając działanie konkretnie tych dwóch zdarzeń hooków. Poprawka utrzymuje używane wersje jako przypięte. - Wpis skills w plugin.json. Ustawienie skills ukrywało domyślny katalog skills/ pluginu. Teraz wpis jest prawidłowo łączony, a wskazanie ścieżki do pliku powoduje jawny błąd zamiast cichego niepowodzenia. - Zmienne środowiskowe hooka SessionStart CLAUDE_ENV_FILE stawały się nieaktualne. Zmienne eksportowane przez hooki SessionStart za pośrednictwem CLAUDE_ENV_FILE stawały się nieaktualne po /resume lub /clear. Poprawiono to w v2.1.136. Sesje ponownie wczytują teraz plik środowiskowy przy tych zdarzeniach.

Dla harness zarządzania operacyjnie najciekawsze pozycje to autoMode.hard_deny (nowa dźwignia) oraz poprawka znikania MCP (cicha awaria, która przerywała długie sesje). Wszystko pozostałe to poprawki jakości użytkowania.

Ustrukturyzowane argumenty hooków i kontynuowanie po blokadzie (11 maja 2026)

Claude Code v2.1.139 dodał dwa szczegóły dotyczące hooków istotne dla produkcyjnych harness: formę wykonania args: string[] dla hooków poleceń oraz continueOnBlock dla hooków PostToolUse.4244 Należy preferować args, gdy hook potrzebuje wartości dynamicznych lub symboli zastępczych ścieżek. Polecenie jest uruchamiane bezpośrednio, bez powłoki, co eliminuje całą klasę błędów związanych z cytowaniem i wstrzykiwaniem.

Należy używać continueOnBlock, gdy hook PostToolUse powinien przekazać powód odrzucenia z powrotem do Claude i kontynuować turę zamiast kończyć przepływ. Trzeba traktować to jako funkcję poprawiającą doświadczenie operatora, a nie obejście zabezpieczeń. Bramka blokująca nadal powinna blokować niebezpieczny rezultat.

Ta sama wersja przekazuje CLAUDE_PROJECT_DIR do serwerów stdio MCP i pozwala konfiguracjom pluginów odwoływać się do ${CLAUDE_PROJECT_DIR} w poleceniach.42 Narzędzia MCP powinny rozwiązywać ścieżki względne wobec projektu na podstawie tej wartości, a nie katalogu roboczego procesu, który przypadkowo uruchomił serwer. Wydania z początku lipca 2026 (v2.1.203–v2.1.206) rozszerzyły tę samą zasadę na poziom protokołu: roots/list MCP obejmuje teraz dodatkowe katalogi robocze sesji, z powiadomieniami roots/list_changed przy ich zmianie — dzięki temu serwer respektujący katalogi główne MCP śledzi rzeczywisty kształt wielokatalogowego workspace zamiast zakładać pojedynczy katalog projektu.68

Claude Code v2.1.140 to przede wszystkim wydanie zwiększające niezawodność dla operatorów harness: naprawia hooki ConfigChange, które nie uruchamiały się przy zmianach ustawień, zamyka przypadki brzegowe, w których disableAllHooks i allowManagedHooksOnly nie łączyły się poprawnie między poziomami ustawień, oraz zapobiega ujawnianiu przez okna dialogowe uprawnień niezamierzonych zmiennych środowiskowych zwracanych przez wyniki hooków.49 Dzięki temu istniejące wzorce zarządzania opisane w tej sekcji są bardziej niezawodne; nie wymaga to nowej architektury hooków.

Claude Code v2.1.141 dodaje pole terminalSequence w danych wyjściowych hooka dla powiadomień desktopowych, tytułów okien i dzwonków bez terminala sterującego.50 Należy traktować to jako sygnalizację dla operatora, a nie egzekwowanie zasad. Bramki bezpieczeństwa i jakości nadal powinny komunikować niepowodzenia przez standardowy kontrakt blokowania: ustrukturyzowane dane wyjściowe hooka oraz zachowanie exit, które zapobiega niebezpiecznemu działaniu. Ta sama wersja dodaje claude agents --cwd <path> do ograniczania Agent View do jednego katalogu, CLAUDE_CODE_PLUGIN_PREFER_HTTPS dla instalacji pluginów w środowiskach bez kluczy GitHub SSH oraz ANTHROPIC_WORKSPACE_ID dla reguł federacji tożsamości obciążeń obejmujących więcej niż jeden workspace.50 Są to szczegóły architektoniczne dla zespołowych harness: węższe widoki operacyjne, mniej założeń dotyczących instalacji pluginów i jawne zakresowanie tokenów przedsiębiorstwa.

Claude Code v2.1.142 jest istotniejszy dla orkiestracji sesji działających w tle niż dla semantyki hooków.51 claude agents może teraz wysyłać sesje działające w tle z jawnymi flagami katalogu, ustawień, MCP, pluginu, uprawnień, modelu i nakładu pracy, zamiast polegać na stanie wrappera. W tej wersji tryb Fast domyślnie korzystał z Opus 4.7, z CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 jako przypięciem dla harness o zmierzonej zależności od zachowania Opus 4.6 — od v2.1.219 Opus 4.7 nie jest już w ogóle dostępny w trybie fast, a /fast dotyczy Opus 5 i Opus 4.8.84 Wykrywanie głównego pliku pluginu SKILL.md oraz widoczność LSP udostępnianego przez plugin zmniejszają niejednoznaczność pakowania. Poprawki dotyczące MCP_TOOL_TIMEOUT, istniejących wcześniej worktree sesji działających w tle, usypiania/wybudzania daemona i czyszczenia po aktualizacji, a także czyszczenia cache pluginów, zamykają luki w niezawodności, które w przeciwnym razie wyglądają jak błędy orkiestracji.

Sterowanie hookiem Stop, uprawnienia między sesjami i multi-agent v2 (czerwiec 2026)

Cztery zmiany z początku czerwca mają znaczenie dla projektowania harness i multi-agent.59

Hooki Stop/SubagentStop zyskały kanał sterowania. Od Claude Code v2.1.163 hook Stop lub SubagentStop może zwrócić hookSpecificOutput.additionalContext, aby przekazać Claude informacje zwrotne i utrzymać turę, bez oznaczania odpowiedzi jako błąd hooka. Wcześniej jedyną realną dźwignią hooka Stop była blokada exit-2, która jest odczytywana jako błąd i liczy się do limitu kolejnych blokad. Dla harness z bramką jakości jest to czystszy mechanizm: hook Stop, który wykryje „uznałeś zadanie za zakończone, ale testy są czerwone”, może teraz wstrzyknąć „oto co nadal nie działa, kontynuuj” zamiast twardo blokować. Blokady należy używać w przypadku rzeczywistych warunków zatrzymania, a additionalContext dla komunikatu „to jeszcze nie koniec — oto dlaczego”.

Komunikacja między sesjami nie przenosi już pożyczonych uprawnień. v2.1.166 wzmocnił przypadek wielosesyjny: wiadomości przekazywane przez SendMessage z innej sesji Claude nie przenoszą już uprawnień pierwotnego użytkownika, dlatego sesja odbierająca odrzuca przekazywane żądania uprawnień, a tryb automatyczny je blokuje. Jeśli orkiestracja zakłada wymianę wiadomości między agentami, przychodzącą wiadomość należy traktować jako niezaufane dane, a nie jako uwierzytelnioną instrukcję. Jest to ta sama zasada, którą sekcja bezpieczeństwa stosuje do danych wyjściowych narzędzi, rozszerzona na komunikację między agentami. Od v2.1.199 Claude Code wykrywa także i ostrzega, gdy SendMessage zostanie błędnie skierowane, ponieważ dwóch agentów ma tę samą nazwę — jest to uzupełnienie niezawodnościowe tej granicy uprawnień, ponieważ wiadomość docierająca do niewłaściwego agenta o tej samej nazwie stanowi odrębną klasę błędu orkiestracji. Sesje są teraz równorzędnymi podmiotami pierwszej klasy (v2.1.224+). Komunikacja między sesjami przeszła od wzmacniania relay do pełnoprawnej powierzchni: SendMessage/ListAgents umożliwiają sesjom wzajemne wykrywanie i przesyłanie wiadomości między maszynami (macOS/Linux), a po stronie odbiorcy dostępne są mechanizmy crossSessionInbound pozwalające akceptować, wstrzymywać lub odmawiać — natomiast self-hosted runners pozwalają sesjom webowym i mobilnym Claude Code wykonywać zadania na sprzęcie pod Państwa kontrolą. W architekturze harness oznacza to, że „sesja” staje się adresowalnym węzłem: wykrywanie, polityka przychodząca i opisana wyżej granica uprawnień są teraz prymitywami platformy, a nie skryptami skrzynki pocztowej (pełny kontrakt dokumentuje przewodnik Claude Code).87 Towarzyszy temu jedna zmiana podejścia: tryb auto stanie się domyślnym trybem uprawnień w planach Pro, Max i Team 14 sierpnia 2026 r. — harness, który liczy na prompty trybu Manual jako mechanizm human-in-the-loop, powinien jawnie przypiąć defaultMode, zamiast to zakładać.87

Odporność modelu stała się ustawieniem pierwszej klasy. Ustawienie fallbackModel tworzy teraz łańcuch maksymalnie trzech modeli zapasowych, wypróbowywanych kolejno, gdy model podstawowy jest przeciążony lub niedostępny, a tura automatycznie ponawia próbę raz na modelu zapasowym w przypadku nieoczekiwanych, niepodlegających ponowieniu błędów API. W przypadku długotrwale działającego autonomicznego harness zamienia to przejściową awarię modelu podstawowego w łagodne obniżenie jakości usługi, zamiast porzuconego uruchomienia. claude agents --json zyskało również pole waitingFor (v2.1.162), które pokazuje, na co czeka zablokowana sesja działająca w tle, na przykład prompt uprawnień — to korzyść obserwowalności dla każdego koordynatora sondującego flotę agentów.

Tryb bezpieczny do zarządzania clean-room i rozwiązywania problemów. Claude Code v2.1.169 dodaje 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, plugins, skills, hooks i serwerami MCP.60 To przeciwieństwo harness — celowy clean-room. Należy go użyć, aby odpowiedzieć na pytanie, które prędzej czy później zadaje każdy operator: „czy to zachowanie pochodzi od modelu, czy od czegoś, co skonfigurowałem?”. Gdy hook uruchamia się nieprawidłowo, skill aktywuje się mimo że nie powinien albo serwer MCP zatruwa kontekst, --safe-mode zapewnia znaną, pustą bazę do porównania. Jest to również prymityw zarządzania: sposób uruchomienia czystego modelu bez trwałych uprawnień, które zwykle przyznaje harness, co ma znaczenie, gdy trzeba odtworzyć wynik bez wpływu zdefiniowanego przez operatora rusztowania.

Uwaga o poziomach modeli. Od Claude Code v2.1.197 (30 czerwca 2026 r.) Claude Sonnet 5 jest dostarczanym domyślnym modelem nowych sesji — natywny kontekst 1M, promocyjne ceny 2 USD/10 USD za MTok do 31 sierpnia — zastępując Opus 4.8 jako gotowy wybór. Ten przewodnik traktuje Opus 5 (claude-opus-5) jako zalecany domyślny model agentowy: model, na którym należy uruchamiać autonomiczne harnesses, chyba że świadomie zostanie wybrany inny, ponieważ długohoryzontowe pętle agentowe o wysokiej stawce to właśnie obszar, w którym głębia rozumowania Opus uzasadnia jego koszt. Opus 5 został wydany 24 lipca 2026 r. jako nowy domyślny Opus w Claude Code v2.1.219 — kontekst 1M, 5 USD/25 USD za MTok (ta sama cena co zastępowany Opus 4.8), tryb fast za 10 USD/50 USD przy prędkości około 2,5× większej od domyślnej — a Anthropic podaje, że ponad dwukrotnie przewyższa Opus 4.8 w Frontier-Bench v0.1, osiągając wynik CursorBench 3.2 Fable 5 z różnicą poniżej 0,5% przy połowie kosztu.8491 Ta sama cena, większe możliwości i model, który Anthropic określa jako „znacznie silniejszy w weryfikowaniu swojej pracy i uważnym iterowaniu”, to rzadkie ulepszenie, które w pracy z harness nie wymaga argumentu kosztowego; migracja z 4.8 polega na zmianie identyfikatora. W przypadku pracy wrażliwej na koszty lub o dużej przepustowości, gdzie wygrywa stosunek szybkości do inteligencji, warto przejść na Sonnet 5. Ponad Opus znajduje się Claude Fable 5 (claude-fable-5), wydany 9 czerwca 2026 r. — nowy poziom opisany jako najpotężniejszy model Anthropic, system „Mythos-class” przystosowany do bezpiecznego użycia ogólnego, wybieralny w Claude Code v2.1.170 przez /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 ustawiać go domyślnie dla całej floty. Przejście na Opus 5 ma dwie konsekwencje porządkowe: Opus 4.7 nie jest już dostępny w trybie fast (/fast dotyczy teraz Opus 5 i Opus 4.8), a zapasowy Fable-5 klasyfikatora trybu auto — „najlepszy dostępny model Opus” od v2.1.176 — wskazuje teraz Opus 5.84

Codex wydał multi-agent v2. Codex CLI v0.137.0 zachowuje wybór środowiska uruchomieniowego przy każdym wątku, udostępnia bardziej przejrzyste wartości domyślne kontynuacji i metadanych dla uruchamianych agentów (hide_spawn_agent_metadata ma teraz domyślnie wartość true) oraz przekazuje surowe zdarzenia nadrzędne do odbiorców podrzędnych. Model subagent pozostaje jawny: wbudowane typy agentów default/worker/explorer, niestandardowi agenci definiowani w TOML oraz mechanizmy kontroli współbieżności (agents.max_threads domyślnie 6, agents.max_depth domyślnie 1). To samo wydanie dodaje rozszerzenie skills v1 z rozstrzyganiem katalogu skills w każdej turze oraz nowe zdarzenia współtwórców cyklu życia rozpoczęcia wątku/błędu tury, zmniejszając lukę względem powierzchni hook/skill Claude Code, przy jednoczesnym zachowaniu podejścia kernel-sandbox jako domyślnej granicy. Codex v0.138.0–v0.139.0 następnie wzmocnił multi-agent v2 pod kątem zastosowań produkcyjnych: ładunki wiadomości między agentami są teraz szyfrowane, katalog konfiguracji agentów v2 wraz z LRU rezydencji agentów zarządza tym, którzy agenci pozostają rezydentni, a współbieżność jest liczona według aktywnego wykonania, a nie uruchomionych wątków, więc bezczynni agenci nie zajmują już slotu.61 Cykl życia API również dojrzał — close_agent przemianowano na interrupt_agent (v0.139.0), aby odzwierciedlić, że przerywa działającego agenta, a nie tylko zamyka uchwyt — a ostrzeżenia startowe MCP zgłoszone przez subagent pozostają teraz ograniczone do wątku właściciela, zamiast powielać się w transkrypcji rodzica.61 Dla każdego, kto buduje orkiestrację po stronie Codex, są to różnice między demonstracją a flotą: szyfrowany transport wiadomości, ograniczona rezydencja, współbieżność liczona według wykonań i ostrzeżenia, które nie przekraczają granicy wątku. Codex v0.140.0 otworzył następnie szczelinę między narzędziami: /import selektywnie pobiera konfigurację, konfigurację projektu i ostatnie czaty z Claude Code do Codex, a sesje stały się trwale usuwalne (codex delete / /delete, z zabezpieczeniami potwierdzenia).64 /import to pierwsze oficjalne uznanie, że operatorzy przemieszczają się między harnesses — konfiguracja zbudowana dla jednego z nich nie jest już w nim uwięziona.


Pamięć i kontekst

Każda rozmowa z AI działa w ramach ograniczonego okna kontekstu. Wraz z rozwojem rozmowy system kompresuje wcześniejsze tury, aby zrobić miejsce na nową treść. Kompresja jest stratna. Decyzje architektoniczne udokumentowane w turze 3 mogą nie przetrwać do tury 15.9

Trzy mechanizmy załamania w rozmowach wieloturowych

Badanie MSR/Salesforce zidentyfikowało trzy niezależne mechanizmy, z których każdy wymaga innej interwencji:9

Mechanizm Co się dzieje Interwencja
Kompresja kontekstu Wcześniejsze informacje są odrzucane, aby zmieścić nową treść Zapisywanie punktów kontrolnych stanu w systemie plików
Utrata spójności rozumowania Model w kolejnych turach zaprzecza własnym wcześniejszym decyzjom Iteracja ze świeżym kontekstem (pętla Ralph)
Niepowodzenie koordynacji Wielu agentów przechowuje różne migawki stanu Protokoły współdzielonego stanu między agentami

Strategia 1: System plików jako pamięć

Najbardziej niezawodna pamięć ponad granicami kontekstu znajduje się w systemie plików. Claude Code odczytuje CLAUDE.md i pliki pamięci na początku każdej sesji oraz 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 między sesjami. Gdy odkryje Pan/Pani, że ((VAR++)) nie działa z set -e w bash, gdy VAR ma wartość 0, należy to zapisać. Trzy sesje później, gdy napotka Pan/Pani podobny przypadek brzegowy liczb całkowitych w Python, wpis w MEMORY.md ujawni 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. Auto memory ładuje pierwsze 200 wierszy do promptu systemowego na początku sesji. Warto zachować zwięzłość i umieszczać odnośniki do osobnych plików tematycznych zawierających szczegółowe notatki.6 Od wersji v2.1.210 zapis do MEMORY.md, który przekracza limit rozmiaru, kończy się błędem zamiast cichego obcięcia69 — problem jest widoczny w chwili zapisu, a nie jako wpisy pamięci, które po cichu zniknęły. Jeśli harness automatyzuje zapisy pamięci, należy obsłużyć ten błąd; platforma sygnalizuje w ten sposób, że plik wymaga kuracji, a nie ponowienia próby.

Kuracja pamięci zamiast jej objętości (maj 2026): Niedawny preprint na arXiv dotyczący współpracy agentów LLM przedstawia rozszerzone przywoływanie jako możliwy tryb awarii: w eksperymentach autorów dłuższa widoczna historia pogorszyła współpracę w 18 z 28 ustawień gier modelowych.48 Należy traktować to jako ostrzeżenie projektowe, a nie jako ostateczne prawo. Zasada produkcyjna jest już wystarczająco jasna: MEMORY.md powinien być krótki, szczegóły należy umieszczać w podlinkowanych plikach, a w przekazaniach pozostawiać podsumowania gotowe do podjęcia decyzji. Surowe zrzuty transkrypcji, logi narzędzi i długie kanały przywoływania powinny trafiać do przeszukiwalnego magazynu, a nie automatycznie do aktywnego promptu.

Strategia 2: Proaktywna kompresja

Polecenie /compact Claude Code podsumowuje rozmowę i zwalnia miejsce w kontekście, zachowując kluczowe decyzje, zawartość plików i stan zadania.15

Kiedy kompresować: - Po ukończeniu wyodrębnionego podzadania (zaimplementowana funkcja, naprawiony błąd) - Przed rozpoczęciem pracy w nowym obszarze codebase - Gdy Claude zaczyna powtarzać się 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ę; polecenie /cd (Claude Code v2.1.169) chroni cache promptu. Przenosi sesję do nowego katalogu roboczego w trakcie pracy, nie przerywając cache zgromadzonego w turze.60 Wcześniej zmiana katalogu oznaczała nową sesję i zimny cache. W przypadku długotrwałej sesji, która przechodzi z jednego repozytorium do sąsiedniego — co jest częste w pracy z monorepo i wieloma usługami — /cd zachowuje kosztowny prefiks cache, jednocześnie przekierowując kontekst systemu plików.

Strategia 3: Przekazania sesji

W przypadku zadań obejmujących wiele sesji należy tworzyć dokumenty przekazania, które ujmują 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 (continue) lub odczytanie dokumentu przekazania pozwala od razu przejść do implementacji.15

Strategia 4: Iteracja ze świeżym kontekstem (pętla Ralph)

W przypadku sesji przekraczających 60–90 minut należy uruchamiać nową instancję Claude dla każdej iteracji. Stan utrzymuje się za pośrednictwem systemu plików, a nie pamięci konwersacyjnej. Każda iteracja otrzymuje pełny budżet kontekstu:16

Iteration 1: [fresh context] -> writes code, creates files, updates state
Iteration 2: [fresh context] -> reads state from disk, continues
Iteration 3: [fresh context] -> reads updated state, continues
...
Iteration N: [fresh context] -> reads final state, verifies criteria

Porównajmy to z jedną długą sesją:

Minute 0:   [fresh context]        -> productive
Minute 30:  [context filling]      -> somewhat productive
Minute 60:  [mostly consumed]      -> degraded
Minute 90:  [compaction pending]   -> significantly degraded
Minute 120: [compressed, lossy]    -> errors accumulate

Podejście ze świeżym kontekstem na iterację zamienia 15–20% narzutu na etap orientacji (odczyt plików stanu, przegląd historii git) na pełne zasoby poznawcze w każdej iteracji.16 Rachunek kosztów i korzyści jest następujący: dla sesji krótszych niż 60 minut jedna rozmowa jest wydajniejsza. Powyżej 90 minut świeży kontekst daje wyższą jakość wyników mimo narzutu.

Strategia 5: Zarządzana kuracja pamięci (Dreaming)

Managed Agents Anthropic dodało Dreaming jako Research Preview 6 maja 2026 r.35 Według Anthropic: „Dreaming to zaplanowany proces, który przegląda sesje agentów i magazyny pamięci, wyodrębnia wzorce oraz kuratoruje wspomnienia, aby agenci z czasem się doskonalili”.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 nośną powierzchnią; Dreaming zapisuje kuratorowane wpisy pamięci w magazynie pamięci Managed Agents, który agent odczytuje na początku sesji. Oba wzorce współistnieją w harnessach łączących samodzielnie hostowany stan systemu plików z kuracją po stronie zarządzanej.

Pamięć systemu plików Dreaming (Managed)
Gdzie znajduje się pamięć Repozytorium, kontrolowane wersjami Magazyn pamięci zarządzany przez Anthropic
Kiedy jest aktualizowana Wpisy są zapisywane ręcznie lub przez hooks Proces w tle między sesjami
Co przechwytuje Oznaczone decyzje, błędy i wzorce Wzorce wyodrębnione z historii sesji
Najlepsze zastosowanie Instytucjonalna wiedza specyficzna dla projektu Odkrywanie między sesjami wzorców, których nie dałoby się wychwycić ręcznie

Dreaming jest w Research Preview, więc jego działanie może się zmienić. Udokumentowane powyżej wzorce session-handoffs i CLAUDE.md pozostają autorytatywnym mechanizmem pamięci dla samodzielnie hostowanych harnesses.

Antywzorce

Odczytywanie całych plików, gdy potrzebnych jest 10 wierszy. Odczyt pojedynczego pliku liczą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

Przechowywanie w kontekście szczegółowego wyjścia błędów. Po debugowaniu błędu kontekst zawiera ponad 40 stack trace’ów z nieudanych iteracji. Pojedyncze /compact po naprawieniu błędu usuwa ten zbędny balast.

Rozpoczynanie każdej sesji od odczytywania każdego pliku. Warto pozwolić narzędziom glob i grep Claude Code znajdować 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. Większość rozpoczyna pracę z czystym kontekstem (bez treści z głównej rozmowy) — wyjątkiem jest opisany poniżej typ fork, który celowo dziedziczy cały kontekst — korzysta z określonych narzędzi i zwraca wyniki w formie podsumowań. Wyniki eksploracji nie rozbudowują niepotrzebnie głównej rozmowy; wracają do niej wyłącznie wnioski.5

Wbudowane typy subagents

Typ Model Tryb Narzędzia Zastosowanie
Explore Dziedziczy model sesji, maksymalnie Opus (v2.1.198; wcześniej zawsze Haiku) Tylko do odczytu Glob, Grep, Read, bezpieczne polecenia bash Eksploracja bazy kodu, wyszukiwanie plików
General-purpose Dziedziczony Pełny odczyt i zapis Wszystkie dostępne Złożone badania i modyfikacje
Plan Dziedziczony (lub Opus) Tylko do odczytu Read, Glob, Grep, Bash Planowanie przed wykonaniem
Fork Zawsze model procesu nadrzędnego Pełny odczyt i zapis Takie same jak w sesji głównej Praca wymagająca pełnego kontekstu rozmowy: dziedziczy całą historię, prompt systemowy, narzędzia i pamięć podręczną promptów, a jego własne wywołania narzędzi nie trafiają do głównego kontekstu. Domyślnie włączony w sesjach interaktywnych od v2.1.232; wyłączony w -p oraz SDK88

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 subagents

Pole Wymagane Przeznaczenie
name Tak Unikatowy identyfikator (małe litery i łączniki)
description Tak Określa, kiedy należy wywołać agenta (warto dodać „PROACTIVELY”, aby zachęcić do automatycznego delegowania)
tools Nie Lista rozdzielana 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 jest zabronione; są usuwane z listy dziedziczonej lub jawnie określonej. Od 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, przez co 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 v2.1.200 oznaczony jako „Manual” w CLI/IDE; manual jest akceptowanym aliasem niezmienionej wartości konfiguracji), acceptEdits, delegate, dontAsk, bypassPermissions, plan. Od v2.1.212 parametr mode narzędzia Task ustawiany przy każdym wywołaniu jest przestarzały — subagents dziedziczą tryb uprawnień sesji nadrzędnej, a to pole frontmatter pozwala nadpisać go dla konkretnego agenta69
maxTurns Nie Maksymalna liczba tur agentowych przed zatrzymaniem subagenta
memory Nie Zakres trwałej pamięci: user, project, local
skills Nie Automatycznie wczytuje zawartość skills do kontekstu subagenta podczas uruchamiania. Od v2.1.133 subagents wykrywają również projektowe, użytkownika i pochodzące z pluginów skills za pomocą narzędzia Skill, tak samo jak sesja nadrzędna. Wcześniejsze wersje po cichu pomijały je w kontekście subagenta.39
hooks Nie hooks cyklu życia ograniczone do wykonania tego subagenta
background Nie Wymusza zadanie działające w tle. Od v2.1.198 subagents działają w tle domyślnie — sesja główna kontynuuje pracę i otrzymuje powiadomienie po zakończeniu — dlatego pole to obecnie jawnie utrwala to zachowanie, zamiast je włączać
isolation Nie Ustawienie worktree zapewnia odizolowaną kopię git worktree

Izolacja worktree

Subagents mogą działać w tymczasowych git worktrees, które zapewniają kompletną, 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 podczas prac 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łówny checkout — czyli powodować dokładnie ten problem, któremu ten mechanizm ma zapobiegać.69 Jeśli isolation: worktree pełni funkcję granicy bezpieczeństwa, a nie tylko udogodnienia, za wersję minimalną należy uznać v2.1.210. Towarzysząca temu zmiana uprawnień działa jednak w przeciwnym kierunku: od v2.1.211 reguły „always allow” są utrwalane w katalogu głównym repozytorium między worktrees, więc reguła zaakceptowana w jednym worktree obowiązuje także w innych worktrees tego samego repozytorium.69 To właściwe rozwiązanie ergonomiczne dla agentów pracujących równolegle w worktrees, lecz oznacza również, że zezwolenie udzielone podczas jednorazowego eksperymentu pozostaje aktywne po jego zakończeniu — należy go udzielać z myślą o całym repozytorium, nie tylko o aktualnie używanym worktree.

Wersja v2.1.216 dokończyła te prace, przenosząc izolację worktree z poziomu poprawki błędu na poziom mechanizmu nadającego się do egzekwowania zabezpieczeń.74 Poprawka z v2.1.210 uniemożliwiła subagents działającym w odizolowanym worktree modyfikowanie głównego checkoutu za pomocą zwykłego wywołania git, lecz sam git umożliwia jawne przekierowanie — przez git -C <path>, --git-dir oraz zmienne środowiskowe GIT_DIR/GIT_WORK_TREE — dlatego subagent odizolowany w worktree nadal mógł wskazać za pomocą dowolnego z tych mechanizmów współdzielony checkout. Wszystkie te drogi obejścia są teraz zamknięte. W tym samym wydaniu naprawiono sporadyczne uruchamianie sesji worktree w pozostałości worktree należącej do innego projektu, uniemożliwiono zapisom workflow i zaplanowanych zadań podążanie za dowiązaniem symbolicznym umieszczonym w .claude i prowadzącym poza projekt oraz zmieniono /rewind tak, by odmawiał przechodzenia przez dowiązania symboliczne i twarde. Wzorzec wspólny dla wszystkich czterech poprawek jest taki sam: granica izolacji musi być odporna na celowe przekierowanie — nadpisanie środowiska git czy podłożenie dowiązania symbolicznego — a nie tylko na zachowanie domyślne. Jeśli isolation: worktree stanowi w harness granicę bezpieczeństwa, a nie jedynie udogodnienie, nową wersją minimalną jest v2.1.216.

Równoległe subagents

Równoległych subagents warto 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 delegują je kolejnym agentom, a każdy z nich traci część kontekstu i zużywa tokeny. Wzorzec recursion guard wymusza przestrzeganie budżetów: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"

Kluczowy wniosek: Należy stosować budżety uruchomień, a nie wyłącznie limity głębokości. Limity oparte na głębokości śledzą łańcuchy proces nadrzędny–proces potomny (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 procesów potomnych przypadających na proces nadrzędny, ograniczoną konfigurowalnym maksimum. Model budżetowy odpowiada rzeczywistemu trybowi awarii (zbyt wielu agentów łącznie), zamiast opierać się na wskaźniku zastępczym (zbyt wielu poziomach zagnieżdżenia).7

Domyślna głębokość zagnieżdżenia zmieniała się już 3 razy; nie należy opierać na niej architektury. Claude Code v2.1.172 (10 czerwca 2026) umożliwił sub-agents uruchamianie własnych sub-agents i zagnieżdżanie ich do 5 poziomów — wcześniej delegowanie było w praktyce ograniczone do jednego poziomu.62 Tak pozostało od v2.1.172 do v2.1.216. Wersja v2.1.217 (21 lipca 2026) zmniejszyła limit do 1, domyślnie wyłączając zagnieżdżone uruchamianie. Następnie 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); ustawienie CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH=1 wyłącza zagnieżdżanie”.84 Najpierw 5, potem 1, następnie 3 — a dwie ostatnie zmiany w ciągu 3 dni.

Nie należy z tego wyciągać wniosku, że którakolwiek z tych wartości jest prawidłowa. Istotne jest to, że platforma nadal poszukuje odpowiedniej wartości domyślnej, dlatego dziedziczenie „tego, co akurat dostarcza platforma” nie jest właściwym rozwiązaniem dla harness. Głębokość zagnieżdżenia należy traktować jako jawną pozycję budżetu: ustawić CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH na poziomie rzeczywiście wymaganym przez architekturę — w przypadku większości orkiestracji jest to 1 lub 2 — aby aktualizacja nie mogła po cichu zmienić głębokości delegowania przez flotę. Niezależnie od tych zmian główny argument pozostaje taki 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ć. Opisany powyżej recursion guard zapobiega rozrośnięciu się głębokiego drzewa do setek aktywnych agentów niezależnie od kierunku kolejnej zmiany wartości domyślnej, a tylko samodzielnie ustawiony limit głębokości zachowa oczekiwane znaczenie po następnym wydaniu.

Tryb automatyczny weryfikuje teraz uruchomienia przed ich rozpoczęciem. Claude Code v2.1.178 usunął powiązaną lukę w mechanizmie nadzoru: w trybie automatycznym uruchomienia subagents są oceniane przez klasyfikator uprawnień przed uruchomieniem subagenta, a nie dopiero wtedy, gdy zaczyna on wykonywać działania.63 Wcześniej można było uruchomić subagenta w celu zażądania działania, którego wykonanie byłoby zablokowane dla sesji nadrzędnej — samo uruchomienie stanowiło obejście zabezpieczeń. Weryfikacja w chwili uruchamiania oznacza, że recursion guard i model uprawnień wreszcie się uzupełniają: proces potomny nie może służyć jako pośrednik maskujący działanie zabronione przez zasady.

Platforma oferuje teraz natywny budżet uruchomień. Claude Code v2.1.212 (lipiec 2026) wprowadził wbudowane zabezpieczenia przed niekontrolowanymi pętlami: domyślny limit wynosi 200 uruchomień subagents na sesję (CLAUDE_CODE_MAX_SUBAGENTS_PER_SESSION pozwala go dostosować, a /clear zeruje licznik), natomiast WebSearch ma limit 200 wywołań na sesję (CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION).69 Wzorzec budżetu uruchomień, który od v1.0 dokumentowano w tej sekcji jako skrypt implementowany przez użytkownika, jest teraz zapewniany przez platformę — potwierdza to przewagę modelu budżetowego nad modelem głębokości. Warto 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 stanowią bezpieczniki chroniące przed naprawdę niekontrolowaną pętlą, a nie budżety dostrojone do konkretnej architektury. Należy zachować własny mechanizm ochronny dla budżetów przypadających na proces nadrzędny, śledzenia głębokości i limitów odpowiadających rzeczywistym założeniom orkiestracji; limit platformy powinien wychwytywać wszystko, co zdoła go ominąć.

Zestaw wbudowanych zabezpieczeń obejmuje teraz 4 osie. 3 z nich zabezpieczają dokładnie te wartości, które śledzi opisany w tej sekcji mechanizm użytkownika: łą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 i, jak wykazano, wartość niestabilna) oraz liczbę równoczesnych wykonań (v2.1.217, domyślnie 20, CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS — pojedyncza wiadomość nie może już bez ograniczeń rozwinąć się w agentów działających w tle).7884 Wersja v2.1.219 dodaje 4. oś, której zazwyczaj nie obejmowały mechanizmy użytkownika: szerokość orkiestracji, czyli liczbę agentów dozwolonych w pojedynczym zaplanowanym workflow, dostarczoną jako domyślna wytyczna „należy dążyć do mniej niż 15 agentów” i konfigurowalną z dowolnego pliku ustawień za pomocą workflowSizeGuideline (omówionego poniżej w sekcji Workflow Tool). Wzorzec budżetu uruchomień jest teraz zabezpieczony przez platformę na każdej osi, do której został zaprojektowany, oraz na jednej dodatkowej.

Uwaga dotycząca kalibracji nadal obowiązuje, choć w nierównym stopniu. Limity 200 uruchomień i 20 agentów działających równocześnie to bezpieczniki — o rząd wielkości wyższe niż budżet 12 agentów do deliberacji w powyższej konfiguracji, dobrane tak, aby wykrywać niekontrolowane pętle, a nie kształtować architekturę. Wytyczna szerokości jest pierwszą natywną wartością należącą do tej samej kategorii co rzeczywisty budżet: 15 agentów na workflow jest bardzo bliskie wartości 12 przyjętej w tym przewodniku, więc zastosowanie wartości domyślnej platformy niczego nie kosztuje, a jej odrzucenie powinno wynikać z konkretnego powodu. 3 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ę przez współdzieloną skrzynkę i listę zadań oraz mogą podważać wzajemne ustalenia:5

Komponent Rola
Team lead Sesja główna, która tworzy zespół, uruchamia teammates i koordynuje pracę
Teammates Oddzielne instancje Claude Code pracujące nad przydzielonymi zadaniami
Task list Współdzielone elementy pracy, które teammates przejmują i wykonują (z blokowaniem pliku)
Mailbox System komunikacji między agentami

Włączanie: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1

Kiedy używać agent teams, a kiedy subagents:

Subagents Agent Teams
Komunikacja Wyłącznie raportowanie wyników Teammates komunikują się bezpośrednio ze sobą
Koordynacja Główny agent zarządza całą pracą Współdzielona lista zadań z samodzielną koordynacją
Najlepsze zastosowanie Skoncentrowane zadania, w których liczy się wyłącznie wynik Złożone prace wymagające dyskusji i współpracy
Koszt tokenów Niższy Wyższy (każdy teammate = oddzielne okno kontekstu)

Agent View i pętle celów (maj 2026)

Claude Code v2.1.139 dodał Agent View, interfejs w wersji Research Preview uruchamiany poleceniem claude agents, który na jednym ekranie pokazuje działające, zablokowane i zakończone sesje Claude Code.4243 Oficjalna dokumentacja przedstawia go jako sposób na przydzielanie wielu sesji i zarządzanie nimi, obserwowanie działań każdej sesji oraz identyfikowanie tych, które wymagają interwencji operatora.43 Zapewnia to widok operacyjny pracy wielu agentów, którego nie mogą zastąpić końcowe podsumowania.

Podczas wdrażania wzorca opartego na subagents lub zespole warto używać Agent View, aby sprawdzać, które sesje są zablokowane, które nadal działają i czy rozkład pracy odpowiada zamierzonej architekturze. Nie należy jednak traktować go jako dowodu jakości. Zapewnia obserwowalność; o poprawności pracy nadal decydują testy, bramki przeglądu i raporty evidence gate.

W tym samym wydaniu dodano /goal, które określa warunek ukończenia i pozwala Claude kontynuować pracę przez wiele tur aż do spełnienia tego warunku, również w trybie interaktywnym, -p i Remote Control.42 /goal należy traktować jako pętlę ukończenia o zakresie sesji, a nie jako zamiennik deterministycznych bramek. Pomaga utrzymać koncentrację agenta na celu, lecz testy, weryfikacja cytowań, kontrola wdrożeń i security hooks powinny nadal opierać się na poleceniach lub skryptach wszędzie tam, gdzie niepowodzenie musi blokować dalsze działania.

Workflow Tool (v2.1.147+)

Dynamiczne workflows w Claude Code są już dostępną i domyślnie włączoną funkcją: od v2.1.154 koordynują w tle od dziesiątek do setek agentów, są monitorowane za pomocą /workflows, mają opcję /config „Dynamic workflow size” (v2.1.202) oraz klucz ustawień workflowSizeGuideline, którego domyślna wytyczna ma rozmiar średni — należy dążyć do mniej niż 15 agentów, chyba że wskazano inaczej (v2.1.219). Funkcja zadebiutowała wydanie wcześniej jako domyślnie wyłączone narzędzie Workflow w v2.1.147, ukryte za CLAUDE_CODE_WORKFLOWS=1; okres używania tej flagi należy już do historii, lecz przedstawiony wówczas argument architektoniczny pozostaje aktualny.52 Daje ona Claude Code wbudowany mechanizm orkiestracji dla przepływów, które wcześniej wymagały niestandardowych skryptów dispatch, stanu mailbox i konwencji koordynowania subagents.

Nie należy usuwać otaczającego go harness. Workflow może nadawać strukturę wykonaniu, lecz nie zastępuje modelu bezpieczeństwa. PreToolUse i PostToolUse hooks powinny pozostać warstwą blokującą, budżety uruchomień lub budżety kroków workflow muszą zapobiegać niekontrolowanemu wzrostowi szerokości, stan systemu plików powinien pozostać audytowalny, a końcowe raporty evidence gate nie mogą zależeć od samooceny modelu. W praktyce: Workflow należy stosować do określania kształtu orkiestracji, natomiast hooks, testy i bramki przeglądu — do ustalania prawdy.

Dynamiczne workflows mają teraz wbudowaną opinię na temat szerokości (v2.1.219). Domyślna wytyczna rozmiaru dynamicznych workflows to poziom średni — „należy dążyć do mniej niż 15 agentów” — przy czym w ustawieniu Dynamic workflow size w /config dostępne są inne rozmiary oraz opcja bez ograniczeń, a bieżąca wytyczna jest wyświetlana w wierszu stanu działającego workflow.84 Wartość ta ma charakter doradczy, a nie wymuszany; ukierunkowuje planer zamiast blokować szeroki plan. O jej przydatności konfiguracyjnej decyduje sposób dystrybucji: nowy klucz ustawień workflowSizeGuideline można ustawić w dowolnym pliku ustawień — w tym w ustawieniach zarządzanych i projektowych, a od v0.3.219 jest on obecny w typach ustawień TypeScript SDK — dzięki czemu szerokość orkiestracji może zostać ustandaryzowana przez zespół lub organizację, zamiast być ponownie ustalana przez każdego operatora.85 Należy ustawić ją na poziomie projektu, aby odzwierciedlała rzeczywisty sposób podziału pracy w bazie kodu. Dwie uwagi dla operatorów: wiersz /config jest ukrywany, gdy wartość pochodzi z pliku ustawień, co jest prawidłowym zachowaniem, lecz bez znajomości przyczyny może wyglądać jak brak ustawienia; ponadto, ponieważ wytyczna kieruje planerem zamiast blokować wykonanie, należy do kolumny kształtu, nie bezpieczeństwa. Za niekontrolowany wzrost szerokości nadal odpowiada limit uruchomień.

Warto zachować następującą perspektywę: jest to 4. oś wbudowanych zabezpieczeń — szerokość orkiestracji, obok liczby uruchomień, głębokości zagnieżdżenia i liczby równoczesnych wykonań — oraz pierwsza, którą Anthropic skalibrował do realistycznego rozmiaru roboczego, a nie do poziomu bezpiecznika chroniącego przed niekontrolowanym wzrostem. 15 agentów na workflow należy do tego samego rzędu wielkości co budżet 12 agentów do deliberacji stosowany w tym przewodniku od v1.0. Gdy wartość domyślna platformy i własny budżet, ustalone z różnych perspektyw, zbiegają się, stanowi to najbliższy odpowiednik niezależnego potwierdzenia, jaki można uzyskać dla takich wartości.

Forkowanie 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 sesja działa niezależnie, podczas gdy oryginalna kontynuuje pracę — a poprzednie zachowanie wewnątrz sesji zmieniło nazwę na /subtask. Różnica ta ma znaczenie dla projektowania orkiestracji: /subtask to ograniczone zadanie poboczne w cyklu życia jednej sesji; /fork jest prostym sposobem utworzenia równoległej sesji w tle dziedziczącej pełny kontekst, bliższym uruchomieniu pętli Ralph niż subagentowi. Jeśli skrypty harness zakładały, że /fork pozostaje wewnątrz sesji, obecnie będą przydzielać pracę do tła.

W tym samym wydaniu wolne wywołania MCP są automatycznie przenoszone do tła: wywołanie narzędzia MCP, które trwa dłużej niż 2 minuty, zostaje automatycznie przeniesione do wykonania w tle (próg można dostosować za pomocą CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS).69 Wolny serwer MCP nie blokuje już pętli agentowej — oznacza to jednak również, że „narzędzie zwróciło wynik” i „tura była kontynuowana” nie są już tym samym zdarzeniem, dlatego hooks lub skrypty zakładające synchroniczne zakończenie MCP powinny opierać się na wyniku narzędzia, a nie na granicy tury.

Na potrzeby orkiestracji bez interfejsu v2.1.211 dodał --forward-subagent-text (zmienna środowiskowa: CLAUDE_CODE_FORWARD_SUBAGENT_TEXT), które przekazuje tekst odpowiedzi subagenta do wyjścia stream-json.69 Proces koordynujący, który odbiera strumień procesu nadrzędnego, może teraz bezpośrednio obserwować postęp subagents, zamiast odpytywać transkrypcje lub czekać na końcowe podsumowanie — jest to obserwowalnościowe uzupełnienie domyślnie działających w tle subagents. 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 narzędzia Agent, które je uruchomiło.84 To właśnie ten klucz powinien stanowić podstawę implementacji. Po ponownym domyślnym włączeniu zagnieżdżania płaski strumień tekstu subagents jest niejednoznaczny — identyfikator informuje koordynator, który proces nadrzędny utworzył dany proces potomny, dzięki czemu drzewo delegowania można odtworzyć ze strumienia zamiast je odgadywać. Jeśli odbiorca strumienia został napisany z myślą o jednym poziomie subagents, zobaczy teraz tekst agentów, o których istnieniu wcześniej nie wiedział; należy grupować dane według identyfikatora tool_use uruchamiającego procesu, zamiast zakładać, że każdy przekazany wiersz pochodzi od bezpośredniego procesu potomnego.


Orkiestracja wieloagentowa

Jednoagentowe systemy AI mają strukturalną słabość: nie potrafią podważać własnych założeń.7 Wieloagentowa deliberacja wymusza niezależną ocenę z wielu perspektyw, zanim jakakolwiek decyzja zostanie utrwalona.

Orkiestracja między narzędziami (kwiecień 2026): Google udostępnił jako open source Scion 7 kwietnia — wieloagentowy hiperwizor uruchamiający Claude Code, Gemini CLI oraz inne „głębokie agenty” jako równoległe procesy, każdy z odizolowanym kontenerem, git worktree i poświadczeniami. Działa lokalnie, jako hub lub w Kubernetes. Jawna filozofia: „isolation over constraints” — agenty działają z dużą autonomią w granicach wymuszanych na poziomie infrastruktury, a nie w prompt.25 Bezpośrednio rozszerza to argument za izolacją subagents na różnych dostawców narzędzi. Jeśli workflow obejmuje Claude i modele OpenAI, Scion jest pierwszą realną implementacją referencyjną dla subagents między narzędziami z izolacją worktree + poświadczeń dla każdego agenta.

Debata nie jest panaceum: Klaster badań M3MAD-Bench (początek 2026) wykazał, że wieloagentowa debata osiąga plateau i może zostać wypaczona przez wprowadzający w błąd konsensus — trafne argumenty przegrywają, gdy inne agenty z przekonaniem twierdzą, że poprawna jest błędna odpowiedź.26 Tool-MAD poprawia ten mechanizm, zapewniając każdemu agentowi heterogeniczny dostęp do narzędzi i używając ocen Faithfulness/Relevance na etapie sędziego. Przy budowaniu orkiestracji opartej na debacie warto inwestować w (a) heterogeniczność narzędzi dla każdego agenta oraz (b) ilościową punktację sędziego, zamiast zakładać, że więcej agentów = lepsze odpowiedzi.

Zarządzana orkiestracja wieloagentowa i Outcomes (Public Beta)

Jeśli nie chce Pan/Pani budować opisanej poniżej infrastruktury deliberacyjnej, Multiagent Orchestration weszło do Public Beta w Claude Managed Agents 6 maja 2026 r.35 Według Anthropic: „When there is too much work for a single agent to do well, multiagent orchestration lets a lead agent break the job into pieces and delegate each one to a specialist with its own model, prompt, and tools.”35 Specjaliści „pracują równolegle we współdzielonym systemie plików i wnoszą wkład do ogólnego kontekstu agenta prowadzącego”.35

Śledzenie jest dostępne od razu. Według Anthropic: „you can also trace every step in the Claude Console: which agent did what, in what order, and why, giving you full visibility into how your task was delegated and executed.”35

Towarzyszącą funkcją Public Beta jest Outcomes. Według Anthropic: „you write a rubric describing what success looks like and the agent works toward it. A separate grader evaluates the output against your criteria in its own context window, so it isn’t influenced by the agent’s reasoning.”35 Jest to wersja managed service wzorca walidacji z dwiema bramkami, udokumentowanego w dalszej części tej sekcji: rubryka zastępuje ręcznie napisaną bramkę, a oddzielny oceniający zastępuje walidator konsensusu.

Samodzielnie hostowana deliberacja (ta sekcja) Zarządzane Multiagent + Outcomes
Kierowanie do specjalistów Pisze Pan/Pani logikę uruchamiania Agent prowadzący dzieli pracę na części
Walidacja Hooki z dwiema bramkami + punktacja konsensusu Rubryka + oceniający w oddzielnym kontekście
Śledzenie Należy je zaimplementować Claude Console
Najlepsze zastosowanie Wzorce wymagające pełnej kontroli lub określonego zestawu narzędzi Standardowe wzorce delegowania, w których rubryka walidacyjna stanowi kontrakt
Ceny Tylko koszt tokenów + harness Standardowe tokeny oraz stawka godzinowa sesji Managed Agents (bazowa cena z premiery 8 kwietnia; zobacz 23)

Samodzielnie hostowana deliberacja pozostaje właściwym rozwiązaniem, gdy walidacja musi integrować się z własną powierzchnią hooków (blokowanie PreToolUse, semantyka kodów wyjścia, niestandardowe dispatchers) lub gdy harness musi działać bez zewnętrznych zależności. Managed Multiagent jest właściwym rozwiązaniem, gdy rzeczywiście potrzebnym kontraktem jest standardowe delegowanie wraz z oceną według rubryki.

Minimalna działająca deliberacja

Należy zacząć od 2 agentów i 1 zasady: agenty muszą ocenić pracę niezależnie, zanim zobaczą wyniki pozostałych.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 zapewnia 80% wartości. Wszystko pozostałe wnosi jedynie stopniową poprawę.

Wyzwalacz ufności

Nie każde zadanie wymaga deliberacji. Moduł oceny ufności analizuje cztery wymiary:17

  1. Niejednoznaczność - Czy zapytanie ma wiele poprawnych interpretacji?
  2. Złożoność dziedziny - Czy wymaga specjalistycznej wiedzy?
  3. Stawka - Czy decyzja jest odwracalna?
  4. Zależność od kontekstu - Czy wymaga zrozumienia szerszego systemu?

Wynik jest mapowany na trzy poziomy:

Poziom Próg Działanie
WYSOKI 0.85+ Kontynuowanie bez deliberacji
ŚREDNI 0.70-0.84 Kontynuowanie z zapisaniem informacji o poziomie ufności
NISKI Poniżej 0.70 Uruchomienie pełnej deliberacji wieloagentowej

Próg dostosowuje się do typu zadania. Decyzje dotyczące bezpieczeństwa wymagają konsensusu na poziomie 0.85. Zmiany w dokumentacji potrzebują jedynie 0.50. Zapobiega to nadmiernemu rozbudowywaniu prostych zadań, a jednocześnie zapewnia kontrolę nad ryzykownymi decyzjami.7

Maszyna stanów

Siedem faz, z których każda jest bramkowana 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 podczas researchu agenty nie widzą wzajemnie swoich ustaleń.

DELIBERATION: Agenty widzą wszystkie wyniki researchu i tworzą alternatywy. Agent Debate identyfikuje konflikty. Agent Synthesis łączy niesprzeczne ustalenia.

RANKING: Każdy agent ocenia każde zaproponowane podejście w 5 ważonych wymiarach:

Wymiar Waga
Wpływ 0.25
Jakość 0.25
Wykonalność 0.20
Możliwość ponownego użycia 0.15
Ryzyko 0.15

Architektura walidacji z dwiema bramkami

Dwie bramki walidacyjne wyłapują problemy na różnych etapach:7

Bramka 1: walidacja konsensusu (hook PostToolUse). Uruchamia się bezpośrednio po zakończeniu pracy każdego agenta deliberacyjnego: 1. Faza musi osiągnąć co najmniej RANKING 2. Muszą zakończyć pracę co najmniej 2 agenty (konfigurowalne) 3. Wynik konsensusu musi spełniać próg dostosowany do zadania 4. Jeśli którykolwiek agent zgłosił sprzeciw, obawy muszą zostać udokumentowane

Bramka 2: Pride Check (hook Stop). Uruchamia się, zanim sesja będzie mogła zostać zamknięta: 1. Różnorodne metody: reprezentowanych jest wiele unikalnych person 2. Przejrzystość sprzeczności: sprzeciwy mają udokumentowane uzasadnienia 3. Obsługa złożoności: wygenerowano co najmniej 2 alternatywy 4. Ufność konsensusu: sklasyfikowana jako wysoka (powyżej 0.85) lub umiarkowana (0.70-0.84) 5. Dowód poprawy: końcowy poziom ufności przewyższa poziom początkowy

Dwa hooki w różnych punktach cyklu życia odpowiadają temu, jak faktycznie dochodzi do błędów: niektóre są natychmiastowe (niski wynik), a inne narastają stopniowo (mała różnorodność, brak dokumentacji sprzeciwów).7

Dlaczego zgodność jest niebezpieczna

Charlan Nemeth badała zdania odrębne od 1986 r. aż do swojej książki z 2018 r. In Defense of Troublemakers. Grupy z osobami zgłaszającymi sprzeciw podejmują lepsze decyzje niż grupy, które szybko osiągają zgodę. Osoba zgłaszająca sprzeciw nie musi mieć racji. Sam akt niezgody zmusza większość do zbadania założeń, które w przeciwnym razie pominęłaby.18

Wu i in. sprawdzili, czy agenty LLM potrafią rzeczywiście debatować, i stwierdzili, że bez strukturalnych zachęt do niezgody agenty zbiegają się ku najbardziej pewnie brzmiącej początkowej odpowiedzi, niezależnie od jej poprawności.19 Liang i in. wskazali główną przyczynę jako „Degeneration-of-Thought”: gdy LLM nabierze pewności co do stanowiska, autorefleksja nie potrafi wygenerować nowych kontrargumentów, przez co wieloagentowa ocena staje się strukturalnie konieczna.20

Niezależność jest kluczowym ograniczeniem projektowym. Dwa agenty oceniające tę samą strategię wdrożenia, mając wgląd we wzajemne ustalenia, uzyskały wyniki 0.45 i 0.48. Te same agenty bez takiego wglądu: 0.45 i 0.72. Różnica między 0.48 a 0.72 to koszt zachowania stadnego.7

Wykrywanie pozornej zgodności

Moduł wykrywania konformizmu śledzi wzorce sugerujące, że agenty zgadzają się bez rzeczywistej oceny:7

Skupienie wyników: Wyniki wszystkich agentów mieszczące się w przedziale 0.3 punktu w 10-punktowej skali sygnalizują zanieczyszczenie wspólnym kontekstem, a nie niezależną ocenę. Gdy pięć agentów oceniających refaktoryzację uwierzytelniania przyznało ryzyku bezpieczeństwa oceny od 7.1 do 7.4, ponowne uruchomienie ze świeżą izolacją kontekstu rozszerzyło zakres wyników do 5.8-8.9.

Szablonowy sprzeciw: Agenty kopiują język obaw innych agentów zamiast tworzyć 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 (około 10-15% deliberacji, w których agenty zbyt szybko osiągają zgodność). W pozostałych 85-90% przypadków bramki konsensusu i pride check zapewniają wystarczającą walidację.

Co nie zadziałało w deliberacji

Swobodne rundy debaty. Trzy rundy tekstowej wymiany zdań dotyczącej indeksowania bazy danych wygenerowały 7,500 tokenów debaty. Runda 1: rzeczywista niezgoda. Runda 2: powtórzone stanowiska. Runda 3: identyczne argumenty wyrażone innymi słowami. Ustrukturyzowana punktacja wymiarów zastąpiła swobodną debatę, obniżając koszt o 60% i jednocześnie poprawiając jakość rankingu.7

Pojedyncza bramka walidacyjna. Pierwsza implementacja uruchamiała jeden hook walidacyjny na końcu sesji. Agent zakończył deliberację z wynikiem konsensusu 0.52 (poniżej progu), po czym przez 20 minut kontynuował pracę nad niezwiązanymi zadaniami, zanim hook końca sesji oznaczył błąd. Podział na dwie bramki (jedną przy zakończeniu zadania, drugą na końcu sesji) wyłapał te same problemy w różnych punktach cyklu życia.7

Koszt deliberacji

Każdy agent researchu przetwarza około 5,000 tokenów kontekstu i generuje 2,000-3,000 tokenów ustaleń. Przy 3 agentach oznacza to 15,000-24,000 dodatkowych tokenów na decyzję. Przy 10 agentach — około 50,000-80,000 tokenów.7

Przy obecnych cenach Opus 5 ($5/$25 za MTok) deliberacja z 3 agentami kosztuje około $0.23-0.30. Deliberacja z 10 agentami kosztuje $0.75-1.00. System uruchamia deliberację przy około 10% decyzji, więc zamortyzowany koszt wszystkich decyzji wynosi $0.08-0.10 na sesję. (We wcześniejszych wydaniach podawano wartości 3 razy wyższe, obliczone według historycznych cen $15/$75 dla Opus 4.x.) To, czy jest to opłacalne, zależy od kosztu błędnej decyzji.

Kiedy deliberować

Deliberować Pominąć
Architektura bezpieczeństwa Literówki w dokumentacji
Projekt schematu bazy danych Zmiana nazw zmiennych
Zmiany kontraktu API Aktualizacje komunikatów dziennika
Strategie wdrażania Zmiana brzmienia komentarzy
Aktualizacje zależności Aktualizacje test fixtures

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

  1. Polecenia budowania i testowania (agent potrzebuje ich, zanim będzie mógł wykonać cokolwiek użytecznego)
  2. Definicja ukończenia (zapobiega fałszywym deklaracjom ukończenia)
  3. Reguły eskalacji (zapobiegają destrukcyjnym obejściom)
  4. Sekcje uporządkowane według zadań (ograniczają analizowanie nieistotnych instrukcji)
  5. 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ługiego horyzontu Opus 4.7 (kwiecień 2026)

Claude Opus 4.7 (16 kwietnia 2026 r.) wprowadzono z konkretnymi możliwościami, które zmieniają to, przed czym harness musi się chronić:29

  • Odporność na błędy narzędzi: Opus 4.7 kontynuuje pracę po błędach narzędzi, które zatrzymywały sesje Opus 4.6. Można ograniczyć — lecz nie wyeliminować — defensywne wrappery ponawiania prób w kodzie subagentów. Należy zachować zabezpieczenia na poziomie hooks; można usunąć z promptów konstrukcje typu „jeśli narzędzie zawiedzie, spróbuj ponownie trzy razy”.
  • Poziom wysiłku xhigh: Wprowadzony wraz z Opus 4.7, obecnie obsługiwany przez bieżące modele Opus (Opus 4.8 udostępniono z nim jako /effort xhigh w wersji v2.1.154; Opus 5 go dziedziczy). Znajduje się między high a max. To zalecane ustawienie domyślne dla zadań programistycznych i agentowych. W przypadku długo działających subagentów xhigh wyraźnie przewyższa high przy nieproporcjonalnie mniejszym koszcie tokenów. max pozostaje właściwym wyborem dla jednorazowego, trudnego rozumowania; xhigh lepiej sprawdza się w zadaniach ciągłych.
  • Limit budżetu tokenów: Konfigurowalny dla każdego uruchomienia agenta za pomocą output_config.task_budget (nagłówek beta task-budgets-2026-03-13). Model widzi odliczanie i płynnie dostosowuje zakres pracy do budżetu, zamiast niespodziewanie go wyczerpać. Warto używać go w pętlach agentowych, w których potrzebne są przewidywalne wydatki na tokeny bez poświęcania jakości krótkich promptów.
  • Świadomość ukrytych potrzeb: Pierwszy model Claude, który przeszedł testy „implicit-need” — rozpoznając, kiedy dosłowna prośba użytkownika nie określa w pełni tego, czego faktycznie potrzebuje. Zmniejsza to potrzebę sekcji „clarifying rules” w CLAUDE.md. Jeśli CLAUDE.md zawiera 200 wierszy zabezpieczeń typu „uwzględnij też X, gdy użytkownik prosi o Y”, należy usunąć te, które są już obsługiwane natywnie.

Baza worktree, ścieżki sandbox i ustawienia administracyjne (7 maja 2026)

Claude Code v2.1.133 dodaje cztery ustawienia poziomu administratora, które warto znać w przypadku produkcyjnych harnessów:39

Ustawienie Wartości Działanie
worktree.baseRef fresh (domyślne) | head Nowe worktrees ponownie tworzą gałęzie z origin/<default>. Przywrócenie przełomowej wartości domyślnej z v2.1.128, która korzystała z lokalnego HEAD. Należy ustawić worktree.baseRef: "head", jeśli zespół polega na dostępności niewypchniętych commitów w nowych worktrees.
sandbox.bwrapPath ścieżka bezwzględna Przypina lokalizację pliku binarnego Bubblewrap na hostach Linux/WSL, gdzie nie znajduje się on w $PATH lub gdzie dostarczana jest wersja vendored.
sandbox.socatPath ścieżka bezwzględna Ta sama idea dla pliku binarnego socat używanego przez sieć sandbox.
parentSettingsBehavior 'first-wins' (domyślne) | 'merge' Kontrola na poziomie administratora nad sposobem, w jaki managedSettings SDK są łączone z nadrzędnymi ustawieniami przedsiębiorstwa/zespołu. 'merge' pozwala sesji podrzędnej dziedziczyć i rozszerzać ustawienia; 'first-wins' zachowuje nadrzędny charakter ustawienia rodzica.

To przywrócenie worktree.baseRef należy wskazać użytkownikom: agenci polegający na zachowaniu z wersji v2.1.128-v2.1.132 (worktrees tworzących gałęzie z lokalnego HEAD) tracą dostęp do niewypchniętej pracy w świeżych worktrees, jeśli ponownie nie wybiorą tej opcji.

Ankieta opinii OTel na potrzeby obserwowalności przedsiębiorstwa (8 maja 2026)

Claude Code v2.1.136 dodał CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, aby ponownie włączyć ankietę jakości w sesji dla przedsiębiorstw przechwytujących odpowiedzi przez OpenTelemetry.40 Jeśli organizacja przekazuje 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 opcję opt-in: domyślne ustawienie pozostawia ankietę wyłączoną, co jest właściwe w wdrożeniach bez OTel.

Korporacyjne launchery i wydajność na skalę MCP (lipiec 2026)

Dwie zmiany w v2.1.207 mają znaczenie dla wdrożeń produkcyjnych.68 CLAUDE_CODE_PROCESS_WRAPPER pozwala środowiskom zarządzanym uruchamiać proces Claude Code przez korporacyjny plik binarny wrappera — jest to punkt integracji dla agentów endpointów, kontroli zasad podczas uruchamiania oraz środowisk, w których każdy proces musi działać pod wymaganym nadzorcą. Jeśli przedsiębiorstwo wcześniej symulowało to za pomocą aliasów powłoki lub rozwidlonych skryptów launchera, jest to obsługiwany punkt rozszerzenia.

Ta sama wersja ograniczyła narzut środowiska wykonawczego tam, gdzie harnessy odczuwają go najmocniej: nawet 7× szybsze rundy użycia narzędzi w sesjach z dużą liczbą narzędzi MCP oraz 79× mniejsze transkrypcje sesji.68 Łagodzi to — bez odwracania — wskazówki Koszt jako architektura: podejście CLI-first nadal wygrywa w bezstanowych operacjach jednorazowych, lecz harness obsługujący dziesiątki narzędzi MCP nie ponosi już kary za każdą rundę, którą ponosił wiosną, a przechowywanie transkrypcji przestaje być ukrytym kosztem długich autonomicznych uruchomień.

Pętla jakości

Obowiązkowy proces przeglądu dla wszystkich nietrywialnych zmian:

  1. Implementacja - Napisanie kodu
  2. Przegląd - Ponowne przeczytanie każdego wiersza. Wyłapanie literówek, błędów logicznych i niejasnych fragmentów
  3. Ocena - Uruchomienie evidence gate. Sprawdzenie wzorców, przypadków brzegowych i pokrycia testami
  4. Udoskonalenie - Naprawienie każdego problemu. Nigdy nieodkładanie na „później”
  5. Szersze spojrzenie - Sprawdzenie punktów integracji, importów i sąsiedniego kodu pod kątem regresji
  6. Powtórzenie - Jeśli którekolwiek kryterium evidence gate nie zostanie spełnione, powrót do kroku 4
  7. Raportowanie - Wymienienie, co się zmieniło, jak to zweryfikowano, oraz wskazanie konkretnych dowodów

Evidence gate

„Wierzę” i „powinno działać” nie są dowodami. Należy wskazać ścieżki plików, wyniki testów lub konkretny kod.

Kryterium Wymagane dowody
Zgodność ze wzorcami codebase Nazwanie wzorca i pliku, w którym występuje
Najprostsze działające rozwiązanie Wyjaśnienie, jakie prostsze alternatywy odrzucono i dlaczego
Obsłużone przypadki brzegowe Wymienienie konkretnych przypadków brzegowych oraz sposobu obsługi każdego z nich
Testy przechodzą Wklejenie wyniku testów pokazującego 0 błędów
Brak regresji Nazwanie sprawdzonych plików/funkcji
Rozwiązuje rzeczywisty problem Określenie potrzeby użytkownika i sposobu jej rozwiązania

Jeśli nie można przedstawić dowodów dla któregokolwiek wiersza, należy wrócić do etapu Udoskonalenie.22

Uprawnienie człowieka do scalania

Badanie arXiv z maja 2026 r. dotyczące 29 585 cykli życia pull requestów agentów AI rozdziela sprawczość operacyjną od nadzoru nad scalaniem.47 Użyteczna lekcja architektoniczna jest prosta: agenci mogą rozpoczynać pracę, rozwijać gałęzie, otwierać PR-y, przeglądać pracę i podsumowywać ryzyko, podczas gdy uprawnienie do scalania pozostaje odrębną granicą nadzoru.

Należy wyraźnie określić tę granicę w harnessie. Agenci mogą przygotowywać PR-y i gromadzić dowody; należy wymagać zatwierdzenia przez człowieka dla scaleń, wydań i destrukcyjnych operacji na repozytorium, chyba że organizacja ma odrębnie audytowaną politykę automatyzacji. Gdy automatyzacja wykonuje scalenie, należy zachować logi rozróżniające wykonawcę od człowieka lub zasady, która je autoryzowała.

Wzorce obsługi błędów

Atomowe zapisy plików. Wielu agentów zapisujących jednocześnie do tego samego pliku stanu uszkadza JSON. Należy zapisywać do plików .tmp, a następnie wykonywać atomowe mv. System operacyjny gwarantuje, że mv jest atomowe 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 zostanie uszkodzony, 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 bash ((VAR++)). ((VAR++)) zwraca kod wyjścia 1, gdy VAR wynosi 0, ponieważ 0++ jest obliczane jako 0, co bash traktuje jako fałsz. Przy włączonym set -e kończy to działanie skryptu. Należy zamiast tego użyć VAR=$((VAR + 1)).16

Klasyfikacja promienia rażenia

Należy klasyfikować każde działanie agenta według promienia rażenia i odpowiednio je ograniczać:2

Klasyfikacja Przykłady Bramka
Lokalne Zapisy plików, uruchamianie testów, linting Automatyczne zatwierdzanie
Współdzielone Commity Git, tworzenie gałęzi Ostrzeżenie + kontynuacja
Zewnętrzne Git push, wywołania API, wdrożenia Wymagane zatwierdzenie przez człowieka

Remote Control (łączenie z lokalnym Claude Code z dowolnej przeglądarki lub aplikacji mobilnej) zmienia bramkę „Zewnętrzne” z blokującego oczekiwania w asynchroniczne powiadomienie. Agent kontynuuje pracę nad następnym zadaniem, podczas gdy poprzednie można sprawdzić na telefonie.2

Specyfikacja zadań dla autonomicznych uruchomień

Skuteczne zadania autonomiczne zawierają trzy elementy: cel, kryteria ukończenia i wskaźniki 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/niepowodzenie testów, wynik lintera, kody statusu HTTP, kontrole istnienia plików. Wczesne zadanie, które prosiło agenta o „napisanie testów, które przechodzą”, zaowocował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 niekompletne „Testy przechodzą ORAZ pokrycie >80%” Testy pokrywają wiersze, ale nie testują niczego znaczącego
Kompleksowe „Wszystkie testy przechodzą ORAZ pokrycie >80% ORAZ brak błędów typów ORAZ linter bez błędów ORAZ każda klasa testowa testuje 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 pętli jakości, aby szybciej zakończyć pracę Evidence gate wymaga dowodu dla każdego kryterium
Miraż pewności „Jestem pewien” bez uruchomienia weryfikacji Zakaz języka asekuracyjnego w raportach ukończenia
Fantomowa weryfikacja Twierdzenie, że testy przeszły, bez ich uruchomienia w tej sesji Hook Stop uruchamia testy niezależnie
Odroczony dług TODO/FIXME/HACK w zacommitowanym kodzie Hook PreToolUse przy git commit skanuje diff
Zanieczyszczenie systemu plików Porzucone artefakty z nieudanych iteracji Krok czyszczenia w kryteriach ukończenia

Konkretny ślad sesji

Ślad sesji z autonomicznego uruchomienia przetwarzającego PRD z 5 historyjkami:2

  1. Uruchamia się SessionStart. Dispatcher wstrzykuje: bieżącą datę, wykrywanie projektu, ograniczenia filozoficzne, inicjalizację śledzenia kosztów. Pięć hooks, łącznie 180 ms.

  2. Agent odczytuje PRD, planuje pierwszą historyjkę. Uruchamia się UserPromptSubmit. Dispatcher wstrzykuje: kontekst aktywnego projektu, punkt odniesienia dla dryfu sesji.

  3. Agent wywołuje Bash, aby uruchomić testy. Uruchamia się PreToolUse:Bash. Kontrola poświadczeń, walidacja sandbox, wykrywanie projektu. 90 ms. Testy są uruchamiane. Uruchamia się PostToolUse:Bash: rejestrowany jest heartbeat aktywności, kontrola dryfu.

  4. Agent wywołuje Write, aby utworzyć plik. Uruchamia się PreToolUse:Write: kontrola zakresu pliku. Uruchamia się PostToolUse:Write: kontrola lint, śledzenie commitów.

  5. Agent kończy historyjkę. Uruchamia się Stop. Bramka jakości sprawdza: czy agent wskazał dowody? Czy użył języka asekuracyjnego? Czy w diffie znajdują się komentarze TODO? Jeśli dowolna kontrola się nie powiedzie, kod wyjścia 2 powoduje kontynuowanie pracy przez agenta.

  6. Niezależna weryfikacja: Świeży agent uruchamia zestaw testów, nie ufając samoopisowi poprzedniego agenta.

  7. Równolegle uruchamiane są trzy agenty przeglądu kodu. Każdy niezależnie przegląda diff. Jeśli którykolwiek recenzent zgłosi CRITICAL, historyjka wraca do kolejki.

  8. Historyjka przechodzi. Ładowana jest następna historyjka. Cykl powtarza się dla wszystkich 5 historyjek.

Łączna liczba uruchomionych hooks dla 5 historyjek: ~340. Łączny czas spędzony w hooks: ~12 sekund. Ten narzut zapobiegł trzem wyciekom poświadczeń, jednemu destrukcyjnemu poleceniu i dwóm niekompletnym implementacjom podczas jednego nocnego uruchomienia.

Studium przypadku: nocne przetwarzanie PRD

Produkcyjny harness przetworzył 12 PRDs (47 historyjek) w 8 nocnych sesjach. Metryki porównują pierwsze 4 PRDs (minimalny harness: tylko CLAUDE.md) z ostatnimi 8 (pełny harness: hooks, skills, quality gates, wieloagentowy przegląd).

Metryka Minimalny (4 PRDs) Pełny harness (8 PRDs) Zmiana
Wycieki poświadczeń 2 wyciekły do git 7 zablokowanych przed commitem Reaktywnie do prewencyjnie
Destrukcyjne polecenia 1 force-push do main 4 zablokowane Egzekwowanie przez kod wyjścia 2
Wskaźnik fałszywego ukończenia 35% nieudanych testów 4% Evidence gate + hook Stop
Rundy rewizji/historyjkę 2.1 0.8 Skills + pętla jakości
Degradacja kontekstu 6 incydentów 1 incydent Pamięć systemu plików
Narzut tokenów 0% ~3.2% Pomijalny
Czas hooks/historyjkę 0s ~2.4s Pomijalny

Dwa wycieki poświadczeń wymagały rotacji kluczy API i audytu usług niższego szczebla: około 4 godzin reakcji na incydent. Narzut harnessu, który zapobiegł odpowiednikowi tego zdarzenia, wyniósł 2,4 sekundy bash na historyjkę. Wskaźnik fałszywego ukończenia spadł z 35% do 4%, ponieważ hook Stop niezależnie uruchamiał testy przed zezwoleniem agentowi na zgłoszenie zakończenia.


Aspekty bezpieczeństwa

Pięć zasad godnych zaufania agentów (Anthropic, kwiecień 2026)

Anthropic opublikowało 9 kwietnia 2026 r. formalne ramy wiarygodności agentów.27 Pięć zasad jest równoległych do podejścia Evidence Gate przedstawionego w tym przewodniku — i je rozszerza:

Zasada Co oznacza Jak ten harness ją spełnia
Kontrola człowieka Znacząca możliwość ingerencji człowieka na każdym etapie decyzji Hooks kontrolują wywołania narzędzi; blokowanie PreCompact; klasyfikator Auto Mode jako warstwa kontroli
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 dane wejściowe o charakterze adwersarialnym i prompt injection Sandbox + deny-rules + walidacja danych wejściowych na warstwie hook
Przejrzystość Możliwe do audytowania zapisy decyzji i działań Logowanie hook; transkrypcje sesji; ślady wywołań skills
Prywatność Właściwe przetwarzanie danych i nadzór nad nimi Czyszczenie zmiennych środowiskowych poświadczeń; wykrywanie sekretów na warstwie hook

Anthropic przekazało również MCP fundacji Linux Foundation’s Agentic AI 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 tożsamość zgłaszana przez sam MCP. Specyfikacja MCP zakończyła przejście na bezstanowy rdzeń (SEP-2575) wraz z rewizją z 28 lipca 2026 r., obecnie obowiązującą specyfikacją, która usuwa stanowy handshake initialize, wcześniej przenoszący tożsamość serwera. Zmiana w wersji roboczej specyfikacji, scalona 16 lipca (PR #3002), przywraca tożsamość jako powierzchnię opcjonalną: serwery mogą uwzględniać obiekt io.modelcontextprotocol/serverInfo w odpowiedzi _meta, a clientInfo staje się opcjonalne w żądaniach.71 Istotne dla bezpieczeństwa jest to, co specyfikacja mówi o zaufaniu: ta tożsamość jest zgłaszana samodzielnie i niezweryfikowana — wyłącznie do wyświetlania i logowania — i NIE POWINNA wpływać na decyzje dotyczące bezpieczeństwa. Jeżeli harness opiera allowlisty, reguły uprawnień lub audyt oparty na logach na deklarowanej nazwie serwera MCP, ta nazwa jest twierdzeniem, a nie poświadczeniem; zaufanie należy przypinać do transportu i konfiguracji (który serwer Pan/Pani skonfigurował(a) pod którym endpointem), nigdy do tego, za co podaje się serwer. Bezstanowa rewizja została wydana zgodnie z harmonogramem 28 lipca 2026 r. (obowiązkowe server/discover, negocjowanie wersji protokołu przez _meta, nagłówek Streamable HTTP) — powyższe wskazówki dotyczące zaufania opisują wydane zachowanie.

Narzędzia sandbox dla skills: Zespoły traktujące skills jako powierzchnię ataku mogą użyć SandyClaw firmy Permiso (uruchomionego 2 kwietnia 2026 r.), który wykonuje skills w dedykowanym sandbox i dostarcza werdykty poparte dowodami z detekcji Sigma/YARA/Nova/Snort. Jest to pierwszy produkt w kategorii skill-sandbox.28

Sandbox

Claude Code obsługuje opcjonalny tryb sandbox (włączany przez settings.json lub polecenie /sandbox), który ogranicza dostęp do sieci i operacje na systemie plików za pomocą izolacji na poziomie systemu operacyjnego (seatbelt w macOS, bubblewrap w Linuxie). Po włączeniu sandbox uniemożliwia modelowi wykonywanie dowolnych żądań sieciowych lub uzyskiwanie dostępu do plików poza katalogiem projektu. Bez sandboxingu Claude Code używa modelu opartego na uprawnieniach, w którym zatwierdza się lub odrzuca poszczególne wywołania narzędzi.13

Minimalny poziom bezpieczeństwa z maja 2026 r. Claude Code v2.1.149 naprawiło obejście uprawnień katalogu roboczego PowerShell, kilka luk w analizie uprawnień związanych z regułami allow PowerShell i nieaktualnymi zmiennymi oraz błąd allowlisty zapisu sandbox dla git-worktree, który obejmował cały główny katalog repozytorium zamiast wyłącznie współdzielonych wewnętrznych elementów git.53 Jeśli harness dopuszcza PowerShell lub agentów izolowanych przez worktree, należy traktować v2.1.149+ jako poziom minimalny i zachować wąskie reguły shell. Szerokie wyjątki PowerShell(*) i zapisu w całym repozytorium są skrótami orkiestracyjnymi, a nie granicami bezpieczeństwa.

Zaostrzenie sandbox OpenAI Agents SDK (v0.17.0, 8 maja 2026 r.). Po stronie OpenAI openai-agents-python v0.17.0 zaostrzyło równoległą granicę: LocalFile.src i LocalDir.src są teraz ograniczone do materializacyjnego base_dir (bieżącego katalogu roboczego procesu SDK podczas zastosowania manifestu), chyba że źródło zostało jawnie przyznane przez 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 jego obrębie albo mieć przyznane uprawnienie. Zamyka to problem granicy lokalnych artefaktów: wcześniejsze wersje pozwalały manifestom przenosić dowolne ścieżki hosta do obszaru roboczego sandbox. Migracja: należy deklarować zaufane katalogi główne hosta na poziomie manifestu przez SandboxPathGrant(path=..., read_only=True) dla montowań tylko do odczytu. extra_path_grants należy traktować jako zaufaną konfigurację aplikacji; nigdy nie należy wypełniać uprawnień na podstawie danych wyjściowych modelu ani niezaufanych danych wejściowych manifestu.

Kolejny minimalny poziom OpenAI Agents SDK (v0.17.3). Linia 0.17.1–0.17.3 dodała dalsze wzmocnienia sandbox i sesji: limity rozpakowywania archiwów, walidację podścieżek GitRepo, czytelniejsze błędy dostawcy sandbox, poświadczenia punktów montowania niewidoczne w poleceniach sandbox, odrzucanie względnych katalogów głównych obszaru roboczego sandbox oraz obsługę stanów końcowych Vercel-sandbox.54 Jeżeli używane są sandboksy hostowane przez OpenAI lub wspierane przez dostawcę, a nie wyłącznie hooks Claude Code, należy traktować 0.17.3 jako obecny minimalny poziom dla wzorców z tej sekcji.

Trzy wzorce ograniczania w różnych produktach (Anthropic, maj 2026)

Wpis inżynieryjny Anthropic „How we contain Claude across products” (25 maja 2026 r.) jest własnym ujęciem dostawcy zasad, których ta sekcja uczy fragmentarycznie — sandboxu na poziomie ustawień opisanego powyżej, minimalnego poziomu izolacji worktree oraz postawy traktowania wszystkiego jako niezaufanego.81 Jego kluczowe założenie polega na dopasowaniu siły ograniczenia do powierzchni produktu, a samo to dopasowanie stanowi lekcję: nie istnieje jeden właściwy projekt izolacji, istnieje tylko izolacja dopasowana do tego, kto sprawuje nadzór i co może pójść nie tak.

  • Efemeryczne kontenery gVisor (claude.ai). Wykonywanie po stronie serwera działa w kontenerach gVisor na izolowanej infrastrukturze z efemerycznym systemem plików na sesję. Model zagrożeń dotyczy izolacji infrastruktury i tenantów — komputer użytkownika nigdy nie jest osiągalny, więc nic lokalnego nie wymaga ochrony.
  • Sandboxing systemu operacyjnego z człowiekiem w pętli (Claude Code). Wzorzec opisany w powyższym akapicie o sandbox, sformułowany jako polityka: Seatbelt w macOS i bubblewrap w Linuxie, z dozwolonym odczytem, zapisami ograniczonymi do obszaru roboczego oraz siecią domyślnie zablokowaną — człowiek zatwierdza to, czego granica nie obejmuje. Anthropic udostępniło runtime jako open source (sandbox-runtime), dzięki czemu granica podlega audytowi. Wpis otwarcie wskazuje słabe ogniwo: zatwierdzanych jest około 93% monitów o uprawnienia, a klasyfikator auto-mode — wyłapujący około 83% nadgorliwych zachowań przed wykonaniem i redukujący liczbę monitów zatwierdzenia o 84% — istnieje właśnie dlatego, że zmęczenie zatwierdzaniem jest właściwością bezpieczeństwa, a nie skargą na UX. To postawa warstwy kontroli, którą ten przewodnik śledzi od v2.1.193.
  • Zapieczętowane VM (Claude Cowork). Pełne maszyny wirtualne na hypervisorach platform — Apple Virtualization framework w macOS, HCS w Windows — z zamontowanymi wyłącznie wybranym obszarem roboczym i folderem .claude; nic innego z hosta nie jest widoczne. Poświadczenia nigdy nie trafiają do VM: pozostają w keychain hosta, a każda sesja otrzymuje token o ograniczonym zakresie, który można niezależnie unieważnić. Defensywny proxy MITM wewnątrz VM wymusza tę zasadę, przepuszczając wyłącznie żądania zawierające własny, udostępniony token sesyjny VM — klucz osadzony przez atakującego jest odrzucany na granicy, ponieważ tylko VM zna jego pochodzenie.

Zasady projektowe leżące u podstaw tej taksonomii są częścią możliwą do przeniesienia. Najpierw ograniczaj na warstwie środowiska, a dopiero potem steruj na warstwie modelu: każda obrona probabilistyczna ma niezerowy współczynnik przeoczeń, dlatego deterministyczne granice muszą wychwytywać to, czego nie wychwyci sterowanie na poziomie promptu — jest to argument tego przewodnika, że hooks gwarantują wykonanie, sformułowany ponownie przez dostawcę. Dopasuj siłę izolacji do zdolności użytkownika do sprawowania nadzoru: programista może ocenić polecenie bash przed jego zatwierdzeniem; pracownik wiedzy nie — dlatego Code otrzymuje okno dialogowe uprawnień, a Cowork zapieczętowaną VM. Przedkładaj sprawdzone prymitywy nad własny kod izolacji: hypervisory, seccomp i runtime kontenerów przetrwały kontrolę adwersarialną lepiej niż własne proxy allowlist i parsery konfiguracji Anthropic. Traktuj lokalną konfigurację projektu oraz dane wyjściowe narzędzi jako niezaufane: instrukcja wpisu nakazuje traktować otwarcie projektu i ładowanie konfiguracji jak każde żądanie przychodzące z internetu, a dane wyjściowe narzędzia jako powierzchnię ataku nawet wtedy, gdy narzędzie jest zaufane — to samo podejście ten przewodnik stosuje do wiadomości między agentami, treści czytanych przez subagents oraz tożsamości MCP zgłaszanej samodzielnie. Trzymaj poświadczenia poza sandbox: tokeny o ograniczonym zakresie, możliwe do unieważnienia i przypisane do sesji, zamiast otaczających kluczy, które agent mógłby ujawnić.

Powierzchnia ustawień dogania pierwszą zasadę (v2.1.219). Łatwo poprzeć zasadę „najpierw ograniczaj na warstwie środowiska”, lecz jej rzeczywista konfiguracja była niezręczna, ponieważ sandbox Claude Code rozstrzygał to, czego nie obejmowały jego reguły, pytając — a monit o uprawnienia jest probabilistyczną obroną w deterministycznym kostiumie, jak przyznaje podana wyżej wartość 93% zatwierdzeń. sandbox.network.strictAllowlist usuwa pytanie dotyczące ruchu wychodzącego: po jego ustawieniu żądanie sandboxowanego polecenia do hosta spoza allowlisty jest bezwzględnie odrzucane zamiast powodować wyświetlenie monitu.84 W połączeniu z sandbox.filesystem.disabled z v2.1.216 te dwa ustawienia tworzą postawę, a nie stos przełączników — ograniczenie systemu plików i sieci można wybierać niezależnie, a ograniczenie sieci można teraz uczynić deterministycznym. Dla nieobsługiwanego harness ważniejsze jest drugie z nich, ponieważ ruch wychodzący jest miejscem, w którym wstrzyknięta instrukcja staje się eksfiltracją, a skrajnym przypadkiem zmęczenia zatwierdzaniem jest brak osoby przy klawiaturze, która mogłaby się nim zmęczyć. Koszt jest zwykłym kosztem granicy deterministycznej: allowlista musi być poprawna, a zapomniany host kończy się nieprzejrzystym odrzuceniem zamiast pytaniem. Należy wyliczyć hosty, których agenci zasadnie potrzebują, a następnie usunąć monit.

Nic z tego nie zastępuje warstwy hook; znajduje się pod nią. Wzorce ograniczania stanowią deterministyczny fundament, a historia egzekwowania worktree w tym przewodniku pokazuje tę samą lekcję w miniaturze: granica liczy się tylko wtedy, gdy wytrzymuje celowe przekierowanie, a prymitywy, które najpewniej wytrzymają, to te, których nie napisano na tę okazję.

Granice uprawnień

System uprawnień kontroluje operacje na wielu poziomach:

Poziom Kontroluje Przykład
Uprawnienia narzędzi Które narzędzia mogą być używane Ograniczenie subagent do Read, Grep, Glob
Uprawnienia plików Które pliki mogą być modyfikowane Blokowanie zapisu do .env, credentials.json
Uprawnienia poleceń Które polecenia bash mogą zostać uruchomione Blokowanie rm -rf, git push --force
Uprawnienia sieciowe Do których domen można uzyskać dostęp Allowlista połączeń z serwerem MCP

Reguły uprawnień na poziomie parametrów (czerwiec 2026)

Claude Code v2.1.178 rozszerzyło reguły uprawnień z poziomu narzędzia na poziom parametru: Tool(param:value) dopasowuje się do parametrów wejściowych narzędzia, a * działa jako symbol wieloznaczny. Kanonicznym przykładem jest Agent(model:opus) — reguła blokująca uruchamianie subagents na określonym poziomie modelu.63 Architektonicznie zamyka to lukę, której czteropoziomowa tabela powyżej nie mogła wyrazić: wcześniej można było zezwolić na narzędzie lub całkowicie go odmówić, lecz nie można było ograniczyć sposobu jego wywołania. Polityka zarządzania może teraz mówić „subagents mogą się uruchamiać, ale nie na poziomie Fable 5” albo „Bash jest dozwolony, ale nie z tą flagą” jako reguła deterministyczna, a nie żądanie na poziomie promptu.

Towarzyszące ustawienie zarządzane enforceAvailableModels (v2.1.175) ogranicza wybór modelu odgórnie: przypina model Default i uniemożliwia ustawieniom na poziomie użytkownika lub projektu rozszerzenie zarządzanej allowlisty availableModels.63 Oba mechanizmy się uzupełniają — allowlista definiuje, które poziomy w ogóle istnieją w sesji, a reguły na poziomie parametrów ograniczają, jak subagents z nich korzystają. Od v2.1.196 administratorzy mogą również ustawić domyślny model dla całej organizacji z konsoli organizacji, widoczny jako „Org default” w /model, dzięki czemu cała flota dziedziczy zarządzaną wartość domyślną bez przypinania jej przez każdego operatora — jest to fundament uzupełniający sufit allowlisty.

Reguły allow ograniczone ścieżką są zakotwiczone w katalogu roboczym (lipiec 2026)

Claude Code v2.1.214 zamknęło ciche nadmierne dopasowanie w regułach uprawnień ograniczonych ścieżką: reguła allow z jednosegmentowym wzorcem dir/** — na przykład Edit(src/**) — automatycznie zatwierdzała edycje dowolnego katalogu o nazwie src na dowolnej głębokości, w tym vendor/some-package/src/ i każdego innego zagnieżdżonego src/, którego autor reguły nigdy nie zamierzał zatwierdzać. Takie reguły są teraz zakotwiczone wyłącznie w <cwd>/dir; jeżeli rzeczywiście potrzebne jest dopasowanie na dowolnej głębokości, należy je zadeklarować przez **/dir/**.74 Reguły deny i ask celowo zachowują stare dopasowanie na dowolnej głębokości. Ta asymetria jest właściwym projektem bezpiecznej awarii: zbyt wąsko dopasowana reguła allow kończy się bezpiecznie (pojawia się monit), podczas gdy zbyt wąsko dopasowana reguła deny kończy się otwarciem luki (zablokowana ścieżka przechodzi) — dlatego reguły allow stały się bardziej rygorystyczne, a deny pozostały szerokie. Jeżeli ustawienia opierają się na jednosegmentowych wzorcach allow obejmujących zagnieżdżone ścieżki, od v2.1.214 po cichu przestały to robić; poprawka działa zgodnie z zamierzeniem, jednak warto przejrzeć allowlisty i ponownie zadeklarować zakres, który jest rzeczywiście potrzebny.

Zabezpieczenia auto mode przed destrukcyjnymi poleceniami (czerwiec 2026)

Claude Code v2.1.183 zawęziło promień rażenia auto mode dla operacji, które po cichu powodują utratę pracy lub likwidują środowiska. Auto mode teraz bezwzględnie blokuje — chyba że zostały jawnie zażądane w sesji — destrukcyjne operacje git (git reset --hard, git checkout -- ., git clean -fd, git stash drop); git commit --amend, gdy commit nie został utworzony przez agenta w tej sesji; oraz likwidację infrastruktury (terraform destroy, pulumi destroy, cdk destroy), chyba że wskazano konkretny stack.65 Architektonicznie jest to uzupełnienie kontroli uruchamiania i reguł na poziomie parametrów opisanych powyżej: zamiast kontrolować które narzędzie lub w jaki sposób jest uruchamiane, kontroluje mały zestaw konkretnych nieodwracalnych poleceń według intencji — agent nadal może je wykonać, lecz wyłącznie na wyraźne polecenie, a nie z własnej inicjatywy. W autonomicznym harness należy zakodować tę samą zasadę we własnych hooks PreToolUse: polecenia niszczące stan zasługują na regułę domyślnego odrzucenia, którą znosi wyłącznie jednoznaczny sygnał operatora.

Lipiec 2026: auto mode trafia do przedsiębiorstw, a jednego monitu nie można zrzec się. Auto mode osiągnął GA w Amazon Bedrock, Google Vertex AI i Microsoft Foundry w v2.1.207, z ustawieniem zarządzanym disableAutoMode jako rezygnacją dla przedsiębiorstw — postawa klasyfikatora jako warstwy kontroli jest teraz dostępna na każdej własnej platformie przedsiębiorstw, a jego wyłączenie jest jawną decyzją w zakresie zarządzania, a nie luką platformy.68 Następnie v2.1.208 uczyniło zabezpieczenie przed katastrofalnym usunięciem bezwzględnym: monity potwierdzające katastrofalne usunięcia przebijają się przez zarówno --dangerously-skip-permissions, jak i auto mode.68 Jest to istotny precedens — pierwsze potwierdzenie w Claude Code, którego nie może zrzec się żadna postawa uprawnień, w tym jawna flaga obejścia. Projekty autonomicznych harness, które zakładały, że --dangerously-skip-permissions oznacza dosłownie zero monitów, powinny uwzględnić ten jeden wyjątek; uruchamia się on dokładnie tam, gdzie nieobsługiwana pętla może wyrządzić największą nieodwracalną szkodę.

Zabezpieczenia przed fabrykowaniem (lipiec 2026)

Wydania v2.1.203–v2.1.206 zamknęły dwie ścieżki, dzięki którym agent mógł sfałszować własny ślad audytowy.68 Po pierwsze, reguła auto-mode blokuje teraz manipulowanie plikami transkrypcji — zapis sesji nie jest już czymś, co mogą przepisać wywołania narzędzi tej samej sesji. Po drugie, powiadomienia o zadaniach w tle wyraźnie stwierdzają teraz, że podczas działania zadania nie wystąpiło żadne ludzkie wejście. Druga zmiana dotyczy subtelnej awarii: model podsumowujący zadanie w tle mógł wcześniej przedstawić (lub wymyślić) „zatwierdzenie” w transkrypcji, które nigdy nie nastąpiło, a nic w powiadomieniu temu nie przeczyło. Teraz samo powiadomienie stanowi kontrdowód.

Wniosek architektoniczny uogólnia się na Evidence Gate: transkrypcje, powiadomienia i logi są powierzchniami audytu, a powierzchnie audytu nie mogą być zapisywalne przez podmiot, który audytują. Platforma egzekwuje to teraz dla własnej transkrypcji; tę samą zasadę należy zastosować w harness — raporty dowodowe, wyniki testów i rejestry deliberacji powinny znajdować się poza ścieżką zapisywalną przez model.

Obrona przed prompt injection

Skills i hooks zapewniają ochronę warstwową 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 walidują każde wywołanie narzędzia niezależnie od tego, jak model został spromptowany:

# 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 promień rażenia. Subagent z permissionMode: plan nie może wprowadzać zmian, nawet jeśli jego prompt został przejęty.

Minimalny poziom platformy wzrósł w lipcu 2026 r. Claude Code v2.1.210 wzmocniło Agent tool przeciwko pośredniemu prompt injection przenoszonemu w treści przeczytanej przez subagent — zatruty plik, strona internetowa lub wynik narzędzia pobrany przez subagent ma mniejszą możliwość sterowania samą powierzchnią delegowania.69 A v2.1.211 wzmocniło ludzkie ogniwo łańcucha: podglądy uprawnień teraz neutralizują znaki Unicode nadpisania dwukierunkowego, zerowej szerokości i znaki podobne wizualnie, więc polecenia nie można już skonstruować tak, aby wyświetlało się jako nieszkodliwe w oknie zatwierdzania, wykonując jednocześnie coś innego.69 Druga poprawka ma największe znaczenie dla harness, w których człowiek zatwierdza renderowane podglądy pod presją czasu — wyświetlanie także było powierzchnią injection. Żadna z tych zmian nie zastępuje obron na poziomie hook opisanych wyżej; podnosi minimalny poziom pod nimi.

Logi agentów i guardrails są powierzchniami bezpieczeństwa

Dwa zalecenia z maja 2026 r. wzmacniają pewien wzorzec: infrastruktura agentów tworzy nowe miejsca, w których wrażliwa zawartość i wykonywalne polityki mogą wyciekać lub zostać ominięte. Advisory GHSA-f3jg-756w-gm35 firmy GitHub dotyczy problemu filtra payload Gryph Agents, przez który wrażliwa zawartość payload narzędzi mogła pozostawać w lokalnych logach SQLite przy domyślnym zachowaniu logowania.45 OSV GHSA-wxxx-gvqv-xp7p dotyczy ucieczki z sandbox niestandardowego kodu guardrail LiteLLM w chronionym przez administratora endpointcie proxy.46

Reguła produkcyjna: transkrypcje agentów, payloady narzędzi, logi SQLite i wykonywanie guardrail należy traktować jako wrażliwą infrastrukturę. Należy redagować dane przed utrwaleniem, stosować limity retencji oraz utrzymywać niestandardowy kod guardrail w sandbox i w stanie umożliwiającym przegląd. Reguła na poziomie promptu „nie loguj sekretów” nie wystarczy; ścieżka logowania i guardrail wymaga deterministycznych testów.

Bezpieczeństwo hook

HTTP hooks interpolujące 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 w architekturach agentowych wymaga jasnego podziału odpowiedzialności człowieka i agenta:17

Odpowiedzialność człowieka Odpowiedzialność agenta
Definicja problemu Wykonanie pipeline
Progi pewności Wykonanie w ramach progów
Wymagania dotyczące konsensusu Obliczanie konsensusu
Kryteria quality gate Egzekwowanie quality gate
Analiza błędów Wykrywanie błędów
Decyzje architektoniczne Opcje architektoniczne
Dostarczanie kontekstu domenowego Generowanie dokumentacji

Wzorzec jest następujący: ludzie odpowiadają za decyzje wymagające kontekstu organizacyjnego, oceny etycznej lub kierunku strategicznego. Agenci odpowiadają za decyzje wymagające obliczeniowego przeszukiwania dużych przestrzeni możliwości. Hooks egzekwują tę granicę.

Rekurencyjne egzekwowanie hook

Hooks uruchamiają się również dla działań subagent.13 Jeśli Claude uruchamia subagent przez Agent tool, hooks PreToolUse i PostToolUse wykonują się dla każdego narzędzia używanego przez subagent. Bez rekurencyjnego egzekwowania hook subagent mógłby ominąć zabezpieczenia. Zdarzenie SubagentStop umożliwia uruchomienie czyszczenia lub walidacji po zakończeniu pracy subagent.

Nie jest to opcjonalne. Agent, który uruchamia subagent bez własnych hooks bezpieczeństwa, jest agentem mogącym wykonać force-push do main, odczytać pliki poświadczeń lub uruchomić destrukcyjne polecenia, podczas gdy zabezpieczenia obserwują główną rozmowę i nie robią nic.

Koszt jako architektura

Koszt jest decyzją architektoniczną, a nie operacyjnym dodatkiem.2 Trzy poziomy:

Poziom tokenów. Kompresja promptu systemowego. Należy usunąć przykłady kodu z samouczków (model zna APIs), scalić zduplikowane reguły między plikami i zastąpić wyjaśnienia ograniczeniami. „Odrzucaj wywołania narzędzi dopasowane do wrażliwych ścieżek” wykonuje tę samą pracę co 15-wierszowe wyjaśnienie, dlaczego nie należy odczytywać poświadczeń.

Poziom agenta. Świeże uruchomienia zamiast długich rozmów. Każda historia w autonomicznym uruchomieniu otrzymuje nowego agenta z czystym kontekstem. Kontekst nigdy nie puchnie, ponieważ każdy agent zaczyna od nowa. Briefing zamiast pamięci: modele wykonują jasny briefing lepiej, niż poruszają się po 30 krokach nagromadzonego kontekstu.

Poziom architektury. Najpierw CLI, a dopiero potem MCP, gdy operacja jest bezstanowa. Wywołanie claude --print do jednorazowej oceny kosztuje mniej i nie dodaje narzutu połączenia. MCP ma sens, gdy narzędzie potrzebuje trwałego stanu lub strumieniowania.


Ramy decyzyjne

Kiedy stosować poszczególne mechanizmy:

Problem Użyć Dlaczego
Formatowanie kodu po każdej edycji PostToolUse hook Musi następować za każdym razem, deterministycznie
Blokowanie niebezpiecznych poleceń Bash PreToolUse hook Musi zablokować przed wykonaniem, kod wyjścia 2
Stosowanie wzorców przeglądu bezpieczeństwa Skill Specjalistyczna wiedza domenowa aktywowana automatycznie przez kontekst
Eksplorowanie codebase bez zaśmiecania kontekstu Explore subagent Odizolowany kontekst, zwraca wyłącznie podsumowanie
Bezpieczne eksperymentalne refaktoryzowanie 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
Decyzja o nieodwracalnej architekturze Multi-agent deliberation Próg pewności + walidacja konsensusu
Utrwalanie decyzji między sesjami MEMORY.md System plików przetrwa granice kontekstu
Współdzielenie standardów zespołowych Project CLAUDE.md + .claude/rules/ Dystrybuowane przez Git, ładowane automatycznie
Definiowanie poleceń budowania/testowania projektu CLAUDE.md Instrukcje oparte na poleceniach, które agent może zweryfikować
Prowadzenie długiego autonomicznego rozwoju 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 Nie blokuje, 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 ukończeniem zadania

Skills vs Hooks vs Subagents

Wymiar Skills Hooks Subagents
Wywołanie Automatyczne (rozumowanie LLM) Deterministyczne (sterowane zdarzeniami) Jawne lub delegowane automatycznie
Gwarancja Probabilistyczna (decyduje model) Deterministyczna (uruchamia się zawsze) Deterministyczna (odizolowany kontekst)
Koszt kontekstu Wstrzykiwane do głównego kontekstu Zero (uruchamiane poza LLM) Oddzielne okno kontekstowe
Koszt tokenów Budżet opisu (1% okna, zapasowo 8 000 znaków) Zero Pełny kontekst na subagent
Najlepsze zastosowanie Wiedza domenowa Egzekwowanie zasad Skoncentrowana praca, eksploracja

FAQ

Ile hooks to za dużo?

Ograniczeniem jest wydajność, a nie liczba. Każdy hook uruchamia się synchronicznie, dlatego łączny czas wykonania hooks jest doliczany do każdego dopasowanego wywołania narzędzia. 95 hooks w ustawieniach użytkownika i projektu działa bez zauważalnych opóźnień, gdy każdy hook kończy się w czasie krótszym niż 200 ms. Warto obserwować następujący próg: jeśli hook PostToolUse dodaje ponad 500 ms do każdej edycji pliku, sesja staje się ociężała. Przed wdrożeniem warto profilować hooks za pomocą time.14

Czy hooks mogą zablokować uruchomienie polecenia przez Claude Code?

Tak. Hooks PreToolUse blokują dowolną akcję narzędzia, kończąc działanie kodem 2. Claude Code anuluje oczekującą akcję i pokazuje modelowi dane wyjściowe stderr hooka. Claude widzi przyczynę odrzucenia i proponuje bezpieczniejszą alternatywę. Kod wyjścia 1 oznacza nieblokujące ostrzeżenie, przy którym akcja nadal jest wykonywana.3

Gdzie należy umieścić pliki konfiguracji hooks?

Konfiguracje hooków należy umieścić w .claude/settings.json dla hooks na poziomie projektu (commitowanych do repozytorium i współdzielonych z zespołem) albo w ~/.claude/settings.json dla hooks na poziomie użytkownika (osobistych, stosowanych w każdym projekcie). Hooks na poziomie projektu mają pierwszeństwo, gdy istnieją oba warianty. Aby uniknąć problemów z katalogiem roboczym, dla plików skryptów należy używać ścieżek bezwzględnych.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 uruchamiają tylko decyzje, których łączna ocena pewności jest niższa niż 0,70 — 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 uruchamiają ją konsekwentnie.7

Jak testować system zaprojektowany tak, by generował niezgodę?

Należy testować zarówno ścieżki powodzenia, jak i ścieżki błędów. Powodzenie: agenci konstruktywnie się nie zgadzają i osiągają konsensus. Błąd: agenci zbyt szybko osiągają zgodność, nigdy nie osiągają konsensusu lub przekraczają budżety uruchomień. Testy end-to-end symulują każdy scenariusz za pomocą deterministycznych odpowiedzi agentów, weryfikując, że obie bramki walidacyjne wychwytują każdy udokumentowany tryb błędu. Produkcyjny system deliberation uruchamia 141 testów w trzech warstwach: 48 testów integracyjnych Bash, 81 testów jednostkowych Python i 12 symulacji pipeline end-to-end.7

Jaki jest wpływ deliberation na opóźnienia?

Deliberation z 3 agentami dodaje 30–60 sekund czasu zegarowego (ten projekt deliberation uruchamia agentów sekwencyjnie przez Agent tool; od wersji v2.1.198 platforma sama uruchamia subagents współbieżnie w tle). Deliberation z 10 agentami dodaje 2–4 minuty. Hooks sprawdzające konsensus i pride check wykonują się w czasie krótszym niż 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 kontekstowe, dlatego na początku należy umieścić najważniejsze instrukcje: polecenia i definicje zakończenia przed preferencjami stylu.21

Czy działa to z narzędziami innymi niż Claude Code?

Zasady architektoniczne (hooks jako deterministyczne bramki, skills jako wiedza domenowa, subagents jako odizolowane konteksty, system plików jako pamięć) mają zastosowanie koncepcyjne do każdego systemu agentowego. Konkretna implementacja wykorzystuje zdarzenia cyklu życia Claude Code, wzorce matcherów 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 narzędzia.


Karta szybkiego odniesienia

Konfiguracja hooków

{
  "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 subagenta

---
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 Rejestrowanie, komunikaty informacyjne

Kluczowe polecenia

Polecenie Cel
/compact Kompresowanie kontekstu, zachowywanie decyzji
/context Wyświetlanie alokacji kontekstu i aktywnych skills
edit .claude/agents/ Zarządzanie subagents — kreator /agents został usunięty w v2.1.198; należy tworzyć lub edytować definicje bezpośrednio albo poprosić o to Claude
/goal <condition> Utrzymywanie pracy Claude w kierunku warunku ukończenia
claude agents Otwieranie Agent View dla uruchomionych, zablokowanych i ukończonych sesji
CLAUDE_CODE_WORKFLOWS=1 Historycznie: włączało podgląd Workflow-tool w v2.1.147; dynamiczne workflows są domyślnie dostępne przez /workflows od v2.1.154
claude -c Kontynuowanie najnowszej sesji
claude --print Jednorazowe wywołanie CLI (bez rozmowy)
# <note> Dodanie notatki do pliku pamięci
/memory Wyświetlanie pamięci automatycznej i zarządzanie nią

Lokalizacje plików

Ścieżka Cel
~/.claude/CLAUDE.md Osobiste globalne instrukcje
.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ów
.claude/agents/<name>.md Definicje subagentów 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-18 Uwzględniono fork subagents (v2.1.232) oraz przegląd zmian w wersjach v2.1.233/234. Do tabeli typów subagents dodano fork: „dziedziczy całą dotychczasową konwersację zamiast zaczynać od początku… fork otrzymuje ten sam prompt systemowy, narzędzia, model i historię wiadomości co sesja główna”; prompt cache jest współdzielony, ale wywołania narzędzi pozostają odizolowane — funkcja jest domyślnie włączona w sesjach interaktywnych od wersji v2.1.232, a wyłączona w -p/SDK; stwierdzenie „subagents zaczynają z czystym kontekstem” zawiera teraz wyjątek dotyczący fork. Pozostałe zmiany, opisane wyłącznie w changelogu: w wersji v2.1.233 narzędzia zadań (TaskCreate/Get/Update/List, TodoWrite) są domyślnie wyłączone w modelach bieżącej generacji (CLAUDE_CODE_ENABLE_TODO_TOOLS=1 przywraca ich działanie), przez co hooks TaskCreated/TaskCompleted również pozostają nieaktywne w konfiguracjach domyślnych; zgodnie z dokumentacją agent teams członkowie zespołu pozbawieni narzędzi zadań koordynują pracę „przez wiadomości zamiast współdzielonej listy zadań”. Wersja v2.1.234 usuwa ustawienie teammateDefaultModel (członkowie zespołu korzystają z modelu lidera, chyba że inny model zostanie wskazany w prompcie uruchamiającym lub przez CLAUDE_CODE_SUBAGENT_MODEL) oraz przekazuje powiadomienia o zadaniach działających w tle między turami wewnątrz znaczników <system-reminder>. 88
2026-08-12 Pierwszy całościowy audyt evidence gate — evaluator przeanalizował cały przewodnik; R1 uzyskał wynik 8,83 i wskazał sześć ustaleń MAJOR, które naprawiono w tym wpisie. Klasa powiązanych usterek (każdy wpis wydania pozostaje poprawny, a starsze warstwy nigdy nie są nadpisywane): podawano 30 zdarzeń hooks, choć w tabeli brakowało MessageDisplay — właśnie tego zdarzenia, które treść wskazuje jako kamień milowy stabilności (teraz 31; dodano wiersz); tabela wbudowanych typów subagents nadal informowała, że Explore działa na Haiku, co przeczyło wpisowi dotyczącym dziedziczenia modelu sesji w wersji v2.1.198 w tym samym changelogu; koszty deliberation oznaczone jako „bieżące” obliczono według historycznych cen Opus 4.x wynoszących 15/75 USD — były więc zawyżone trzykrotnie względem cen Opus 5 wynoszących 5/25 USD (przeliczono je, zachowując informację o starych wartościach); xhigh nadal opisywano jako „(tylko Opus-4.7)”, choć już kilka miesięcy wcześniej wersja v2.1.154 udostępniła tę funkcję w Opus 4.8; bezstanowa rewizja MCP wciąż miała status „zaplanowana na 28 lipca 2026”, mimo że dwa tygodnie wcześniej została wydana jako bieżąca rewizja specyfikacji (opisano ją ponownie w czasie przeszłym i zweryfikowano przypis); sekcja Workflow nadal rozpoczynała się od wyłączonej domyślnie flagi środowiskowej z wersji v2.1.147, chociaż dynamiczne workflows są domyślnie dostępne przez /workflows od wersji v2.1.154 (uzgodniono sekcję, TL;DR oraz wiersz tabeli zmiennych środowiskowych). Aktualizacja rozbieżności: ponownie zweryfikowano aktywne wersje SDK (Python 0.2.137, TS 0.3.229; zaktualizowano daty odnośników); dodano omówienie sessions-as-peers (v2.1.224 SendMessage/ListAgents, samodzielnie hostowane środowiska uruchomieniowe, domyślny tryb automatyczny z 14 sierpnia wraz z poradą dotyczącą przypięcia przez defaultMode); przy zbieżności skills i plugins odnotowano Agent Plugins 1.0.0 z zastrzeżeniem dotyczącym braku Anthropic; diagramy Ralph oznaczono ponownie jako fresh-context (modele obsługują teraz natywnie 1M); odpowiedź w FAQ dotyczącą opóźnień zawężono do projektu deliberation; metaopis skrócono do 155 znaków. Tytuł celowo pozostawiono z długością 61 znaków — stanowi zasób rankingowy, mimo przekroczenia szerokości wyświetlania o jeden znak. 86 87 89
2026-08-01 Poprawka nieaktualnej informacji: twierdzenie o wersji „według stanu na lipiec 2026”, które pozostała część przewodnika zdążyła już wyprzedzić. Akapit dotyczący Python SDK informował, że pakiet „osiągnął wersję v0.2.111 w PyPI (zawierającą Claude CLI v2.1.202), a TypeScript SDK — wersję v0.3.203” — w obu przypadkach były to dane nieaktualne o 17 wydań, podczas gdy inne sekcje tego samego przewodnika prawidłowo dokumentowały wersje 0.2.128 i 0.3.220. Obecnie wskazano wersję v0.2.128 (zawierającą CLI v2.1.220, z minimalną wersją mcp podniesioną do >=1.23.0) oraz v0.3.220, podając datę zweryfikowania zamiast nieprecyzyjnego miesiąca. Nowy przypis 90 odwołuje się do PyPI, npm oraz changelogu Python SDK. W tym okresie nie pojawiły się żadne nowe wydania upstream: 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 stabilna wersja Apple 26.6 pozostają bez zmian. 90
2026-07-29 Poprawka kompletności: trzy pola TS SDK v0.3.216 pominięte we wpisie z 21 lipca. Ponowne porównanie changelogu 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 określającą ścieżki, których zabezpieczenia rewind nie pozwoliły przywrócić ani usunąć, natomiast komunikat z wynikiem powodzenia zawiera opcjonalne pola user_message_uuid i request_sent_wall_ms, służące do korelowania opóźnień żą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 były już uwzględnione, w tym historia limitu głębokości zagnieżdżania subagents (początkowo 5, zmniejszona do 1 w wersji v2.1.217, ostatecznie ustalona na 3 w wersji v2.1.219) oraz limit współbieżności wynoszący 20 — wpis „depth cap lowered from 5 to 1” w changelogu SDK jest nieaktualnym zapisem wartości, której dalsze zmiany ten przewodnik już śledzi. Potwierdzono, że najnowsza wersja Agent SDK w npm to 0.3.220 (24 lipca), a w PyPI — 0.2.128; w tym okresie nie opublikowano nowszego wydania. 75
2026-07-27 Poprawka renderowania, bez zmian w treści. Nagłówek tego changelogu deklarował dwie kolumny, podczas gdy wiersze zawierały trzy, dlatego python-markdown skracał każdy wiersz do Date i Change, po cichu pomijając komórkę Source — wraz z dziewięcioma zawartymi w niej 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 listy odwołań, której strzałka powrotna wskazywała kotwicę nieistniejącą na stronie. Nagłówek ma teraz postać Date \| Change \| Source, co przywraca wszystkie dziewięć cytowań. Zweryfikowano to przez wyrenderowanie przewodnika przy użyciu własnej konfiguracji markdown serwisu i porównanie id="fn:N" z id="fnref:N": wcześniej 77 aktywnych odwołań, później 86, bez żadnych osieroconych. Podczas tego przeglądu tę samą usterkę wykryto i naprawiono w przewodnikach FastAPI + HTMX oraz Obsidian; ios-agent-development zawiera inną, nienaprawioną lukę w cytowaniach, opisaną w jego własnym raporcie.
2026-07-25 Przewodnik v1.27: Skorygowano domyślną głębokość zagnieżdżenia (3, nie 1), dodano Claude Opus 5 oraz czwartą oś zabezpieczeń. Korekta — głębokość tworzenia subagents ponownie wynosi 3 (v2.1.219): „Subagents mogą teraz domyślnie tworzyć 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”. Początkowo wartość domyślna wynosiła 5 (v2.1.172), następnie obniżono ją do 1 (v2.1.217), a ostatecznie ustalono na 3 (v2.1.219) — dwie ostatnie zmiany nastąpiły w ciągu trzech dni. Podsekcja Recursion Guard nie przedstawia już żadnej wartości domyślnej jako ustalonej; wskazuje teraz, że głębokość jest niestabilnym parametrem platformy i należy ją jawnie przypiąć za pomocą CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH, zamiast dziedziczyć. Powiązana poprawka: --forward-subagent-text przekazuje teraz również dane z subagents na głębokości 2 i większej, oznaczone 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 — należy wtedy ponownie uruchomić początkowe kontrole obszaru roboczego (kontrole zaufania, skanowanie sekretów, reguły ograniczone do ścieżek, zasady poszczególnych repozytoriów); tabela zdarzeń obejmuje teraz 30 pozycji. sandbox.network.strictAllowlist (v2.1.219): odrzuca hosty spoza listy dozwolonych dla poleceń wykonywanych w sandboxie bez wyświetlania monitu — zapewnia deterministyczne blokowanie ruchu wychodzącego i współdziała z sandbox.filesystem.disabled z v2.1.216; funkcję dodano do podsekcji poświęconej wzorcom ograniczania, ponieważ warstwa ustawień zaczyna odpowiadać zasadzie „najpierw ograniczać na poziomie środowiska”. Szerokość orkiestracji stanowi czwartą oś zabezpieczeń (v2.1.219): dynamiczne przepływy pracy domyślnie korzystają z wytycznej średniego rozmiaru („należy dążyć do liczby mniejszej niż 15 agents”), którą można ustawić w dowolnym pliku ustawień za pomocą nowego klucza workflowSizeGuideline (dostępnego również w typach ustawień TS SDK) i która jest wyświetlana w wierszu stanu działającego przepływu pracy — dotychczasowe trzy osie (liczba utworzeń, głębokość i współbieżność) zostały rozszerzone do czterech, a limit 15 ma wreszcie skalę zbliżoną do budżetu 12 agents na deliberation stosowanego w tym przewodniku, 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 za 10/50 USD przy około 2,5-krotnie większej szybkości; osiąga ponad dwukrotnie lepszy wynik niż Opus 4.8 w Frontier-Bench v0.1 i wynik różniący się o mniej niż 0,5% od wyniku Fable 5 w CursorBench 3.2 przy połowie kosztu. Zalecany w tym przewodniku domyślny model agentic zmienia się z Opus 4.8 na Opus 5; Opus 4.7 usunięto z trybu szybkiego (/fast ma teraz zastosowanie do Opus 5 i Opus 4.8), a model rezerwowy Fable 5 klasyfikatora trybu automatycznego jest rozwiązywany jako Opus 5. Tylko w changelogu: Py SDK v0.2.127 — zadania w tle po cichu omijały hooks PreToolUse: 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 pomijały hook (#1103). To drugie w ciągu miesiąca obejście mechanizmu wymuszania hooks po przypadku abort→hook-success w TS v0.3.208; wzorzec otrzymał teraz nazwę w zastrzeżeniu dotyczącym strumieniowania hooks w SDK — wymuszanie po stronie SDK zawodzi w sposób otwarty na granicach cyklu życia i robi to po cichu, ponieważ pominięty hook wygląda jak hook zatwierdzający. TS SDK v0.3.219: opcjonalne cancel_queued w żądaniu sterującym przerwania (funkcja interrupt_cancel_queued_v1); fast_mode_disabled_reason w wyniku i inicjalizacji; odpowiedź inicjalizacyjna nie raportuje już fast_mode_state modelu z chwili uruchomienia po jego zmianie. Diagnostyka MCP w CC v2.1.219: mcp_server_errors w zdarzeniu inicjalizacyjnym bezinterfejsowego strumienia JSON; status HTTP i tekst błędu w claude mcp list / /mcp po niepowodzeniu połączenia; ostrzeżenie o ukrytych białych znakach w wartościach konfiguracji MCP. Zakres ustawień zarządzanych: wpisy ${VAR} na zarządzanych listach dozwolonych i zabronionych MCP są teraz rozwiązywane na podstawie środowiska startowego oraz ś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 odrzuca już wygenerowanego tekstu, gdy tura kończy się niepowodzeniem w trakcie strumieniowania; CLAUDE_CODE_GIT_BASH_PATH jest ignorowane z ostrzeżeniem, jeśli nie wskazuje pliku binarnego 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ść. MCP: brak scaleń normatywnych; specyfikacja trybu bezstanowego nadal ma zostać opublikowana 2026-07-28. 84 85 91
2026-07-24 Przewodnik v1.26: Uwzględniono wpis Anthropic o wzorcach ograniczania + Claude Code v2.1.218. Do sekcji Security Considerations dodano podsekcję „Trzy wzorce ograniczania stosowane w różnych produktach”, opracowaną na podstawie wpisu inżynieryjnego Anthropic „Jak ograniczamy 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 zamknięte maszyny wirtualne działające na hypervisorach platformowych (Claude Cowork: framework Apple Virtualization / Windows HCS, dane uwierzytelniające w pęku kluczy hosta oraz ograniczone zakresowo, odwoływalne tokeny sesji egzekwowane przez defensywny serwer proxy MITM w maszynie wirtualnej) — wraz z opisanymi we wpisie zasadami projektowania harness: najpierw ograniczanie na poziomie środowiska, izolacja dopasowana do możliwości nadzoru użytkownika, sprawdzone w praktyce mechanizmy zamiast własnego kodu izolacji, traktowanie lokalnej konfiguracji projektu i wyników narzędzi jako niezaufanych danych wejściowych oraz przechowywanie danych uwierzytelniających poza sandboxem. Tylko w changelogu: CC v2.1.218 (22 lipca) — klasyfikator trybu automatycznego rozstrzyga kontrole niebezpiecznego rm, operatora & uruchamiającego proces 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 agents wymagają zaakceptowania zaufania do obszaru roboczego dla folderu zawierającego plik danego agent; 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ż samego siebie; pochodzenie rozwidlonej sesji jest zachowywane po kompakcji w sesjach bezinterfejsowych/SDK; przenoszenie do tła za pomocą Ctrl+B respektuje limity powłoki działającej w tle. TS SDK v0.3.218 (22 lipca): flaga SkillToolOutput.background; api_error_status raportuje 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: brak scaleń normatywnych; specyfikacja trybu bezstanowego nadal ma zostać opublikowana 2026-07-28. 81 82 83
2026-07-22 Przewodnik v1.25: Claude Code v2.1.217 — wycofanie domyślnej rekurencji subagents + limit współbieżności. Zagnieżdżone tworzenie jest domyślnie wyłączone: subagents nie mogą już tworzyć własnych subagents — domyślna rekurencja na pięciu poziomach wprowadzona w v2.1.172 obowiązywała do v2.1.216; głębsze zagnieżdżanie jest teraz opcjonalne i wymaga ustawienia CLAUDE_CODE_MAX_SUBAGENT_SPAWN_DEPTH (przepisano podsekcję Recursion Guard). Limit współbieżności: liczba jednocześnie działających subagents jest domyślnie ograniczona do 20 (CLAUDE_CODE_MAX_CONCURRENT_SUBAGENTS), dzięki czemu pojedyncza wiadomość nie może bez ograniczeń rozgałęziać się na agents działające w tle. Wbudowany zestaw zabezpieczeń obejmuje teraz wszystkie trzy osie monitorowane przez działający w przestrzeni użytkownika mechanizm budżetu tworzenia: łączną liczbę utworzeń w sesji (v2.1.212, limit 200), głębokość zagnieżdżenia (v2.1.217, domyślnie jeden poziom) oraz szerokość współbieżności (v2.1.217, domyślnie 20). Tylko w changelogu: w CC v2.1.217 --max-budget-usd rzeczywiście zatrzymuje teraz subagents działające w tle (po osiągnięciu limitu nowe utworzenia są odrzucane, a działające agents w tle — zatrzymywane); izolacja sesji w tle kanonizuje katalogi robocze wskazywane przez dowiązania symboliczne. Py SDK v0.2.125 zawiera CLI v2.1.217 bez zmian na powierzchni SDK; równolegle wydano TS SDK v0.3.217. PR #3092 do MCP (scalony 21 lipca): korekta normatywna dostosowująca kody błędów SEP-2575 do schematu roboczego ze zmienioną numeracją oraz zestawu testów zgodności — przygotowania do wydania 28 lipca trwają. 78 79 80
2026-07-21 Przewodnik v1.24: Claude Code v2.1.214–v2.1.216 — wzmocnienie ograniczania reguł do ścieżek i egzekwowania worktree, Codex v0.145.0 multi-agent V2 oraz 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 dir/ w dowolnym miejscu drzewa — obecnie są zakotwiczone wyłącznie w <cwd>/dir; warunki if: hooks z jednosegmentowym dir/** również dotyczą teraz wyłącznie cwd (aby objąć dowolny poziom zagnieżdżenia, należy użyć **/dir/**); reguły deny/ask celowo zachowują dopasowywanie na dowolnej głębokości (asymetryczne zabezpieczenie fail-safe: reguły allow w razie błędu bezpiecznie wymagają potwierdzenia, natomiast reguły deny nie mogą dopuścić operacji). Izolacja worktree jest teraz rygorystycznie egzekwowana (v2.1.216): subagents działające w worktree mogły przekierować git do współdzielonego checkoutu za pomocą git -C, --git-dir lub GIT_DIR/GIT_WORK_TREE — luka została zamknięta; sesje worktree nie trafiają już do pozostawionego worktree innego projektu; zapisy wykonywane przez workflow/zaplanowane zadania 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 uruchamia już samodzielnie dołączonych skills /verify i /code-review — wymagane jest jawne wywołanie. Codex v0.145.0: ustabilizowano opcjonalny tryb multi-agent V2 (konfigurowalne modele subagents, poziomy rozumowania, współbieżność i przywrócone role); /import migruje teraz ustawienia Claude Code oraz Cursor, serwery MCP, plugins, sesje, polecenia i pamięci ograniczone do projektu — jest to pełna migracja między harness, rozszerzająca możliwości v0.140.0. Tylko w changelogu: narzędzie CC v2.1.214 EndConversation; pakiet zabezpieczeń Bash/PowerShell działających zgodnie z zasadą fail-closed (przekierowania deskryptorów plików kończą się bezpieczną odmową, polecenia dłuższe niż 10 000 znaków zawsze wymagają potwierdzenia, indeksy zsh wymagają potwierdzenia, zamknięto automatyczne zezwalanie na help/man, flagi przekierowujące demona docker/Podman wymagają potwierdzenia, file -m/-f wymaga uprawnienia, poprawiono obejście zabezpieczeń w PowerShell 5.1); kod wyjścia 2 z hook blokuje operację nawet wtedy, gdy JSON ze stdout nie przejdzie walidacji schematu; frontmatter pamięci otrzymał znacznik czasu modified w formacie ISO bez cichego obcinania przy śródwierszowym #; OTel: message.uuid/client_request_id/tool_source oraz 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 danego agenta; zmiany skills/poleceń wprowadzone podczas sesji pojawiają się w menu ukośnikowym bez ponownego uruchamiania. TS SDK v0.3.214/v0.3.216: set_permission_mode odrzuca nieznane tryby; aborted: true w wiadomościach obciętych wskutek przerwania; subagent_type/subagent_retry w tool_progress; podtyp powiadomienia o zadaniu scheduled-trigger; źródło SessionStart o wartości "fork"; element towarzyszący tool_result_meta (non_execution_kind, user_feedback); rewindFiles raportuje skippedLinks dla ścieżek, których zabezpieczenia rewind nie pozwoliły przywrócić ani usunąć; 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 klasy BatBadBut dla Windows (odmowa uruchamiania .bat/.cmd; metaznaki cmd.exe w resume/session_id powodują zgłoszenie ValueError; rozpoczynające się łącznikiem extra_args są przekazywane jako --flag=value). Wzmocnienia Codex v0.145.0: limity czasu uruchamiania MCP, serializowane odświeżenia OAuth, nieblokujące wykrywanie OAuth, skuteczniejsze wykrywanie wymuszonego rm, zachowywanie powodów odrzucenia i 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 uznano za przestarzałe na rzecz Streamable HTTP. 74 75 76 77
2026-07-17 Przewodnik 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 oraz zgodność funkcjonalna 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) i limit WebSearch (200, CLAUDE_CODE_MAX_WEB_SEARCHES_PER_SESSION) — wzorzec budżetu uruchomień z warstwy użytkownika ma teraz natywne zabezpieczenie; parametr mode narzędzia Task uznano za przestarzały (subagents dziedziczą tryb uprawnień sesji nadrzędnej); /fork tworzy teraz nową sesję w tle (wariant działający w bieżącej sesji przemianowano na /subtask); wywołania MCP trwające ponad 2 min automatycznie przechodzą do tła (CLAUDE_CODE_MCP_AUTO_BACKGROUND_MS). Pierwszeństwo hook względem trybu automatycznego (v2.1.211): ask w PreToolUse ustala minimalny poziom decyzji na wymaganie potwierdzenia (tryb automatyczny nie może go zastąpić w przypadku nieizolowanego Bash); --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT dla stream-json; reguły „zawsze zezwalaj” są utrwalane w katalogu głównym repozytorium i obowiązują we wszystkich worktrees; podglądy uprawnień neutralizują próby podszywania się za pomocą znaków bidi, znaków o zerowej szerokości i podobnie wyglądających znaków. v2.1.210: naprawiono modyfikowanie głównego checkoutu przez subagents izolowane w worktree; wzmocniono Agent tool przed pośrednim wstrzyknięciem z treści odczytanych przez subagent; klasyfikator trybu automatycznego domyślnie korzysta z Sonnet 5 przypiętego na czas sesji; zapisy przekraczające limit MEMORY.md powodują błąd zamiast cichego obcięcia. v2.1.207/v2.1.208: tryb automatyczny udostępniono jako GA w Bedrock/Vertex/Foundry (rezygnacja przez disableAutoMode); monity dotyczące katastrofalnego usuwania pojawiają się mimo --dangerously-skip-permissions i trybu automatycznego; firmowy program uruchamiający CLAUDE_CODE_PROCESS_WRAPPER; do 7× szybsze rundy narzędzi przy dużej liczbie narzędzi MCP i transkrypcje mniejsze 79×. v2.1.203–v2.1.206: ochrona przed fabrykowaniem informacji (zablokowano manipulowanie plikami transkrypcji; powiadomienia o zadaniach w tle wyraźnie informują, że nie otrzymano żadnych danych od człowieka); roots/list w MCP uwzględnia dodatkowe katalogi robocze wraz z roots/list_changed; /doctor proponuje skrócenie treści CLAUDE.md, które 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 z {behavior:'allow'} bez updatedInput; poprawka bezpieczeństwa v0.3.208 — przerwanie przez wywołującego podczas oczekującego hook było przekształcane w powodzenie hook, co pozwalało narzędziom chronionym przez PreToolUse wykonać się po przerwaniu. Projekt specyfikacji MCP (PR #3002, scalony 16 lipca): opcjonalne, samodzielnie raportowane _meta odpowiedzi io.modelcontextprotocol/serverInfo oraz opcjonalne clientInfo — wyłącznie do wyświetlania/rejestrowania, NIE POWINNY wpływać na decyzje dotyczące bezpieczeństwa; ostateczna specyfikacja bezstanowa zostanie wydana 2026-07-28. Codex: v0.143.0 — domyślne udostępnianie narzędzi MCP przez wyszukiwanie narzędzi (odroczone ładowanie narzędzi); v0.144.0 — tryb zatwierdzania aplikacji writes oraz interaktywne uwierzytelnianie MCP jako GA; v0.144.5 — rozszerzone wykrywanie niebezpiecznych poleceń. Hostowana przez OpenAI wersja beta multi-agent: openai-agents-python v0.18.2 (11 lipca) oraz openai-agents-js v0.13.2 (10 lipca). Tylko w changelogu: poprawki wstrzykiwania flag argv w SDK (TS 0.3.212 / Py 0.2.121 — wartości resume/session_id rozpoczynające się łącznikiem są teraz przekazywane w formie z użyciem znaku równości); BashToolOutput.timedOutAfterMs; SDKAssistantMessage.timestamp; poprawka strumieniowania SessionStart w trybie headless w CC v2.1.204; domyślne użycie GPT-5.6 w openai-agents; wskazówki dotyczące ponawiania po odrzuceniu Mcp-Param-* w MCP. 68 69 70 71 72 73
2026-07-07 Przewodnik v1.22: Claude Code v2.1.196–v2.1.202. Sonnet 5 jest domyślnie dostarczanym modelem (v2.1.197) — przeformułowano uwagę dotyczącą poziomów modeli (ten przewodnik nadal zaleca Opus 4.8 jako domyślny model agentic dla autonomicznych harness). 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 compaction 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; kreator /agents został usunięty (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 wskutek ponownego użycia nazwy; można łączyć do 5 skills wywoływanych poleceniami ukośnikowymi. v2.1.200: tryb uprawnień default jest oznaczony jako „Ręczny” (alias manual) na liście permissionMode subagent. v2.1.196: w sekcji zarządzania odnotowano domyślne modele obowiązujące w całej organizacji; zamknięto możliwość samodzielnego zatwierdzania MCP. Aktualność SDK: claude-agent-sdk v0.2.111 (Python, zawiera CLI v2.1.202) / @anthropic-ai/claude-agent-sdk v0.3.203 (TS), z przyrostowymi zmianami względem udokumentowanej powierzchni 0.1.x. 67
2026-07-02 Przewodnik v1.21: aktualizacje zarządzania matcherami hooks i klasyfikatorem. Claude Code v2.1.195: matchery identyfikatorów zawierających łączniki stosują dopasowanie dokładne zamiast dopasowywania podciągów (zob. Architektura hooks — semantyka matcherów). Claude Code v2.1.193: autoMode.classifyAllShell kieruje całą powłokę przez klasyfikator trybu automatycznego, a powody odmowy są wyświetlane w transkrypcji/powiadomieniu typu toast//permissions (zob. Kwestie bezpieczeństwa). Codex v0.142.2: PowerShell z regionami AST, których nie można sprawdzić, wymaga teraz zatwierdzenia. Podczas tego cyklu aktualizacji wszystkie pozycje zweryfikowano względem kanonicznych changelogów. 66
2026-06-20 Przewodnik v1.20: Claude Code v2.1.183 + Codex v0.141.0 — nadzór i bezpieczeństwo zdalnego wykonywania. Do sekcji dotyczącej bezpieczeństwa dodano mechanizmy ochronne przed destrukcyjnymi poleceniami w trybie automatycznym (CC v2.1.183 bezwzględnie blokuje git reset --hard/checkout -- ./clean -fd/stash drop, git commit --amend w przypadku commitów niewykonanych przez agenta oraz terraform/pulumi/cdk destroy bez wskazanego stosu, chyba że użytkownik o to poprosił), przedstawione jako uzupełnienie reguł na poziomie parametrów i weryfikacji uruchamiania agentów na poziomie intencji; a do uwag o zgodności z Codex dodano zdalne executory korzystające z szyfrowanego przekaźnika Noise (Codex v0.141.0: kompleksowo szyfrowane kanały executorów, zachowanie cwd/powłoki między platformami, TLS P-521). 65
2026-06-16 Przewodnik v1.19: mechanizmy nadzoru i określania zakresu z Claude Code v2.1.173–v2.1.179 oraz import między narzędziami w Codex v0.140.0. W treść włączono wydanie v2.1.178: reguły uprawnień na poziomie parametrów Tool(param:value) z symbolem wieloznacznym * (np. Agent(model:opus) pozwalającym zablokować klasę modelu) oraz zarządzane ustawienie enforceAvailableModels (v2.1.175) — oba w sekcji Bezpieczeństwo → Granice uprawnień; tryb automatyczny weryfikuje teraz uruchamianie subagentów przed ich startem, zamykając lukę pozwalającą obejść zabezpieczenia przez uruchomienie agenta (Wzorce subagentów); ładowanie zagnieżdżonych .claude/skills i rozstrzyganie według zasady „najbliższy wygrywa” dla skills/agentów/workflows/stylów wynikowych w zagnieżdżonych drzewach .claude/ (System skills); oraz poprawkę dopasowywania specyfikacji serwera MCP przez disallowedTools (Pola konfiguracji subagenta). Do uwagi o zgodności z Codex dodano między narzędziami przenośność przez /import oraz trwałe usuwanie sesji (v0.140.0). 63 64
2026-06-10 Przewodnik v1.18: rekurencyjni subagenci (Claude Code v2.1.172). Do podsekcji Ochrona przed rekurencją dodano uwagę: subagenci Claude Code mogą teraz uruchamiać własnych subagentów, tworząc zagnieżdżenia o głębokości do 5 poziomów — wcześniej delegowanie było w praktyce ograniczone do jednego poziomu (v2.1.172, 10 czerwca). Wzorzec budżetu uruchomień i limitu głębokości w warstwie użytkownika przedstawiono jako mechanizm zapobiegający niekontrolowanemu rozrastaniu się 5-poziomowego drzewa, traktując 5 poziomów jako limit platformy, a nie wartość domyślną. 62
2026-06-09 Przewodnik v1.17: Claude Code v2.1.169–v2.1.170 + Codex v0.138.0–v0.139.0 — nadzór i wzmocnienie multi-agent-v2. W treść włączono 5 zweryfikowanych zmian w architekturze harness. System skills wzbogacono o podsekcję „Ukrywanie wbudowanej powierzchni jako mechanizm nadzoru”: ustawienie disableBundledSkills (oraz zmienna środowiskowa CLAUDE_CODE_DISABLE_BUNDLED_SKILLS) ukrywa przed modelem wbudowane skills, workflows i polecenia z ukośnikiem, celowo ograniczając powierzchnię ataku (v2.1.169). W czerwcowej podsekcji dotyczącej architektury hooks dodano flagę --safe-mode (oraz CLAUDE_CODE_SAFE_MODE), która uruchamia sesję z wyłączonymi wszystkimi dostosowaniami — CLAUDE.md, plugins, skills, hooks, MCP — na potrzeby diagnostyki w czystym środowisku i nadzoru (v2.1.169), a także uwagę o klasie modelu: Claude Fable 5 (claude-fable-5) firmy Anthropic zadebiutował 9 czerwca jako klasa Mythos powyżej Opus; od wersji v2.1.170 można go wybrać przez /model claude-fable-5, natomiast Opus 4.8 pozostaje domyślnym modelem agentowym Claude Code. Do sekcji Pamięć i kontekst dodano polecenie /cd (v2.1.169), które przenosi sesję do nowego katalogu roboczego bez naruszania pamięci podręcznej promptu w trakcie sesji. Sekcję Orkiestracja wielu agentów / zgodność z Codex wzmocniono z myślą o środowisku produkcyjnym: nazwa close_agent została zmieniona na interrupt_agent (v0.139.0), dodano szyfrowane ładunki wiadomości między agentami, katalog konfiguracji agentów v2, LRU rezydentności agentów oraz zliczanie współbieżności według aktywnego wykonywania (v0.138.0), wykrywanie AGENTS.md skierowano przez systemy plików środowisk z zachowaniem ścieżek logicznych, aby zapewnić prawidłowy wybór plików w zdalnych przestrzeniach roboczych i przestrzeniach z dowiązaniami symbolicznymi (v0.138.0/v0.139.0), a ostrzeżenia uruchomieniowe MCP subagenta ograniczono do wątku będącego jego 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 + Codex v0.137.0. Dodano podsekcję „Sterowanie przez Stop hooks, uprawnienia między sesjami i multi-agent v2”, obejmującą 4 zmiany istotne dla harness: (1) hooks Stop/SubagentStop mogą zwracać hookSpecificOutput.additionalContext, aby wstrzyknąć informację zwrotną „zadanie nie jest jeszcze ukończone — oto dlaczego” i kontynuować turę bez bloku błędu hook (v2.1.163); (2) wzmocniono komunikację między sesjami, dzięki czemu wiadomości z innej sesji przekazywane przez SendMessage nie dziedziczą już uprawnień użytkownika źródłowego — przychodzące wiadomości między agentami należy traktować jako niezaufane dane (v2.1.166); (3) ustawienie fallbackModel tworzy łańcuch maksymalnie 3 modeli zapasowych i umożliwia jednorazową ponowną próbę z modelem zapasowym w przypadku nieponawialnych błędów API, natomiast claude agents --json dodaje pole waitingFor zapewniające obserwowalność 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 podrzędnych oraz dodaje rozszerzenie skills v1 z rozstrzyganiem katalogu w każdej turze i zdarzeniami współtwórców cyklu życia przy rozpoczęciu wątku/błędzie tury. Specyfikacja AGENTS.md nie uległa zmianie (nadal jest zarządzana przez Agentic-AI-Foundation i nie ma wersjonowanego dziennika zmian). 59
2026-05-31 Przewodnik v1.15: Claude Code v2.1.157 + poprawki Hermes v0.15.1/v0.15.2. Dodano podsekcję „Konwergencja plugins i skills w .claude/skills/: Claude Code v2.1.157 automatycznie ładuje każdy folder w katalogu projektu .claude/skills/ jako plugin bez rejestracji w marketplace, a claude plugin init <name> tworzy tam szkielet nowego pluginu z manifestem i SKILL.md. Konsekwencja dla harness jest istotna — narzędzia projektowe o wąskim zakresie nie muszą już ponosić kosztu tworzenia manifestu, aby trafić do systemu kontroli wersji; plugins nadal odpowiadają za 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ń działających w tle odblokowane po zakończeniu pracy agenta, dzięki czemu git worktree remove/prune działają bez przeszkód. Hermes Agent v0.15.1 (29 maja) to wydana tego samego dnia poprawka awaryjna Velocity: naprawiono pętlę ponownego ładowania panelu po błędzie 401 w trybie loopback, Docker wymaga teraz jawnego ustawienia HERMES_DASHBOARD_INSECURE=1, samodzielne polecenia MCP (npx, npm, node) są rozpoznawane w Docker, przywrócono stronę Skills, procesy robocze Kanban prawidłowo reagują na SIGTERM, a katalog Skills.sh rozrósł się z 858 do 19 932 pozycji za pośrednictwem mapy 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 architektury dla Claude Code v2.1.152–v2.1.154, Codex v0.134.0–v0.135.0 i Hermes v0.15.0. W Claude Code zmieniono ustawienia domyślne i dodano elementy pierwotne orkiestracji: Opus 4.8 jest teraz modelem domyślnym, domyślnie z wysokim poziomem effort, oraz udostępnia nowe /effort xhigh; dynamic workflows orkiestrują w tle od dziesiątek do setek agentów za pośrednictwem /workflows; odchudzony 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 foldery skills bez ponownego uruchamiania; hooks SessionStart mogą zwracać reloadSkills: true i ustawiać hookSpecificOutput.sessionTitle; --fallback-model przełącza model w trakcie sesji, gdy podstawowy model jest niedostępny; tryb automatyczny nie wymaga już uprzedniej zgody; zarządzane ustawienie pluginSuggestionMarketplaces tworzy listę dozwolonych marketplace’ów organizacji na potrzeby sugestii uwzględniających kontekst; claude agents obsługuje sesje powłoki działające w tle przez ! <command>; plugins mogą deklarować defaultEnabled: false; środowisko podprocesu stdio MCP zawiera teraz CLAUDE_CODE_SESSION_ID i CLAUDECODE=1. W Codex v0.134.0 --profile stał się podstawowym selektorem profilu w przepływach CLI, uprawnień TUI i sandbox (starsze konfiguracje są odrzucane wraz ze wskazówkami dotyczącymi migracji), dodano lokalne wyszukiwanie w historii konwersacji, usprawniono konfigurację MCP przez możliwość wskazywania środowiska dla poszczególnych serwerów oraz OAuth dla serwerów HTTP obsługujących strumieniowanie, a także umożliwiono równoległe uruchamianie narzędzi MCP tylko do odczytu, jeśli deklarują readOnlyHint; w wersji v0.135.0 dodano bogatszą diagnostykę codex doctor, szczegóły zdalnego środowiska 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 wieloagentowy Kanban v2 z automatyczną dekompozycją i topologią roju, Bitwarden Secrets Manager zastępujący klucze poszczególnych dostawców jednym tokenem rozruchowym, mechanizm Promptware defense chroniący przed wstrzykiwaniem promptów klasy Brainworm w trzech krytycznych punktach zabezpieczeń, pakiety skills, orkiestrator sesji TUI do zarządzania wieloma sesjami w jednym terminalu oraz 4500-krotnie szybsze session_search po usunięciu zależności LLM. Konsekwencje dla architektury harness: wzorzec nazwanych profili (Codex --profile, Claude Code pluginSuggestionMarketplaces) staje się standardowym elementem konfiguracji wielodostępnych środowisk uruchomieniowych agentów; współbieżne narzędzia MCP tylko do odczytu (Codex readOnlyHint) stanowią właściwy wzorzec równoległego pobierania kontekstu bez modyfikowania danych; hook MessageDisplay zapewnia operatorom pełnoprawną powierzchnię transformacji, która nie była dostępna z poziomu PostToolUse ani Stop; ponadto domyślny odchudzony prompt systemowy eliminuje istniejący od dawna 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 dla Claude Code v2.1.150 oraz OpenAI Agents SDK v0.17.3. Lokalne polecenie claude --version zwróciło 2.1.144 (Claude Code), podczas gdy najnowsza wersja npm pakietu @anthropic-ai/claude-code oraz najnowsze wydanie GitHub wskazywały v2.1.150. Dodano wytyczne dotyczące harness dla wersji v2.1.149, obejmujące poprawki omijania uprawnień w PowerShell, poprawki analizy uprawnień dla reguł zezwalających PowerShell i nieaktualnych zmiennych oraz poprawkę listy dozwolonych zapisów sandbox dla git-worktree; zaznaczono, że v2.1.150 zawiera wyłącznie zmiany infrastruktury wewnętrznej, bez zapowiedzianych zmian widocznych dla użytkowników. Najnowsza wersja openai-agents w PyPI to 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 rozpakowywania archiwów, podścieżek GitRepo, danych uwierzytelniających sandbox, względnych folderów głównych obszaru roboczego 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), podczas gdy najnowsza wersja npm pakietu @anthropic-ai/claude-code wskazywała 2.1.147. Dodano domyślnie wyłączone narzędzie Workflow jako dostarczany natywnie, deterministyczny element pierwotny orkiestracji wieloagentowej oraz wyjaśniono, że hooks, testy, bramki przeglądu, limity tworzenia agentów i raporty dowodowe nadal wyznaczają granicę poprawności.52
2026-05-15 Przewodnik v1.11: przegląd sesji działających w tle i niezawodności plugins w Claude Code v2.1.142. Lokalne polecenie claude --version zwróciło 2.1.141 (Claude Code), podczas gdy najnowsza wersja npm pakietu @anthropic-ai/claude-code wskazywała 2.1.142. Dodano wytyczne dla operatorów dotyczące nowych flag wysyłania zadań w claude agents, domyślnego trybu Fast w Opus 4.7, wykrywania pliku SKILL.md w katalogu głównym plugin, widoczności LSP plugin, zachowania zdalnego HTTP/SSE dla MCP_TOOL_TIMEOUT oraz poprawek niezawodności sesji działających w tle, daemon i pamięci podręcznej plugin.51
2026-05-14 Przewodnik v1.10: przegląd sygnalizowania operatorowi 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 również wskazywała 2.1.141. Dodano wytyczne dla hooks dotyczące używania terminalSequence jako mechanizmu sygnalizowania operatorowi, a nie egzekwowania reguł, wskazano claude agents --cwd <path> dla widoku Agent View ograniczonego do określonego folderu oraz udokumentowano wpływ CLAUDE_CODE_PLUGIN_PREFER_HTTPS i ANTHROPIC_WORKSPACE_ID na architekturę instalowania plugins i 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). Do wytycznych dotyczących hooks agentów dodano subagent_type, a sekcję zarządzania hooks zaktualizowano 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 ukierunkowana analiza bezpieczeństwa agentów i pamięci. Zweryfikowano lokalne claude --version jako 2.1.139 i dodano zmiany operacyjne z wersji v2.1.139: Agent View przez claude agents, pętle realizacji celu /goal, argument args hooks poleceń, PostToolUse continueOnBlock, MCP CLAUDE_PROJECT_DIR oraz poprawkę aktywnego czasu OpenTelemetry.424344 Dodano ostrzeżenie dotyczące selekcji zawartości pamięci na podstawie preprintu arXiv „The Memory Curse”, wytyczne dotyczące zachowania przez człowieka uprawnień do scalania na podstawie preprintu arXiv o cyklu życia PR oraz wytyczne bezpieczeństwa dotyczące dzienników agentów i guardrails na podstawie komunikatów Gryph Agents i LiteLLM.45464748 Poprawiono nieaktualny wiersz budżetu tokenów Skills vs Hooks vs Subagents z 2% na obecny limit 1% / 8000 znaków dla opisów skill.
2026-05-09 Przewodnik v1.7: uzupełnienie z 3. dnia dotyczące Claude Code v2.1.136 i openai-agents-python v0.17.0. Do sekcji Hook Architecture dodano podsekcję dotyczącą autoMode.hard_deny oraz poprawek hooks/plugins w v2.1.136, obejmującą nową warstwę bezwarunkowego blokowania, poprawkę znikania MCP po /clear w VS Code/JetBrains/Agent SDK, utraty tokena odświeżania MCP OAuth podczas równoczesnego odświeżania, blokowania zapisu w trybie planowania przy dopasowaniu reguły zezwalającej Edit(...), wyścigu podczas czyszczenia pamięci podręcznej plugin Stop/UserPromptSubmit, ukrywania domyślnego folderu skills/ przez wpis skills oraz dezaktualizacji zmiennych środowiskowych hooka SessionStart z CLAUDE_ENV_FILE po /resume//clear.40 Do sekcji Production Patterns dodano podsekcję OTel Feedback Survey dotyczącą CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL.40 Podsekcję The Sandbox rozszerzono o zabezpieczenia openai-agents-python v0.17.0: LocalFile.src / LocalDir.src są ograniczone do base_dir, chyba że dostęp zostanie przyznany przez Manifest.extra_path_grants z użyciem SandboxPathGrant.41 Do sekcji Managed vs. Self-Hosted 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: uzupełnienie z 2. dnia dotyczące Claude Code v2.1.132/v2.1.133 oraz SDK v0.1.77. Do sekcji Skills System dodano podsekcję SDK Skill Surface dotyczącą opcji skills w ClaudeAgentOptions oraz wycofania "Skill" z allowed_tools.37 Do sekcji Hook Architecture dodano podsekcję Effort and Session Provenance, obejmującą nowe pole JSON effort.level, zmienną środowiskową $CLAUDE_EFFORT w danych wejściowych hooka oraz zmienną środowiskową CLAUDE_CODE_SESSION_ID w podprocesach Bash.3839 Do tabeli Subagent Configuration Fields dodano poprawkę wykrywania skill przez subagents (subagents wykrywają teraz skills projektu, użytkownika i plugin za pośrednictwem narzędzia Skill; przed wersją v2.1.133 były one po cichu pomijane).39 Do sekcji Production Patterns dodano podsekcję Worktree Base, Sandbox Paths, and Admin Settings dotyczącą worktree.baseRef (wycofanie zmiany domyślnej powodującej niezgodność — powrót z lokalnego HEAD do origin/<default>), sandbox.bwrapPath, sandbox.socatPath oraz parentSettingsBehavior.39
2026-05-07 Przewodnik v1.5: Claude Managed Agents, rozszerzenie zaprezentowane 6 maja w San Francisco. Do sekcji Pamięć i kontekst dodano strategię 5 (zarządzana selekcja pamięci: Dreaming, Research Preview) wraz z tabelą porównującą system plików jako pamięć z Dreaming.35 Na początku sekcji Orkiestracja wieloagentowa dodano Managed Multiagent Orchestration (Public Beta) oraz Outcomes (Public Beta), zamieszczając dosłowne cytaty Anthropic dotyczące specjalistów korzystających ze współdzielonego systemu plików i śledzenia w Claude Console, a także tabelę porównującą je z samodzielnie hostowanym procesem deliberation. Dodano podsekcję o strumieniowaniu zdarzeń hooks po stronie SDK, obejmującą include_hook_events i HookEventMessage z claude-agent-sdk-python v0.1.74.36 Tylko w changelogu: Claude Code v2.1.124–v2.1.131 (claude project purge, --dangerously-skip-permissions dla folderów projektu, invocation_trigger zdarzenia skill_activated, poprawka formatowania przy zapisie w PostToolUse, poprawka blokowania PreToolUse przez 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 hooks i skills w Claude Code na podstawie bieżącej oficjalnej dokumentacji oraz lokalnych danych z działania środowiska (claude --version 2.1.132, polecenie codex --version zwróciło codex-cli 0.128.0). Zaktualizowano zestaw hooks z 22/26+ do 29 udokumentowanych zdarzeń, poprawiono budżet opisów skills z 2%/16 000 na 1%/8 000, zmieniono liczbę typów hooks z czterech na pięć, dodając mcp_tool, usunięto niepoparte źródłami twierdzenie o stałym limicie „10 równoległych subagents” oraz dodano bezpieczną do publikacji sekcję o odpowiednikach w Codex, obejmującą AGENTS.md, skills, hooks, plugins i jawne przepływy pracy z subagents.
2026-04-29 Przewodnik v1.3: Rozszerzono omówienie OpenAI Agents SDK w sekcji Zarządzane i samodzielnie hostowane harnesses o nazwane elementy interfejsu SDK z pakietu openai-agents Python v0.14.0 (15 kwietnia) — SandboxAgent, Manifest, SandboxRunConfig, pamięć środowiska sandbox z progressive disclosure, montowanie przestrzeni roboczych (S3/R2/GCS/Azure), przenośne migawki oraz backendy klienta: lokalny, Docker i hostowany (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel). Drugorzędne źródło Help Net Security zastąpiono pierwotnym źródłem w postaci informacji o wydaniu v0.14.0. Dodano krótką wzmiankę o claude-agent-sdk-python v0.1.69–v0.1.71 (28–29 kwietnia) jako trzeciej opcji samodzielnie hostowanej (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 bez ostrzeżenia pomijały CallToolResult z działających w procesie narzędzi MCP), naprawiono anulowanie nursery w Trio i zapewniono zgodność pól listy dozwolonych elementów SandboxNetworkConfig z SDK w TS. Udoskonalenia SDK w wersjach v0.14.7–v0.14.8 opisano w [^58].
2026-04-25 Przewodnik v1.2: Google Cloud Next 2026 (22–24 kwietnia) — Vertex AI zmieniło nazwę 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; agenci partnerscy 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 agentami; produkcyjna wersja protokołu A2A v1.0 używana 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 w czasie rzeczywistym wykonywanie agentów i wywołania narzędzi, udostępniono jako wersję zapoznawczą wraz ze stabilnym interfejsem 1.0. Salesforce Headless 360 (15 kwietnia, TDX): każda funkcja Salesforce (CRM, obsługa klienta, marketing, handel elektroniczny) udostępniona jako polecenie API/narzędzie MCP/CLI, dzięki czemu agenci tacy 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): Know Your Agent — ramy zarządzania dla regulowanych usług finansowych (płatności, zgodność z przepisami, zarządzanie majątkiem), pierwsze tego rodzaju opracowane przez licencjonowaną instytucję finansową; dostępne w Claude, Claude Code, OpenClaw i innych zgodnych platformach AI. Cennik Claude Managed Agents: 0,08 USD za godzinę sesji podczas jej działania, bez opłat za środowisko wykonawcze w czasie bezczynności — oprócz standardowych stawek za tokeny modeli Claude. (Według strony Anthropic z cennikiem Claude; publiczna wersja beta została uruchomiona 8 kwietnia 2026). Memory for Managed Agents weszło w publiczną wersję beta 23 kwietnia 2026 pod nagłówkiem wersji beta managed-agents-2026-04-01. Wszystkie endpointy Managed Agents wymagają obecnie tego nagłówka wersji beta.
2026-04-16 Przewodnik v1.1: Dodano sekcję Zarządzane i samodzielnie hostowane harnesses, obejmującą Claude Managed Agents (wersja beta z 8 kwietnia) oraz rozdzielenie harness/zasobów obliczeniowych w OpenAI Agents SDK (16 kwietnia). Dodano Scion — wieloagentowy hypervisor działający między narzędziami (7 kwietnia, Google). Udokumentowano odkrycie dotyczące plateau debaty w M3MAD-Bench. Dodano Pięć zasad godnych zaufania agentów (Anthropic, 9 kwietnia) oraz zarządzanie MCP/AGENTS.md przez Linux Foundation. Dodano odniesienie do środowiska sandbox dla skills Permiso SandyClaw. Nowe długoterminowe wzorce Opus 4.7: odporność na awarie narzędzi, poziom nakładu xhigh, górny limit budżetu tokenów (wersja beta task_budget) oraz świadomość niejawnych potrzeb ograniczająca potrzebę tworzenia rozbudowanej struktury CLAUDE.md.
2026-03-24 Pierwsza publikacja

Źródła


  1. Andrej Karpathy o „claws” jako nowej warstwie nad agentami LLM. Dyskusja na HN (406 punktów, 917 komentarzy). 

  2. Implementacja autora. 84 hooks, 48 skills, 19 agentów, około 15 000 wierszy orkiestracji. Opisana w artykule Claude Code jako infrastruktura

  3. Anthropic, „Claude Code Hooks: kody wyjścia”. code.claude.com/docs/en/hooks. Kod wyjścia 0 zezwala, 2 blokuje, a 1 generuje ostrzeżenie w przypadku większości zdarzeń; WorktreeCreate ma bardziej rygorystyczne zasady. 

  4. 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. 

  5. Anthropic, „Claude Code Sub-agents”. code.claude.com/docs/en/sub-agents. Izolowany kontekst, obsługa worktree, zespoły agentów. 

  6. Anthropic, „Dokumentacja Claude Code”. docs.anthropic.com/en/docs/claude-code. Pliki pamięci, CLAUDE.md, automatyczna pamięć. 

  7. Wieloagentowy system deliberacji autora. 10 person badawczych, 7-fazowa maszyna stanów, 141 testów. Opisany w artykule Deliberacja wieloagentowa

  8. Simon Willison, „Pisanie kodu jest teraz tanie”. Wzorce inżynierii agentowej

  9. Laban, Philippe i in., „LLMs gubią się w wieloturowych konwersacjach”, arXiv:2505.06120, maj 2025. Microsoft Research i Salesforce. 15 LLMs, ponad 200 000 rozmów, średni spadek wydajności o 39%. 

  10. Mikhail Shilkov, „Wewnątrz Claude Code Skills: struktura, prompty i wywoływanie”. mikhail.io. Niezależna analiza wykrywania skills, wstrzykiwania kontekstu oraz sekcji promptu available_skills

  11. Kod źródłowy Claude Code, SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code

  12. Anthropic, „Najlepsze praktyki tworzenia Skills”. platform.claude.com. Limit 500 wierszy, pliki pomocnicze, konwencje nazewnictwa. 

  13. Anthropic, „Claude Code Hooks: zdarzenia cyklu życia”. code.claude.com/docs/en/hooks. 31 udokumentowanych zdarzeń cyklu życia, typy hooks, działanie mechanizmu dopasowywania, asynchroniczne hooks, hooks HTTP, hooks promptów, hooks agentów oraz hooks narzędzi MCP. 

  14. Samouczek autora dotyczący Claude Code hooks. 5 produkcyjnych hooks utworzonych od podstaw. Opisany w artykule Samouczek Claude Code Hooks

  15. Zarządzanie oknem kontekstu przez autora na przestrzeni 50 sesji. Opisane w artykule Zarządzanie oknem kontekstu

  16. Implementacja Ralph Loop autorstwa autora. Iteracje ze świeżym kontekstem, stanem w systemie plików i budżetami uruchomień. Opisana w artykule Ralph Loop

  17. 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

  18. Nemeth, Charlan, W obronie wichrzycieli: siła sprzeciwu w życiu i biznesie, Basic Books, 2018. 

  19. Wu, H., Li, Z. i Li, L., „Czy agenci LLM naprawdę potrafią debatować?”. arXiv:2511.07784, 2025. 

  20. Liang, T. i in., „Wspieranie myślenia dywergencyjnego w dużych modelach językowych za pomocą debaty wieloagentowej”, EMNLP 2024

  21. Analiza AGENTS.md przeprowadzona przez autora na podstawie rzeczywistych repozytoriów. Opisana w artykule Wzorce AGENTS.md. Zob. także: blog GitHub, „Jak napisać świetny agents.md: wnioski z ponad 2 500 repozytoriów”. 

  22. Metodyka quality loop i evidence gate opracowana przez autora. Część systemu Jiro Craftsmanship. 

  23. Anthropic, „Omówienie zarządzanych agentów Claude”. Publiczna wersja beta uruchomiona 8 kwietnia 2026. Harness jako usługa z zapisywaniem punktów kontrolnych sesji, dołączonym sandboxem i REST API. Cennik: standardowa opłata za tokeny + 0,08 USD za godzinę sesji. Nagłówek wersji beta: managed-agents-2026-04-01

  24. OpenAI, „Informacje o wydaniu openai-agents Python v0.14.0”. Wydanie 15 kwietnia 2026; ogłoszenie opublikowano 16 kwietnia. Wprowadza interfejs Sandbox Agents SDK jako warstwę beta nad istniejącym przepływem Agent / Runner: SandboxAgent, Manifest (kontrakt przestrzeni roboczej), SandboxRunConfig, możliwości (powłoka, edycja systemu plików, inspekcja obrazów, skills, pamięć sandboxa, kompakcja), montowanie przestrzeni roboczych (lokalnych, Git, zdalnych: 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, DockerSandboxClient oraz 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

  25. Google Cloud, „Scion: wieloagentowy hiperwizor”. Udostępniony jako open source 7 kwietnia 2026. Orkiestruje Claude Code, Gemini CLI i innych zaawansowanych agentów jako izolowane procesy, z osobnym kontenerem, git worktree i poświadczeniami dla każdego agenta. Tryby wdrożenia: lokalny, hub i Kubernetes. Relacja InfoQ

  26. 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, który wykazuje wypłaszczanie się wyników oraz podatność na mylący konsensus; Tool-MAD — heterogeniczne przypisywanie narzędzi poszczególnym agentom oraz oceny sędziowskie Faithfulness/Relevance. 

  27. 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ść i prywatność. Darowizna MCP na rzecz Agentic AI Foundation działającej przy Linux Foundation. 

  28. Permiso Security, „SandyClaw: pierwszy dynamiczny sandbox dla AI Agent Skills”. 2 kwietnia 2026. Sandbox wykonywania skills z mechanizmami wykrywania Sigma/YARA/Nova/Snort oraz werdyktami popartymi dowodami. 

  29. Anthropic, „Przedstawiamy Claude Opus 4.7”. 16 kwietnia 2026. Usprawnienia agentów działających w długim horyzoncie: 3-krotnie wyższa skuteczność rozwiązywania zadań produkcyjnych SWE-Bench niż w Opus 4.6, odporność na awarie narzędzi, poziom wysiłku xhigh, budżety zadań (wersja beta), rozpoznawanie niejawnych potrzeb. Zob. także Co nowego w Opus 4.7, gdzie opisano niekompatybilne wstecznie zmiany w Messages API. 

  30. Zestawienie źródeł — OpenAI openai-agents-python v0.14.7 (28 kwietnia 2026) i v0.14.8 (29 kwietnia 2026); Anthropic claude-agent-sdk-python v0.1.69 (28 kwietnia), v0.1.70 (28 kwietnia) oraz v0.1.71 (29 kwietnia). Najważniejsze zmiany w v0.14.7: pomocnicze właściwości tool_name/call_id w 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łach LocalFile, usuwanie 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 sandboxa. W claude-agent-sdk-python v0.1.69 dodano docstringi do pól ClaudeAgentOptions i zaktualizowano dołączony CLI do v2.1.121; w v0.1.70 podniesiono minimalną wersję zależności mcp do >=1.19.0 (starsze wersje po cichu pomijały wartości zwracane jako CallToolResult przez działające w ramach procesu procedury obsługi narzędzi MCP), naprawiono uszkodzenie nursery Trio podczas wczesnego anulowania przy iterowaniu po query() z ustawioną opcją options.stderr (czytnik stderr korzysta teraz ze spawn_detached()) oraz zaktualizowano dołączony CLI do v2.1.122; w v0.1.71 dodano pola list dozwolonych domen (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup) do SandboxNetworkConfig, aby zapewnić zgodność ze schematem TypeScript, oraz zaktualizowano dołączony CLI do v2.1.123. 

  31. 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 i ogranicza rozmiar dokumentacji projektowej za pomocą project_doc_max_bytes

  32. OpenAI, „Agent Skills”. Codex skills korzystają z SKILL.md, stopniowego ujawniania informacji, jawnego wywoływania za pomocą $skill oraz niejawnej aktywacji na podstawie opisów. 

  33. OpenAI, „Codex Hooks”. Codex hooks obsługują hooks poleceń w konfiguracji, hooks pluginów, zarządzane hooks, mechanizmy dopasowania dla obsługiwanych zdarzeń, dane wejściowe stdin w formacie JSON oraz pola wyjściowe JSON. 

  34. OpenAI, „Codex Subagents” oraz „Dziennik zmian Codex CLI 0.128.0”. Codex obsługuje jawne, równoległe przepływy pracy z subagents, wbudowanych agentów default, worker i explorer, niestandardowych agentów TOML, dziedziczone zasady sandboxa, hooks dołączane do pluginów, stan włączenia hooks oraz trwałe przepływy pracy /goal w wersji 0.128.0. 

  35. Anthropic, „Nowości w Claude Managed Agents”. 6 maja 2026. Dreaming (wersja zapoznawcza do celów badawczych): zaplanowany proces 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 rubryce, w której osobny moduł oceniający punktuje wynik względem rubryki 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 pełne śledzenie każdego kroku jest dostępne w Claude Console. 

  36. Anthropic, claude-agent-sdk-python v0.1.74. 6 maja 2026. Dodaje include_hook_events do ClaudeAgentOptions; po ustawieniu tej opcji zdarzenia hooks (PreToolUse, PostToolUse, Stop i inne) są emitowane przez CLI i zwracane ze strumienia wiadomości jako HookEventMessage, analogicznie do includeHookEvents w TypeScript SDK. Dołączony Claude CLI zaktualizowano do v2.1.129. 

  37. Anthropic, claude-agent-sdk-python v0.1.77. 8 maja 2026. Wycofuje wartość "Skill" w allowed_tools na rzecz osobnej opcji skills w ClaudeAgentOptions, zapewnia Claude Code bardziej ustrukturyzowane informacje o dostępnych skills, poprawia komunikaty o błędach dla wyjątków Command failed oraz zawiera Claude CLI v2.1.133. 

  38. Anthropic, Claude Code v2.1.132. 6 maja 2026. Dodaje zmienną środowiskową CLAUDE_CODE_SESSION_ID do podprocesów narzędzia Bash (odpowiada ona session_id, który jest już widoczny dla hooks), CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN, aby zachować rozmowę w natywnej historii 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 łagodne zamykanie po SIGINT, uszkodzenie emoji z parami surogatów przy --resume, flagę --permission-mode w trybie planowania, obsługę kursora dla pism indyjskich i sekwencji ZWJ, operacje vim w NFD, pomijanie wklejanego tekstu zaczynającego się od /, nieograniczone zużycie pamięci przez MCP, ponawianie tools/list przez MCP, błąd 400 w Bedrock + Vertex przy ENABLE_PROMPT_CACHING_1H oraz wyświetlanie skumulowanej liczby tokenów przez context_window w wierszu stanu. 

  39. Anthropic, Claude Code v2.1.133. 7 maja 2026. Hooks otrzymują teraz dane wejściowe JSON effort.level oraz zmienną środowiskową $CLAUDE_EFFORT (dostępną również z poleceń Bash). Subagents wykrywają projektowe, użytkownika i pluginów skills za pomocą narzędzia Skill (poprawka regresji). Nowe ustawienia administracyjne: worktree.baseRef (fresh | head) przywraca bazę worktree do origin/<default> po wprowadzonej w v2.1.128 zmianie na lokalny HEAD; sandbox.bwrapPath i sandbox.socatPath pozwalają wskazać konkretne pliki binarne sandboxa w systemach Linux/WSL; parentSettingsBehavior ('first-wins' | 'merge') określa sposób łączenia managedSettings z SDK z ustawieniami nadrzędnymi. Inne poprawki: błąd 401 w równoległych sesjach po wyścigu podczas odświeżania tokenu, zakres reguł zezwalających dla katalogu głównego dysku, obsługa proxy/mTLS dla MCP OAuth, prawidłowe kończenie anulowania przez zatrzymanie/przerwanie Remote Control, przenikanie ustawienia /effort między sesjami, uwzględnienie --remote-control w --help

  40. Anthropic, Claude Code v2.1.136. 8 maja 2026. Dodaje settings.autoMode.hard_deny na potrzeby reguł klasyfikatora trybu automatycznego, które bezwarunkowo blokują działanie niezależnie od intencji użytkownika lub wyjątków zezwalających, a także CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, aby ponownie włączyć ankietę jakości w ramach sesji dla przedsiębiorstw przechwytujących odpowiedzi za pośrednictwem OpenTelemetry. Poprawki istotne dla operatorów: serwery MCP z .mcp.json, pluginów i konektorów claude.ai po cichu znikały po /clear w VS Code, JetBrains i Agent SDK; tokeny odświeżania MCP OAuth były tracone podczas równoczesnego odświeżania; tryb planowania nie blokował zapisu plików, gdy istniała pasująca reguła zezwalająca Edit(...); hooks Stop/UserPromptSubmit pluginu przestawały działać, gdy czyszczenie pamięci podręcznej usuwało nadal działającą wersję; wpis skills w plugin.json ukrywał domyślny folder skills/ pluginu; zmienne środowiskowe hook SessionStart z CLAUDE_ENV_FILE stawały się nieaktualne po /resume lub /clear. Ponadto wprowadzono około 30 dodatkowych poprawek i usprawnień niezawodności obejmujących TUI, autouzupełnianie i renderowanie terminala. Wydania towarzyszące: v2.1.137 (9 maja, poprawka aktywacji rozszerzenia VSCode w systemie Windows), v2.1.138 (9 maja, poprawki wewnętrzne); w claude-agent-sdk-python v0.1.78, v0.1.79 i v0.1.80 zaktualizowano dołączony Claude CLI odpowiednio do v2.1.136, v2.1.137 i v2.1.138. 

  41. OpenAI, openai-agents-python v0.17.0. 8 maja 2026. RealtimeAgent domyślnie korzysta z gpt-realtime-2. Materializacja lokalnych źródeł sandboxa ogranicza teraz LocalFile.src i LocalDir.src do manifestu base_dir (bieżącego katalogu roboczego procesu SDK w chwili zastosowania manifestu), chyba że źródło zostanie jawnie udostępnione za pomocą Manifest.extra_path_grants z SandboxPathGrant. Względne źródła lokalne są rozwiązywane względem base_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 w trybie tylko do odczytu. extra_path_grants należy traktować jako zaufaną konfigurację aplikacji; nie wolno wypełniać go danymi wyjściowymi modelu ani niezaufanymi danymi wejściowymi manifestu. Wydanie zawiera również poprawkę kolizji extra_args w zarządzaniu kontekstem Responses. 

  42. Anthropic, Claude Code v2.1.139. Maj 2026. Lokalne dane z bieżącej sesji z 11 maja 2026: polecenie claude --version zwróciło 2.1.139 (Claude Code). Informacje o wydaniu obejmują Agent View (claude agents), /goal, args: string[] dla hooks, continueOnBlock dla PostToolUse, CLAUDE_PROJECT_DIR dla serwerów stdio MCP, interpolację poleceń pluginów dla ${CLAUDE_PROJECT_DIR} oraz poprawki, w tym emisję OpenTelemetry claude_code.active_time.total w trybie --print

  43. Anthropic, „Zarządzanie wieloma agentami za pomocą Agent View”. Dokumentacja Agent View opisuje uruchamianie wielu sesji Claude Code i zarządzanie nimi z jednego ekranu, monitorowanie działań każdej sesji oraz identyfikowanie sesji wymagających reakcji operatora. Strona określa Agent View jako Research Preview i dokumentuje ograniczenia sesji lokalnych. 

  44. Anthropic, „Claude Code Hooks”. Dokumentacja hooks obejmująca pola command-hook, PreToolUse, PostToolUse, zachowanie kodów wyjścia, dane wejściowe i wyjściowe hooks oraz ścieżki bezpośredniego rozwijania slash commands. 

  45. Baza danych ostrzeżeń GitHub, GHSA-f3jg-756w-gm35 / CVE-2026-45046. „Filtr payloadów Gryph Agents nie usuwa payloadu narzędzia zawierającego dane wrażliwe”. Opublikowano w maju 2026; opisuje wrażliwą zawartość payloadu file-write, która przy domyślnym sposobie rejestrowania pozostawała w lokalnych dziennikach SQLite, oraz poprawkę w Gryph v0.7.0. 

  46. OSV, GHSA-wxxx-gvqv-xp7p / CVE-2026-40217. „LiteLLM umożliwia ucieczkę z sandbox w mechanizmie ochronnym kodu niestandardowego”. Opublikowano 11 maja 2026; opisuje chroniony uprawnieniami administratora endpoint POST /guardrails/test_custom_code, który uruchamia dostarczony przez użytkownika kod Python w samodzielnie zaimplementowanym sandbox, oraz zaleca aktualizację albo zablokowanie endpointu, jeśli aktualizacja nie jest możliwa. 

  47. Young Jo (seph) Chung i Safwat Hassan, „Współpracownik czy asystent? Jak agenci programistyczni AI dzielą pracę w cyklu życia pull requestów”, arXiv:2605.08017v1, maj 2026. Abstrakt przedstawia analizę cyklu życia 29 585 PR-ów w narzędziach OpenAI, Copilot, Devin, Cursor i Claude Code, rozróżniając sprawczość operacyjną od nadzoru nad scalaniem zmian. 

  48. Jiayuan Liu i in., „Klątwa pamięci: jak rozszerzona zdolność przywoływania osłabia skłonność agentów LLM do współpracy”, arXiv:2605.08060v1, maj 2026. Abstrakt przedstawia eksperymenty obejmujące 7 LLMs i 4 gry w ciągu 500 rund, w których rozszerzenie dostępnej historii pogorszyło współpracę w 18 spośród 28 konfiguracji model–gra. 

  49. Anthropic, Claude Code v2.1.140. 12 maja 2026. Dodaje subagent_type do danych wejściowych agent hook i naprawia hooks ConfigChange, disableAllHooks, allowManagedHooksOnly, wyświetlanie zmiennych środowiskowych w oknie dialogowym uprawnień na podstawie wyników hook, resetowanie niestandardowego stylu po aktualizacji ustawień, mechanizm awaryjny rozwiązywania pakietów natywnych w Windows Git Bash oraz /scroll-speed

  50. Anthropic, Claude Code v2.1.141. 13 maja 2026. Dodaje terminalSequence do danych wyjściowych JSON hook na potrzeby powiadomień na pulpicie, tytułów okien i sygnałów dźwiękowych; CLAUDE_CODE_PLUGIN_PREFER_HTTPS do klonowania źródeł pluginów HTTPS; ANTHROPIC_WORKSPACE_ID do określania zakresu workspace w federacji tożsamości obciążeń; claude agents --cwd <path> do filtrowania katalogów w Agent View; opcje dołączania do /feedback sesji z ostatnich 24 godzin lub 7 dni; a także powiązane poprawki dotyczące agentów, zadań w tle, hooks, MCP, Remote Control, okna dialogowego uprawnień i renderowania terminala. Weryfikacja w bieżącej sesji 14 maja 2026: polecenie claude --version zwróciło 2.1.141 (Claude Code), a npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json zwróciło najnowszą wersję 2.1.141

  51. Anthropic, Claude Code v2.1.142. 14 maja 2026. Dodaje flagi uruchamiania claude agents dla sesji działających w tle (--add-dir, --settings, --mcp-config, --plugin-dir, --permission-mode, --model, --effort, --dangerously-skip-permissions), ustawia Opus 4.7 jako domyślny model w trybie Fast, pozostawiając CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 jako opcję wymuszającą poprzednią wersję, udostępnia główne pliki SKILL.md pluginów jako skills, gdy katalog skills/ nie istnieje, pokazuje dostarczane przez plugin serwery LSP w szczegółach pluginu, ostrzega przed zastąpieniem istniejącego połączenia z aplikacją GitHub oraz naprawia problemy związane z MCP_TOOL_TIMEOUT, worktree sesji działającej w tle, usypianiem i wybudzaniem daemon, czyszczeniem daemon po aktualizacji, cache pluginów i niezawodnością Agent View. Weryfikacja w bieżącej sesji 15 maja 2026: polecenie claude --version zwróciło 2.1.141 (Claude Code), a najnowszą wersją w npm była 2.1.142

  52. Anthropic, Claude Code v2.1.147. 21 maja 2026. Dodaje domyślnie wyłączone narzędzie Workflow do deterministycznej orkiestracji wielu agentów (CLAUDE_CODE_WORKFLOWS=1), przypięte sesje działające w tle, /code-review [effort] --comment zastępujące /simplify, wzmocnienia sandbox dla REPL i Workflow, diagnostykę automatycznego aktualizatora, ulepszenia renderowania dużych diffów, deduplikację historii promptów oraz poprawki dotyczące ograniczeń logowania w przedsiębiorstwach, działania PowerShell, paginacji MCP, Agent View, pluginów, warunków hooks, wklejonego tekstu i pętli wywołanych usuniętymi obrazami. Weryfikacja w bieżącej sesji 21 maja 2026: polecenie claude --version zwróciło 2.1.144 (Claude Code), a npm view @anthropic-ai/claude-code version dist-tags.latest time.modified --json zwróciło najnowszą wersję 2.1.147 z wartością time.modified równą 2026-05-21T20:38:35.053Z

  53. Anthropic, Claude Code v2.1.148, v2.1.149, v2.1.150 oraz Claude Code CHANGELOG. Wersja v2.1.148 naprawia regresję kodu wyjścia Bash wprowadzoną w v2.1.147. Wersja v2.1.149 dodaje /usage pokazujące wykorzystanie limitów według kategorii, przewijanie klawiaturą w /diff, renderowanie list zadań GFM oraz ustawienie Enterprise allowAllClaudeAiMcps; poprawki istotne dla harness obejmują obejścia uprawnień przez cd w PowerShell, analizę uprawnień dotyczącą prefiksów, symboli wieloznacznych i nieaktualnych zmiennych w PowerShell, zakres listy dozwolonych zapisów sandbox dla git worktree, wyczerpywanie vnode przez polecenie Bash find w systemie macOS, zawieszanie zatwierdzania ustawień zarządzanych, diagnostykę spacji w ścieżkach otelHeadersHelper oraz synchronizację zmian nazw sesji Remote Control. Wersja v2.1.150 zawiera wyłącznie zmiany wewnętrznej infrastruktury. Weryfikacja w bieżącej sesji 24 maja 2026: lokalne polecenie claude --version zwróciło 2.1.144 (Claude Code), natomiast najnowszą wersją w npm była 2.1.150 z wartością time.modified równą 2026-05-23T04:03:10.243Z; najnowszym wydaniem GitHub było v2.1.150, opublikowane 2026-05-23T04:03:51Z

  54. OpenAI, openai-agents-python v0.17.1, v0.17.2 oraz v0.17.3. Wersja v0.17.1 dodaje szczegóły błędów dostawcy sandbox, limity rozpakowywania archiwów, walidację podścieżek GitRepo oraz poprawki śledzenia, sesji i trybu czasu rzeczywistego. Wersja v0.17.2 naprawia zachowywanie reasoning w Conversations, uzasadnienia odrzucenia lokalnej zgody, ustawienia AsyncSQLiteSession oraz obsługę nieznanych narzędzi w czasie rzeczywistym. Wersja v0.17.3 zapobiega umieszczaniu danych uwierzytelniających punktów montowania w poleceniach sandbox, odrzuca względne katalogi główne workspace sandbox, obsługuje końcowe stany sandbox Vercel oraz naprawia przypadki brzegowe dotyczące schematu wyjściowego, guardrail, środowiska wykonawczego i importowania pamięci. Weryfikacja w bieżącej sesji 24 maja 2026: polecenie python3 -m pip index versions openai-agents zwróciło najnowszą wersję 0.17.3; najnowszym wydaniem GitHub było v0.17.3, opublikowane 2026-05-19T01:27:36Z

  55. Claude Code — dziennik zmian (kanoniczny), 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-tools we frontmatter skills/poleceń, /reload-skills, wyniki reloadSkills i sessionTitle hooka SessionStart, stosowanie poprawek przez /code-review --fix bezpośrednio w drzewie roboczym, zarządzane ustawienie pluginSuggestionMarketplaces, usunięcie konieczności włączania trybu automatycznego oraz przełączanie --fallback-model w trakcie sesji. W wersji v2.1.153 (28 maja) /model zapisuje model jako domyślny dla nowych sesji, a s ogranicza wybór do bieżącej sesji; dodano skipLfs do marketplace’ów pluginów, udostępniono COLUMNS/LINES w środowisku wiersza stanu oraz zapewniono trwałość uprawnień Prywatność i bezpieczeństwo dla agenta działającego w tle w systemie macOS. W wersji v2.1.154 (28 maja) Opus 4.8 staje się modelem domyślnym z domyślnie wysokim poziomem effort i nową opcją /effort xhigh; wprowadzono dynamiczne przepływy pracy za pośrednictwem /workflows; udostępniono Fast mode w Opus 4.8 z 2-krotnie wyższą stawką za 2,5-krotnie większą szybkość; ustawiono odchudzony prompt systemowy jako domyślny dla wszystkich modeli z wyjątkiem Haiku/Sonnet/Opus 4.7 i wcześniejszych; umożliwiono przekazywanie ! <command> do claude agents w celu uruchamiania sesji powłoki w tle; pozwolono pluginom deklarować defaultEnabled: false; przekazywane są CLAUDE_CODE_SESSION_ID i CLAUDECODE=1 do środowiska podprocesów stdio MCP; ponadto wycofano CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE (usunięto 1 czerwca). 

  56. Dziennik zmian Codex (OpenAI Developers) i wydania openai/codex. Codex CLI 0.134.0 (26 maja 2026) dodał lokalne wyszukiwanie w historii rozmów; ustanowił --profile głównym selektorem profilu w przepływach CLI/TUI/sandbox wraz z migracją starszej konfiguracji; ulepszył konfigurację MCP przez umożliwienie kierowania środowiska do poszczególnych serwerów oraz dodanie OAuth dla serwerów HTTP obsługujących strumieniowanie; zwiększył niezawodność schematów narzędzi konektorów przez zachowywanie lokalnych $ref/$defs i kompaktowanie zbyt dużych schematów przed ich udostępnieniem; umożliwił też równoległe wykonywanie narzędzi MCP tylko do odczytu, które deklarują readOnlyHint. Codex CLI 0.135.0 (28 maja 2026) dodał bardziej szczegółową diagnostykę codex doctor; udostępnił w /status informacje o połączeniu zdalnym i wersję serwera; dodał edycję obiektów tekstowych w stylu vim z ulepszonym zachowaniem słów i końców wierszy oraz konfigurowalnym przerywaniem tury; rozszerzył /permissions o obsługę nazwanych profili uprawnień; dołączył zmodyfikowane narzędzie pomocnicze zsh dla obsługiwanych systemów macOS i Linux; dodał również przyjazne presety Sandbox do Python SDK dla APIs wątków i tur. 

  57. 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.py zrefaktoryzowano w 76% (z 16 083 do 3 821 wierszy w 14 modułach). Wieloagentowa platforma Kanban z automatycznym podziałem zadań, topologią roju, nadpisywaniem modelu dla poszczególnych zadań, zadaniami zaplanowanymi i zarządzaniem drzewami roboczymi. session_search przeprojektowano tak, aby działało 4 500 razy szybciej, a zależność LLM usunięto. Ochrona Promptware przed atakami prompt injection klasy Brainworm w trzech krytycznych punktach kontroli bezpieczeństwa. Integracja z Bitwarden Secrets Manager, która zastępuje klucze poszczególnych dostawców jednym tokenem inicjującym. 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, OAuth upstream, wykrywanie wycofanych modeli, naturalne pauzy TTS). 

  58. Informacje o wydaniu Claude Code v2.1.157 oraz Claude Code — dziennik zmian (kanoniczny). 29 maja 2026. Pluginy umieszczone w katalogu .claude/skills/ projektu są teraz ładowane automatycznie bez potrzeby korzystania z marketplace’u; claude plugin init <name> tworzy strukturę nowego pluginu w tym katalogu; /plugin zyskało autouzupełnianie argumentów. Ponadto: EnterWorktree może przełączać sesję między drzewami roboczymi zarządzanymi przez Claude; po zakończeniu pracy agenta drzewa robocze działające w tle pozostają odblokowane, dzięki czemu git worktree remove/prune działają prawidłowo; zdarzenia telemetryczne tool_decision zawierają tool_parameters, gdy ustawiono OTEL_LOG_TOOL_DETAILS=1. Wydanie obejmuje także 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 jej zaparkowaniu oraz renderowania terminala w tmux / VS Code / Cursor / Windsurf. 

  59. Claude Code — dziennik zmian (kanoniczny) oraz informacje o wydaniu Codex CLI v0.137.0, czerwiec 2026. Claude Code v2.1.162 (3 czerwca) dodał waitingFor do claude agents --json; v2.1.163 (4 czerwca) dodał hookSpecificOutput.additionalContext do informacji zwrotnych niebędących błędami dla Stop/SubagentStop; v2.1.166 (6 czerwca) wzmocnił kontrolę uprawnień między sesjami dla SendMessage (przekazywane wiadomości nie dziedziczą już uprawnień użytkownika) i dodał ustawienie fallbackModel (maksymalnie 3 modele rezerwowe, jedna ponowna próba 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ślnie włączone hide_spawn_agent_metadata, propagowanie zdarzeń z rodzica do dziecka), rozszerzenie skills v1 z rozpoznawaniem katalogu w każdej turze oraz zdarzenia współtwórców dotyczące rozpoczęcia wątku i błędu tury; dokumentacja Codex dotycząca subagents potwierdza typy agentów default/worker/explorer oraz mechanizmy kontroli współbieżności agents.max_threads/max_depth. Dla AGENTS.md (agents.md) nie opublikowano żadnej wersjonowanej zmiany specyfikacji. Weryfikacja w bieżącej sesji: 8 czerwca 2026. 

  60. Anthropic, informacje o wydaniu Claude Code v2.1.169 i informacje o wydaniu v2.1.170, 8–9 czerwca 2026. Wersja v2.1.169 dodaje ustawienie disableBundledSkills oraz CLAUDE_CODE_DISABLE_BUNDLED_SKILLS (ukrywa przed modelem wbudowane skills, przepływy pracy i polecenia z ukośnikiem); flagę --safe-mode oraz CLAUDE_CODE_SAFE_MODE (uruchamia sesję ze wszystkimi dostosowaniami wyłączonymi: 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 promptu). Wersja v2.1.170 umożliwia wybranie Claude Fable 5 (claude-fable-5) za pomocą /model claude-fable-5, podczas gdy Opus 4.8 pozostaje domyślnym modelem agentowym Claude Code. Premiera nowej klasy modelu: Anthropic, „Claude Fable 5”, 9 czerwca 2026 — klasa „Mythos” pozycjonowana powyżej Opus, opisana jako najpotężniejszy model Anthropic bezpieczny do powszechnego użytku. 

  61. 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 za pomocą szyfrowanych ładunków wiadomości między agentami, katalogu konfiguracji agentów v2, pamięci LRU rezydentnych agentów oraz obliczania współbieżności na podstawie aktywnych wykonań, a nie utworzonych wątków. Wersja v0.139.0 zmienia nazwę API cyklu życia close_agent na interrupt_agent i ogranicza ostrzeżenia o uruchamianiu MCP przez subagent do wątku właściciela, dzięki czemu nie są już powielane w wątku nadrzędnym. W obu wydaniach wzmocniono wykrywanie AGENTS.md: ładowanie odbywa się przez systemy plików środowiska, a podczas wykrywania zachowywane są ścieżki logiczne, co zapewnia wybór właściwego pliku w zdalnych przestrzeniach roboczych i przestrzeniach korzystających z dowiązań symbolicznych. 

  62. 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 5 poziomów w głąb; wcześniej delegowanie było w praktyce ograniczone do 1 poziomu. 

  63. 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 rozszerzanie zarządzanej listy dozwolonych modeli availableModels). Wersja v2.1.178 dodaje składnię reguł uprawnień Tool(param:value), która dopasowuje parametry wejściowe narzędzia z symbolem wieloznacznym * (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 razie kolizji wybiera z zagnieżdżonych katalogów .claude/ agentów, przepływy pracy i style wyników znajdujące się najbliżej cwd (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; naprawia też problem polegający na cichym ignorowaniu specyfikacji na poziomie serwera MCP (mcp__server, mcp__server__*, mcp__*) w disallowedTools subagent. 

  64. 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 selektywny import konfiguracji początkowej, konfiguracji projektu i ostatnich czatów z Claude Code; trwałe usuwanie sesji za pomocą codex delete, /delete oraz app-server thread/delete z zabezpieczeniami wymagającymi potwierdzenia; ujednolicone menu wzmianek @ dla plików, wtyczek i skills; a także widoki aktywności tokenów dostępne przez /usage

  65. 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 pracy; git commit --amend w przypadku commitów, których agent nie utworzył w tej sesji; oraz terraform 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 moduły wykonawcze korzystają z uwierzytelnionych, kompleksowo szyfrowanych kanałów przekaźnikowych Noise; zdalne wykonywanie między platformami zachowuje natywne dla modułu wykonawczego katalogi robocze i powłoki; TLS obsługuje podpisy certyfikatów P-521 na potrzeby korporacyjnych serwerów proxy. 

  66. 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 oraz /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). 

  67. Dziennik zmian Claude Code (źródło kanoniczne) i 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/get nie uruchamiają już serwerów .mcp.json zatwierdzonych przez samo repozytorium w niezaufanych przestrzeniach roboczych. v2.1.197 (30 czerwca): Claude Sonnet 5 staje się domyślnie dostarczanym modelem (natywny kontekst 1M, promocyjne ceny 2/10 USD 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 sesje claude agents po pracy nad kodem w drzewie roboczym tworzą commit, wykonują push i otwierają wersję roboczą PR, a następnie uruchamiają hook Notification z agent_needs_input/agent_completed; kreator /agents został usunięty (należy edytować .claude/agents/ bezpośrednio lub poprosić Claude). v2.1.199 (2 lipca): kaskadowe wywołania slash-skills wczytują do 5 początkowych skills; wykrywane jest błędne kierowanie SendMessage spowodowane ponownym użyciem nazwy agenta; hooks SessionStart/Setup/SubagentStart ujawniają stderr przy kodzie wyjścia 2. v2.1.200 (3 lipca): tryb uprawnień default jest oznaczony jako „Manual” w CLI, --help, VS Code i JetBrains, a wartość manual jest akceptowana obok niezmienionej wartości konfiguracyjnej; okna dialogowe AskUserQuestion nie kontynuują już domyślnie działania automatycznie. v2.1.202 (6 lipca): kontrolka „Dynamic workflow size” w /config; /review <pr> powraca do przeglądu jednoprzebiegowego, natomiast /code-review <level> <pr#> uruchamia przebieg wieloagentowy. Pakiet Anthropic claude-agent-sdk jest 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ą stopniowe rozwinięcie udokumentowanego interfejsu 0.1.x (ostatnie prace dotyczą czyszczenia podprocesów i niezawodności strumienia NDJSON). Weryfikacja w bieżącej sesji: 7 lipca 2026 (PST). 

  68. Dziennik zmian Claude Code (źródło kanoniczne), wydania GitHub v2.1.207 i v2.1.208 oraz Co nowego 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 działających w tle wyraźnie informują, że podczas wykonywania zadania nie nastąpiło żadne działanie człowieka; roots/list w MCP uwzględnia dodatkowe katalogi robocze sesji wraz z powiadomieniami roots/list_changed; /doctor proponuje skrócenie treści CLAUDE.md, którą można wywnioskować z bazy kodu; w wersji v2.1.204 naprawiono również strumieniowanie SessionStart w trybie headless. v2.1.207: ogólna dostępność trybu automatycznego w Amazon Bedrock, Google Vertex AI i Microsoft Foundry, z zarządzanym ustawieniem disableAutoMode umożliwiającym rezygnację; CLAUDE_CODE_PROCESS_WRAPPER dla korporacyjnych programów uruchamiających procesy; nawet 7-krotnie szybsze rundy użycia narzędzi przy dużej liczbie narzędzi MCP oraz 79-krotnie mniejsze transkrypcje sesji. v2.1.208: monity potwierdzające katastrofalne usunięcie są wyświetlane mimo --dangerously-skip-permissions i trybu automatycznego. 

  69. 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 korzystające z izolacji drzewa roboczego nie mogą już modyfikować głównej kopii roboczej; Agent tool zabezpieczono przed pośrednim wstrzykiwaniem promptów z treści odczytanych przez subagent; klasyfikator trybu automatycznego domyślnie korzysta z Sonnet 5, przypisanego na czas sesji; zapisy w MEMORY.md przekraczające limit rozmiaru powodują błąd zamiast cichego obcięcia treści. v2.1.211: decyzje ask hook PreToolUse ustalają minimalny wynik kontroli uprawnień na poziomie monitu — tryb automatyczny nie może zastąpić go zezwoleniem dla narzędzia Bash działającego poza piaskownicą; --forward-subagent-text / CLAUDE_CODE_FORWARD_SUBAGENT_TEXT przekazuje tekst subagent do wyjścia stream-json; reguły „always allow” są przechowywane w katalogu głównym repozytorium i obowiązują we wszystkich drzewach roboczych; podglądy uprawnień neutralizują znaki wymuszające dwukierunkowość tekstu, znaki o zerowej szerokości i znaki podobne wizualnie. 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); parametr mode narzędzia Task uznano za przestarzały na rzecz dziedziczenia trybu uprawnień sesji nadrzędnej; /fork tworzy nową sesję działającą w tle, a wariant wewnątrz 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). 

  70. Anthropic, wydania v0.3.205–v0.3.208 pakietu TypeScript @anthropic-ai/claude-agent-sdk. Lipiec 2026. Typowane potwierdzenia przerwania (identyfikatory UUID still_queued; funkcja interrupt_receipt_v1 deklarowana w system/init); ramki command_lifecycle raportujące stan queued/started/completed/cancelled/discarded dla każdej wiadomości; typ AgentToolCompletedOutput; canUseTool może zwracać {behavior: 'allow'} bez updatedInput. Poprawka zabezpieczeń w wersji v0.3.208: przerwanie przez wywołującego, które następowało podczas oczekiwania na hook, było przekształcane w pomyślne zakończenie hook, przez co narzędzia kontrolowane przez hook PreToolUse mogły zostać wykonane po przerwaniu przez wywołującego. 

  71. Model Context Protocol, PR nr 3002. Scalono 16 lipca 2026 z wersją roboczą specyfikacji. Dodano opcjonalny obiekt io.modelcontextprotocol/serverInfo w odpowiedzi _meta, a clientInfo stał się opcjonalny w żądaniach, co przywróciło tożsamość serwera po tym, jak bezstanowy rdzeń SEP-2575 usunął stanowy handshake inicjalizacyjny. 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. Rewizję specyfikacji bezstanowej opublikowano 28 lipca 2026; jest ona bieżącą rewizją specyfikacji (ponownie zweryfikowano 12 sierpnia 2026). 

  72. 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 uprzedniego wczytywania schematów). v0.144.0: nowy tryb zatwierdzania aplikacji writes — działania tylko do odczytu są wykonywane bez monitu, natomiast zapisy wymagają zatwierdzenia — oraz ogólna dostępność interaktywnego uwierzytelniania MCP. v0.144.5: rozszerzone wykrywanie niebezpiecznych poleceń. 

  73. OpenAI, openai-agents-python v0.18.2 (11 lipca 2026) oraz openai-agents-js v0.13.2 (10 lipca 2026). Obie wersje wprowadzają obsługę hostowanych systemów wieloagentowych 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. 

  74. 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: dla hooks ze wzorcami ścieżek dir/** obejmującymi jeden segment są teraz zakotwiczone w <cwd>/dir (dla dowolnej głębokości należy użyć **/dir/**); wcześniej reguły zezwalające, takie jak Edit(src/**), automatycznie zatwierdzały dostęp do każdego zagnieżdżonego folderu dir/ w drzewie; reguły odmowy i pytania zachowują dopasowywanie na dowolnej głębokości. Ponadto: narzędzie EndConversation; pakiet zabezpieczeń uprawnień Bash/PowerShell działających zgodnie z zasadą bezpiecznej odmowy; kod wyjścia hook 2 blokuje działanie nawet wtedy, gdy JSON ze standardowego wyjścia nie przejdzie walidacji schematu; znaczniki czasu ISO modified we frontmatter pamięci bez cichego obcinania; pola OTel message.uuid, client_request_id, tool_source i CLAUDE_CODE_OTEL_CONTENT_MAX_LENGTH. v2.1.215: dołączone skills /verify i /code-review nie uruchamiają się już samoczynnie — wymagają jawnego wywołania. v2.1.216: subagents odizolowane za pomocą worktree nie mogą już przekierowywać gita do współdzielonego drzewa roboczego za pomocą git -C, --git-dir ani GIT_DIR/GIT_WORK_TREE; sesje worktree nie są już rozwiązywane do pozostałości worktree innego projektu; zapisy przepływów pracy i zadań zaplanowanych są odrzucane, jeśli .claude jest dowiązaniem symbolicznym wskazującym poza projekt; /rewind nie przechodzi już przez dowiązania symboliczne ani twarde; sandbox.filesystem.disabled umożliwia sandboxing ograniczony wyłącznie do wychodzącego ruchu sieciowego; wznowione sesje agentów działających w tle przywracają prompt agenta i ograniczenia narzędzi; zmiany skills i poleceń wprowadzone w trakcie sesji pojawiają się w menu poleceń ukośnikowych bez ponownego uruchamiania. Zweryfikowano na podstawie kanonicznego dziennika zmian 21 lipca 2026 (PST). 

  75. Anthropic, wydania TypeScript pakietu @anthropic-ai/claude-agent-sdk v0.3.214–v0.3.216 oraz claude-agent-sdk Python v0.2.124. Lipiec 2026. TypeScript: set_permission_mode odrzuca nieznane tryby; aborted: true w wiadomościach skróconych wskutek przerwania; tool_progress zawiera subagent_type i subagent_retry; podtyp powiadomienia o zadaniu scheduled-trigger; źródło SessionStart o wartości "fork"; plik pomocniczy tool_result_meta z polami non_execution_kind i user_feedback; opcjonalna liczba skippedLinks w odpowiedziach rewindFiles; opcjonalne pola user_message_uuid i request_sent_wall_ms w komunikacie o pomyślnym wyniku. Python v0.2.124 (Windows, klasa BatBadBut): odmawia uruchamiania plików .bat/.cmd; metaznaki cmd.exe w wartościach resume/session_id powodują zgłoszenie ValueError; wartości extra_args zaczynające się od łącznika są wiązane w postaci --flag=value

  76. OpenAI, informacje o wydaniu Codex CLI rust-v0.145.0, lipiec 2026. Stabilizuje opcjonalny interfejs wieloagentowy V2 (konfigurowalne modele subagents, poziomy rozumowania i współbieżność; przywrócone role agentów); rozszerza /import, umożliwiając migrację ustawień, serwerów MCP, plugins, sesji, poleceń i pamięci ograniczonych do projektu z Claude Code oraz Cursor. Wzmocnienia zabezpieczeń: limity czasu uruchamiania MCP, serializowane odświeżanie OAuth, nieblokujące wykrywanie OAuth, skuteczniejsze wykrywanie wymuszonego usuwania za pomocą rm, zachowywanie powodów odrzucenia oraz eksperymentalna stronicowana historia wątków. 

  77. Model Context Protocol, PR-y dokumentacji wydania specyfikacji #3064, #3066 i #3098, scalone 21 lipca 2026 przed wydaniem specyfikacji zaplanowanym na 28 lipca. Ostateczna wersja będzie przedstawiać Tasks jako opcjonalne rozszerzenie io.modelcontextprotocol/tasks, a nie funkcję podstawową, oraz oznaczy transport HTTP+SSE jako przestarzały na rzecz Streamable HTTP. 

  78. 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 równocześ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-usd rzeczywiście zatrzymuje teraz subagents działające w tle — po osiągnięciu limitu uruchamianie nowych jest odrzucane, a działające agenty w tle zostają zatrzymane; izolacja sesji w tle normalizuje katalogi robocze będące dowiązaniami symbolicznymi, eliminując możliwość wydostania się poza folder przestrzeni roboczej. Zweryfikowano na podstawie kanonicznego dziennika zmian 22 lipca 2026 (PST). 

  79. Anthropic, claude-agent-sdk Python v0.2.125 oraz @anthropic-ai/claude-agent-sdk 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. Oba wydania dziedziczą nowe domyślne ustawienia zagnieżdżania i współbieżności subagents z CLI. 

  80. Model Context Protocol, PR #3092, scalony 21 lipca 2026. Korekta normatywna dostosowująca kody błędów SEP-2575 do schematu projektu po zmianie numeracji oraz zestawu testów zgodności, będąca częścią przygotowań do wydania specyfikacji 28 lipca 2026. 

  81. Anthropic Engineering, „Jak izolujemy Claude w różnych produktach”, 25 maja 2026. Trzy wzorce izolacji dopasowane do powierzchni produktów: efemeryczne kontenery gVisor z osobnymi systemami plików dla każdej 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); szczelnie odizolowane maszyny wirtualne działające na hipernadzorcach platform (Claude Cowork: framework Apple Virtualization w macOS, HCS w systemie Windows, z zamontowanymi wyłącznie przestrzenią roboczą i .claude). Zasady projektowe: najpierw izolować na poziomie środowiska, a dopiero potem sterować na poziomie modelu; dopasowywać siłę izolacji do możliwości nadzoru po stronie użytkownika; przedkładać sprawdzone mechanizmy (hipernadzorce, seccomp, środowiska uruchomieniowe kontenerów) nad niestandardowy kod izolujący; traktować lokalną konfigurację projektu i dane wyjściowe narzędzi jako niezaufane; przechowywać dane uwierzytelniające poza sandboxem, stosując ograniczone do sesji tokeny, które można niezależnie unieważnić — w Cowork egzekwuje to ochronny serwer proxy MITM wewnątrz maszyny wirtualnej, odrzucający żądania bez tokenu przypisanego do tej maszyny. 

  82. Dziennik zmian Claude Code (źródło kanoniczne), v2.1.218, 22 lipca 2026. Kontrole niebezpiecznych operacji rm, działania w tle za pomocą & i podejrzanych ścieżek systemu Windows nie otwierają już okien dialogowych uprawnień — rozstrzyga je klasyfikator trybu automatycznego; tryb planowania z trybem automatycznym nie pyta już o zgodę na polecenia Bash, których analizator statyczny nie potrafi jednoznacznie uznać za przeznaczone wyłącznie do odczytu — ocenia je klasyfikator; hooks we frontmatter agenta wymagają zaakceptowanego zaufania do przestrzeni roboczej dla folderu zawierającego plik tego agenta; skills z context: fork działają domyślnie w tle (background: false wyłącza to zachowanie dla danego skill); /code-review działa jako subagent w tle; /deep-research uruchamia się wyłącznie po ręcznym wywołaniu; pochodzenie sesji fork jest zachowywane po kompakcji w sesjach bez interfejsu oraz sesjach SDK; przenoszenie do tła za pomocą Ctrl+B podlega 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). 

  83. Anthropic, @anthropic-ai/claude-agent-sdk TypeScript v0.3.218 oraz claude-agent-sdk Python v0.2.126, 22 lipca 2026. TypeScript: flaga SkillToolOutput.background; api_error_status zgłasza błędy 429/529 występujące w trakcie strumieniowania; pola canonicalModel i provider w modelUsage. Python: ResultMessage.terminal_reason; typowane wpisy model_usage z polami canonicalModel/provider; zawiera CLI v2.1.218. 

  84. 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.strictAllowlist odrzuca hosty spoza listy dozwolonych w przypadku poleceń wykonywanych w piaskownicy, bez wyświetlania monitu; nowy hook DirectoryAdded, wywoływany po zarejestrowaniu katalogu roboczego w trakcie sesji przez /add-dir lub żądanie sterujące SDK register_repo_root; dynamiczne workflows domyślnie korzystają z wytycznej dotyczącej średniego rozmiaru („należy dążyć do mniej niż 15 agents”), którą można ustawić w dowolnym pliku ustawień za pomocą workflowSizeGuideline (w takim przypadku wiersz /config jest ukrywany) i która jest wyświetlana w wierszu stanu działającego workflow; przekazywanie zagnieżdżonych subagents w stream-json — subagents na głębokości 2 i większej pojawiają się przy --forward-subagent-text, identyfikowane przez identyfikator tool_use uruchamiającego je Agent; mcp_server_errors w zdarzeniu inicjalizacyjnym headless stream-json, zawierające wpisy --mcp-config pominięte wskutek walidacji konfiguracji, wraz z ostrzeżeniem podczas uruchamiania w terminalu; status HTTP i tekst błędu w claude mcp list oraz /mcp w razie niepowodzenia połączenia, a także ostrzeżenie dotyczące wartości konfiguracji MCP z niewidocznymi 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 -p nie odrzuca już tekstu wygenerowanego przed przerwaniem tury wskutek błędu API występującego w trakcie przesyłania strumieniowego; CLAUDE_CODE_GIT_BASH_PATH jest ignorowane z ostrzeżeniem, gdy ścieżka nie prowadzi do pliku binarnego bash/sh; Opus 4.7 usunięto z trybu szybkiego (/fast dotyczy teraz Opus 5 i Opus 4.8); dołączony skill claude-api domyślnie korzysta z Opus 5 i udostępnia ścieżkę migracji z Opus 4.8. v2.1.220: wyłącznie poprawki błędów i niezawodności. Zapasowe przełączanie auto-mode Fable-5 na „najlepszy dostępny model Opus” pochodzi z wersji v2.1.176 i obecnie prowadzi do Opus 5. Zweryfikowano 25 lipca 2026 na podstawie kanonicznego changelogu. 

  85. Anthropic, @anthropic-ai/claude-agent-sdk TypeScript v0.3.219 i v0.3.220; claude-agent-sdk Python v0.2.127 i v0.2.128. 24–25 lipca 2026. TypeScript v0.3.219: zdarzenie hooka cyklu życia DirectoryAdded dodano do protokołu sterowania; opcjonalna funkcja cancel_queued w żądaniu sterującym przerwania (możliwość interrupt_cancel_queued_v1) anuluje wraz z przerwaniem komunikaty oczekujące w kolejce i na wysłanie; fast_mode_disabled_reason w komunikatach wyniku i inicjalizacji; odpowiedź inicjalizacyjna nie zgłasza już fast_mode_state z modelu użytego przy uruchomieniu po zmianie modelu; sandbox.network.strictAllowlist i workflowSizeGuideline dodano do typów ustawień SDK. Python v0.2.127: naprawiono przedwczesne zamykanie stdin przy trwających zadaniach w tle — query() zamykało stdin po pierwszej ramce result, mimo że 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 bez ostrzeżenia omijały hooks PreToolUse; stdin pozostaje teraz otwarte do czasu zakończenia wszystkich trwających zadań i nadejścia końcowej ramki wyniku (#1103). v0.3.220 / v0.2.128: aktualizacje zapewniające zgodność z CLI v2.1.220. 

  86. Weryfikacja rejestrów, 12 sierpnia 2026: pypi.org/pypi/claude-agent-sdk/json zwraca wersję 0.2.137; registry.npmjs.org/@anthropic-ai/claude-agent-sdk zwraca dist-tag latest 0.3.229. 

  87. Informacje o wydaniu Claude Code v2.1.224, 7 sierpnia 2026 (międzysesyjne SendMessage/ListAgents, crossSessionInbound, samodzielnie hostowane runnery), wraz z kontraktem funkcji dostępnym na stronie code.claude.com/docs/en/cross-session-messaging; oraz Auto mode jest teraz domyślnym trybem w Claude Code w planach Pro, Max i Team, Anthropic, 7 sierpnia 2026 — ze skutkiem od 14 sierpnia 2026; można zrezygnować w danej sesji za pomocą Shift+Tab, przypisać tryb przez defaultMode lub wyłączyć go w całej organizacji za pomocą disableAutoMode

  88. Dokumentacja subagents i informacje o wydaniu Claude Code v2.1.232. Dosłowny zapis w dokumentacji: „Fork to subagent, który zamiast rozpoczynać od nowa, dziedziczy całą dotychczasową rozmowę. Eliminuje to izolację danych wejściowych, którą w innych przypadkach zapewniają subagents: fork widzi ten sam prompt systemowy, narzędzia, model i historię wiadomości co sesja główna”; „wywołania narzędzi należące do forka nadal nie trafiają do rozmowy — wraca do niej jedynie jego końcowy wynik”; „Claude Code domyślnie włącza tryb fork w sesjach interaktywnych, a w trybie nieinteraktywnym z -p oraz w Agent SDK pozostawia go domyślnie wyłączonym. Interaktywne ustawienie domyślne wymaga Claude Code v2.1.232 lub nowszej wersji”. Zapasowy wybór modelu teammate zgodnie z dokumentacją agent teams: „teammateDefaultModel usunięto w wersji v2.1.234… Należy wskazać model w prompcie lub zamiast tego ustawić CLAUDE_CODE_SUBAGENT_MODEL”, w przeciwnym razie teammates działają na „modelu aktualnie używanym przez lidera”. Pobrano 2026-08-18. 

  89. Agent Plugins: przenośny standard wtyczek dla agents, specyfikacja w wersji 1.0.0, opublikowana 6 sierpnia 2026. Opis własny: „przenośny format pakietów dla agents AI”. Wymagany manifest plugin.json; opcjonalny skills/ (każdy bezpośredni podfolder zawierający SKILL.md stanowi jeden Agent Skill); opcjonalny mcp.json (stdio, Streamable HTTP, starszy HTTP+SSE); przestrzenie nazw klientów w notacji odwróconej domeny. Klienci dostępni w chwili premiery: VS Code, Cursor, GitHub Copilot, ChatGPT i Codex, Kiro; specyfikację ukształtowały firmy Amazon, Anysphere, GitHub, Microsoft, OpenAI i Vercel, a Google dołączyło do grona opiekunów w dniu premiery. Anthropic nie należy do koalicji. 

  90. claude-agent-sdk w PyPI i jego CHANGELOG; @anthropic-ai/claude-agent-sdk w npm. Zweryfikowano 2026-08-01: Python 0.2.128 (changelog: „zaktualizowano dołączony Claude CLI do wersji 2.1.220”; wymaga mcp<2.0.0,>=1.23.0), TypeScript 0.3.220 (opublikowana 2026-07-24, „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 każdym wierszu nieaktualne o 17 wydań, podczas gdy pozostała część tego przewodnika uwzględniała już wersje 0.2.128 i 0.3.220. 

  91. 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” za „dwukrotność podstawowej ceny Opus 5” (10/50 USD za MTok według changelogu Claude Code v2.1.219, który podaje również okno kontekstu 1M). Benchmarki: „w Frontier-Bench v0.1 Opus 5 przewyższa wszystkie pozostałe modele i osiąga ponad dwukrotnie lepszy wynik niż Opus 4.8”; w CursorBench 3.2 uzyskuje wynik „o mniej niż 0,5% niższy od najlepszego wyniku Fable 5, lecz przy dwukrotnie niższym koszcie”; „w ARC-AGI 3 […] wynik Opus 5 jest trzykrotnie wyższy niż wynik drugiego 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”, który „znacznie lepiej weryfikuje swoją pracę i starannie ją udoskonala”. 

NORMAL agent-architecture.md EOF