Architektura agentów: budowanie środowisk programistycznych opartych na AI
# Kompletny system do budowania produkcyjnych środowisk dla agentów AI. Umiejętności, hooki, pamięć, subagenci, orkiestracja wieloagentowa oraz wzorce, które czynią agentów AI do kodowania niezawodną infrastrukturą.
TL;DR: Claude Code nie jest oknem czatu z dostępem do plików. To programowalne środowisko uruchomieniowe z 29 udokumentowanymi zdarzeniami cyklu życia, z których każde można podpiąć pod hooks za pomocą skryptów shell, których model nie może pominąć. Łącz hooks w dispatchers, dispatchers w skills, skills w agents, agents w workflows, a powstaje autonomiczny harness deweloperski, który egzekwuje ograniczenia, deleguje pracę, utrwala pamięć między sesjami i orkiestruje wieloagentową deliberację. Claude Code v2.1.147 dodał domyślnie wyłączone narzędzie
Workflow(CLAUDE_CODE_WORKFLOWS=1), przesuwając deterministyczną wieloagentową orkiestrację z czysto użytkowych skryptów w stronę natywnego prymitywu środowiska uruchomieniowego; v2.1.149 wzmacnia tę samą lekcję od strony bezpieczeństwa dzięki poprawkom obchodzenia uprawnień w PowerShell i poprawce allowlisty sandboxa git-worktree. Hooks i evidence gates nadal odpowiadają za poprawność.5253 Ten przewodnik omawia każdą warstwę tego stosu: od pojedynczego hook po system konsensusu 10 agents. Bez frameworków. Tylko bash i JSON.
Andrej Karpathy ukuł termin na to, co wyrasta wokół agenta LLM: claws. To hooks, skrypty i orkiestracja, które pozwalają agentowi uchwycić świat poza jego oknem kontekstu.1 Większość programistów traktuje agentów kodujących AI jak interaktywnych asystentów. Wpisują prompt, patrzą, jak agent edytuje plik, i przechodzą dalej. Takie ujęcie ogranicza produktywność do tego, co można osobiście nadzorować.
Model mentalny infrastruktury jest inny: agent kodujący AI to programowalne środowisko uruchomieniowe z jądrem LLM. Każde działanie modelu przechodzi przez hooks, które Pan/Pani kontroluje. Definiuje się polityki, nie prompty. Model działa w obrębie infrastruktury tak samo, jak serwer WWW działa w ramach reguł nginx. Nie siedzi się przy nginx i nie wpisuje żądań. Konfiguruje się go, wdraża i monitoruje.
To rozróżnienie ma znaczenie, ponieważ infrastruktura kumuluje korzyści. Hook, który blokuje dane uwierzytelniające w poleceniach bash, chroni każdą sesję, każdego agenta i każde autonomiczne uruchomienie. Skill, który koduje rubrykę oceny, stosuje się konsekwentnie niezależnie od tego, czy wywołuje go Pan/Pani, czy agent. Agent, który sprawdza kod pod kątem bezpieczeństwa, wykonuje te same kontrole niezależnie od tego, czy ktoś obserwuje jego pracę.2
Najważniejsze wnioski
- Hooks gwarantują wykonanie; prompty nie. Hooks należy stosować do lintingu, formatowania, kontroli bezpieczeństwa i wszystkiego, co musi zostać uruchomione za każdym razem, niezależnie od zachowania modelu. Kod wyjścia 2 blokuje działania. Kod wyjścia 1 tylko ostrzega.3
- Skills kodują wiedzę domenową, która aktywuje się automatycznie. Pole
descriptiondecyduje o wszystkim. Claude używa rozumowania LLM (a nie dopasowywania słów kluczowych), aby zdecydować, kiedy zastosować skill.4 - Subagents zapobiegają puchnięciu kontekstu. Izolowane okna kontekstu do eksploracji i analizy utrzymują główną sesję w lekkiej formie. Niezależne subagents można uruchamiać równolegle, a zespołów agents używać wtedy, gdy pracownicy potrzebują trwałej koordynacji.5
- Pamięć żyje w systemie plików. Pliki utrzymują się między oknami kontekstu. CLAUDE.md, MEMORY.md, katalogi rules i dokumenty handoff tworzą uporządkowany zewnętrzny system pamięci.6
- Wieloagentowa deliberacja wychwytuje martwe pola. Pojedynczy agents nie potrafi podważać własnych założeń. Dwóch niezależnych agents z różnymi priorytetami oceny wychwytuje błędy strukturalne, których quality gates nie potrafią obsłużyć.7
- Wzorzec harness jest systemem. CLAUDE.md, hooks, skills, agents i pamięć nie są niezależnymi funkcjami. Składają się w deterministyczną warstwę między Panem/Panią a modelem, która skaluje się wraz z automatyzacją.
Jak korzystać z tego przewodnika
| Doświadczenie | Zacząć tutaj | Następnie przejrzeć |
|---|---|---|
| Codzienne używanie Claude Code, potrzeba więcej | Wzorzec harness | System skills, Architektura hook |
| Budowanie autonomicznych workflows | Wzorce subagent | Orkiestracja multi-agent, Wzorce produkcyjne |
| Ocena architektury agentów | Dlaczego architektura agentów ma znaczenie | Ramy decyzyjne, Kwestie bezpieczeństwa |
| Konfigurowanie zespołowego harness | Projektowanie CLAUDE.md | Architektura hook, Szybka karta referencyjna |
Każda sekcja opiera się na poprzedniej. Ramy decyzyjne na końcu zawierają tabelę pomocniczą do wyboru właściwego mechanizmu 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 to nie framework. To wzorzec: kompozycyjny zestaw plików, skryptów i konwencji, który otacza agenta kodującego AI 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 rules definiują, co agent wie o projekcie. Ładują się automatycznie na początku sesji oraz po każdej kompakcji. Jest to długoterminowa pamięć architektoniczna agenta.
Warstwa rozszerzeń: Skills dostarczają wiedzę dziedzinową, która aktywuje się automatycznie w zależności od kontekstu. Hooks zapewniają deterministyczne bramki uruchamiane przy każdym pasującym wywołaniu narzędzia. Pliki pamięci utrwalają stan między sesjami. Niestandardowe agenty zapewniają wyspecjalizowane konfiguracje subagents.
Warstwa orkiestracji: Wzorce wieloagentowe koordynują niezależne agenty w celu badań, recenzji i deliberacji. Budżety spawn zapobiegają niekontrolowanej rekurencji. Walidacja konsensusu zapewnia jakość.
Kluczowy wniosek: większość użytkowników pracuje wyłącznie w warstwie Core, obserwując pęczniejący kontekst i rosnące koszty. Zaawansowani użytkownicy konfigurują warstwy Instruction i Extension, a warstwy Core używają wyłącznie do orkiestracji i końcowych decyzji.2
Harness zarządzany vs. self-hosted (kwiecień 2026)
Przez całą wczesną część 2026 roku ścieżka „zbuduj własny harness” była jedyną realną opcją. W kwietniu 2026 to się zmieniło. Anthropic udostępnił Claude Managed Agents w publicznej wersji beta (8 kwietnia): pętla harness + wykonywanie narzędzi + kontener sandbox + utrwalanie stanu jako REST API, rozliczane według standardowych tokenów plus 0,08 USD za godzinę sesji. Aktualizacja Agents SDK od OpenAI (16 kwietnia) sformalizowała ten sam podział — harness i compute jako oddzielne warstwy, z natywnymi dostawcami sandbox (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel) oraz snapshot/rehydrate umożliwiającym przetrwanie utraty kontenera.2324
Głębsza powierzchnia SDK po stronie OpenAI pojawiła się w openai-agents Python v0.14.0 (wydanie 15 kwietnia 2026; ogłoszenie 16 kwietnia): podklasa SandboxAgent klasy Agent z default_manifest, instrukcjami sandbox i capabilities; Manifest opisujący kontrakt świeżego workspace (pliki, katalogi, pliki lokalne, repozytoria Git, env, użytkownicy, montowania); SandboxRunConfig dla okablowania per-run klienta sandbox, wstrzykiwania sesji live, nadpisań manifestu, snapshotów oraz limitów współbieżności materializacji. Wbudowane capabilities obejmują dostęp do shella, edycję filesystem, inspekcję obrazów, skills, pamięć sandbox oraz kompakcję. Pamięć sandbox utrwala wyekstrahowane lekcje pomiędzy uruchomieniami i ujawnia je progresywnie; workspaces obsługują pliki lokalne, wpisy repozytoriów Git oraz zdalne montowania (S3, R2, GCS, Azure Blob, S3 Files); snapshoty są przenośne między dostawcami. Backendy: UnixLocalSandboxClient, DockerSandboxClient oraz klienci hostowani dla Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop i Vercel poprzez opcjonalne dodatki.24
Dla projektów Python, które chcą osadzić runtime Claude Code jako bibliotekę — pomiędzy „wywołaniem powłoki do claude” a „REST API do Managed Agents” — claude-agent-sdk-python stanowi trzecią opcję. Seria z 28-29 kwietnia (v0.1.69 → v0.1.71) podniosła dołączony CLI do v2.1.123, podniosła minimalną wersję zależności mcp do >=1.19.0 (starsze wersje po cichu odrzucały zwroty CallToolResult z narzędzi MCP in-process, pozostawiając model z blobem błędu walidacji) oraz doprowadziła SandboxNetworkConfig do parytetu schematów z TypeScript SDK (allowedDomains, deniedDomains, allowManagedDomainsOnly, allowMachLookup).30
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 pobierają nową wartość domyślną automatycznie; należy jawnie przypiąć poprzedni model, aby utrzymać stare zachowanie do celów ewaluacji.
Architektoniczne rozwidlenie jest teraz realne:
| Wymiar | Self-hosted harness (domyślna opcja tego przewodnika) | Harness zarządzany (Claude Managed Agents / OpenAI Agents SDK) |
|---|---|---|
| Obciążenie operacyjne | Wszystko prowadzi się samodzielnie | Dostawca prowadzi pętlę, sandbox, stan |
| Możliwości dostosowania | Pełne — własne hooks, własne skills, własna pamięć | Ograniczone — punkty rozszerzeń zdefiniowane przez dostawcę |
| Model kosztów | Token + self-hosted compute | Token + premia za godzinę runtime |
| Trwałość stanu | Projektuje się ją samodzielnie | Dostawca tworzy checkpointy mimo rozłączeń |
| Orkiestracja zespołów agentów | Zbuduj własną | Koordynacja wieloagentowa dostarczona przez dostawcę |
Kiedy wybrać które: self-hosted pozostaje właściwy dla zespołów, które dysponują już infrastrukturalnymi kompetencjami, chcą mieć skills/hooks pod własną kontrolą lub głęboko optymalizują konkretny workflow. Zarządzany jest właściwy dla zespołów bez dedykowanych platform engineers, gdy czas wartości liczy się bardziej niż dostosowywanie, lub gdy uruchomienia agentów muszą niezawodnie przetrwać zamknięcie laptopa, bez konieczności samodzielnego budowania warstwy persystencji. Oba podejścia są kompatybilne — można uruchomić self-hosted harness, który deleguje konkretne długo trwające zadania do Managed Agents poprzez ich 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 służy określonemu celowi. Drzewo ~/.claude/ to osobista infrastruktura, która ma zastosowanie do wszystkich projektów. Drzewo .claude/ w każdym repozytorium jest specyficzne dla projektu i współdzielone poprzez git. Razem tworzą kompletny harness.
System Skills
Skills to rozszerzenia wywoływane przez model. Claude wykrywa je i stosuje automatycznie na podstawie kontekstu, bez konieczności jawnego ich wywoływania.4 Moment, w którym trzeba ponownie wyjaśniać ten sam kontekst w kolejnych sesjach, jest momentem, w którym warto zbudować skill.
Kiedy zbudować skill
| Sytuacja | Zbudować… | Dlaczego |
|---|---|---|
| Wklejanie tej samej listy kontrolnej w każdej sesji | Skill | Wiedza domenowa, która aktywuje się automatycznie |
| Jawne uruchamianie tej samej sekwencji poleceń | Slash command | Akcja wywoływana przez użytkownika z przewidywalnym wyzwalaczem |
| Potrzebna jest izolowana analiza, która nie powinna zanieczyszczać kontekstu | Subagent | Osobne okno kontekstu do pracy skupionej na zadaniu |
| Potrzebny jest jednorazowy prompt ze szczegółowymi instrukcjami | Nic | Wystarczy go wpisać. Nie wszystko wymaga abstrakcji. |
Skills służą do wiedzy, którą Claude ma zawsze dostępną. Slash commands służą do akcji wyzwalanych jawnie. Przy wyborze między nimi warto zapytać: „Czy Claude powinien stosować to automatycznie, czy to ja powinienem 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, dywizy, 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ę tylko przez /skill-name |
user-invocable |
Nie | Ustawienie false ukrywa go całkowicie z menu / |
model |
Nie | Nadpisuje model używany, gdy skill jest aktywny |
context |
Nie | Ustawienie fork uruchamia go w izolowanym oknie kontekstu |
agent |
Nie | Uruchamia jako subagent z własnym izolowanym kontekstem |
hooks |
Nie | Definiuje lifecycle hooks ograniczone do tego skill |
$ARGUMENTS |
Nie | Podstawienie tekstu: zastępowane wejściem użytkownika po /skill-name |
Pole description jest kluczowe
Na początku sesji Claude Code wyodrębnia name i description każdego skill i 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ódeł Claude Code potwierdza ten mechanizm: opisy skills są wstrzykiwane do sekcji available_skills system promptu, a model używa standardowego rozumienia języka do wyboru właściwych skills.10
Słaby 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 obejmuje: co robi (przegląda kod pod kątem konkretnych typów problemów), kiedy go używać (analiza zmian, PR-ów, jakości) oraz frazy wyzwalające (review, audit, check), które użytkownicy wpisują naturalnie.
Budżet kontekstu
Wszystkie opisy skills współdzielą budżet kontekstu skalowany dynamicznie na poziomie 1% okna kontekstu, z fallbackiem 8 000 znaków.4 Jeśli skills jest dużo, każdy opis powinien być zwięzły, a kluczowy przypadek użycia powinien znaleźć się na początku. Budżet można nadpisać przez zmienną środowiskową SLASH_COMMAND_TOOL_CHAR_BUDGET,11 ale lepszym rozwiązaniem są krótsze i bardziej precyzyjne opisy. Podczas sesji warto uruchomić /context, aby sprawdzić, czy jakieś skills nie zostały 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 czyta te pliki na żądanie, gdy skill się aktywuje. SKILL.md powinien mieć mniej niż 500 wierszy, a szczegółowe materiały referencyjne warto przenieść do plików pomocniczych.12
Udostępnianie skills przez Git
Project skills (.claude/skills/ w katalogu głównym 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 wykonują pull, automatycznie otrzymują skill. Bez instalacji, bez konfiguracji. To najskuteczniejszy sposób standaryzacji wiedzy eksperckiej w zespole.
Skills jako biblioteka promptów
Poza jednofunkcyjnymi skills 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 eksperckiej. Razem tworzą bazę wiedzy, z której Claude korzysta automatycznie na podstawie kontekstu. Młodszy developer otrzymuje wskazówki na poziomie seniora bez konieczności proszenia o nie.
Skills łączą się z hooks
Skills mogą definiować we frontmatter własne hooks, aktywowane tylko podczas działania danego skill. Pozwala to tworzyć zachowania specyficzne dla domeny, które nie zanieczyszczają 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ściowe do każdej sesji bez jawnego wywoływania. Sam skill jest wiedzą. Hook jest egzekwowaniem. Razem tworzą warstwę polityki.
Typowe błędy przy skills
Zbyt szerokie opisy. Skill git-rebase-helper, który aktywuje się przy każdym prompcie związanym z git (rebases, merges, cherry-picks, nawet git status), zanieczyszcza kontekst w 80% sesji. Rozwiązaniem jest zawężenie opisu albo dodanie disable-model-invocation: true i wymaganie jawnego wywołania /skill-name.4
Zbyt wiele skills konkurujących o budżet. Więcej skills oznacza więcej opisów konkurujących o 1% budżetu kontekstu. Jeśli skills się nie aktywują, należy sprawdzić /context pod kątem wykluczonych pozycji. Lepiej stawiać na mniejszą liczbę dobrze opisanych skills niż na wiele niejasnych.
Krytyczne informacje ukryte w plikach pomocniczych. Claude czyta SKILL.md natychmiast, ale do plików pomocniczych sięga tylko wtedy, gdy jest to potrzebne. Jeśli krytyczna informacja znajduje się w pliku pomocniczym, Claude może jej nie znaleźć. Kluczowe informacje należy umieszczać bezpośrednio w SKILL.md.4
Powierzchnia skill SDK (8 maja 2026)
Self-hosted harnesses na 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 daje Claude Code bardziej ustrukturyzowane informacje o tym, które skills są dostępne. Dołączony CLI w v0.1.77 to v2.1.133.
Konwergencja plugin i skill w .claude/skills/ (29 maja 2026)
Skills zawsze ładowały się z katalogu projektu .claude/skills/. Claude Code v2.1.157 rozszerza ten katalog na plugins: plugin umieszczony w .claude/skills/ ładuje się teraz automatycznie bez rejestracji w marketplace, a claude plugin init <name> tworzy tam nowy szkielet z manifestem i SKILL.md już połączonymi.58 To zamyka lukę między dwoma kształtami narzędzi projektowych, które wcześniej znajdowały się w różnych miejscach — prostym skill zapisanym bezpośrednio w repozytorium oraz plugin, który łączy skill, hooks i serwer MCP, ale wcześniej wymagał marketplace do instalacji. Praktyczny efekt dla projektowania harness: narzędzia scoped do projektu nie muszą już przechodzić przez registry, aby zostać dostarczone — wystarczy je napisać, commitować, a członkowie zespołu otrzymają tę samą powierzchnię po git pull. Plugins nadal obsługują przypadek pakietu instalacyjnego (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ć jeden z własnego drzewa.
Ukrywanie wbudowanej powierzchni jako governance (8 czerwca 2026)
Skills są możliwościami, a możliwości są powierzchnią ataku. Claude Code v2.1.169 dodaje ustawienie disableBundledSkills (oraz odpowiadającą mu zmienną środowiskową CLAUDE_CODE_DISABLE_BUNDLED_SKILLS), które całkowicie ukrywa przed modelem wbudowane skills, workflows i wbudowane slash commands.60 Dla utwardzonego lub regulowanego harness jest to celowe ograniczenie powierzchni ataku: operator, który przeprowadził audyt i zatwierdził konkretny zestaw project i personal skills, może wyłączyć wszystko, co Anthropic dostarcza w pakiecie, dzięki czemu model zawsze rozumuje wyłącznie na podstawie powierzchni sprawdzonej przez operatora. Należy traktować to tak samo jak tool allowlist — domyślnie dostępna jest szeroka funkcjonalność, a jej wyłączenie jest decyzją governance, nie wygodnym przełącznikiem.
Zagnieżdżone .claude/skills i rozstrzyganie closest-wins (16 czerwca 2026)
Claude Code v2.1.178 sprawił, że narzędzia projektowe stały się świadome lokalizacji. Skills w zagnieżdżonych katalogach .claude/skills ładują się teraz podczas pracy na plikach znajdujących się pod tym katalogiem, a nie tylko z katalogu głównego repozytorium; przy konflikcie nazw zagnieżdżony skill pojawia się jako <dir>:<name>, dzięki czemu oba pozostają dostępne.63 Ta sama wersja sprawiła, że reszta powierzchni projektu rozstrzyga się według katalogu najbliższego katalogowi roboczemu: gdy nazwa agent, workflow lub output-style koliduje między zagnieżdżonymi katalogami .claude/, wygrywa ta znajdująca się najbliżej katalogu roboczego, a zapis workflow w zakresie projektu trafia do najbliższego istniejącego .claude/workflows/, a nie zawsze do katalogu głównego.63 Dla monorepo lub repo-of-repos to różnica między jedną płaską globalną powierzchnią a narzędziami per-package aktywującymi się w kontekście — services/api/.claude/skills/ może zawierać skills specyficzne dla API, które pojawiają się tylko podczas pracy w tym drzewie, bez konfliktu ze skill services/web/ o tej samej nazwie.
Architektura hooków
Hooks to polecenia powłoki uruchamiane 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-liniowy 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, czy nie.
Dostępne zdarzenia
Claude Code udostępnia 29 udokumentowanych zdarzeń cyklu życia w ośmiu kategoriach według stanu na aktualizację tego przewodnika. Lista zdarzeń rośnie wraz z wydaniami, dlatego dokumentację referencyjną należy traktować jako źródło prawdy i przed podłączeniem hooków produkcyjnych sprawdzić ściągę, aby zobaczyć aktualną pełną tabelę:13
| Kategoria | Zdarzenia | Czy może blokować? |
|---|---|---|
| Sesja | SessionStart, Setup, SessionEnd |
Nie |
| Użytkownik / ukończenie | UserPromptSubmit, UserPromptExpansion, Stop, StopFailure, TeammateIdle |
Prompt/rozszerzenie/stop/bezczynność mogą blokować; StopFailure nie może |
| Narzędzie | PreToolUse, PermissionRequest, PermissionDenied, PostToolUse, PostToolUseFailure, PostToolBatch |
Pre/uprawnienia/batch mogą blokować; zdarzenia post nie mogą |
| Subagent / zadanie | SubagentStart, SubagentStop, TaskCreated, TaskCompleted |
Zdarzenia stop/zadania mogą blokować; start nie może |
| Kontekst | PreCompact, PostCompact, InstructionsLoaded |
PreCompact może blokować; post/load nie mogą |
| System plików / workspace | CwdChanged, FileChanged, WorktreeCreate, WorktreeRemove |
Utworzenie worktree może blokować; pozostałe nie mogą |
| Konfiguracja / powiadomienie | ConfigChange, Notification |
Zmiany konfiguracji mogą blokować z wyjątkiem ustawień polityki; powiadomienia nie mogą |
| MCP | Elicitation, ElicitationResult |
Tak |
Semantyka kodów wyjścia
Kody wyjścia określają, czy hooks blokują działania:3
| Kod wyjścia | Znaczenie | Działanie |
|---|---|---|
| 0 | Sukces | Operacja jest kontynuowana. Stdout widoczny 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 widoczny tylko w trybie szczegółowym (Ctrl+O). |
Krytyczne: Każdy hook bezpieczeństwa musi używać exit 2, nie exit 1. Exit 1 jest nieblokującym ostrzeżeniem. Niebezpieczne polecenie nadal się wykona. To najczęstszy błąd związany z hookami w zespołach.14
Konfiguracja hooków
Hooks znajdują się w plikach ustawień. Poziom projektu (.claude/settings.json) służy do współdzielonych hooków. Poziom użytkownika (~/.claude/settings.json) służy 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ść specyficzną dla zdarzenia. W przypadku zdarzeń narzędzi dopasowuje wartości tool_name, takie jak Bash, Edit, Write, Read, Glob, Grep, nazwy narzędzi MCP w rodzaju mcp__server__tool albo * dla wszystkich narzędzi. Proste nazwy i listy rozdzielone znakiem | są dopasowaniami dokładnymi; wartości z innymi znakami są wyrażeniami regularnymi JavaScript. Niektóre zdarzenia nie obsługują matcherów i uruchamiają się zawsze, gdy są skonfigurowane.13
Protokół wejścia/wyjścia hooków
Hooks otrzymują JSON na stdin 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 bardziej zaawansowanej kontroli hooks PreToolUse mogą zwracać JSON, aby zmodyfikować wejście narzędzia, wstrzyknąć kontekst albo podjąć decyzje o uprawnieniach. Należy używać wrappera hookSpecificOutput — starszy format najwyższego poziomu decision/reason 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 typy gwarancji
Przed napisaniem dowolnego hooka należy zapytać: jakiego rodzaju gwarancji potrzebuję?14
Gwarancje formatowania zapewniają spójność po fakcie. Hooks PostToolUse na Write/Edit uruchamiają formatter po każdej zmianie pliku. Wynik modelu nie ma 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, zanim zostaną wykonane. Hooks PreToolUse na 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 walidują stan w punktach decyzyjnych. Hooks PreToolUse na poleceniach git commit uruchamiają linter lub zestaw testów i blokują commit, jeśli kontrole jakości się nie powiodą:
#!/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 poza poleceniami powłoki
Claude Code obsługuje pięć typów hooków:13
Command hooks (type: "command") uruchamiają skrypty powłoki. Są szybkie, deterministyczne i bez kosztu tokenów.
MCP tool hooks (type: "mcp_tool") wywołują narzędzie na już połączonym serwerze MCP. Warto ich używać, gdy logika walidacji już znajduje się za granicą MCP i nie potrzebuje osobnego skryptu powłoki.
Prompt hooks (type: "prompt") wysyłają jednoturowy prompt 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 regex nie potrafi wyrazić.
Agent hooks (type: "agent") uruchamiają subagent z dostępem do narzędzi (Read, Grep, Glob) na potrzeby wieloturowej weryfikacji. Są eksperymentalne; w bramkach produkcyjnych lepiej preferować command hooks, a agent hooks zostawić dla kontroli, które rzeczywiście wymagają sprawdzania realnych 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 Claude Code v2.1.140 wejście agent hook zawiera subagent_type, co pozwala współdzielonemu hookowi odróżnić uruchomienie security-reviewer od explorera lub ogólnego workera bez zgadywania na podstawie treści promptu.49
HTTP hooks (type: "http") wysyłają wejście JSON danego zdarzenia jako żądanie POST pod URL i otrzymują JSON z powrotem. 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
}
]
}
]
}
}
Hooks asynchroniczne
Hooks mogą działać w tle bez blokowania wykonania. Należy dodać async: true dla operacji niekrytycznych, takich jak powiadomienia i logowanie:13
{
"type": "command",
"command": ".claude/hooks/notify-slack.sh",
"async": true
}
Async należy używać do powiadomień, telemetrii i kopii zapasowych. Nigdy nie należy używać async do formatowania, walidacji ani czegokolwiek, co musi się zakończyć przed następnym działaniem.
Dispatchers zamiast niezależnych hooków
Uruchamianie siedmiu hooków na tym samym zdarzeniu, z których każdy niezależnie czyta stdin, tworzy warunki wyścigu. Dwa hooks zapisujące jednocześnie do tego samego pliku stanu JSON obetną JSON. Każdy downstream hook, który parsuje ten plik, przestanie działać.2
Rozwiązanie: jeden dispatcher na zdarzenie, który uruchamia hooks sekwencyjnie z buforowanego stdin:
#!/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ą po cichu:14
- Testować skrypty niezależnie. Przekazać przykładowy JSON przez pipe:
echo '{"tool_input":{"command":"git commit -m test"}}' | bash your-hook.sh - Używać stderr do danych debugowania. Stderr przy kodzie wyjścia 2 jest przekazywany z powrotem do Claude jako komunikat błędu. Nieblokujący stderr (exit 1, 3 itd.) pojawia się tylko w trybie szczegółowym (Ctrl+O).
- Uważać na awarie jq. Błędne ścieżki JSON zwracają po cichu
null. Wyrażeniajqnależy testować względem rzeczywistego wejścia narzędzia. - Weryfikować kody wyjścia. Hook PreToolUse używający
exit 1nie zapewnia żadnego egzekwowania, choć wygląda, jakby działał. - Utrzymywać hooks szybkie. Hooks działają synchronicznie. Wszystkie hooks powinny mieścić się poniżej 2 sekund, najlepiej poniżej 500 ms.
Strumieniowanie zdarzeń hooków po stronie SDK
Self-hosted harnesses zbudowane na claude-agent-sdk-python (v0.1.74+, 6 maja 2026) mogą subskrybować zdarzenia hooków bezpośrednio ze strumienia wiadomości, zamiast przechodzić przez callbacki skryptów powłoki.36 Należy ustawić include_hook_events=True w ClaudeAgentOptions, a obiekty HookEventMessage (PreToolUse, PostToolUse, Stop i inne) będą zwracane z tego samego iteratora co wiadomości asystenta i wyniki narzędzi. Odzwierciedla to opcję includeHookEvents z TypeScript SDK; dołączony CLI podniesiono w tym samym wydaniu do v2.1.129.
Wzorzec strumienia zdarzeń pasuje wtedy, gdy harness już działa w Python i sygnały hooków mają znaleźć się w tym samym przepływie sterowania co wynik modelu. Kontrakt hooków skryptów powłoki (kody wyjścia, stdin JSON, dispatchers) pozostaje właściwą odpowiedzią dla harnesses, które komponują wiele narzędzi, współdzielą hooks między Claude Code i Codex albo potrzebują semantyki kodów wyjścia do blokowania.
Wysiłek i pochodzenie sesji (7-8 maja 2026)
Dwa dodatki w Claude Code v2.1.132 i v2.1.133 dają hookom i podprocesom lepszy sygnał o kontekście wykonania:3839
effort.levelw wejściu hooka. Hooks otrzymują teraz pole JSONeffort.levelw tym samym wejściu, które zawieratool_inputisession_id. Ta sama wartość jest eksportowana jako zmienna środowiskowa$CLAUDE_EFFORT, więc polecenia Bash mogą ją odczytać bez parsowania JSON. Warto używać tego do skalowania kosztu hooka według poziomu wysiłku: pominąć kosztowną walidację przylow, uruchomić pełną bramkę bezpieczeństwa przyxhighlubmax.- Zmienna środowiskowa
CLAUDE_CODE_SESSION_IDw podprocesach Bash. Podprocesy narzędzia Bash widzą teraz tę samą wartośćsession_id, którą widzą hooks, udostępnioną jakoCLAUDE_CODE_SESSION_ID. Zamyka to lukę pochodzenia dla narzędzi, które logują stan per sesja i wcześniej nie mogły korelować zdarzeń podprocesów ze zdarzeniami hooków.
Oba sygnały są dostępne bez zmian w kodzie; istniejące hooks, które ignorują nowe pola, nadal działają.
autoMode.hard_deny i poprawki hooków/pluginów w v2.1.136 (8 maja 2026)
Claude Code v2.1.136 dodał nowy poziom hard-deny do trybu auto i naprawił grupę problemów z pluginami oraz MCP, które wpływały na długotrwałe harnesses:40
settings.autoMode.hard_deny. Reguły klasyfikatora trybu auto, które blokują bezwarunkowo, niezależnie od intencji użytkownika lub wyjątków allow. Znajduje się to nad istniejącymi matcherami allow/deny jako nienegocjowalna dźwignia governance. Należy używać tego dla reguł, których nigdy nie wolno nadpisać (force-push do main, pliki zawierające sekrety, dostęp do produkcyjnej bazy danych), nawet gdy operator zatwierdził szerszą kategorię w swoich ustawieniach osobistych.- Serwery MCP nie znikają już po
/clear. Serwery skonfigurowane w.mcp.json, pluginach i connectorach claude.ai po/clearw rozszerzeniu VS Code, pluginie JetBrains i Agent SDK po cichu wypadały z aktywnego zestawu. Poprawka trafia do v2.1.136. Jeśli widoczny był komunikat „serwer MCP X zniknął w środku sesji”, to była przyczyna. - Utrata refresh-tokenów OAuth MCP przy równoczesnym odświeżaniu. Użytkownicy z kilkoma zdalnymi serwerami MCP nie powinni już potrzebować codziennego ponownego uwierzytelniania. Równoczesne zapisy odświeżania nadpisywały się nawzajem.
- Plan mode blokuje teraz zapisy plików poprawnie. Pasująca reguła allow
Edit(...)obchodziła ochronę zapisu w plan-mode. Plan mode jest teraz egzekwowany niezależnie od reguł allow. - Hooks pluginów
StopiUserPromptSubmitnie zawodzą już w środku sesji. Czyszczenie cache usuwało pliki wersji pluginów nadal używane przez uruchomioną sesję, psując konkretnie te dwa zdarzenia hooków. Poprawka utrzymuje używane wersje przypięte. - Wpis
skillswplugin.json. Ustawienieskillsukrywało domyślny katalogskills/pluginu. Teraz wpis komponuje się poprawnie, a wskazanie go na ścieżkę pliku zgłasza jawny błąd zamiast cichej awarii. - Starzejące się zmienne środowiskowe hooka SessionStart
CLAUDE_ENV_FILE. Zmienne eksportowane przez hooks SessionStart przezCLAUDE_ENV_FILEstawały się nieaktualne po/resumelub/clear. Naprawiono w v2.1.136. Sesje teraz ponownie wczytują plik env przy tych zdarzeniach.
Dla governance harnesses operacyjnie najciekawsze pozycje to autoMode.hard_deny (nowa dźwignia) i poprawka znikania MCP (cicha awaria psująca długie sesje). Cała reszta to poprawki jakości życia.
Ustrukturyzowane argumenty hooków i kontynuacja po blokadzie (11 maja 2026)
Claude Code v2.1.139 dodał dwa szczegóły hooków ważne dla harnesses produkcyjnych: formę exec args: string[] dla command hooks oraz continueOnBlock dla hooks PostToolUse.4244 Należy preferować args, gdy hook potrzebuje dynamicznych wartości lub placeholderów ścieżek. Uruchamia to polecenie bezpośrednio bez powłoki, co usuwa całą klasę błędów cytowania i injection.
continueOnBlock należy używać wtedy, 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ę doświadczenia operatora, nie obejście bezpieczeństwa. Bramka blokująca nadal powinna blokować niebezpieczny rezultat.
To samo wydanie 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ędem projektu z tej wartości, a nie z dowolnego katalogu roboczego procesu, który przypadkiem uruchomił serwer.
Claude Code v2.1.140 to głównie wydanie niezawodnościowe dla operatorów harnesses: naprawia hooks ConfigChange, które nie uruchamiały się przy zmianach ustawień, zamyka przypadki brzegowe, w których disableAllHooks i allowManagedHooksOnly nie komponowały się poprawnie między poziomami ustawień, oraz zatrzymuje okna dialogowe uprawnień przed ujawnianiem niezamierzonych zmiennych środowiskowych zwróconych przez wyniki hooków.49 Dzięki temu istniejące wzorce governance w tej sekcji stają się bardziej niezawodne; nie wymaga to nowej architektury hooków.
Claude Code v2.1.141 dodaje pole wyjścia hooka terminalSequence dla powiadomień desktopowych, tytułów okien i dzwonków bez terminala sterującego.50 Należy traktować to jako sygnalizację operatorską, nie egzekwowanie. Bramki bezpieczeństwa i jakości nadal powinny komunikować awarie przez normalny kontrakt blokowania: ustrukturyzowane wyjście hooka plus zachowanie wyjścia, które zapobiega niebezpiecznemu działaniu. To samo wydanie 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 workload-identity obejmujących więcej niż jeden workspace.50 To szczegóły architektoniczne dla zespołowych harnesses: węższe widoki operacyjne, mniej założeń dotyczących instalacji pluginów i jawne zakresowanie tokenów enterprise.
Claude Code v2.1.142 jest ważniejszy dla orkiestracji sesji w tle niż dla semantyki hooków.51 claude agents może teraz wysyłać sesje w tle z jawnymi flagami katalogu, ustawień, MCP, pluginu, uprawnień, modelu i wysiłku, zamiast zależeć od stanu wrappera. Fast mode domyślnie używa teraz Opus 4.7; należy przypiąć CLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1 tylko wtedy, gdy harness zmierzył zależność od zachowania Opus 4.6. Wykrywanie root-level plugin SKILL.md i widoczność LSP dostarczana przez pluginy zmniejszają niejednoznaczność pakowania. Poprawki MCP_TOOL_TIMEOUT, wcześniej istniejących worktrees sesji w tle, usypiania/wybudzania daemona i czyszczenia po aktualizacji oraz czyszczenia cache pluginów zamykają luki niezawodnościowe, które w przeciwnym razie wyglądają jak błędy orkiestracji.
Sterowanie stop-hook, autorytet między sesjami i multi-agent v2 (czerwiec 2026)
Cztery zmiany z początku czerwca są ważne dla projektowania harness i multi-agent.59
Hooks Stop/SubagentStop otrzymały kanał sterowania. Od Claude Code v2.1.163 hook Stop lub SubagentStop może zwrócić hookSpecificOutput.additionalContext, aby przekazać Claude informację zwrotną i utrzymać turę w toku, bez oznaczania odpowiedzi jako błędu hooka. Wcześniej jedyną realną dźwignią Stop hooka była blokada exit-2, która wygląda jak błąd i liczy się do limitu kolejnych blokad. Dla quality-gate harness to czystszy prymityw: Stop hook, który wykryje „powiedziano done, ale testy są czerwone”, może teraz wstrzyknąć „oto co nadal nie działa, kontynuuj” zamiast twardo blokować. Blokady należy używać dla rzeczywistych warunków zatrzymania, a additionalContext dla „jeszcze nie gotowe, oto dlaczego”.
Komunikacja między sesjami nie przenosi już pożyczonego autorytetu. v2.1.166 utwardził przypadek wielu sesji: wiadomości przekazywane przez SendMessage z innej sesji Claude nie przenoszą już autorytetu użytkownika źródłowego, więc sesja odbierająca odmawia przekazanych żądań uprawnień, a tryb auto je blokuje. Jeśli orkiestracja pozwala agentom wysyłać do siebie wiadomości, wiadomość przychodzącą należy traktować jako niezaufane dane, nie jako uwierzytelnioną instrukcję. To ta sama zasada, którą sekcja bezpieczeństwa stosuje do wyniku narzędzi, rozszerzona na komunikację między agentami.
Odporność modelu stała się ustawieniem pierwszej klasy. Ustawienie fallbackModel łączy teraz do trzech modeli zapasowych, próbowanych po kolei, gdy model główny jest przeciążony lub niedostępny, a tura automatycznie ponawia się raz na fallbacku przy nieoczekiwanych nieponawialnych błędach API. Dla długotrwałego autonomicznego harness zmienia to przejściową awarię modelu głównego w łagodną degradację zamiast przerwanego uruchomienia. claude agents --json dodał też pole waitingFor (v2.1.162), które ujawnia, na co czeka zablokowana sesja w tle, na przykład prompt uprawnień — to wygrana obserwowalności dla każdego koordynatora odpytującego flotę agentów.
Safe mode do clean-room governance 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 wyłączonymi naraz wszystkimi personalizacjami: CLAUDE.md, plugins, skills, hooks i serwerami MCP.60 To odwrotność harness — celowy clean-room. Należy używać tego do odpowiedzi na pytanie, które w końcu zada każdy operator: „czy to zachowanie pochodzi z modelu, czy z czegoś, co skonfigurowano?” Gdy hook uruchamia się błędnie, skill aktywuje się, gdy nie powinien, albo serwer MCP zatruwa kontekst, --safe-mode daje znany pusty punkt odniesienia do porównania. To także prymityw governance: sposób na uruchomienie gołego modelu bez żadnego trwałego autorytetu, który zwykle nadaje harness, co ma znaczenie, gdy trzeba odtworzyć wynik bez wpływu jakiegokolwiek scaffolding zdefiniowanego przez operatora.
Uwaga o poziomach modeli. Ten przewodnik traktuje Opus 4.8 jako agentic default Claude Code — model, który uruchamia autonomiczne harnesses, chyba że wybrano inaczej. Według stanu na 9 czerwca 2026 Anthropic uruchomił Claude Fable 5 (claude-fable-5), nowy poziom powyżej Opus, opisany jako jego najpotężniejszy model — system klasy „Mythos” uczyniony bezpiecznym do ogólnego użytku — wybieralny w Claude Code v2.1.170 przez /model claude-fable-5.60 Opus 4.8 pozostaje agentic default; po wyższy poziom należy sięgać celowo, przy decyzjach, gdzie surowa głębia rozumowania uzasadnia koszt, a nie jako ogólne ustawienie dla floty.
Codex dostarczył multi-agent v2. Codex CLI v0.137.0 zachowuje wybór runtime przy każdym wątku, udostępnia czystsze domyślne follow-upy i metadane dla uruchamianych agentów (hide_spawn_agent_metadata ma teraz domyślnie true) oraz propaguje surowe zdarzenia rodzica do listenerów dziecka. Jego model subagent pozostaje jawny: wbudowane typy agentów default/worker/explorer, agenci niestandardowi definiowani w TOML i kontrola współbieżności (agents.max_threads domyślnie 6, agents.max_depth domyślnie 1). To samo wydanie dodaje rozszerzenie skills v1 z rozwiązywaniem katalogu skills per tura i nowymi zdarzeniami lifecycle contributor dla startu wątku/błędu tury, zmniejszając dystans do powierzchni hook/skill Claude Code, przy jednoczesnym utrzymaniu postawy kernel-sandbox jako domyślnej granicy. Codex v0.138.0–v0.139.0 następnie utwardziły multi-agent v2 do produkcji: payloady wiadomości między agentami są teraz szyfrowane, katalog konfiguracji agentów v2 plus LRU rezydencji agentów zarządzają tym, którzy agenci pozostają rezydentni, a współbieżność jest liczona według aktywnego wykonania, nie według uruchomionych wątków, więc bezczynni agenci nie zużywają już slotu.61 Lifecycle API także 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łaścicielskiego wątku zamiast duplikować się w transkrypcie rodzica.61 Dla każdego, kto buduje orkiestrację po stronie Codex, to różnica między demo a flotą: szyfrowany transport wiadomości, ograniczona rezydencja, współbieżność liczona wykonaniem i ostrzeżenia, które nie wyciekają przez granicę wątku. Codex v0.140.0 otworzył następnie przejście między narzędziami: /import selektywnie pobiera setup, 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 przechodzą między harnesses — konfiguracja budowana dla jednego nie jest już w nim uwięziona.
Pamięć i kontekst
Każda konwersacja z AI działa w ramach ograniczonego okna kontekstu. W miarę rozrastania się rozmowy system kompresuje wcześniejsze tury, aby zrobić miejsce na nowe treści. Kompresja jest stratna. Decyzje architektoniczne udokumentowane w turze 3 mogą nie przetrwać do tury 15.9
Trzy mechanizmy załamania w wielu turach
Badanie MSR/Salesforce wskazał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 zaprzecza własnym wcześniejszym decyzjom między turami | Iteracja w świeżym kontekście (Ralph loop) |
| Błąd koordynacji | Wielu agentów ma 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 kompakcji.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 okaże się, że ((VAR++)) kończy się niepowodzeniem przy set -e w bash, kiedy VAR ma wartość 0, należy to zapisać. Trzy sesje później, gdy pojawi się podobny przypadek brzegowy dotyczący 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 do ~/.claude/projects/{project-path}/memory/MEMORY.md. Auto memory ładuje pierwsze 200 wierszy do promptu systemowego na początku sesji. Należy zachować zwięzłość i linkować do osobnych plików tematycznych z bardziej szczegółowymi notatkami.6
Kuracja pamięci zamiast jej objętości (maj 2026): Niedawny preprint 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 pogarszała współpracę w 18 z 28 konfiguracji model-gra.48 Należy traktować to jako ostrzeżenie projektowe, a nie ostateczne prawo. Reguła produkcyjna jest już wystarczająco jasna: MEMORY.md powinien być krótki, odsyłać do szczegółów i zawierać gotowe do decyzji podsumowania w handoffach. Surowe zrzuty transkrypcji, logi narzędzi i długie strumienie przywołań należą do przeszukiwalnego magazynu, a nie automatycznie do aktywnego promptu.
Strategia 2: proaktywna kompakcja
Polecenie /compact w Claude Code podsumowuje rozmowę i zwalnia miejsce w kontekście, zachowując kluczowe decyzje, zawartość plików oraz stan zadania.15
Kiedy wykonywać kompakcję: - Po ukończeniu odrębnego podzadania (wdrożona funkcja, naprawiony błąd) - Przed rozpoczęciem pracy nad nowym obszarem codebase - Gdy Claude zaczyna się powtarzać lub zapominać wcześniejszy kontekst - Mniej więcej co 25-30 minut podczas intensywnych sesji
Niestandardowe instrukcje kompakcji w CLAUDE.md:
# Summary Instructions
When using compact, focus on:
- Recent code changes
- Test results
- Architecture decisions made this session
Kompakcja chroni rozmowę; polecenie /cd (Claude Code v2.1.169) chroni prompt cache. Przenosi sesję do nowego katalogu roboczego w trakcie pracy bez naruszania cache, który nagromadził się w danej turze.60 Wcześniej zmiana katalogów oznaczała świeżą sesję i zimny cache. W długiej sesji, która przechodzi z jednego repozytorium do sąsiedniego — co jest typowe w pracy z monorepo i wieloma usługami — /cd utrzymuje kosztowny, buforowany prefiks, jednocześnie przestawiając kontekst systemu plików.
Strategia 3: handoffy sesji
W przypadku zadań rozciągających się na wiele sesji należy tworzyć dokumenty handoff, które przechwytują 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) albo odczytanie dokumentu handoff prowadzi bezpośrednio do implementacji.15
Strategia 4: iteracja w świeżym kontekście (Ralph loop)
W przypadku sesji trwających ponad 60-90 minut należy uruchamiać świeżą instancję Claude dla każdej iteracji. Stan utrzymuje się przez system plików, a nie przez pamięć konwersacyjną. Każda iteracja otrzymuje pełny budżet kontekstu:16
Iteration 1: [200K tokens] -> writes code, creates files, updates state
Iteration 2: [200K tokens] -> reads state from disk, continues
Iteration 3: [200K tokens] -> reads updated state, continues
...
Iteration N: [200K tokens] -> reads final state, verifies criteria
Porównanie z pojedynczą długą sesją:
Minute 0: [200K tokens available] -> productive
Minute 30: [150K tokens available] -> somewhat productive
Minute 60: [100K tokens available] -> degraded
Minute 90: [50K tokens available] -> significantly degraded
Minute 120: [compressed, lossy] -> errors accumulate
Podejście ze świeżym kontekstem na każdą iterację wymienia 15-20% narzutu na etap orientacji (odczyt plików stanu, skanowanie 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 pojedyncza rozmowa jest bardziej efektywna. Po przekroczeniu 90 minut świeży kontekst daje wynik wyższej jakości mimo narzutu.
Strategia 5: zarządzana kuracja pamięci (Dreaming)
Managed Agents Claude od Anthropic dodały Dreaming jako Research Preview 6 maja 2026.35 Według Anthropic: „Dreaming is a scheduled process that reviews your agent sessions and memory stores, extracts patterns, and curates memories so your agents improve over time.”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 powierzchnią nośną; Dreaming zapisuje wyselekcjonowane wpisy pamięci w magazynie pamięci Managed Agents, który agent odczytuje na początku sesji. Te dwa wzorce współistnieją w harnessach łączących samodzielnie hostowany stan w systemie plików z kuracją po stronie zarządzanej.
| Pamięć w systemie plików | Dreaming (zarządzane) | |
|---|---|---|
| Gdzie znajduje się pamięć | Repozytorium, pod kontrolą wersji | Magazyn pamięci zarządzany przez Anthropic |
| Kiedy się aktualizuje | Wpisy są tworzone ręcznie lub przez hooks | Proces w tle między sesjami |
| Co przechwytuje | Decyzje, błędy, wzorce wskazane przez użytkownika | Wzorce wyodrębnione z historii sesji |
| Najlepsze zastosowanie | Specyficzna dla projektu wiedza instytucjonalna | Odkrywanie wzorców między sesjami, których nie dałoby się wychwycić ręcznie |
Dreaming jest w Research Preview, więc jego zachowanie może się zmienić. Udokumentowane wyżej wzorce session handoffs i CLAUDE.md pozostają autorytatywnym mechanizmem pamięci dla samodzielnie hostowanych harnesses.
Antywzorce
Odczytywanie całych plików, gdy potrzeba 10 wierszy. Pojedynczy odczyt 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
Trzymanie rozwlekłego outputu błędów w kontekście. Po debugowaniu błędu kontekst zawiera ponad 40 stack trace’ów z nieudanych iteracji. Jedno /compact po naprawieniu błędu usuwa ten zbędny ciężar.
Rozpoczynanie każdej sesji od odczytania każdego pliku. Narzędzia glob i grep w Claude Code powinny 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 niezależnie obsługują złożone zadania. Zaczynają od czystego kontekstu (bez zanieczyszczeń z głównej rozmowy), działają z określonymi narzędziami i zwracają wyniki jako podsumowania. Wyniki eksploracji nie rozrastają głównej rozmowy; wracają tylko wnioski.5
Wbudowane typy subagents
| Typ | Model | Tryb | Narzędzia | Zastosowanie |
|---|---|---|---|---|
| Explore | Haiku (szybki) | Tylko odczyt | Glob, Grep, Read, bezpieczny bash | Eksploracja codebase, znajdowanie plików |
| General-purpose | Dziedziczony | Pełny odczyt/zapis | Wszystkie dostępne | Złożone badanie + modyfikacja |
| Plan | Dziedziczony (lub Opus) | Tylko odczyt | Read, Glob, Grep, Bash | Planowanie przed wykonaniem |
Tworzenie niestandardowych subagents
Subagents definiuje się w .claude/agents/ (projekt) albo ~/.claude/agents/ (osobiste):
---
name: security-reviewer
description: Expert security code reviewer. Use PROACTIVELY after any code
changes to authentication, authorization, or data handling.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
You are a senior security engineer reviewing code for vulnerabilities.
When invoked:
1. Identify the files that were recently changed
2. Analyze for OWASP Top 10 vulnerabilities
3. Check for secrets, hardcoded credentials, SQL injection
4. Report findings with severity levels and remediation steps
Focus on actionable security findings, not style issues.
Pola konfiguracji subagent
| Pole | Wymagane | Cel |
|---|---|---|
name |
Tak | Unikalny identyfikator (małe litery + dywizy) |
description |
Tak | Kiedy wywoływać (należy dodać „PROACTIVELY”, aby zachęcić do automatycznej delegacji) |
tools |
Nie | Rozdzielane przecinkami. Jeśli pominięte, dziedziczy wszystkie narzędzia. Obsługuje Agent(agent_type), aby ograniczyć agentów możliwych do uruchomienia |
disallowedTools |
Nie | Narzędzia do zablokowania, usuwane z listy dziedziczonej lub określonej. Od wersji v2.1.178 specyfikacje na poziomie serwera MCP (mcp__server, mcp__server__*, mcp__*) są tutaj dopasowywane poprawnie — wcześniejsze wersje po cichu je ignorowały, więc reguła odmowy mająca blokować serwer MCP w praktyce nic nie robiła.63 |
model |
Nie | sonnet, opus, haiku, inherit (domyślnie: inherit) |
permissionMode |
Nie | default, acceptEdits, delegate, dontAsk, bypassPermissions, plan |
maxTurns |
Nie | Maksymalna liczba tur agentowych, zanim subagent się zatrzyma |
memory |
Nie | Zakres trwałej pamięci: user, project, local |
skills |
Nie | Automatyczne ładowanie treści skills do kontekstu subagent przy uruchomieniu. Od wersji v2.1.133 subagents wykrywają również projektowe, użytkownika i plugin skills za pomocą narzędzia Skill w taki sam sposób jak sesja nadrzędna. Wcześniejsze wersje po cichu usuwały je z kontekstu subagent.39 |
hooks |
Nie | Lifecycle hooks ograniczone do wykonania tego subagent |
background |
Nie | Zawsze uruchamiaj jako zadanie w tle |
isolation |
Nie | Ustaw na worktree, aby użyć izolowanej kopii git worktree |
Izolacja worktree
Subagents mogą działać w tymczasowych git worktrees, zapewniając kompletną izolowaną kopię repozytorium:5
---
name: experimental-refactor
description: Attempt risky refactoring in isolation
isolation: worktree
tools: Read, Write, Edit, Bash, Grep, Glob
---
You have an isolated copy of the repository. Make changes freely.
If the refactoring succeeds, the changes can be merged back.
If it fails, the worktree is discarded with no impact on the main branch.
Izolacja worktree jest niezbędna przy pracy eksperymentalnej, która mogłaby uszkodzić codebase.
Równoległe subagents
Równoległych subagents warto używać do niezależnych zadań badawczych, które nie muszą ze sobą koordynować pracy: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 agents delegują do agents, które delegują do kolejnych agents, a każdy z nich traci kontekst i zużywa tokeny. Wzorzec recursion guard wymusza budżety:16
#!/bin/bash
# recursion-guard.sh — enforce spawn budget
CONFIG_FILE="${HOME}/.claude/configs/recursion-limits.json"
STATE_FILE="${HOME}/.claude/state/recursion-depth.json"
MAX_DEPTH=2
MAX_CHILDREN=5
DELIB_SPAWN_BUDGET=2
DELIB_MAX_AGENTS=12
# Read current depth
current_depth=$(jq -r '.depth // 0' "$STATE_FILE" 2>/dev/null)
if [[ "$current_depth" -ge "$MAX_DEPTH" ]]; then
echo "BLOCKED: Maximum recursion depth ($MAX_DEPTH) reached" >&2
exit 2
fi
# Increment depth using safe arithmetic (not ((VAR++)) with set -e)
new_depth=$((current_depth + 1))
jq --argjson d "$new_depth" '.depth = $d' "$STATE_FILE" > "${STATE_FILE}.tmp"
mv "${STATE_FILE}.tmp" "$STATE_FILE"
Kluczowa lekcja: należy używać budżetów uruchomień, a nie tylko limitów głębokości. Limity oparte na głębokości śledzą łańcuchy rodzic-dziecko (blokowane na głębokości 3), ale pomijają szerokość: 23 agents na głębokości 1 to nadal „głębokość 1”. Budżet uruchomień śledzi łączną liczbę aktywnych dzieci na rodzica, ograniczoną konfigurowalnym maksimum. Model budżetu odpowiada rzeczywistemu trybowi awarii (zbyt wiele łącznych agents), a nie metryce zastępczej (zbyt wiele poziomów zagnieżdżenia).7
Rekurencyjna delegacja jest teraz natywną głębokością. Od Claude Code v2.1.172 (10 czerwca 2026) sub-agents mogą uruchamiać własne sub-agents, zagnieżdżając się do 5 poziomów głębokości — wcześniej delegacja była faktycznie ograniczona do jednego poziomu.62 To sprawia, że powyższy recursion guard jest ważniejszy, nie mniej ważny: platforma dopuszcza teraz dokładnie te łańcuchy agents-delegating-to-agents, które zużywają kontekst i tokeny, więc budżet uruchomień oraz limit głębokości powstrzymują 5-poziomowe drzewo przed rozrośnięciem się do setek aktywnych agents. 5 poziomów należy traktować jako pułap dopuszczany przez platformę, nie jako domyślny cel.
Auto mode weryfikuje teraz uruchomienia przed startem. Claude Code v2.1.178 zamknęło lukę w zarządzaniu dopasowaniem: w auto mode uruchomienia subagent są oceniane przez klasyfikator uprawnień przed uruchomieniem subagent, a nie dopiero wtedy, gdy zaczyna wykonywać działania.63 Wcześniej można było uruchomić subagent, aby zażądał działania, którego sesja nadrzędna nie mogłaby wykonać — samo uruchomienie było obejściem. Weryfikacja w momencie uruchomienia oznacza, że recursion guard i model uprawnień wreszcie się spotykają: dziecko nie może służyć jako etap „prania” działania zabronionego przez politykę.
Agent Teams (Research Preview)
Agent Teams koordynują wiele instancji Claude Code, które pracują niezależnie, komunikują się przez wspólną skrzynkę i listę zadań oraz mogą kwestionować swoje ustalenia:5
| Komponent | Rola |
|---|---|
| Team lead | Główna sesja, która tworzy zespół, uruchamia teammates i koordynuje pracę |
| Teammates | Oddzielne instancje Claude Code pracujące nad przypisanymi zadaniami |
| Task list | Wspólne elementy pracy, które teammates przejmują i kończą (z blokadą pliku) |
| Mailbox | System wiadomości do komunikacji między agents |
Włącz za pomocą: export CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS=1
Kiedy używać agent teams zamiast subagents:
| Subagents | Agent Teams | |
|---|---|---|
| Komunikacja | Tylko raportowanie wyników z powrotem | Teammates wysyłają wiadomości bezpośrednio do siebie |
| Koordynacja | Główny agent zarządza całą pracą | Wspólna lista zadań z samokoordynacją |
| Najlepsze do | Skoncentrowanych zadań, w których liczy się tylko wynik | Złożonej pracy wymagającej dyskusji i współpracy |
| Koszt tokenów | Niższy | Wyższy (każdy teammate = oddzielne okno kontekstu) |
Agent View i pętle celu (maj 2026)
Claude Code v2.1.139 dodało Agent View, interfejs w wersji research-preview uruchamiany poleceniem claude agents, który pokazuje z jednego ekranu działające, zablokowane i ukończone sesje Claude Code.4243 Oficjalna dokumentacja przedstawia go jako sposób na wysyłanie i zarządzanie wieloma sesjami, sprawdzanie, co robi każda sesja, oraz identyfikowanie tych, które wymagają działania operatora.43 Daje to pracy multi-agent widok operacyjny, którego końcowe podsumowania nie są w stanie zapewnić.
Agent View warto używać przy promowaniu wzorca subagent lub zespołu: należy sprawdzić, które sesje są zablokowane, które nadal działają i czy rozkład pracy odpowiada zamierzonej architekturze. Nie należy traktować go jako dowodu jakości. To obserwowalność; o tym, czy praca jest solidna, nadal decydują testy, bramki review i raporty dowodowe.
Ta sama wersja dodała /goal, które ustawia warunek ukończenia i pozwala Claude kontynuować pracę przez kolejne tury, aż warunek zostanie spełniony, także w trybach interaktywnym, -p i Remote Control.42 /goal należy traktować jako pętlę ukończenia ograniczoną do sesji, a nie jako zamiennik deterministycznych bramek. Przydaje się do utrzymania skupienia agent na celu, ale testy, kontrole cytowań, kontrole wdrożenia i security hooks powinny pozostać oparte na poleceniach lub skryptach tam, gdzie awaria musi blokować dalszy przebieg.
Workflow Tool (v2.1.147+)
Claude Code v2.1.147 dodaje domyślnie wyłączone narzędzie Workflow do deterministycznej orkiestracji multi-agent. Włącza się je przez CLAUDE_CODE_WORKFLOWS=1.52 Architektonicznie jest to ważne, ponieważ daje Claude Code natywną prymitywną funkcję orkiestracji dla przepływów, które wcześniej wymagały niestandardowych skryptów dispatcher, stanu mailbox i konwencji koordynacji subagent.
Nie należy usuwać otaczającego go harness. Workflow może strukturyzować wykonanie, ale nie zastępuje modelu bezpieczeństwa. PreToolUse i PostToolUse hooks należy zachować jako warstwę blokującą, budżety uruchomień lub budżety kroków workflow należy zachować, aby zapobiegać niekontrolowanemu rozrostowi szerokości, stan systemu plików powinien pozostać audytowalny, a końcowe raporty dowodowe powinny pozostawać poza samooceną modelu. W praktyce: Workflow służy do kształtu orkiestracji; hooks, testy i bramki review służą do ustalania prawdy.
Orkiestracja wieloagentowa
Jednoagentowe systemy AI mają strukturalny martwy punkt: nie potrafią kwestionować własnych założeń.7 Wieloagentowa deliberacja wymusza niezależną ocenę z wielu perspektyw, zanim jakakolwiek decyzja zostanie zablokowana.
Orkiestracja międzynarzędziowa (kwiecień 2026): Google udostępnił Scion jako oprogramowanie open source 7 kwietnia — to wieloagentowy hipernadzorca uruchamiający Claude Code, Gemini CLI oraz inne „głębokie agenty” jako równoległe procesy, każdy z izolowanym kontenerem, git worktree i poświadczeniami. Działa lokalnie, w hubie lub na Kubernetes. Wyraźna filozofia: „izolacja zamiast ograniczeń” — agenty działają z wysoką autonomią w obrębie granic egzekwowanych na warstwie infrastruktury, a nie w promptach.25 Rozszerza to bezpośrednio argument o izolacji subagentów na różnych dostawców narzędzi. Jeśli przepływ pracy obejmuje Claude oraz modele OpenAI, Scion jest pierwszą realną referencyjną implementacją międzynarzędziowych subagentów z izolacją worktree i poświadczeń per-agent.
Debata nie jest cudownym lekiem: Klaster badawczy M3MAD-Bench (początek 2026) ustalił, że wieloagentowa debata osiąga plateau i może być podważana przez mylący konsensus — trafne argumenty przegrywają, gdy inne agenty z pewnością siebie twierdzą coś błędnego.26 Tool-MAD poprawia to, dając każdemu agentowi heterogeniczny dostęp do narzędzi i stosując oceny Faithfulness/Relevance na etapie sędziowskim. Przy budowie orkiestracji w stylu debaty warto zainwestować w (a) heterogeniczność narzędzi per agent oraz (b) ilościową punktację sędziowską, zamiast zakładać, że więcej agentów = lepsze odpowiedzi.
Zarządzana orkiestracja wieloagentowa i Outcomes (Public Beta)
Jeśli nie chce się budować infrastruktury deliberacji opisanej poniżej, Multiagent Orchestration weszła w fazę Public Beta w Claude Managed Agents 6 maja 2026.35 Według Anthropic: „Gdy pojedynczy agent ma zbyt dużo pracy do wykonania na wysokim poziomie, orkiestracja wieloagentowa pozwala wiodącemu agentowi podzielić zadanie na części i delegować każdą z nich do specjalisty z własnym modelem, promptem i narzędziami.”35 Specjaliści „pracują równolegle na współdzielonym systemie plików i wnoszą wkład do ogólnego kontekstu wiodącego agenta.”35
Śledzenie jest wbudowane. Według Anthropic: „można również prześledzić każdy krok w Claude Console: który agent co zrobił, w jakiej kolejności i dlaczego, co daje pełną widoczność tego, w jaki sposób zadanie zostało zdelegowane i wykonane.”35
Towarzyszącą funkcją Public Beta jest Outcomes. Według Anthropic: „pisze się rubrykę opisującą, jak wygląda sukces, a agent pracuje nad jej spełnieniem. Oddzielny oceniający (grader) ewaluuje wynik względem podanych kryteriów we własnym oknie kontekstowym, dzięki czemu nie jest pod wpływem rozumowania agenta.”35 To wersja zarządzana usługą wzorca walidacji dwubramkowej udokumentowanego w dalszej części tego rozdziału: rubryka zastępuje ręcznie napisaną bramkę, a oddzielny grader zastępuje walidator konsensusu.
| Samodzielnie hostowana deliberacja (ten rozdział) | Zarządzana Multiagent + Outcomes | |
|---|---|---|
| Routing specjalistów | Pisze się logikę spawnowania samodzielnie | Wiodący agent dzieli zadanie na części |
| Walidacja | Hooki dwubramkowe + punktacja konsensusu | Rubryka + grader w oddzielnym kontekście |
| Śledzenie | Trzeba je samodzielnie oprzyrządować | Claude Console |
| Najlepsze do | Wzorców wymagających pełnej kontroli lub konkretnej kompozycji narzędzi | Standardowych wzorców delegowania, gdzie rubryka walidacyjna jest kontraktem |
| Cennik | Tylko koszt tokenów + harness | Standardowe tokeny plus stawka godziny sesyjnej Managed Agents (baza startowa z 8 kwietnia; zob. 23) |
Samodzielnie hostowana deliberacja pozostaje właściwą odpowiedzią, gdy walidacja musi integrować się z własną powierzchnią hooków (blokowanie PreToolUse, semantyka kodu wyjścia, niestandardowe dispatchery) lub gdy harness musi działać bez zewnętrznych zależności. Managed Multiagent jest właściwą odpowiedzią, gdy standardowe delegowanie plus ocenianie według rubryki to faktycznie potrzebny kontrakt.
Minimalna sensowna deliberacja
Należy zacząć od 2 agentów i 1 reguły: agenty muszą oceniać niezależnie, zanim zobaczą wzajemną pracę.7
Decision arrives
|
v
Confidence check: is this risky, ambiguous, or irreversible?
|
+-- NO -> Single agent decides (normal flow)
|
+-- YES -> Spawn 2 agents with different system prompts
Agent A: "Argue FOR this approach"
Agent B: "Argue AGAINST this approach"
|
v
Compare findings
|
+-- Agreement with different reasoning -> Proceed
+-- Genuine disagreement -> Investigate the conflict
+-- Agreement with same reasoning -> Suspect herding
Ten wzorzec pokrywa 80% wartości. Wszystko inne dodaje stopniową poprawę.
Wyzwalacz pewności
Nie każde zadanie wymaga deliberacji. Moduł oceny pewności analizuje cztery wymiary:17
- Niejednoznaczność — Czy zapytanie ma wiele prawidłowych interpretacji?
- Złożoność dziedziny — Czy wymaga wyspecjalizowanej wiedzy?
- Stawka — Czy decyzja jest odwracalna?
- Zależność kontekstowa — Czy wymaga zrozumienia szerszego systemu?
Wynik mapuje się na trzy poziomy:
| Poziom | Próg | Działanie |
|---|---|---|
| HIGH | 0,85+ | Kontynuacja bez deliberacji |
| MEDIUM | 0,70–0,84 | Kontynuacja z odnotowaną notatką o pewności |
| LOW | Poniżej 0,70 | Wyzwolenie pełnej deliberacji wieloagentowej |
Próg dostosowuje się do typu zadania. Decyzje dotyczące bezpieczeństwa wymagają konsensusu 0,85. Zmiany w dokumentacji potrzebują jedynie 0,50. Zapobiega to nadmiernemu rozbudowywaniu prostych zadań, jednocześnie zapewniając, że ryzykowne decyzje zostaną dokładnie przeanalizowane.7
Maszyna stanów
Siedem faz, każda otwierana przez poprzednią:7
IDLE -> RESEARCH -> DELIBERATION -> RANKING -> PRD_GENERATION -> COMPLETE
|
(or FAILED)
RESEARCH: Niezależne agenty badają temat. Każdy agent otrzymuje inną personę (Technical Architect, Security Analyst, Performance Engineer i inne). Izolacja kontekstu zapewnia, że agenty nie mogą widzieć wzajemnych ustaleń podczas badania.
DELIBERATION: Agenty widzą wszystkie ustalenia z badań i generują alternatywy. Agent Debate identyfikuje konflikty. Agent Synthesis łączy niesprzeczne ustalenia.
RANKING: Każdy agent ocenia każde proponowane podejście w 5 ważonych wymiarach:
| Wymiar | Waga |
|---|---|
| Impact | 0,25 |
| Quality | 0,25 |
| Feasibility | 0,20 |
| Reusability | 0,15 |
| Risk | 0,15 |
Architektura walidacji dwubramkowej
Dwie bramki walidacyjne wychwytują problemy na różnych etapach:7
Bramka 1: Walidacja konsensusu (hook PostToolUse). Uruchamia się natychmiast po zakończeniu pracy każdego agenta deliberacji: 1. Faza musi osiągnąć co najmniej RANKING 2. Minimum 2 agenty zakończyły pracę (konfigurowalne) 3. Wynik konsensusu spełnia próg adaptacyjny dla zadania 4. Jeśli jakikolwiek agent zgłosił sprzeciw, obawy muszą być udokumentowane
Bramka 2: Pride Check (hook Stop). Uruchamia się przed zamknięciem sesji: 1. Zróżnicowane metody: reprezentowanych jest wiele unikalnych person 2. Przejrzystość sprzeczności: sprzeciwy mają udokumentowane powody 3. Obsługa złożoności: wygenerowano co najmniej 2 alternatywy 4. Pewność konsensusu: sklasyfikowana jako silna (powyżej 0,85) lub umiarkowana (0,70–0,84) 5. Dowody poprawy: końcowa pewność przewyższa pewność początkową
Dwa hooki w różnych punktach cyklu życia odpowiadają temu, jak rzeczywiście pojawiają się awarie: niektóre są natychmiastowe (zły wynik), a niektóre stopniowe (niska różnorodność, brak dokumentacji sprzeciwu).7
Dlaczego zgoda jest niebezpieczna
Charlan Nemeth badała sprzeciw mniejszości od 1986 roku aż po jej książkę z 2018 r. In Defense of Troublemakers. Grupy z dysydentami podejmują lepsze decyzje niż grupy szybko osiągające zgodę. Dysydent nie musi mieć racji. Sam akt sprzeciwu zmusza większość do zbadania założeń, które w innym przypadku zostałyby pominięte.18
Wu i in. zbadali, czy agenty LLM potrafią naprawdę debatować, i ustalili, że bez strukturalnych zachęt do nieporozumień agenty zbiegają się w kierunku najbardziej pewnie brzmiącej początkowej odpowiedzi, niezależnie od jej poprawności.19 Liang i in. zidentyfikowali źródłową przyczynę jako „Degeneration-of-Thought”: gdy LLM ustabilizuje pewność siebie w danej pozycji, autorefleksja nie potrafi wygenerować nowych kontrargumentów, co czyni wieloagentową ewaluację strukturalnie niezbędną.20
Niezależność jest krytycznym ograniczeniem projektowym. Dwa agenty oceniające tę samą strategię wdrożenia z widocznością wzajemnych ustaleń wygenerowały wyniki 0,45 i 0,48. Te same agenty bez widoczności: 0,45 i 0,72. Różnica między 0,48 a 0,72 to koszt zachowań stadnych.7
Wykrywanie fałszywej zgody
Moduł wykrywania konformizmu śledzi wzorce sugerujące, że agenty zgadzają się bez rzeczywistej oceny:7
Klastrowanie wyników: Każdy agent oceniający w przedziale 0,3 punktu w 10-stopniowej skali sygnalizuje skażenie wspólnym kontekstem, a nie niezależną ocenę. Gdy pięć agentów oceniających refaktoryzację uwierzytelniania ocenia ryzyko bezpieczeństwa w przedziale od 7,1 do 7,4, ponowne uruchomienie ze świeżą izolacją kontekstu rozłożyło wyniki na 5,8–8,9.
Szablonowy sprzeciw: Agenty kopiujące wzajemnie język obaw, zamiast generować niezależne zastrzeżenia.
Brak perspektyw mniejszościowych: Jednomyślna aprobata person o sprzecznych priorytetach (Security Analyst i Performance Engineer rzadko zgadzają się we wszystkim).
Detektor konformizmu wychwytuje oczywiste przypadki (mniej więcej 10–15% deliberacji, w których agenty zbiegają się zbyt szybko). Dla pozostałych 85–90% bramki konsensusu i pride check zapewniają wystarczającą walidację.
Co nie zadziałało w deliberacji
Swobodne rundy debaty. Trzy rundy wymiany tekstu wokół dyskusji o indeksowaniu bazy danych wyprodukowały 7 500 tokenów debaty. Runda 1: prawdziwa różnica zdań. Runda 2: powtórzone pozycje. Runda 3: identyczne argumenty innymi słowami. Strukturyzowana punktacja wymiarów zastąpiła swobodną debatę, obniżając koszt o 60% przy jednoczesnej poprawie jakości rankingu.7
Pojedyncza bramka walidacji. Pierwsza implementacja uruchamiała jeden hook walidacyjny na końcu sesji. Agent zakończył deliberację z wynikiem konsensusu 0,52 (poniżej progu), a następnie kontynuował niezwiązane zadania przez 20 minut, zanim hook końca sesji oznaczył awarię. Podział na dwie bramki (jedna na zakończenie zadania, druga na koniec sesji) wychwytywał te same problemy w różnych punktach cyklu życia.7
Koszt deliberacji
Każdy agent badawczy przetwarza około 5 000 tokenów kontekstu i generuje 2 000–3 000 tokenów ustaleń. Przy 3 agentach to 15 000–24 000 dodatkowych tokenów na decyzję. Przy 10 agentach mniej więcej 50 000–80 000 tokenów.7
Przy obecnych cenach Opusa 3-agentowa deliberacja kosztuje około 0,68–0,90 USD. 10-agentowa deliberacja kosztuje 2,25–3,00 USD. System wyzwala deliberację mniej więcej w 10% decyzji, więc zamortyzowany koszt wszystkich decyzji wynosi 0,23–0,30 USD na sesję. To, czy warto, zależy od tego, ile kosztuje zła decyzja.
Kiedy deliberować
| Deliberować | Pominąć |
|---|---|
| Architekturę bezpieczeństwa | Literówki w dokumentacji |
| Projekt schematu bazy danych | Zmiany nazw zmiennych |
| Zmiany kontraktu API | Aktualizacje komunikatów logów |
| Strategie wdrożeniowe | Przeformułowanie komentarzy |
| Aktualizacje zależności | Aktualizacje fixture’ów testowych |
Projekt CLAUDE.md
CLAUDE.md to polityka operacyjna dla agenta AI, a nie README dla ludzi.21 Agent nie musi rozumieć, dlaczego używa się conventional commits. Musi znać dokładne polecenie do uruchomienia i wiedzieć, jak wygląda stan „gotowe”.
Hierarchia pierwszeństwa
| Lokalizacja | Zakres | Współdzielone | Przypadek użycia |
|---|---|---|---|
| Ustawienia zarządzane enterprise | 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 | Preferencje osobiste |
./CLAUDE.local.md |
Lokalny dla projektu | Nigdy | Osobiste notatki projektowe |
.claude/rules/*.md |
Reguły projektu | Przez git | Skategoryzowane polityki |
~/.claude/rules/*.md |
Reguły użytkownika | Wszystkie projekty | Polityki osobiste |
Pliki reguł ładują się automatycznie i zapewniają uporządkowany kontekst bez zaśmiecania CLAUDE.md.6
Co jest ignorowane
Te wzorce niezawodnie nie powodują żadnej obserwowalnej zmiany w zachowaniu agenta:21
Akapity prozy bez poleceń. „Cenimy czysty, dobrze przetestowany kod” to dokumentacja, nie operacje. Agent to czyta, po czym przechodzi do pisania kodu bez testów, ponieważ nie ma tam wykonalnej instrukcji.
Niejednoznaczne dyrektywy. „Zachowaj ostrożność przy migracjach bazy danych” nie jest ograniczeniem. „Uruchom alembic check przed zastosowaniem migracji. Przerwij, jeśli brakuje ścieżki downgrade.” już nim jest.
Sprzeczne priorytety. „Działaj szybko i szybko dostarczaj” plus „Zapewnij kompleksowe pokrycie testami” plus „Utrzymaj czas działania poniżej 5 minut” plus „Uruchamiaj pełne testy integracyjne przed każdym commitem”. Agent nie może spełnić wszystkich czterech warunków jednocześnie i domyślnie pomija weryfikację.21
Przewodniki stylu bez egzekwowania. „Przestrzegaj Google Python Style Guide” bez ruff check --select D nie daje agentowi żadnego mechanizmu weryfikacji 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 domknięcia:
## 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 zorganizowane 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ść pisania
Jeśli zaczyna się od zera, należy dodać sekcje w tej kolejności priorytetów:21
- Polecenia budowania i testowania (agent potrzebuje ich, zanim będzie mógł zrobić cokolwiek użytecznego)
- Definicja stanu gotowe (zapobiega fałszywym zakończeniom)
- Reguły eskalacji (zapobiegają destrukcyjnym obejściom)
- Sekcje zorganizowane według zadań (ograniczają parsowanie nieistotnych instrukcji)
- Zakresowanie katalogów (monorepo: utrzymuje instrukcje usług w izolacji)
Preferencje stylu warto pominąć, dopóki pierwsze cztery elementy nie działają.
Importy plików
Odwołanie do innych plików w 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: względna (@docs/file.md), bezwzględna (@/absolute/path.md) lub z katalogu domowego (@~/.claude/file.md). Maksymalna głębokość: 5 poziomów importów.6
Zgodność instrukcji między narzędziami
AGENTS.md to otwarty standard rozpoznawany przez każde główne narzędzie do kodowania AI.21 Jeśli zespół używa wielu narzędzi, należy traktować AGENTS.md jako źródło kanoniczne i odzwierciedlać odpowiednie sekcje w plikach specyficznych dla narzędzi:
| Narzędzie | Plik natywny | Czy czyta 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 (osobny format) |
Wzorce w AGENTS.md (najpierw polecenia, zdefiniowane domknięcie, organizacja według zadań) działają w dowolnym pliku instrukcji niezależnie od narzędzia. Nie należy utrzymywać równoległych zestawów instrukcji, które rozjeżdżają się z czasem. Warto napisać jedno autorytatywne źródło i je odzwierciedlać.
Uwagi o równoważności Codex
Codex ma już pierwszorzędne odpowiedniki dla głównych warstw harness, ale migracja jest tłumaczeniem wzorców, a nie kopiowaniem plików. Codex czyta AGENTS.md przed rozpoczęciem pracy, nakładając globalne wskazówki z ~/.codex na instrukcje projektu i zagnieżdżonych repozytoriów.31 Codex skills używają tego samego modelu myślowego SKILL.md z progresywnym ujawnianiem: Codex zaczyna od nazwy skill, opisu i ścieżki pliku, a pełny skill ładuje dopiero wtedy, gdy zdecyduje się go użyć.32 Codex ma też natywne hooks, hooks dostarczane w pluginach, zarządzane hooks, obsługę MCP oraz jawne przepływy pracy subagents.3334
Codex v0.138.0–v0.139.0 wzmocnił wykrywanie AGENTS.md dla nietrywialnych przestrzeni roboczych: ładowanie przechodzi teraz przez abstrakcję systemu plików środowiska i zachowuje ścieżki logiczne podczas przechodzenia wykrywania, dzięki czemu wybierany jest właściwy plik nawet wtedy, gdy przestrzeń robocza jest zdalnym systemem plików albo drzewem z dowiązaniami symbolicznymi.61 Ma to znaczenie zawsze wtedy, gdy kanoniczny AGENTS.md jest autorytatywnym źródłem, a agent działa na zamontowanym, zmaterializowanym w kontenerze albo dowiązanym symbolicznie checkoutcie — czyli w przypadkach, w których naiwne przejście po ścieżkach po cichu wybiera niewłaściwy plik instrukcji albo nie wybiera żadnego. Jeśli jedno autorytatywne AGENTS.md jest odzwierciedlane między usługami, należy traktować to jako minimum do zaufania, że plik faktycznie załadowany przez agenta jest tym, który został napisany.
Codex v0.141.0 wzmocnił następnie samą ścieżkę zdalnego wykonywania: zdalni executorzy łączą się teraz przez uwierzytelnione, szyfrowane end-to-end kanały Noise-relay (płaszczyzna sterowania i executor nie ufają już przekaźnikowi między nimi), zdalne wykonywanie międzyplatformowe zachowuje natywny katalog roboczy i powłokę executora, a TLS akceptuje podpisy certyfikatów P-521 dla proxy enterprise.65 Jeśli orkiestracja uruchamia executory Codex przez granicę sieciową, to różnica między założeniem zaufanego przekaźnika a założeniem szyfrowania end-to-end — należy traktować to jako punkt odniesienia dla każdej topologii remote-executor.
Mapowanie praktyczne:
| Warstwa harness Claude Code | Odpowiednik Codex | Reguła migracji |
|---|---|---|
CLAUDE.md / .claude/rules/ |
AGENTS.md / zagnieżdżony AGENTS.override.md |
Zachowaj polecenia i reguły ukończenia jako kanoniczne; rozdzielaj tylko wtedy, gdy zakres katalogu naprawdę się różni |
.claude/skills/<name>/SKILL.md |
.agents/skills/<name>/SKILL.md lub plugin skill |
Przenieś wielokrotnego użytku przepływy pracy, ale przepisz opisy pod kątem języka aktywacji i budżetu Codex |
.claude/settings.json hooks |
Codex config.toml, plugin hooks lub zarządzane requirements hooks |
Najpierw przenieś deterministyczne bramki; przetestuj każdy hook z rzeczywistymi zdarzeniami narzędzi przed szerokim włączeniem |
.claude/agents/*.md |
~/.codex/agents/*.toml, .codex/agents/*.toml lub wbudowane worker / explorer |
Przenoś tylko agentów o powtarzalnej wartości; preferuj jawne delegowanie, ponieważ Codex subagents są jawne |
| Plugins | Codex plugins | Używaj plugins jako jednostki dystrybucji po sprawdzeniu lokalnych hooks i skills |
Ważna różnica: subagents Claude mogą być wybierani automatycznie na podstawie opisów, natomiast Codex obecnie dokumentuje przepływy pracy subagentów jako jawne. To sprawia, że skills i hooks są właściwym domyślnym wyborem dla stale aktywnego zachowania harness w Codex; subagents służą do celowej pracy równoległej, review i eksploracji.
Testowanie instrukcji
Należy sprawdzić, czy agent rzeczywiście czyta instrukcje i się do nich stosuje:
# 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?"
Test kwasowy: Poprosić agenta o wyjaśnienie poleceń budowania. Jeśli nie potrafi odtworzyć ich dosłownie, instrukcje są albo zbyt obszerne (treść wypchnięta poza kontekst), zbyt niejasne (agent nie potrafi wydobyć instrukcji możliwych do wykonania), albo nie są wykrywane. Analiza 2 500 repozytoriów przeprowadzona przez GitHub wykazała, że niejasność powoduje większość awarii.21
Wzorce produkcyjne
Wzorce długiego horyzontu Opus 4.7 (kwiecień 2026)
Claude Opus 4.7 (16 kwietnia 2026) wprowadzono konkretne możliwości, które zmieniają to, przed czym harness musi się bronić:29
- Odporność na awarie narzędzi: Opus 4.7 kontynuuje działanie mimo awarii narzędzi, które zatrzymywały sesje Opus 4.6. Można ograniczyć — ale nie wyeliminować — defensywne wrappery ponawiania prób w kodzie subagent. Należy zachować zabezpieczenia na poziomie hooks; warto przyciąć scaffolding w promptach w stylu „jeśli narzędzie zawiedzie, spróbuj ponownie trzy razy”.
- Poziom wysiłku
xhigh(tylko Opus-4.7): Znajduje się międzyhighamax. Zalecany domyślnie dla obciążeń związanych z kodowaniem i agentic. W długotrwałych subagentsxhighznacząco przewyższahighprzy subproporcjonalnym koszcie tokenów.maxnadal jest właściwym wyborem dla jednorazowego trudnego rozumowania;xhighlepiej sprawdza się w zadaniach ciągłych. - Limit budżetu tokenów: Konfigurowalny dla każdego uruchomienia agenta przez
output_config.task_budget(nagłówek betatask-budgets-2026-03-13). Model widzi bieżące odliczanie i płynnie dopasowuje zakres pracy do budżetu, zamiast niespodziewanie go wyczerpać. Warto stosować w pętlach agentic, gdy potrzebny jest przewidywalny koszt tokenów bez obniżania jakości przy krótkich promptach. - Świadomość potrzeb domyślnych: Pierwszy model Claude, który przechodzi testy „implicit-need” — rozpoznaje, kiedy dosłowne żądanie użytkownika nie doprecyzowuje tego, czego faktycznie potrzebuje. Dzięki temu sekcja „clarifying rules” w CLAUDE.md staje się mniej potrzebna. Jeśli CLAUDE.md zawiera 200 wierszy zabezpieczeń typu „rozważ też X, gdy użytkownik prosi o Y”, należy usunąć te, które model obsługuje już natywnie.
Baza worktree, ścieżki sandbox i ustawienia administratorskie (7 maja 2026)
Claude Code v2.1.133 dodaje cztery ustawienia poziomu administratorskiego, które warto znać przy produkcyjnych harnesses:39
| Ustawienie | Wartości | Co robi |
|---|---|---|
worktree.baseRef |
fresh (domyślnie) | head |
Nowe worktrees znów tworzą gałęzie od origin/<default>. Zmiana przywracająca domyślne zachowanie z pominięciem v2.1.128, która używała lokalnego HEAD. Należy ustawić worktree.baseRef: "head", jeśli zespół polega na tym, że niewypchnięte commity są dostępne w nowych worktrees. |
sandbox.bwrapPath |
ścieżka bezwzględna | Przypina lokalizację binarium Bubblewrap na hostach Linux/WSL, gdzie nie znajduje się ono w $PATH albo gdzie dostarczana jest wersja vendored. |
sandbox.socatPath |
ścieżka bezwzględna | Ten sam mechanizm dla binarium socat używanego przez sieć sandbox. |
parentSettingsBehavior |
'first-wins' (domyślnie) | 'merge' |
Kontrola poziomu administratorskiego nad tym, jak SDK managedSettings łączy się z nadrzędnymi ustawieniami enterprise/team. 'merge' pozwala sesji podrzędnej dziedziczyć i rozszerzać; 'first-wins' utrzymuje nadrzędne ustawienia jako autorytatywne. |
Przywrócenie zachowania worktree.baseRef warto wyraźnie oznaczyć użytkownikom: agenci, którzy polegali na zachowaniu z wersji v2.1.128-v2.1.132 (worktrees tworzone od lokalnego HEAD), tracą dostęp do niewypchniętej pracy w świeżych worktrees, jeśli nie włączą tego ponownie.
Ankieta zwrotna OTel dla obserwowalności enterprise (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 organizacji enterprise przechwytujących odpowiedzi przez OpenTelemetry.40 Jeśli organizacja wysyła zdarzenia OTel do centralnego stosu obserwowalności, ta zmienna środowiskowa przywraca ankietę do ścieżki danych, dzięki czemu sygnał jakości płynie tym samym pipeline’em co metryki opóźnień i błędów. Należy traktować to jako opt-in: domyślnie ankieta pozostaje wyciszona, co jest właściwe dla wdrożeń bez OTel.
Quality Loop
Obowiązkowy proces przeglądu dla wszystkich nietrywialnych zmian:
- Implementacja - Napisać kod
- Review - Ponownie przeczytać każdy wiersz. Wyłapać literówki, błędy logiczne i niejasne sekcje
- Ocena - Uruchomić evidence gate. Sprawdzić wzorce, przypadki brzegowe i pokrycie testami
- Dopracowanie - Naprawić każdy problem. Nigdy nie odkładać na „później”
- Oddalenie perspektywy - Sprawdzić punkty integracji, importy i sąsiedni kod pod kątem regresji
- Powtórzenie - Jeśli którekolwiek kryterium evidence gate nie przechodzi, wrócić do kroku 4
- Raport - Wymienić, co się zmieniło, jak zostało zweryfikowane, i przytoczyć konkretne dowody
Evidence Gate
„Wierzę” i „powinno działać” nie są dowodem. Należy cytować ścieżki plików, wynik testów albo konkretny kod.
| Kryterium | Wymagany dowód |
|---|---|
| Zgodność ze wzorcami codebase | Nazwać wzorzec i plik, w którym występuje |
| Najprostsze działające rozwiązanie | Wyjaśnić, jakie prostsze alternatywy odrzucono i dlaczego |
| Obsłużone przypadki brzegowe | Wymienić konkretne przypadki brzegowe i sposób obsługi każdego z nich |
| Testy przechodzą | Wkleić wynik testów pokazujący 0 niepowodzeń |
| Brak regresji | Nazwać sprawdzone pliki/funkcje |
| Rozwiązuje faktyczny problem | Określić potrzebę użytkownika i sposób jej zaadresowania |
Jeśli dla któregokolwiek wiersza nie można przedstawić dowodu, należy wrócić do Dopracowania.22
Ludzka kontrola nad merge
Badanie arXiv z maja 2026 roku dotyczące 29 585 cykli życia pull requestów tworzonych przez agentów AI rozdziela sprawczość operacyjną od nadzoru nad merge.47 Lekcja architektoniczna jest prosta: agenci mogą rozpoczynać pracę, prowadzić gałęzie, otwierać PR-y, recenzować pracę i podsumowywać ryzyko, podczas gdy uprawnienie do merge pozostaje osobną granicą governance.
Tę granicę należy wyraźnie zapisać w harness. Agenci mogą przygotowywać PR-y i zbierać dowody; dla merge, wydań i destrukcyjnych operacji na repozytorium należy wymagać zatwierdzenia człowieka, chyba że organizacja ma osobno audytowaną politykę automatyzacji. Gdy automatyzacja wykonuje merge, trzeba zachować logi rozróżniające wykonawcę od człowieka lub polityki, która go autoryzowała.
Wzorce obsługi błędów
Atomowe zapisy plików. Jednoczesny zapis wielu agentów 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 kończyć działanie błędem: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++ ewaluje się do 0, co bash traktuje jako fałsz. Przy włączonym set -e zabija to skrypt. Zamiast tego należy używać VAR=$((VAR + 1)).16
Klasyfikacja zasięgu skutków
Każdą akcję agenta należy sklasyfikować według zasięgu skutków i odpowiednio bramkować:2
| Klasyfikacja | Przykłady | Gate |
|---|---|---|
| Lokalna | Zapisy plików, uruchomienia testów, linting | Zatwierdzenie automatyczne |
| Współdzielona | Commity git, tworzenie gałęzi | Ostrzec + kontynuować |
| Zewnętrzna | Git push, wywołania API, wdrożenia | Wymaga zatwierdzenia człowieka |
Remote Control (łączenie się z lokalnym Claude Code z dowolnej przeglądarki lub aplikacji mobilnej) zmienia gate „Zewnętrzna” z blokującego oczekiwania w powiadomienie asynchroniczne. Agent kontynuuje pracę nad kolejnym zadaniem, podczas gdy poprzednie można sprawdzić z telefonu.2
Specyfikacja zadań dla uruchomień autonomicznych
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: wynik testów pass/fail, wynik lintera, kody statusu HTTP, sprawdzenia istnienia plików. Wczesne zadanie, w którym poproszono agenta, aby „napisał testy, które przechodzą”, dało assert True i assert 1 == 1. Technicznie poprawne. Praktycznie bezwartościowe.16
| Jakość kryteriów | Przykład | Wynik |
|---|---|---|
| Niejasne | „Testy przechodzą” | Agent pisze trywialne testy |
| Mierzalne, ale niepełne | „Testy przechodzą ORAZ pokrycie >80%” | Testy pokrywają wiersze, ale nie testują niczego istotnego |
| Kompleksowe | „Wszystkie testy przechodzą ORAZ pokrycie >80% ORAZ brak błędów typów ORAZ linter czysty ORAZ każda klasa testowa testuje osobny moduł” | Wynik jakości produkcyjnej |
Tryby awarii, na które trzeba uważać
| Tryb awarii | Opis | Zapobieganie |
|---|---|---|
| Spirala skrótów | Pomijanie kroków quality loop, aby szybciej skończyć | Evidence gate wymaga dowodu dla każdego kryterium |
| Miraż pewności | „Jestem pewien” bez uruchomienia weryfikacji | Zakazać języka asekuracyjnego w raportach ukończenia |
| Widmowa weryfikacja | Twierdzenie, że testy przechodzą, bez uruchomienia ich w tej sesji | Stop hook uruchamia testy niezależnie |
| Odroczony dług | TODO/FIXME/HACK w commitowanym kodzie | PreToolUse hook na git commit skanuje diff |
| Zanieczyszczenie systemu plików | Porzucone artefakty ze ślepych iteracji | Krok porządkowania w kryteriach ukończenia |
Konkretny ślad sesji
Ślad sesji z autonomicznego uruchomienia przetwarzającego PRD z 5 stories:2
-
SessionStart fires. Dispatcher wstrzykuje: bieżącą datę, wykrycie projektu, ograniczenia filozofii, inicjalizację śledzenia kosztów. Pięć hooks, łącznie 180 ms.
-
Agent czyta PRD i planuje pierwszą story.
UserPromptSubmitfires. Dispatcher wstrzykuje: aktywny kontekst projektu, bazę session drift. -
Agent wywołuje Bash, aby uruchomić testy.
PreToolUse:Bashfires. Sprawdzenie poświadczeń, walidacja sandbox, wykrycie projektu. 90 ms. Testy się uruchamiają.PostToolUse:Bashfires: zapisano heartbeat aktywności, sprawdzenie drift. -
Agent wywołuje Write, aby utworzyć plik.
PreToolUse:Writefires: sprawdzenie zakresu pliku.PostToolUse:Writefires: sprawdzenie lint, śledzenie commitów. -
Agent kończy story.
Stopfires. Quality gate sprawdza: czy agent przytoczył dowody? Czy użył języka asekuracyjnego? Czy w diffie są komentarze TODO? Jeśli jakiekolwiek sprawdzenie się nie powiedzie, exit 2 i agent kontynuuje. -
Niezależna weryfikacja: Świeży agent uruchamia zestaw testów bez ufania samoopisowi poprzedniego agenta.
-
Trzech agentów code review uruchamia się równolegle. Każdy niezależnie recenzuje diff. Jeśli którykolwiek recenzent oznaczy CRITICAL, story wraca do kolejki.
-
Story przechodzi. Ładuje się kolejna story. Cykl powtarza się dla wszystkich 5 stories.
Łączna liczba hooks wywołanych w 5 stories: ~340. Łączny czas w hooks: ~12 sekund. Ten narzut zapobiegł trzem wyciekom poświadczeń, jednemu destrukcyjnemu poleceniu i dwóm niekompletnym implementacjom w trakcie jednego nocnego uruchomienia.
Studium przypadku: nocne przetwarzanie PRD
Produkcyjny harness przetworzył 12 PRDs (47 stories) 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, wieloagentowe review).
| Metryka | Minimalny (4 PRDs) | Pełny harness (8 PRDs) | Zmiana |
|---|---|---|---|
| Wycieki poświadczeń | 2 wyciekły do git | 7 zablokowanych przed commitem | Od reakcji do prewencji |
| Destrukcyjne polecenia | 1 force-push do main | 4 zablokowane | Egzekwowanie exit 2 |
| Wskaźnik fałszywego ukończenia | 35% z niezaliczonymi testami | 4% | Evidence gate + Stop hook |
| Rundy poprawek/story | 2,1 | 0,8 | Skills + quality loop |
| Degradacja kontekstu | 6 incydentów | 1 incydent | Pamięć systemu plików |
| Narzut tokenów | 0% | ~3,2% | Pomijalny |
| Czas hooks/story | 0 s | ~2,4 s | Pomijalny |
Dwa wycieki poświadczeń wymagały rotacji kluczy API i audytu usług downstream: około 4 godzin reakcji na incydent. Narzut harness, który zapobiegł odpowiednikowi tego zdarzenia, wyniósł 2,4 sekundy bash na story. Wskaźnik fałszywego ukończenia spadł z 35% do 4%, ponieważ Stop hook niezależnie uruchamiał testy, zanim pozwolił agentowi zgłosić zakończenie.
Uwagi dotyczące bezpieczeństwa
Pięć zasad godnych zaufania agentów (Anthropic, kwiecień 2026)
Anthropic opublikowało formalne ramy wiarygodności agentów 9 kwietnia 2026 roku.27 Pięć zasad odpowiada podejściu Evidence Gate opisanemu w tym przewodniku i je rozszerza:
| Zasada | Co oznacza | Jak ten harness ją spełnia |
|---|---|---|
| Kontrola człowieka | Znacząca możliwość interwencji człowieka w każdym punkcie decyzyjnym | Hooks kontrolują wywołania narzędzi; blokowanie PreCompact; klasyfikator Auto Mode jako warstwa kontrolna |
| Zgodność z wartościami | Działania agenta podążają za intencją użytkownika, a nie celami pobocznymi | CLAUDE.md jako jawna specyfikacja intencji; skills jako określanie zakresu możliwości |
| Bezpieczeństwo | Odporność na wrogie dane wejściowe i prompt injection | Sandbox + reguły odmowy + walidacja danych wejściowych w warstwie hook |
| Przejrzystość | Audytowalne zapisy decyzji i działań | Logowanie hook; transkrypty sesji; ślady wywołań skills |
| Prywatność | Odpowiednia obsługa danych i nadzór | Czyszczenie zmiennych środowiskowych z danymi uwierzytelniającymi; wykrywanie sekretów w warstwie hook |
Anthropic przekazało również MCP do Agentic AI Foundation należącej do Linux Foundation, dołączając do AGENTS.md (obecnie współzarządzanego z OpenAI, Google, Cursor, Factory, Sourcegraph). Standardy interoperacyjności agentów są teraz neutralne względem dostawców.27
Narzędzia sandbox dla skills: W przypadku zespołów, które traktują skills jako powierzchnię ataku, SandyClaw firmy Permiso (uruchomione 2 kwietnia 2026 roku) uruchamia skills w dedykowanym sandbox i dostarcza werdykty oparte na dowodach z detekcji Sigma/YARA/Nova/Snort. 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 Linux). Po włączeniu sandbox uniemożliwia modelowi wykonywanie dowolnych żądań sieciowych lub dostęp 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 roku. Claude Code v2.1.149 naprawił obejście uprawnień katalogu roboczego w PowerShell, kilka luk w regułach allow-rule PowerShell i analizie uprawnień ze starymi zmiennymi, a także błąd listy dozwolonych zapisów w sandbox dla git-worktree, który obejmował cały główny katalog repozytorium zamiast tylko 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 minimum i utrzymywać wąskie reguły shell. Szerokie PowerShell(*) oraz wyjątki zapisu dla całego repozytorium są skrótami orkiestracyjnymi, a nie granicami bezpieczeństwa.
Zaostrzenie sandbox OpenAI Agents SDK (v0.17.0, 8 maja 2026 roku). Po stronie OpenAI openai-agents-python v0.17.0 zaostrzył równoległą granicę: LocalFile.src i LocalDir.src są teraz ograniczone do materializacyjnego base_dir (bieżącego katalogu roboczego procesu SDK w momencie zastosowania manifestu), chyba że źródło zostanie jawnie przyznane przez Manifest.extra_path_grants z SandboxPathGrant.41 Względne lokalne źródła są rozwiązywane od base_dir; ścieżki bezwzględne muszą już znajdować się w jego obrębie albo mieć grant. Zamyka to problem granicy lokalnych artefaktów: wcześniejsze wersje pozwalały manifestom wciągać dowolne ścieżki hosta do przestrzeni roboczej sandbox. Migracja: zaufane katalogi główne hosta należy deklarować na poziomie manifestu za pomocą 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ć grantów na podstawie wyniku 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 kolejne wzmocnienia sandbox i sesji: limity ekstrakcji archiwów, walidację podścieżek GitRepo, jaśniejsze błędy dostawców sandbox, dane uwierzytelniające punktów montowania poza poleceniami sandbox, odrzucanie względnych katalogów głównych przestrzeni roboczej sandbox oraz obsługę stanu terminala Vercel-sandbox.54 Jeśli używane są sandboxy hostowane przez OpenAI lub wspierane przez dostawców, a nie tylko hooks Claude Code, należy traktować 0.17.3 jako bieżące minimum dla wzorców z tej sekcji.
Granice uprawnień
System uprawnień kontroluje operacje na wielu poziomach:
| Poziom | Kontrole | Przykład |
|---|---|---|
| Uprawnienia narzędzi | Których narzędzi można używać | Ograniczenie subagent do Read, Grep, Glob |
| Uprawnienia plików | Które pliki można modyfikować | Blokowanie zapisów do .env, credentials.json |
| Uprawnienia poleceń | Które polecenia bash mogą być uruchamiane | Blokowanie rm -rf, git push --force |
| Uprawnienia sieciowe | Do których domen można uzyskiwać dostęp | Lista dozwolonych połączeń z serwerem MCP |
Reguły uprawnień na poziomie parametrów (czerwiec 2026)
Claude Code v2.1.178 rozszerzył 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 tworzenie subagents na określonym poziomie modelu.63 Architektonicznie zamyka to lukę, której powyższa tabela czterech poziomów nie potrafiła wyrazić: wcześniej można było dopuścić albo odrzucić narzędzie w całości, ale nie dało się ograniczyć sposobu jego wywołania. Polityka governance może teraz powiedzieć „subagents mogą być tworzone, ale nie na poziomie Fable 5” albo „Bash jest dozwolony, ale nie z tą flagą” jako deterministyczną regułę, a nie prośbę na poziomie promptu.
Towarzyszące ustawienie zarządzane, enforceAvailableModels (v2.1.175), ogranicza wybór modelu od góry: przypina model Default i uniemożliwia ustawieniom użytkownika lub projektu rozszerzanie zarządzanej listy dozwolonych availableModels.63 Te dwa mechanizmy się składają — lista dozwolonych określa, które poziomy w ogóle istnieją dla sesji, a reguły na poziomie parametrów ograniczają, jak subagents z nich korzystają.
Zabezpieczenia Auto-Mode przed destrukcyjnymi poleceniami (czerwiec 2026)
Claude Code v2.1.183 zawęził zasięg szkód auto mode dla operacji, które po cichu tracą pracę lub rozbierają środowiska. Auto mode teraz twardo blokuje, o ile nie poproszono o nie jawnie w sesji: destrukcyjne operacje git (git reset --hard, git checkout -- ., git clean -fd, git stash drop); git commit --amend, gdy commit nie został wykonany przez agenta w tej sesji; oraz demontaż infrastruktury (terraform destroy, pulumi destroy, cdk destroy), chyba że wskazano konkretny stack.65 Architektonicznie jest to uzupełnienie powyższej weryfikacji spawn i reguł na poziomie parametrów: zamiast kontrolować, które narzędzie lub jak jest tworzone, mechanizm kontroluje niewielki zestaw konkretnych nieodwracalnych poleceń według intencji — agent nadal może je uruchomić, ale tylko na wyraźne polecenie, a nie z własnej inicjatywy. W autonomicznym harness tę samą zasadę należy zakodować we własnych hooks PreToolUse: polecenia niszczące stan zasługują na regułę domyślnej odmowy, którą znosi tylko jawny sygnał operatora.
Obrona przed prompt injection
Skills i hooks zapewniają wielowarstwową obronę 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ł poproszony:
# Block credential file access regardless of prompt
if echo "$FILE_PATH" | grep -qE "\.(env|pem|key|credentials)$"; then
echo "BLOCKED: Sensitive file access" >&2
exit 2
fi
Izolacja subagent ogranicza zasięg szkód. Subagent z permissionMode: plan nie może wprowadzać zmian, nawet jeśli jego prompt został przejęty.
Logi agentów i guardrails są powierzchniami bezpieczeństwa
Dwa ostrzeżenia z maja 2026 roku wzmacniają ten wzorzec: infrastruktura agentów tworzy nowe miejsca, z których wrażliwe treści i wykonywalna polityka mogą wyciec albo się wydostać. GitHub Advisory GHSA-f3jg-756w-gm35 obejmuje problem filtra payloadów Gryph Agents, w którym wrażliwa zawartość payloadów narzędzi mogła pozostawać w lokalnych logach SQLite przy domyślnym zachowaniu logowania.45 OSV GHSA-wxxx-gvqv-xp7p obejmuje ucieczkę z sandbox niestandardowego guardrail kodu LiteLLM w chronionym administracyjnie punkcie końcowym proxy.46
Reguła produkcyjna: transkrypty agentów, payloady narzędzi, logi SQLite i wykonywanie guardrail należy traktować jako wrażliwą infrastrukturę. Przed utrwaleniem należy redagować dane, stosować limity retencji i utrzymywać niestandardowy kod guardrail w sandbox oraz w stanie możliwym do przeglądu. Reguła na poziomie promptu „nie loguj sekretów” nie wystarczy; ścieżka logowania i guardrail potrzebuje deterministycznych testów.
Bezpieczeństwo hooks
HTTP hooks, które interpolują zmienne środowiskowe w nagłówkach, wymagają jawnej listy allowedEnvVars, aby zapobiec eksfiltracji dowolnych zmiennych środowiskowych:13
{
"type": "http",
"url": "https://api.example.com/notify",
"headers": {
"Authorization": "Bearer $MY_TOKEN"
},
"allowedEnvVars": ["MY_TOKEN"]
}
Podział odpowiedzialności między człowiekiem a agentem
Bezpieczeństwo w architekturach agentowych wymaga jasnego podziału odpowiedzialności między człowiekiem a agentem:17
| Odpowiedzialność człowieka | Odpowiedzialność agenta |
|---|---|
| Definicja problemu | Wykonanie pipeline |
| Progi pewności | Wykonanie w obrębie progów |
| Wymagania konsensusu | Obliczanie konsensusu |
| Kryteria quality gate | Egzekwowanie quality gate |
| Analiza błędów | Wykrywanie błędów |
| Decyzje architektoniczne | Opcje architektoniczne |
| Wprowadzanie kontekstu domenowego | Generowanie dokumentacji |
Wzorzec: ludzie odpowiadają za decyzje wymagające kontekstu organizacyjnego, osądu etycznego lub kierunku strategicznego. Agenci odpowiadają za decyzje wymagające przeszukiwania obliczeniowego dużych przestrzeni możliwości. Hooks egzekwują tę granicę.
Rekurencyjne egzekwowanie hook
Hooks uruchamiają się również dla działań subagent.13 Jeśli Claude tworzy 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ąć bramki bezpieczeństwa. Zdarzenie SubagentStop pozwala uruchomić sprzątanie lub walidację po zakończeniu działania subagent.
To nie jest opcjonalne. Agent, który tworzy subagent bez Państwa hooks bezpieczeństwa, jest agentem zdolnym wykonać force-push do main, odczytać pliki z danymi uwierzytelniającymi albo uruchomić destrukcyjne polecenia, podczas gdy bramki obserwują, jak główna rozmowa nic nie robi.
Koszt jako architektura
Koszt jest decyzją architektoniczną, a nie operacyjną refleksją po fakcie.2 Trzy poziomy:
Poziom tokenów. Kompresja promptu systemowego. Usunąć przykłady kodu instruktażowego (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 czytać danych uwierzytelniających.
Poziom agenta. Świeże uruchomienia zamiast długich rozmów. Każda story w autonomicznym przebiegu otrzymuje nowego agenta z czystym kontekstem. Kontekst nigdy nie puchnie, ponieważ każdy agent zaczyna od nowa. Briefing zamiast pamięci: modele lepiej wykonują jasny briefing, niż nawigują po 30 krokach nagromadzonego kontekstu.
Poziom architektury. CLI-first zamiast MCP, gdy operacja jest bezstanowa. Wywołanie claude --print dla jednorazowej oceny kosztuje mniej i nie dodaje narzutu połączenia. MCP ma sens, gdy narzędzie potrzebuje trwałego stanu lub streamingu.
Ramy decyzyjne
Kiedy używać poszczególnych mechanizmów:
| Problem | Użycie | Dlaczego |
|---|---|---|
| Formatowanie kodu po każdej edycji | PostToolUse hook | Musi zachodzić za każdym razem, deterministycznie |
| Blokowanie niebezpiecznych poleceń bash | PreToolUse hook | Musi blokować przed wykonaniem, kod wyjścia 2 |
| Stosowanie wzorców przeglądu bezpieczeństwa | Skill | Ekspertyza domenowa, która aktywuje się automatycznie na podstawie kontekstu |
| Eksploracja codebase bez zanieczyszczania kontekstu | Explore subagent | Izolowany kontekst, zwraca tylko podsumowanie |
| Bezpieczne uruchamianie eksperymentalnej refaktoryzacji | Worktree-isolated subagent | Zmiany można odrzucić, jeśli się nie powiodą |
| Przegląd kodu z wielu perspektyw | Parallel subagents lub Agent Team | Niezależna ocena zapobiega martwym punktom |
| Podejmowanie nieodwracalnych decyzji architektonicznych | Multi-agent deliberation | Wyzwalacz pewności + walidacja konsensusu |
| Utrwalanie decyzji między sesjami | MEMORY.md | System plików przetrwa granice kontekstu |
| Udostępnianie standardów zespołu | Project CLAUDE.md + .claude/rules/ | Dystrybuowane przez Git, ładowane automatycznie |
| Definiowanie projektowych poleceń build/test | CLAUDE.md | Instrukcje zorientowane na polecenia, które agent może zweryfikować |
| Uruchamianie długiego autonomicznego developmentu | Ralph loop (iteracja ze świeżym kontekstem) | Pełny budżet kontekstu na iterację, stan systemu plików |
| Powiadamianie Slack po zakończeniu sesji | Async Stop hook | Nieblokujące, nie spowalnia sesji |
| Walidowanie jakości przed commitem | PreToolUse hook na git commit | Blokuje commit, jeśli lint/testy się nie powiodą |
| Egzekwowanie kryteriów ukończenia | Stop hook | Uniemożliwia agentowi zatrzymanie się przed ukończeniem zadania |
Skills vs Hooks vs Subagents
| Wymiar | Skills | Hooks | Subagents |
|---|---|---|---|
| Wywołanie | Automatyczne (LLM reasoning) | Deterministyczne (sterowane zdarzeniami) | Jawne lub automatycznie delegowane |
| Gwarancja | Probabilistyczna (decyduje model) | Deterministyczna (uruchamia się zawsze) | Deterministyczna (izolowany kontekst) |
| Koszt kontekstu | Wstrzykiwane do głównego kontekstu | Zerowy (działa poza LLM) | Osobne okno kontekstu |
| Koszt tokenów | Budżet opisu (1% okna, fallback 8,000 znaków) | Zerowy | Pełny kontekst na subagent |
| Najlepsze do | Ekspertyzy domenowej | Egzekwowania polityk | Skoncentrowanej pracy, eksploracji |
FAQ
Ile hooks to za dużo?
Ograniczeniem jest wydajność, nie liczba. Każdy hook działa synchronicznie, więc łączny czas wykonania hooks dolicza się do każdego pasującego wywołania narzędzia. 95 hooks w ustawieniach na poziomie użytkownika i projektu działa bez zauważalnych opóźnień, jeśli każdy hook kończy się w mniej niż 200 ms. Próg, który warto obserwować: jeśli PostToolUse hook dodaje ponad 500 ms do każdej edycji pliku, sesja zaczyna działać ospale. Przed wdrożeniem hooks należy profilować je za pomocą time.14
Czy hooks mogą zablokować Claude Code przed uruchomieniem polecenia?
Tak. PreToolUse hooks blokują dowolną akcję narzędzia przez zakończenie z kodem 2. Claude Code anuluje oczekującą akcję i pokazuje modelowi wyjście stderr hook. Claude widzi powód odrzucenia i proponuje bezpieczniejszą alternatywę. Kod wyjścia 1 jest nieblokującym ostrzeżeniem, przy którym akcja nadal jest wykonywana.3
Gdzie umieszczać pliki konfiguracji hooks?
Konfiguracje hooks trafiają do .claude/settings.json dla hooks na poziomie projektu (commitowane do repozytorium, współdzielone z zespołem) albo do ~/.claude/settings.json dla hooks na poziomie użytkownika (osobiste, stosowane w każdym projekcie). Hooks na poziomie projektu mają pierwszeństwo, gdy istnieją oba typy. Dla plików skryptów należy używać ścieżek bezwzględnych, aby uniknąć problemów z katalogiem roboczym.14
Czy każda decyzja wymaga deliberation?
Nie. Moduł pewności ocenia decyzje w czterech wymiarach (niejednoznaczność, złożoność, stawka, zależność od kontekstu). Deliberation wyzwalają tylko decyzje z wynikiem poniżej 0,70 ogólnej pewności, czyli około 10% wszystkich decyzji. Poprawki dokumentacji, zmiany nazw zmiennych i rutynowe edycje całkowicie pomijają deliberation. Architektura bezpieczeństwa, zmiany schematu bazy danych i nieodwracalne wdrożenia wyzwalają ją konsekwentnie.7
Jak testować system zaprojektowany do generowania niezgody?
Należy testować zarówno ścieżki sukcesu, jak i ścieżki porażki. Sukces: agenci nie zgadzają się produktywnie i osiągają konsensus. Porażka: agenci dochodzą do zgody zbyt szybko, nigdy jej nie osiągają albo przekraczają budżety spawn. Testy end-to-end symulują każdy scenariusz z deterministycznymi odpowiedziami agentów, weryfikując, że obie bramki walidacji wychwytują każdy udokumentowany tryb awarii. Produkcyjny system deliberation uruchamia 141 testów w trzech warstwach: 48 testów integracyjnych bash, 81 testów jednostkowych Python i 12 symulacji pipeline end-to-end.7
Jaki wpływ na opóźnienia ma deliberation?
Deliberation z 3 agentami dodaje 30-60 sekund czasu rzeczywistego (agenci działają sekwencyjnie przez Agent tool). Deliberation z 10 agentami dodaje 2-4 minuty. Hooks consensus i pride check działają każdy w mniej niż 200 ms. Głównym wąskim gardłem jest czas inferencji LLM na agenta, nie narzut orkiestracji.7
Jak długi powinien być plik CLAUDE.md?
Każdą sekcję należy utrzymać poniżej 50 linii, a cały plik poniżej 150 linii. Długie pliki są obcinane przez okna kontekstu, dlatego na początku należy umieścić najważniejsze instrukcje: polecenia i definicje domknięcia przed preferencjami stylu.21
Czy to działa z narzędziami innymi niż Claude Code?
Zasady architektoniczne (hooks jako deterministyczne bramki, skills jako ekspertyza domenowa, subagents jako izolowane konteksty, system plików jako pamięć) koncepcyjnie odnoszą się do każdego systemu agentowego. Konkretna implementacja wykorzystuje zdarzenia cyklu życia Claude Code, wzorce matcher i Agent tool. AGENTS.md przenosi te same wzorce do Codex, Cursor, Copilot, Amp i Windsurf.21 Wzorzec harness jest niezależny od narzędzia, nawet jeśli szczegóły implementacji są specyficzne dla narzędzia.
Szybka karta referencyjna
Konfiguracja hooks
{
"hooks": {
"PreToolUse": [{"matcher": "Bash", "hooks": [{"type": "command", "command": "script.sh"}]}],
"PostToolUse": [{"matcher": "Write|Edit", "hooks": [{"type": "command", "command": "format.sh"}]}],
"Stop": [{"matcher": "", "hooks": [{"type": "agent", "prompt": "Verify tests pass. $ARGUMENTS"}]}],
"SessionStart": [{"matcher": "", "hooks": [{"type": "command", "command": "setup.sh"}]}]
}
}
Frontmatter skill
---
name: my-skill
description: What it does and when to use it. Include trigger phrases.
allowed-tools: Read, Grep, Glob
---
Definicja subagent
---
name: my-agent
description: When to invoke. Include PROACTIVELY for auto-delegation.
tools: Read, Grep, Glob, Bash
model: opus
permissionMode: plan
---
Instructions for the subagent.
Kody wyjścia
| Kod | Znaczenie | Zastosowanie |
|---|---|---|
| 0 | Sukces | Zezwolenie na operację |
| 2 | Blokada | Bramki bezpieczeństwa, bramki jakości |
| 1 | Nieblokujące ostrzeżenie | Logowanie, komunikaty doradcze |
Kluczowe polecenia
| Polecenie | Cel |
|---|---|
/compact |
Kompresuje kontekst, zachowuje decyzje |
/context |
Wyświetla alokację kontekstu i aktywne skills |
/agents |
Zarządza subagents |
/goal <condition> |
Utrzymuje pracę Claude nad warunkiem ukończenia |
claude agents |
Otwiera Agent View dla uruchomionych, zablokowanych i zakończonych sesji |
CLAUDE_CODE_WORKFLOWS=1 |
Włącza Workflow tool dla deterministycznej orkiestracji multi-agent |
claude -c |
Kontynuuje najnowszą sesję |
claude --print |
Jednorazowe wywołanie CLI (bez rozmowy) |
# <note> |
Dodaje notatkę do pliku pamięci |
/memory |
Wyświetla auto-memory i zarządza nią |
Lokalizacje plików
| Ścieżka | Cel |
|---|---|
~/.claude/CLAUDE.md |
Osobiste instrukcje globalne |
.claude/CLAUDE.md |
Instrukcje projektu (współdzielone przez Git) |
.claude/settings.json |
Project hooks i uprawnienia |
~/.claude/settings.json |
User hooks i uprawnienia |
~/.claude/skills/<name>/SKILL.md |
Osobiste skills |
.claude/skills/<name>/SKILL.md |
Project skills (współdzielone przez Git) |
~/.claude/agents/<name>.md |
Osobiste definicje subagent |
.claude/agents/<name>.md |
Projektowe definicje subagent |
.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 |
|---|---|
| 2026-06-20 | Przewodnik v1.20: Claude Code v2.1.183 + Codex v0.141.0 — governance i bezpieczeństwo zdalnego wykonywania. Dodano mechanizmy ochronne trybu auto przed destrukcyjnymi poleceniami (CC v2.1.183 twardo blokuje git reset --hard/checkout -- ./clean -fd/stash drop, git commit --amend na commitach spoza agenta oraz terraform/pulumi/cdk destroy bez nazwanej stack, chyba że użytkownik o to poprosił) do Security Considerations, przedstawione jako uzupełnienie na poziomie intencji dla reguł na poziomie parametrów i weryfikacji spawn; oraz szyfrowane zdalne executors przez Noise-relay (Codex v0.141.0: end-to-end szyfrowane kanały executor, zachowanie cwd/shell między platformami, P-521 TLS) w Codex Parity Notes. |
| 2026-06-16 | Przewodnik v1.19: Claude Code v2.1.173–v2.1.179 governance + prymitywy zakresu oraz import między narzędziami Codex v0.140.0. Wpleciono wydanie v2.1.178 w treść: reguły uprawnień na poziomie parametrów Tool(param:value) z wildcard * (np. Agent(model:opus), aby zablokować poziom modelu) oraz zarządzane ustawienie enforceAvailableModels (v2.1.175), oba w Security → Permission Boundaries; tryb auto weryfikuje teraz subagent spawns przed uruchomieniem, zamykając lukę spawn-as-bypass (Subagent Patterns); ładowanie zagnieżdżonych .claude/skills + rozstrzyganie closest-wins dla skills/agents/workflows/output-styles w zagnieżdżonych drzewach .claude/ (Skills System); oraz poprawkę dopasowywania specyfikacji serwera disallowedTools MCP (Subagent Configuration Fields). Dodano przenośność między narzędziami Codex /import + trwałe usuwanie sesji (v0.140.0) do notatki o parytecie Codex. |
| 2026-06-10 | Przewodnik v1.18: Rekurencyjni sub-agents (Claude Code v2.1.172). Dodano notatkę do podsekcji Recursion Guard: sub-agents Claude Code mogą teraz uruchamiać własne sub-agents, zagnieżdżając się do 5 poziomów — podczas gdy wcześniej delegowanie było w praktyce ograniczone do jednego poziomu (v2.1.172, 10 czerwca). Przeformułowano wzorzec userland spawn-budget/depth-cap jako mechanizm kontroli, który zapobiega rozrastaniu się 5-poziomowego drzewa, traktując 5 poziomów jako limit platformy, a nie domyślne ustawienie. |
| 2026-06-09 | Przewodnik v1.17: Claude Code v2.1.169–v2.1.170 + Codex v0.138.0–v0.139.0 governance i utwardzenie multi-agent-v2. Wpleciono w treść pięć zweryfikowanych zmian architektury harness. Skills System otrzymał podsekcję „Ukrywanie bundled surface jako governance”: ustawienie disableBundledSkills (oraz zmienna środowiskowa CLAUDE_CODE_DISABLE_BUNDLED_SKILLS) ukrywa przed modelem bundled skills, workflows i wbudowane slash commands jako celowe ograniczenie powierzchni ataku (v2.1.169). Czerwcowa podsekcja Hook-Architecture dodała 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 clean-room troubleshooting i governance (v2.1.169), plus notatkę o poziomie modelu: Claude Fable 5 (claude-fable-5) od Anthropic wystartował 9 czerwca jako poziom klasy Mythos ponad Opus, wybierany przez /model claude-fable-5 w v2.1.170, przy czym Opus 4.8 pozostaje agentic default dla Claude Code. Memory and Context dodano polecenie /cd (v2.1.169), które przenosi sesję do nowego katalogu roboczego bez zrywania mid-session prompt cache. Multi-Agent Orchestration / Codex Parity utwardzono pod produkcję: close_agent przemianowano na interrupt_agent (v0.139.0), szyfrowane payloads wiadomości między agentami, katalog konfiguracji agent v2, LRU rezydencji agentów oraz współbieżność liczona według aktywnego wykonywania (v0.138.0), odkrywanie AGENTS.md poprowadzone przez environment filesystems z zachowanymi ścieżkami logicznymi dla prawidłowego wyboru plików w zdalnych/symlinkowanych workspace (v0.138.0/v0.139.0), oraz ostrzeżenia startowe subagent MCP ograniczone do wątku właściciela zamiast duplikowania ich w rodzicu (v0.139.0). |
| 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 Stop-hook, autorytet między sesjami i multi-agent v2”, obejmującą cztery zmiany istotne dla harness: (1) hooks Stop/SubagentStop mogą zwracać hookSpecificOutput.additionalContext, aby wstrzyknąć feedback „jeszcze nie gotowe, oto dlaczego” i kontynuować turn bez bloku hook-error (v2.1.163); (2) utwardzono komunikację między sesjami, tak aby wiadomości przekazywane przez SendMessage z innej sesji nie przenosiły już autorytetu użytkownika źródłowego — przychodzące wiadomości między agentami należy traktować jako niezaufane dane (v2.1.166); (3) ustawienie fallbackModel łączy do trzech modeli zapasowych z jednorazową próbą fallback przy nienadających się do ponowienia błędach API, a claude agents --json dodaje pole waitingFor do obserwowalności floty (v2.1.162/166); (4) Codex multi-agent v2 (v0.137.0) utrzymuje runtime przy każdym wątku, domyślnie ustawia hide_spawn_agent_metadata na true, propaguje zdarzenia rodzica do listenerów dziecka oraz dodaje rozszerzenie skills v1 z rozstrzyganiem katalogu per-turn i zdarzeniami contributor cyklu życia thread-start/turn-error. Brak zmiany specyfikacji AGENTS.md (nadal nadzorowana przez Agentic-AI-Foundation, bez wersjonowanego changelog). |
| 2026-05-31 | Przewodnik v1.15: Claude Code v2.1.157 + poprawki Hermes v0.15.1/v0.15.2. Dodano podsekcję „Konwergencja Plugin i Skill w .claude/skills/”: Claude Code v2.1.157 sprawia, że dowolny folder w katalogu .claude/skills/ projektu ładuje się automatycznie jako plugin bez rejestracji w marketplace, a claude plugin init <name> szkicuje tam nowy plugin z manifest + SKILL.md. Konsekwencja dla harness jest realna — małozakresowe narzędzia projektowe nie płacą już podatku manifestu, aby żyć w version control; plugins nadal są właścicielem kształtu bundled-installable ZIP. To samo wydanie dostarcza EnterWorktree do przełączania mid-session między worktrees zarządzanymi przez Claude i zostawia background worktrees odblokowane po zakończeniu pracy agenta, dzięki czemu git worktree remove/prune działają czysto. Hermes Agent v0.15.1 (29 maja) to hotfix Velocity z tego samego dnia: poprawka pętli przeładowania 401 dashboardu w trybie loopback, Docker wymaga teraz jawnego HERMES_DASHBOARD_INSECURE=1, bare commands MCP (npx, npm, node) rozwiązują się w Docker, przywrócono stronę Skills, pracownicy Kanban reagują czysto na SIGTERM, katalog Skills.sh urósł z 858 do 19 932 wpisów przez sitemap. Hermes v0.15.2 (29 maja) to wyłącznie pakietowy hotfix, który dołącza manifesty plugin.yaml do dystrybucji wheel i sdist. |
| 2026-05-28 | Przewodnik v1.14: Claude Code v2.1.152-v2.1.154 + Codex v0.134.0-v0.135.0 + przebieg wzorców architektury Hermes v0.15.0. Claude Code zmienił domyślne ustawienia i dodał prymitywy orkiestracji: Opus 4.8 jest teraz domyślny z high effort domyślnie oraz nowym /effort xhigh; dynamic workflows orkiestrują dziesiątki do setek agentów w tle przez /workflows; lean system prompt jest teraz domyślny dla wszystkich modeli poza Haiku/Sonnet/Opus 4.7 i wcześniejszymi; nowe zdarzenie hook MessageDisplay pozwala hooks przekształcać lub ukrywać tekst assistant w chwili wyświetlania; disallowed-tools we frontmatter skill/command usuwa narzędzia, gdy skill jest aktywny; /reload-skills ponownie skanuje katalogi skills bez restartu; hooks SessionStart mogą zwracać reloadSkills: true i ustawiać hookSpecificOutput.sessionTitle; --fallback-model przełącza mid-session, gdy brakuje modelu podstawowego; tryb auto nie wymaga już opt-in consent; zarządzane ustawienie pluginSuggestionMarketplaces allowlistuje marketplace organizacji dla sugestii kontekstowych; claude agents akceptuje background-shell sessions ! <command>; plugins mogą deklarować defaultEnabled: false; env subprocess stdio MCP zawiera teraz CLAUDE_CODE_SESSION_ID i CLAUDECODE=1. Codex v0.134.0 uczynił --profile głównym selektorem profilu w CLI, uprawnieniach TUI i przepływach sandbox (legacy configs odrzucane z instrukcją migracji), dodał lokalne wyszukiwanie historii konwersacji, ulepszył konfigurację MCP przez targetowanie środowiska per-serwer i OAuth dla streamable HTTP servers oraz pozwolił read-only narzędziom MCP działać współbieżnie, gdy deklarują readOnlyHint; v0.135.0 dodał bogatszą diagnostykę codex doctor, zdalne szczegóły /status, edycję vim text-object, nazwane profile uprawnień w /permissions oraz presety Sandbox w Python SDK. Hermes Agent v0.15.0 (28 maja) dostarcza wydanie Velocity: run_agent.py zrefaktoryzowany w 76% przez 14 modułów, multi-agent Kanban v2 z auto-decomposition i swarm topology, Bitwarden Secrets Manager zastępujący klucze per-provider jednym bootstrap tokenem, obrona Promptware przed prompt injection klasy Brainworm w trzech punktach bezpieczeństwa, skill bundles, orkiestrator sesji TUI do zarządzania wieloma sesjami w jednym terminalu oraz 4 500× szybszy session_search z usuniętą zależnością LLM. Konsekwencje dla architektury harness: wzorzec named-profile (Codex --profile, Claude Code pluginSuggestionMarketplaces) staje się standardowym prymitywem konfiguracji dla multi-tenant agent runtimes; współbieżne read-only narzędzia MCP (Codex readOnlyHint) to właściwy wzorzec rozgałęziania niemutujących pobrań kontekstu; hook MessageDisplay daje operatorom first-class powierzchnię transformacji, niedostępną z PostToolUse ani Stop; a domyślny lean-system-prompt usuwa wieloletni kompromis między kontekstem definiowanym przez operatora a scaffoldingiem providera. |
| 2026-05-24 | Przewodnik v1.13: Claude Code v2.1.150 + OpenAI Agents SDK v0.17.3 przebieg bezpieczeństwa/aktualności. Lokalne claude --version zwróciło 2.1.144 (Claude Code), podczas gdy npm latest dla @anthropic-ai/claude-code zwróciło 2.1.150, a najnowsze wydanie GitHub zwróciło v2.1.150. Dodano wskazówki v2.1.149 dla harness dotyczące poprawek obejścia uprawnień w PowerShell, poprawek analizy uprawnień reguł allow/stale variables w PowerShell oraz poprawki write-allowlist sandbox git-worktree; odnotowano, że v2.1.150 dotyczy wyłącznie wewnętrznej infrastruktury, bez ogłoszonych zmian widocznych dla użytkownika. PyPI latest dla openai-agents zwróciło 0.17.3, więc sekcja OpenAI sandbox odnotowuje teraz dalsze utwardzenie 0.17.1-0.17.3 dla rozpakowywania archiwów, podścieżek GitRepo, poświadczeń sandbox, względnych rootów workspace i obsługi terminal-state providera.5354 |
| 2026-05-21 | Przewodnik v1.12: Przebieg Workflow w Claude Code v2.1.147. Lokalne claude --version zwróciło 2.1.144 (Claude Code), podczas gdy npm latest dla @anthropic-ai/claude-code zwróciło 2.1.147. Dodano domyślnie wyłączone narzędzie Workflow jako first-party deterministyczny prymityw wieloagentowej orkiestracji oraz doprecyzowano, że hooks, testy, review gates, spawn budgets i raporty dowodowe pozostają granicą poprawności.52 |
| 2026-05-15 | Przewodnik v1.11: Claude Code v2.1.142 przebieg background-session i niezawodności plugin. Lokalne claude --version zwróciło 2.1.141 (Claude Code), podczas gdy npm latest dla @anthropic-ai/claude-code zwróciło 2.1.142. Dodano wskazówki operatorskie dla nowych flag dispatch claude agents, domyślnego Opus 4.7 Fast-mode, odkrywania root-level plugin SKILL.md, widoczności plugin LSP, zachowania zdalnego HTTP/SSE MCP_TOOL_TIMEOUT oraz poprawek niezawodności background-session / daemon / plugin-cache.51 |
| 2026-05-14 | Przewodnik v1.10: Claude Code v2.1.141 przebieg sygnalizacji operatorskiej i zakresowania. Lokalne claude --version zwróciło 2.1.141 (Claude Code), a npm latest dla @anthropic-ai/claude-code zwróciło 2.1.141. Dodano wskazówki dla hooks dotyczące terminalSequence jako sygnalizacji operatorskiej, a nie egzekwowania, odnotowano claude agents --cwd <path> dla Agent View ograniczonego katalogiem oraz udokumentowano wpływ architektoniczny CLAUDE_CODE_PLUGIN_PREFER_HTTPS plus ANTHROPIC_WORKSPACE_ID na instalację plugin i zakresowanie federacji workload-identity.50 |
| 2026-05-13 | Przewodnik v1.9: Claude Code v2.1.140 przebieg niezawodności. Lokalne claude --version zwróciło 2.1.140 (Claude Code). Dodano subagent_type do wskazówek agent-hook i zaktualizowano sekcję hook governance pod kątem poprawek v2.1.140 do ConfigChange, disableAllHooks, allowManagedHooksOnly, wyświetlania env-var w permission-dialog, resetowania custom style po synchronizacji ustawień, fallback natywnego pakietu Windows Git Bash oraz zachowania /scroll-speed.49 |
| 2026-05-11 | Przewodnik v1.8: Claude Code v2.1.139 przebieg aktualności + ukierunkowany skan agent-security/memory. Zweryfikowano lokalne claude --version jako 2.1.139 i dodano zmiany operacyjne v2.1.139: Agent View przez claude agents, pętle ukończenia /goal, command-hook args, PostToolUse continueOnBlock, MCP CLAUDE_PROJECT_DIR oraz poprawkę aktywnego czasu OpenTelemetry.424344 Dodano ostrzeżenie o kuracji pamięci z preprintu arXiv „The Memory Curse”, wskazówki human merge-authority z preprintu arXiv o cyklu życia PR oraz wskazówki bezpieczeństwa agent-log/guardrail z advisory Gryph Agents i LiteLLM.45464748 Poprawiono nieaktualny wiersz budżetu tokenów Skills vs Hooks vs Subagents z 2% do obecnego budżetu 1% / 8 000 znaków opisu skill. |
| 2026-05-09 | Przewodnik v1.7: Kontynuacja dnia 3 po Claude Code v2.1.136 + openai-agents-python v0.17.0. Dodano podsekcję autoMode.hard_deny i poprawek hook/plugin v2.1.136 do Hook Architecture, obejmującą nowy bezwarunkowy poziom blokowania, poprawkę znikania MCP po /clear w VS Code/JetBrains/Agent SDK, utratę refresh-token OAuth MCP przy współbieżnym odświeżaniu, poprawkę blokowania zapisu w plan-mode, gdy pasowała reguła allow Edit(...), race czyszczenia cache plugin Stop/UserPromptSubmit, wpis skills ukrywający domyślny katalog skills/ oraz zmienne env hook CLAUDE_ENV_FILE SessionStart starzejące się po /resume//clear.40 Dodano podsekcję OTel Feedback Survey do Production Patterns, obejmującą CLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL.40 Rozszerzono podsekcję The Sandbox o lockdown openai-agents-python v0.17.0: LocalFile.src / LocalDir.src ograniczone do wnętrza base_dir, chyba że przyznano dostęp przez Manifest.extra_path_grants z SandboxPathGrant.41 Dodano notatkę o domyślnym modelu RealtimeAgent (gpt-realtime-2) do Managed vs. Self-Hosted Harnesses.41 Tylko changelog: Claude Code v2.1.137 (poprawka aktywacji Win VSCode), v2.1.138 (poprawki wewnętrzne); claude-agent-sdk-python v0.1.78 (bundle CLI v2.1.136), v0.1.79 (bundle CLI v2.1.137), v0.1.80 (bundle CLI v2.1.138). |
| 2026-05-08 | Przewodnik v1.6: Kontynuacja dnia 2 po Claude Code v2.1.132/v2.1.133 + SDK v0.1.77. Dodano podsekcję SDK Skill Surface do Skills System, obejmującą opcję skills w ClaudeAgentOptions oraz wycofanie "Skill" w allowed_tools.37 Dodano podsekcję Effort and Session Provenance do Hook Architecture, obejmującą nowe pole JSON effort.level + zmienną env $CLAUDE_EFFORT na wejściu hook oraz zmienną env CLAUDE_CODE_SESSION_ID w subprocesses Bash.3839 Dodano poprawkę odkrywania skills przez subagent do tabeli Subagent Configuration Fields (subagents odkrywają teraz skills projektu, użytkownika i plugin przez narzędzie Skill; przed v2.1.133 były po cichu porzucane).39 Dodano podsekcję Worktree Base, Sandbox Paths, and Admin Settings do Production Patterns, obejmującą worktree.baseRef (cofnięcie breaking-default z powrotem do origin/<default> z lokalnego HEAD), sandbox.bwrapPath, sandbox.socatPath i parentSettingsBehavior.39 |
| 2026-05-07 | Przewodnik v1.5: Claude Managed Agents, rozszerzenie SF z 6 maja. Dodano Strategię 5 (Managed Memory Curation: Dreaming, Research Preview) do Memory and Context z tabelą kontrastującą filesystem-as-memory i Dreaming.35 Dodano Managed Multiagent Orchestration (Public Beta) i Outcomes (Public Beta) na początku Multi-Agent Orchestration z dosłownymi cytatami Anthropic o specjalistach shared-filesystem i śledzeniu Claude Console oraz tabelą porównawczą względem self-hosted deliberation. Dodano podsekcję streamingu zdarzeń hook po stronie SDK, obejmującą include_hook_events i HookEventMessage z claude-agent-sdk-python v0.1.74.36 Tylko changelog: Claude Code v2.1.124-v2.1.131 (claude project purge, --dangerously-skip-permissions dla katalogów projektu, skill_activated invocation_trigger, poprawka format-on-save PostToolUse, poprawka blokowania PreToolUse JSON+exit-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 z v0.16.0 (7 maja) domyślnie ustawiającym gpt-5.4-mini, usuwającym niejawny limit max_turns i dodającym współbieżność wykonywania narzędzi po stronie SDK. |
| 2026-05-07 | Przewodnik v1.4: Odświeżono mechanikę hooks i skills Claude Code względem aktualnych oficjalnych docs i lokalnych dowodów runtime (claude --version 2.1.132, codex --version zwróciło codex-cli 0.128.0). Zaktualizowano powierzchnię hook z 22/26+ do 29 udokumentowanych zdarzeń, poprawiono budżet opisu skill z 2%/16 000 do 1%/8 000, zmieniono liczbę typów hook z czterech do pięciu z mcp_tool, usunięto nieobsługiwane twierdzenie o stałych „10 równoległych subagents” oraz dodano publicznie bezpieczną sekcję parytetu Codex obejmującą AGENTS.md, skills, hooks, plugins i jawne workflows subagent. |
| 2026-04-29 | Przewodnik v1.3: Rozszerzono pokrycie OpenAI Agents SDK w sekcji Managed vs. Self-Hosted Harnesses o nazwaną powierzchnię SDK z openai-agents Python v0.14.0 (15 kwietnia) — SandboxAgent, Manifest, SandboxRunConfig, pamięć sandbox z progressive disclosure, montowania workspace (S3/R2/GCS/Azure), przenośne snapshots oraz backendy klienta local/Docker/hosted (Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel). Zastąpiono drugorzędne źródło Help Net Security podstawowym cytowaniem release-notes v0.14.0. Dodano krótką notatkę o claude-agent-sdk-python v0.1.69-v0.1.71 (28-29 kwietnia) jako trzeciej opcji self-hosted (osadzenie runtime Claude Code jako biblioteki Python): bundled Claude CLI podniesiony do v2.1.123, podniesiony minimalny próg zależności mcp do >=1.19.0 (starsze wersje po cichu porzucały CallToolResult z in-process narzędzi MCP), poprawka anulowania Trio nursery oraz parytet pola allowlist SandboxNetworkConfig z TS SDK. Udoskonalenia SDK v0.14.7-v0.14.8 udokumentowane w [^58]. |
| 2026-04-25 | Przewodnik v1.2: Google Cloud Next 2026 (22-24 kwietnia) — Vertex AI przemianowano na Gemini Enterprise Agent Platform; Agentspace wchłonięto do zunifikowanego Gemini Enterprise; Workspace Studio (no-code agent builder); ponad 200 modeli w Model Garden, w tym Anthropic Claude; partner agents od Box, Workday, Salesforce, ServiceNow; ADK v1.0 stable w czterech językach; Project Mariner (agent przeglądający web); zarządzane serwery MCP z Apigee jako mostem API-to-agent; A2A protocol v1.0 w produkcji w 150 organizacjach. Microsoft Agent Framework 1.0 (kwiecień 2026): stabilne API, zobowiązanie LTS, pełna obsługa MCP, .NET + Python. Przeglądarkowy DevUI, który wizualizuje wykonywanie agentów i tool calls w czasie rzeczywistym, jest dostarczany jako preview obok stabilnej powierzchni 1.0. Salesforce Headless 360 (15 kwietnia, TDX): każda funkcja Salesforce (CRM, service, marketing, ecommerce) wystawiona jako narzędzie API/MCP/polecenie CLI, aby agenci tacy jak Claude Code, Cursor i Codex mogli budować na platformie bez przeglądarki. (TDX 2026 odbyło się 15-16 kwietnia; ogłoszenie Headless 360 jest datowane na 15 kwietnia). MetaComp StableX KYA (21 kwietnia): framework governance Know Your Agent dla regulowanych usług finansowych (payments, compliance, wealth) — pierwszy tego typu od licencjonowanej instytucji finansowej; dostępny w Claude, Claude Code, OpenClaw i innych kompatybilnych platformach AI. Ceny Claude Managed Agents: 0,08 USD za godzinę sesji, gdy sesja działa, bez opłaty runtime w stanie idle — oprócz standardowych stawek tokenów modelu Claude. (Według strony cenowej Claude od Anthropic; public-beta launch nastąpił 8 kwietnia 2026). Memory for Managed Agents weszło w public beta 23 kwietnia 2026 pod nagłówkiem beta managed-agents-2026-04-01. Wszystkie endpoints Managed Agents wymagają teraz tego nagłówka beta. |
| 2026-04-16 | Przewodnik v1.1: Dodano sekcję Managed vs. Self-Hosted Harnesses obejmującą Claude Managed Agents (beta z 8 kwietnia) oraz separację harness/compute w OpenAI Agents SDK (16 kwietnia). Dodano Scion cross-tool multi-agent hypervisor (7 kwietnia, Google). Udokumentowano ustalenie plateau debaty M3MAD-Bench. Dodano The Five Principles of Trustworthy Agents (Anthropic, 9 kwietnia) + governance MCP/AGENTS.md Linux Foundation. Odniesienie do sandbox skill Permiso SandyClaw. Nowe Opus 4.7 Long-Horizon Patterns: odporność na awarie narzędzi, poziom effort xhigh, limit budżetu tokenów (task_budget beta), świadomość implicit-need ograniczająca scaffolding CLAUDE.md. |
| 2026-03-24 | Pierwsza publikacja |
Źródła
-
Andrej Karpathy o „claws” jako nowej warstwie nad agentami LLM. Dyskusja na HN (406 punktów, 917 komentarzy). ↩
-
Implementacja autora. 84 hooks, 48 skills, 19 agentów, około 15 000 wierszy orkiestracji. Udokumentowano w Claude Code jako infrastruktura. ↩↩↩↩↩↩↩↩
-
Anthropic, „Claude Code Hooks: Exit Codes”. code.claude.com/docs/en/hooks. Kod wyjścia 0 zezwala, 2 blokuje, 1 ostrzega dla większości zdarzeń;
WorktreeCreatejest bardziej rygorystyczne. ↩↩↩↩↩ -
Anthropic, „Extend Claude with Skills”. code.claude.com/docs/en/skills. Struktura skill, pola frontmatter, dopasowywanie oparte na LLM oraz budżet opisu 1% / 8000 znaków. ↩↩↩↩↩↩↩
-
Anthropic, „Claude Code Sub-agents”. code.claude.com/docs/en/sub-agents. Izolowany kontekst, obsługa worktree, zespoły agentów. ↩↩↩↩↩
-
Anthropic, „Claude Code Documentation”. docs.anthropic.com/en/docs/claude-code. Pliki pamięci, CLAUDE.md, auto-memory. ↩↩↩↩↩
-
System deliberacji multi-agent autora. 10 person badawczych, 7-fazowa maszyna stanów, 141 testów. Udokumentowano w deliberacji multi-agent. ↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩↩
-
Simon Willison, „Writing code is cheap now”. Agentic Engineering Patterns. ↩
-
Laban, Philippe, i in., „LLMs Get Lost In Multi-Turn Conversation”, arXiv:2505.06120, maj 2025. Microsoft Research i Salesforce. 15 LLMs, ponad 200 000 rozmów, średni spadek wydajności o 39%. ↩↩↩
-
Mikhail Shilkov, „Inside Claude Code Skills: Structure, Prompts, Invocation”. mikhail.io. Niezależna analiza wykrywania skill, wstrzykiwania kontekstu i sekcji promptu
available_skills. ↩ -
Claude Code Source,
SLASH_COMMAND_TOOL_CHAR_BUDGET. github.com/anthropics/claude-code. ↩ -
Anthropic, „Skill Authoring Best Practices”. platform.claude.com. Limit 500 wierszy, pliki pomocnicze, konwencje nazewnictwa. ↩
-
Anthropic, „Claude Code Hooks: Lifecycle Events”. code.claude.com/docs/en/hooks. 29 udokumentowanych zdarzeń cyklu życia, typy hook, zachowanie matcherów, asynchroniczne hooks, HTTP hooks, prompt hooks, agent hooks oraz hooks narzędzi MCP. ↩↩↩↩↩↩↩
-
Samouczek autora dotyczący Claude Code hooks. 5 produkcyjnych hooks od podstaw. Udokumentowano w samouczku Claude Code Hooks. ↩↩↩↩↩
-
Zarządzanie oknem kontekstu przez autora w 50 sesjach. Udokumentowano w zarządzaniu oknem kontekstu. ↩↩↩↩↩
-
Implementacja Ralph Loop autora. Iteracja ze świeżym kontekstem ze stanem systemu plików i budżetami spawn. Udokumentowano w The Ralph Loop. ↩↩↩↩↩↩↩
-
Architektura systemu deliberacji autora. 3500 wierszy Python, 12 modułów, wyzwalacz pewności, walidacja konsensusu. Udokumentowano w budowaniu systemów AI: od RAG do agentów. ↩↩↩
-
Nemeth, Charlan, In Defense of Troublemakers: The Power of Dissent in Life and Business, Basic Books, 2018. ↩
-
Wu, H., Li, Z. i Li, L., „Can LLM Agents Really Debate?” arXiv:2511.07784, 2025. ↩
-
Liang, T. i in., „Encouraging Divergent Thinking in Large Language Models through Multi-Agent Debate”, EMNLP 2024. ↩
-
Analiza AGENTS.md autora w rzeczywistych repozytoriach. Udokumentowano w wzorcach AGENTS.md. Zobacz także: GitHub Blog, „How to Write a Great agents.md: Lessons from Over 2,500 Repositories”. ↩↩↩↩↩↩↩↩
-
Metodyka quality loop i evidence gate autora. Część systemu Jiro Craftsmanship. ↩
-
Anthropic, „Claude Managed Agents Overview”. Publiczna beta uruchomiona 8 kwietnia 2026. Harness-as-a-service z punktami kontrolnymi sesji, dołączonym sandboxem, REST API. Cennik: standardowe tokeny + 0,08 USD za godzinę sesji. Nagłówek beta
managed-agents-2026-04-01. ↩↩ -
OpenAI, „openai-agents Python v0.14.0 release notes”. Wydano 15 kwietnia 2026; ogłoszenie omówiono 16 kwietnia. Wprowadza powierzchnię SDK Sandbox Agents jako warstwę beta nad istniejącym przepływem
Agent/Runner:SandboxAgent,Manifest(kontrakt workspace),SandboxRunConfig, możliwości (shell, edycja systemu plików, inspekcja obrazów, skills, pamięć sandbox, kompaktowanie), montowania workspace (lokalne, Git, zdalne: S3, R2, GCS, Azure Blob, S3 Files), przenośne migawki z normalizacją ścieżek i zachowaniem dowiązań symbolicznych oraz serializację stanu uruchomienia do wznawiania. Backend:UnixLocalSandboxClient,DockerSandboxClientoraz hostowani klienci dla Blaxel, Cloudflare, Daytona, E2B, Modal, Runloop, Vercel przez opcjonalne extras. Ogłoszenie z 16 kwietnia podsumowano w Help Net Security. ↩↩ -
Google Cloud, „Scion: Multi-Agent Hypervisor”. Udostępniono jako open source 7 kwietnia 2026. Orkiestruje Claude Code, Gemini CLI i innych głębokich agentów jako izolowane procesy z osobnym kontenerem, git worktree i poświadczeniami dla każdego agenta. Tryby wdrożenia lokalnego, hub i Kubernetes. Relacja InfoQ. ↩
-
Klaster badań nad debatą multi-agent, I-II kw. 2026. Wu i in., „Can LLM Agents Really Debate?” (arXiv 2511.07784); M3MAD-Bench — benchmark debaty multi-model multi-agent pokazujący plateau wydajności i podatność na mylący konsensus; Tool-MAD — heterogeniczne przypisanie narzędzi do agentów + oceny sędziego Faithfulness/Relevance. ↩
-
Anthropic, „Our framework for developing safe and trustworthy agents”. 9 kwietnia 2026. Pięć zasad: kontrola człowieka, zgodność z wartościami, bezpieczeństwo, przejrzystość, prywatność. Darowizna MCP na rzecz Linux Foundation’s Agentic AI Foundation. ↩↩
-
Permiso Security, „SandyClaw: First Dynamic Sandbox for AI Agent Skills”. 2 kwietnia 2026. Sandbox wykonywania skill z detekcją Sigma/YARA/Nova/Snort i werdyktami popartymi dowodami. ↩
-
Anthropic, „Introducing Claude Opus 4.7”. 16 kwietnia 2026. Usprawnienia agentów pracujących w długim horyzoncie: 3× wyższa skuteczność rozwiązywania zadań produkcyjnych SWE-Bench względem Opus 4.6, odporność na awarie narzędzi, poziom wysiłku
xhigh, budżety zadań (beta), świadomość ukrytych potrzeb. Zobacz także co nowego w Opus 4.7 w sprawie zmian łamiących zgodność w Messages API. ↩ -
Odniesienie zbiorcze — OpenAI
openai-agents-pythonv0.14.7 (28 kwietnia 2026) i v0.14.8 (29 kwietnia 2026); Anthropicclaude-agent-sdk-pythonv0.1.69 (28 kwietnia), v0.1.70 (28 kwietnia) oraz v0.1.71 (29 kwietnia). Najważniejsze zmiany w v0.14.7: wygodne właściwościtool_name/call_idw elementach narzędzi, podniesiony limit tur dla konsolidacji pamięci w fazie 2, aliasy GPT-5.5 dla kompaktowania sandbox, zaostrzenie walidacji elementów tar/zip, odrzucanie symlinków w źródłachLocalFile, usuwanie nieustawionych pól z wywołań Responses API. Najważniejsze zmiany w v0.14.8: zachowywanie błędów importu ponownego eksportu MCP, rozdzielanie sekcji instrukcji promptu sandbox. claude-agent-sdk-python v0.1.69 dodał docstringi do pólClaudeAgentOptionsi zaktualizował dołączony CLI do v2.1.121; v0.1.70 podniosła minimalną wersję zależnościmcpdo>=1.19.0(starsze wersje po cichu gubiły zwrotyCallToolResultz wewnątrzprocesowych handlerów narzędzi MCP), naprawiła uszkodzenie Trio nursery przy wczesnym anulowaniu podczas iterowania poquery()z ustawionymoptions.stderr(czytnik stderr używa terazspawn_detached()), a także zaktualizowała dołączony CLI do v2.1.122; v0.1.71 dodała pola listy dozwolonych domen (allowedDomains,deniedDomains,allowManagedDomainsOnly,allowMachLookup) doSandboxNetworkConfig, aby zachować zgodność ze schematem TypeScript, oraz zaktualizowała dołączony CLI do v2.1.123. ↩ -
OpenAI, „Custom instructions with AGENTS.md”. Codex przed rozpoczęciem pracy odczytuje globalne i projektowe pliki
AGENTS.md/AGENTS.override.md, scala wskazówki od katalogu głównego do bieżącego katalogu i ogranicza dokumenty projektu przezproject_doc_max_bytes. ↩ -
OpenAI, „Agent Skills”. Codex skills używają
SKILL.md, progresywnego ujawniania, jawnego wywołania$skilloraz niejawnej aktywacji na podstawie opisów. ↩ -
OpenAI, „Codex Hooks”. Codex hooks obsługują command hooks w konfiguracji, plugin hooks, managed hooks, matchery dla obsługiwanych zdarzeń, wejście stdin JSON oraz pola wyjściowe JSON. ↩
-
OpenAI, „Codex Subagents” oraz „Codex CLI 0.128.0 changelog”. Codex obsługuje jawne równoległe przepływy pracy subagentów, wbudowanych agentów
default,workeriexplorer, niestandardowych agentów TOML, dziedziczoną politykę sandbox, hooks dołączane w pluginach, stan włączenia hooków oraz utrwalone przepływy pracy/goalw wersji 0.128.0. ↩ -
Anthropic, „New in Claude Managed Agents”. 6 maja 2026. Dreaming (Research Preview): zaplanowany proces w tle, który przegląda sesje agentów i magazyny pamięci, wyodrębnia wzorce i porządkuje wspomnienia. Outcomes (Public Beta): ocena oparta na rubryce, w której osobny grader punktuje wynik względem rubryki we własnym oknie kontekstu, aby nie pozostawać pod wpływem rozumowania agenta. Multiagent Orchestration (Public 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ólnym systemie plików i wnoszą wkład do ogólnego kontekstu agenta prowadzącego, z pełnym śledzeniem każdego kroku w Claude Console. ↩↩↩↩↩↩↩↩
-
Anthropic,
claude-agent-sdk-pythonv0.1.74. 6 maja 2026. Dodajeinclude_hook_eventsdoClaudeAgentOptions; po ustawieniu zdarzenia hooków (PreToolUse, PostToolUse, Stop i inne) są emitowane przez CLI i zwracane ze strumienia wiadomości jakoHookEventMessage, analogicznie doincludeHookEventsw TypeScript SDK. Dołączony Claude CLI zaktualizowano do v2.1.129. ↩↩ -
Anthropic,
claude-agent-sdk-pythonv0.1.77. 8 maja 2026. Oznacza wartość"Skill"wallowed_toolsjako przestarzałą na rzecz dedykowanej opcjiskillswClaudeAgentOptions, daje Claude Code bardziej ustrukturyzowany sygnał o dostępnych skills, poprawia komunikaty błędów przy wyjątkachCommand failedoraz dołącza Claude CLI v2.1.133. ↩↩ -
Anthropic, Claude Code v2.1.132. 6 maja 2026. Dodaje zmienną środowiskową
CLAUDE_CODE_SESSION_IDw podprocesach narzędzia Bash (odpowiadasession_id, które hooks już widzą),CLAUDE_CODE_DISABLE_ALTERNATE_SCREEN, aby zachować rozmowę w natywnym scrollbacku, odświeżony baner startowy/tui fullscreen(mniejsze zużycie pamięci, obsługa myszy, automatyczne kopiowanie przy zaznaczeniu) oraz około dwudziestu poprawek błędów obejmujących łagodne zamykanie po SIGINT, uszkodzenie--resumeprzy zastępczych emoji, flagę plan-mode--permission-mode, obsługę kursora w pismach indyjskich i ZWJ, operacje vim NFD, połykanie wklejek zaczynających się od/, nieograniczoną pamięć MCP, ponawianietools/listMCP, błąd Bedrock + VertexENABLE_PROMPT_CACHING_1H400 oraz statuslinecontext_windowpokazujący skumulowane tokeny. ↩↩ -
Anthropic, Claude Code v2.1.133. 7 maja 2026. Hooks otrzymują teraz wejście JSON
effort.leveloraz zmienną środowiskową$CLAUDE_EFFORT(możliwą też do odczytu z poleceń Bash). Subagents odkrywają skills projektu, użytkownika i pluginów przez narzędzieSkill(poprawka regresji). Nowe ustawienia administratora:worktree.baseRef(fresh|head) przywraca bazę worktree doorigin/<default>po przełączeniu na lokalneHEADw v2.1.128;sandbox.bwrapPathisandbox.socatPathprzypinają binaria sandbox w Linux/WSL;parentSettingsBehavior('first-wins' | 'merge') kontroluje, jak SDKmanagedSettingsskładają się z ustawieniami nadrzędnymi. Inne poprawki: wyścig 401-after-refresh-token-race w sesjach równoległych, zakres reguł allow dla katalogu głównego dysku, obsługa proxy/mTLS dla MCP OAuth, kończenie anulowania przez stop/interrupt w Remote Control, wyciek/effortmiędzy sesjami,--remote-controlwidoczne w--help. ↩↩↩↩↩↩ -
Anthropic, Claude Code v2.1.136. 8 maja 2026. Dodaje
settings.autoMode.hard_denydla reguł klasyfikatora auto-mode, które blokują bezwarunkowo niezależnie od intencji użytkownika lub wyjątków allow, orazCLAUDE_CODE_ENABLE_FEEDBACK_SURVEY_FOR_OTEL, aby ponownie włączyć ankietę jakości w sesji dla przedsiębiorstw przechwytujących odpowiedzi przez OpenTelemetry. Poprawki istotne operacyjnie: serwery MCP z.mcp.json, pluginów i connectorów claude.ai po cichu znikające po/clearw VS Code, JetBrains i Agent SDK; utrata tokenów odświeżania MCP OAuth przy równoczesnym odświeżaniu; plan mode nieblokujący zapisów plików, gdy istniała pasująca reguła allowEdit(...); hooks pluginówStop/UserPromptSubmitzawodzące, gdy czyszczenie cache usuwało nadal działającą wersję; wpisskillswplugin.jsonukrywający domyślny katalogskills/pluginu; zmienne środowiskowe hooka SessionStart zCLAUDE_ENV_FILEdezaktualizujące się po/resumelub/clear. Do tego około trzydziestu dodatkowych poprawek dopracowania i niezawodności obejmujących TUI, autouzupełnianie i renderowanie terminala. Wydania towarzyszące: v2.1.137 (9 maja, poprawka aktywacji rozszerzenia VSCode w Windows), v2.1.138 (9 maja, poprawki wewnętrzne);claude-agent-sdk-pythonv0.1.78, v0.1.79 i v0.1.80 zaktualizowały dołączony Claude CLI odpowiednio do v2.1.136, v2.1.137 i v2.1.138. ↩↩↩↩ -
OpenAI,
openai-agents-pythonv0.17.0. 8 maja 2026.RealtimeAgentdomyślnie używagpt-realtime-2. Materializacja lokalnych źródeł sandbox ogranicza terazLocalFile.srciLocalDir.srcdo manifestubase_dir(bieżącego katalogu roboczego procesu SDK w chwili zastosowania manifestu), chyba że źródło jest jawnie dopuszczone przezManifest.extra_path_grantszSandboxPathGrant. Względne źródła lokalne rozwiązywane są względembase_dir; źródła bezwzględne muszą już znajdować się w nim albo pod jawnym grantem. Migracja: zaufane katalogi główne hosta należy deklarować na poziomie manifestu, najlepiej tylko do odczytu.extra_path_grantsnależy traktować jako zaufaną konfigurację aplikacji; nie należy wypełniać ich na podstawie wyjścia modelu ani niezaufanego wejścia manifestu. Zawiera także poprawkę kolizjiextra_argsw zarządzaniu kontekstem Responses. ↩↩↩↩ -
Anthropic, Claude Code v2.1.139. Maj 2026. Lokalne dowody z bieżącej sesji z 11 maja 2026:
claude --versionzwróciło2.1.139 (Claude Code). Informacje o wydaniu dodają Agent View (claude agents),/goal, hookargs: string[],continueOnBlockdlaPostToolUse,CLAUDE_PROJECT_DIRdla serwerów MCP stdio, interpolację poleceń plugin dla${CLAUDE_PROJECT_DIR}oraz poprawki, w tym emisję OpenTelemetryclaude_code.active_time.totalw trybie--print. ↩↩↩↩↩ -
Anthropic, „Zarządzanie wieloma agentami za pomocą agent view”. Dokumentacja Agent View opisuje uruchamianie i zarządzanie wieloma sesjami Claude Code z jednego ekranu, sprawdzanie, co robi każda sesja, oraz identyfikowanie sesji wymagających interwencji operatora. Strona określa Agent View jako Research Preview i dokumentuje ograniczenia sesji lokalnych. ↩↩↩
-
Anthropic, „Claude Code Hooks”. Dokumentacja hook obejmująca pola command-hook,
PreToolUse,PostToolUse, zachowanie kodów wyjścia, wejście/wyjście hook oraz ścieżki bezpośredniego rozwijania poleceń slash. ↩↩ -
GitHub Advisory Database, GHSA-f3jg-756w-gm35 / CVE-2026-45046. „Filtr ładunku Gryph Agents nie usuwa ładunku narzędzia z treścią wrażliwą”. Opublikowano w maju 2026; opisuje wrażliwą zawartość ładunku
file-write, która przy domyślnym zachowaniu logowania pozostawała w lokalnych logach SQLite, oraz poprawkę w Gryph v0.7.0. ↩↩ -
OSV, GHSA-wxxx-gvqv-xp7p / CVE-2026-40217. „LiteLLM ma ucieczkę z sandbox w guardrail kodu niestandardowego”. Opublikowano 11 maja 2026; opisuje chroniony administracyjnie endpoint
POST /guardrails/test_custom_code, który uruchamiał dostarczony przez użytkownika Python w ręcznie zbudowanym sandbox, oraz zaleca aktualizację albo zablokowanie endpointu, jeśli aktualizacja nie jest możliwa. ↩↩ -
Young Jo (seph) Chung i Safwat Hassan, „Współpracownik czy asystent? Jak AI Coding Agents dzielą pracę w cyklach życia Pull Request”, arXiv:2605.08017v1, maj 2026. Streszczenie raportuje analizę 29 585 cykli życia PR w OpenAI, Copilot, Devin, Cursor i Claude Code, rozróżniając sprawczość operacyjną od nadzoru nad scalaniem. ↩↩
-
Jiayuan Liu et al., „Klątwa pamięci: jak rozszerzone przywoływanie osłabia intencję współpracy u agentów LLM”, arXiv:2605.08060v1, maj 2026. Streszczenie raportuje eksperymenty obejmujące 7 LLMs i 4 gry przez 500 rund, w których rozszerzona dostępna historia pogorszyła współpracę w 18 z 28 konfiguracji model-gra. ↩↩
-
Anthropic, Claude Code v2.1.140. 12 maja 2026. Dodaje
subagent_typedo wejścia agent hook i naprawia hookConfigChange,disableAllHooks,allowManagedHooksOnly, wyświetlanie env-var okna dialogowego uprawnień z wyników hook, resetowanie stylu niestandardowego po aktualizacjach ustawień, awaryjne rozwiązywanie pakietów natywnych w Windows Git Bash oraz/scroll-speed. ↩↩↩ -
Anthropic, Claude Code v2.1.141. 13 maja 2026. Dodaje
terminalSequencedo wyjścia hook JSON na potrzeby powiadomień desktopowych, tytułów okien i dzwonków;CLAUDE_CODE_PLUGIN_PREFER_HTTPSdla klonowania źródła plugin HTTPS;ANTHROPIC_WORKSPACE_IDdo zakresowania obszaru roboczego w federacji tożsamości workload;claude agents --cwd <path>do filtrowania katalogów w Agent View; opcje załączania sesji/feedbackz ostatnich 24 godzin lub 7 dni; oraz powiązane poprawki agent, zadań w tle, hook, MCP, Remote Control, okna dialogowego uprawnień i renderowania terminala. Weryfikacja z bieżącej sesji 14 maja 2026:claude --versionzwróciło2.1.141 (Claude Code), anpm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonzwróciło najnowszą wersję2.1.141. ↩↩↩ -
Anthropic, Claude Code v2.1.142. 14 maja 2026. Dodaje flagi wysyłania
claude agentsdla sesji w tle (--add-dir,--settings,--mcp-config,--plugin-dir,--permission-mode,--model,--effort,--dangerously-skip-permissions), domyślnie zmienia Fast mode na Opus 4.7 zCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDE=1jako nadpisaniem przypinającym, ujawnia plikiSKILL.mdna głównym poziomie plugin jako skills, gdy nie istnieje katalogskills/, pokazuje serwery LSP dostarczane przez plugin w szczegółach plugin, ostrzega przed zastąpieniem istniejącego połączenia GitHub App oraz naprawia problemy zMCP_TOOL_TIMEOUT, worktree sesji w tle, usypianiem/wybudzaniem daemon, czyszczeniem daemon po aktualizacji, cache plugin i niezawodnością Agent View. Weryfikacja z bieżącej sesji 15 maja 2026:claude --versionzwróciło2.1.141 (Claude Code), a npm latest zwróciło2.1.142. ↩↩ -
Anthropic, Claude Code v2.1.147. 21 maja 2026. Dodaje domyślnie wyłączone narzędzie
Workflowdo deterministycznej orkiestracji wieloagentowej (CLAUDE_CODE_WORKFLOWS=1), przypięte sesje w tle,/code-review [effort] --commentzastępujące/simplify, wzmocnienie sandbox REPL i Workflow, diagnostykę auto-updater, usprawnienia renderowania dużych diffów, deduplikację historii promptów oraz poprawki dotyczące ograniczeń logowania enterprise, zachowania PowerShell, paginacji MCP, Agent View, plugins, warunków hook, wklejonego tekstu i pętli usuwanych obrazów. Weryfikacja z bieżącej sesji 21 maja 2026:claude --versionzwróciło2.1.144 (Claude Code), anpm view @anthropic-ai/claude-code version dist-tags.latest time.modified --jsonzwróciło najnowszą wersję2.1.147ztime.modified2026-05-21T20:38:35.053Z. ↩↩↩ -
Anthropic, Claude Code v2.1.148, v2.1.149, v2.1.150 oraz Claude Code CHANGELOG. v2.1.148 naprawia regresję kodu wyjścia Bash z v2.1.147. v2.1.149 dodaje użycie limitów per kategoria w
/usage, przewijanie klawiaturą w/diff, renderowanie list zadań GFM oraz EnterpriseallowAllClaudeAiMcps; poprawki istotne dla harness obejmują obejścia uprawnień PowerShellcd, analizę uprawnień prefix/wildcard i przestarzałych zmiennych w PowerShell, zakres allowlist zapisu sandbox git-worktree, wyczerpanie vnode przez Bashfindw macOS, zawieszanie zatwierdzania managed-settings, diagnostykę spacji w ścieżceotelHeadersHelperoraz synchronizację zmiany nazwy sesji Remote Control. v2.1.150 dotyczy wyłącznie infrastruktury wewnętrznej. Weryfikacja z bieżącej sesji 24 maja 2026: lokalneclaude --versionzwróciło2.1.144 (Claude Code), a npm latest zwróciło2.1.150ztime.modified2026-05-23T04:03:10.243Z; najnowsze wydanie GitHub zwróciłov2.1.150opublikowane2026-05-23T04:03:51Z. ↩↩↩ -
OpenAI,
openai-agents-pythonv0.17.1, v0.17.2 oraz v0.17.3. v0.17.1 dodaje szczegóły błędów sandbox-provider, limity rozpakowywania archiwów, walidację podścieżek GitRepo oraz poprawki trace/session/realtime. v0.17.2 naprawia utrwalanie reasoning w Conversations, powody odrzucenia lokalnego zatwierdzania, ustawienia AsyncSQLiteSession i zachowanie realtime dla nieznanych narzędzi. v0.17.3 nie umieszcza poświadczeń punktu montowania w poleceniach sandbox, odrzuca względne korzenie obszaru roboczego sandbox, obsługuje terminalne stany Vercel sandbox oraz naprawia przypadki brzegowe output-schema, guardrail, runtime i importu memory. Weryfikacja z bieżącej sesji 24 maja 2026:python3 -m pip index versions openai-agentszwróciło najnowszą wersję0.17.3; najnowsze wydanie GitHub zwróciłov0.17.3opublikowane2026-05-19T01:27:36Z. ↩↩ -
Claude Code Changelog (kanoniczny), informacje o wydaniu v2.1.152, informacje o wydaniu v2.1.153, informacje o wydaniu v2.1.154. v2.1.152 (27 maja) dodaje zdarzenie hook
MessageDisplay,disallowed-toolswe frontmatter skills/poleceń,/reload-skills, wyjścia hookSessionStartreloadSkillsisessionTitle, stosowanie/code-review --fixdo drzewa roboczego, zarządzane ustawieniepluginSuggestionMarketplaces, usunięcie zgody na auto-mode oraz przełączanie w trakcie sesji przez--fallback-model. v2.1.153 (28 maja) sprawia, że/modelzapisuje się jako domyślna wartość dla nowej sesji, zsdla ustawienia tylko w bieżącej sesji, dodajeskipLfsdo marketplace’ów pluginów, udostępniaCOLUMNS/LINESw środowisku status-line oraz utrwala uprawnienia Privacy & Security dla background-agent w macOS. v2.1.154 (28 maja) ustawia Opus 4.8 jako domyślny model z domyślnie wysokim effort i nowym/effort xhigh, wprowadza dynamiczne workflows przez/workflows, udostępnia Fast mode na Opus 4.8 w stawce 2× za szybkość 2,5×, domyślnie stosuje odchudzony system prompt dla wszystkich modeli poza Haiku/Sonnet/Opus 4.7 i wcześniejszymi, pozwalaclaude agentsprzyjmować! <command>dla sesji background-shell, umożliwia pluginom deklarowaniedefaultEnabled: false, przekazujeCLAUDE_CODE_SESSION_IDiCLAUDECODE=1do środowiska podprocesów stdio MCP oraz oznaczaCLAUDE_CODE_OPUS_4_6_FAST_MODE_OVERRIDEjako przestarzałe (usunięte 1 czerwca). ↩ -
Codex Changelog (OpenAI Developers) i wydania openai/codex. Codex CLI 0.134.0 (26 maja 2026) dodał lokalne wyszukiwanie historii konwersacji, uczynił
--profiległównym selektorem profilu w przepływach CLI/TUI/sandbox wraz z migracją starszej konfiguracji, usprawnił konfigurację MCP przez kierowanie środowiska per serwer oraz OAuth dla streamable HTTP servers, zwiększył niezawodność schematów narzędzi connectorów dzięki zachowaniu lokalnych$ref/$defsi kompaktowaniu nadmiernie dużych schematów przed ekspozycją, a także włączył współbieżne wykonywanie narzędzi MCP tylko do odczytu deklarującychreadOnlyHint. Codex CLI 0.135.0 (28 maja 2026) dodał bogatszą diagnostykęcodex doctor, pokazał szczegóły połączenia zdalnego i wersję serwera w/status, dodał edycję vim text-object z ulepszonym zachowaniem słów/końców wierszy i konfigurowalnym interrupt-turn, sprawił, że/permissionsrozumie nazwane profile uprawnień, spakował dołączony, poprawiony zsh helper dla obsługiwanych systemów macOS i Linux oraz dodał przyjazne presetySandboxdo Python SDK dla APIs wątków i tur. ↩ -
Informacje o wydaniu Hermes Agent v0.15.0. „The Velocity release.” 1302 commity, 747 scalonych PR-ów, 321 współtwórców społecznościowych.
run_agent.pyzrefaktoryzowano w 76% (16 083 → 3821 wierszy w 14 modułach). Platforma Kanban multi-agent z automatyczną dekompozycją, topologią swarm, nadpisaniami modeli per zadanie, zaplanowanymi zadaniami i zarządzaniem worktree.session_searchprzeprojektowano jako 4500× szybsze, z usuniętą zależnością LLM. Ochrona promptware przed prompt injection klasy Brainworm w trzech punktach kontroli bezpieczeństwa. Integracja Bitwarden Secrets Manager zastępująca klucze per dostawca pojedynczym tokenem bootstrap. Skill bundles do ładowania wielu skills jednym slash command. Orchestrator sesji TUI do zarządzania wieloma sesjami w jednym terminalu. Dostawcy generowania obrazów Krea 2 i FAL; runda integracji xAI (plugin web-search, OAuth upstream, wykrywanie wycofanych modeli, naturalne pauzy TTS). ↩ -
Informacje o wydaniu Claude Code v2.1.157 oraz Claude Code Changelog (kanoniczny). 29 maja 2026. Pluginy umieszczone w katalogu
.claude/skills/projektu ładują się teraz automatycznie bez wymagania marketplace’u;claude plugin init <name>tworzy szkielet nowego pluginu w tym katalogu;/pluginzyskał autouzupełnianie argumentów. Ponadto:EnterWorktreemoże w trakcie sesji przełączać się między worktree zarządzanymi przez Claude, background worktrees pozostają odblokowane po zakończeniu pracy agenta, abygit worktree remove/prunedziałały czysto, a zdarzenia telemetrycznetool_decisionzawierajątool_parameters, gdyOTEL_LOG_TOOL_DETAILS=1. Zawiera także poprawki błędów dla nieprzetwarzalnych obrazów (teraz degradują się do tekstowych placeholderów), promptów uprawnień sieci sandbox w trybie auto/bypass, wycofywania background-session po parkowaniu oraz renderowania terminala w tmux / VS Code / Cursor / Windsurf. ↩ -
Claude Code Changelog (kanoniczny) oraz informacje o wydaniu Codex CLI v0.137.0, czerwiec 2026. Claude Code v2.1.162 (3 czerwca) dodał
waitingFordoclaude agents --json; v2.1.163 (4 czerwca) dodałhookSpecificOutput.additionalContextdla niebłędnej informacji zwrotnejStop/SubagentStop; v2.1.166 (6 czerwca) wzmocnił autorytet cross-sessionSendMessage(przekazywane wiadomości nie niosą już autorytetu użytkownika) oraz dodał ustawieniefallbackModel(do trzech modeli zapasowych, jednorazowa ponowna próba przy błędach niekwalifikujących się do retry). Codex CLI v0.137.0 (4 czerwca) dostarczył multi-agent v2 (runtime-with-thread,hide_spawn_agent_metadatadomyślnie true, propagacja zdarzeń parent→child), rozszerzenie skills v1 z rozwiązywaniem katalogu per tura oraz zdarzenia contributor cyklu życia thread-start/turn-error; dokumentacja Codex subagents potwierdza typy agentów default/worker/explorer oraz kontrolki współbieżnościagents.max_threads/max_depth. AGENTS.md (agents.md) nie publikuje wersjonowanej zmiany specyfikacji. Weryfikacja w bieżącej sesji: 8 czerwca 2026. ↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.169 oraz informacje o wydaniu v2.1.170, 8–9 czerwca 2026. v2.1.169 dodaje ustawienie
disableBundledSkillsorazCLAUDE_CODE_DISABLE_BUNDLED_SKILLS(ukrywa przed modelem dołączone skills, workflows i wbudowane slash commands); flagę--safe-modeorazCLAUDE_CODE_SAFE_MODE(uruchamia sesję z wyłączonymi wszystkimi customizacjami: CLAUDE.md, pluginami, skills, hooks i serwerami MCP); a także polecenie/cd(przenosi sesję do nowego katalogu roboczego bez psucia prompt cache). v2.1.170 sprawia, że Claude Fable 5 (claude-fable-5) można wybrać przez/model claude-fable-5, przy czym Opus 4.8 pozostaje agentic default Claude Code. Premiera warstwy modelu: Anthropic, „Claude Fable 5”, 9 czerwca 2026 — warstwa „Mythos-class” powyżej Opus, opisana jako najpotężniejszy model Anthropic przystosowany bezpiecznie do ogólnego użycia. ↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI rust-v0.138.0 (8 czerwca 2026) oraz informacje o wydaniu rust-v0.139.0 (9 czerwca 2026). v0.138.0 wzmacnia multi-agent v2 przez szyfrowane payloady wiadomości między agentami, katalog konfiguracji agentów v2, LRU rezydencji agentów oraz współbieżność liczoną według aktywnego wykonywania, a nie utworzonych wątków. v0.139.0 zmienia nazwę API cyklu życia
close_agentnainterrupt_agentoraz ogranicza ostrzeżenia startowe subagent MCP do wątku właściciela, dzięki czemu nie duplikują się już w parent. Wykrywanie AGENTS.md zostało wzmocnione w obu wydaniach: ładowanie przechodzi przez środowiskowe systemy plików i zachowuje logiczne ścieżki podczas discovery, zapewniając prawidłowy wybór plików dla zdalnych i symlinkowanych workspace’ów. ↩↩↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.172 (10 czerwca 2026). Sub-agents mogą teraz uruchamiać własne sub-agents, a delegowanie rekurencyjne jest obsługiwane do 5 poziomów głębokości; wcześniej delegowanie było w praktyce ograniczone do jednego poziomu. ↩
-
Anthropic, informacje o wydaniu Claude Code v2.1.175 oraz informacje o wydaniu v2.1.178, 12-15 czerwca 2026. v2.1.175 dodaje zarządzane ustawienie
enforceAvailableModels(przypina model Default i uniemożliwia ustawieniom użytkownika/projektu rozszerzanie zarządzanej listy dozwolonychavailableModels). 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/skillsz rozróżnianiem<dir>:<name>przy konflikcie nazw; rozwiązuje konflikty zagnieżdżonych agents, workflows i output-styles w.claude/, wybierając wariant najbliższy cwd (zapisy workflows w zakresie projektu trafiają do najbliższego istniejącego.claude/workflows/); ocenia uruchomienia subagent za pomocą klasyfikatora auto-mode przed startem; oraz naprawia przypadek, w którym specyfikacje MCP na poziomie serwera (mcp__server,mcp__server__*,mcp__*) wdisallowedToolssubagent były po cichu ignorowane. ↩↩↩↩↩↩ -
OpenAI, informacje o wydaniu Codex CLI rust-v0.140.0, 15 czerwca 2026 (awansowane do wersji stable z linii v0.140.0-alpha). Dodaje
/importdo selektywnego importowania konfiguracji startowej, konfiguracji projektu i ostatnich czatów z Claude Code; trwałe usuwanie sesji przezcodex delete,/deletei app-serverthread/deletez zabezpieczeniami wymagającymi potwierdzenia; zunifikowane menu wzmianek@dla plików, plugins i skills; oraz widoki aktywności tokenów w/usage. ↩ -
Anthropic, informacje o wydaniu Claude Code v2.1.183, 19 czerwca 2026 — auto mode blokuje destrukcyjne polecenia git (
git reset --hard,git checkout -- .,git clean -fd,git stash drop), gdy nie proszono o odrzucenie pracy,git commit --amendna commitach, których agent nie utworzył w tej sesji, orazterraform destroy/pulumi destroy/cdk destroy, chyba że poproszono o konkretny stack. OpenAI, informacje o wydaniu Codex CLI rust-v0.141.0, 18 czerwca 2026 (awansowane do wersji stable z linii v0.141.0-alpha) — zdalne executors używają uwierzytelnionych, szyfrowanych end-to-end kanałów Noise-relay; wieloplatformowe zdalne wykonywanie zachowuje natywne dla executor katalogi robocze i powłoki; TLS obsługuje podpisy certyfikatów P-521 dla firmowych proxy. ↩↩