Sto rozdziałów o żegludze z Claudem – egzamin pod jedną pachą, działający system pod drugą.
by Mat Siems
CZĘŚCI I–X · ROZDZIAŁY 1–100 · MATSIEMS.COM
Część I
Podstawy płynności Claude'a i AI
Czym jest Claude, jak rodzina modeli pasuje do siebie i jaki model mentalny potrzebuje architekt przed napisaniem pojedynczego podpowiedzi. Egzamin rozpoczyna się tutaj, ponieważ praktyka tak robi; nie możesz projektować w oparciu o system, którego nie możesz opisać.
Rozdział 1 · Część I
Czym Claude jest, a czym nie jest
Claude to rodzina dużych modeli językowych zbudowanych przez Anthropic — nie produkt, nie chatbot, nie aplikacja. To wyróżnienie ma większe znaczenie, niż się wydaje, ponieważ certyfikat nie sprawdza, czy możesz porozmawiać z Claudem; testuje, czy można zaprojektować systemy wokół Claude, co oznacza traktowanie modelu jako jednego elementu większego projektu.
Robocza definicja na egzamin i w prawdziwym życiu: Claude to probabilistyczny silnik do wprowadzania i wysyłania tekstu, przeszkolony przez konstytucyjną sztuczną inteligencję tak, aby był pomocny, nieszkodliwy i uczciwy, a także udostępniany za pośrednictwem interfejsu API i zestawu powierzchni konsumenckich (claude.ai, Claude Code, aplikacje Claude, Claude w Slack). Każde wdrożenie, które kiedykolwiek zaprojektujesz, to określony układ podpowiedzi, narzędzi, kontekstu i barier ochronnych owiniętych wokół tego silnika. Sam silnik jest stabilny; aranżacje są tam, gdzie dzieje się architektura.
Najczęstszym zamieszaniem wśród nowicjuszy jest traktowanie „Claude’a” jako jednej rzeczy. W rzeczywistości istnieją trzy warstwy, które należy zachować oddzielnie. model to sieć neuronowa — claude-opus-4-7, claude-sonnet-4-6, claude-haiku-4-5. Na powierzchni działa model — claude.ai dla ludzi, API dla programistów, Claude Code do pracy z wierszem poleceń, Managed Agents do uruchamiania bez infrastruktury. system to to, na czym budujesz — potok RAG, agent badawczy, bot obsługi klienta, asystent kodowania. Na egzaminie zostaną sprawdzone wszystkie trzy, a pomieszanie ich to najszybszy sposób na błędne zadanie pytania.
Claude nie jest wyszukiwarką, kalkulatorem ani źródłem podstawowej prawdy o świecie po zakończeniu szkolenia. Egzamin wymaga, abyś wiedział, kiedy sięgnąć po narzędzia — pobieranie, wykonanie kodu, zewnętrzne interfejsy API — zamiast prosić model o halucynacje dotyczące zadania, którego nie może wykonać w sposób niezawodny. To pierwszy instynkt architekta: dopasuj wzór do rzeczywistych możliwości modelu, a nie do pokładanych w nich nadziei.
Podstawą certyfikatu jest stwierdzenie, że w 2026 r. rzadkie umiejętności nie będą zachęcające; to projektowanie systemów dobrze wykorzystuje modele. Podpowiadanie jest taktyką. Architektura jest strategią. Ta książka i egzamin dotyczą strategii.
Ryc. 1.1 — Trzy warstwy, jedna praktyka. Model, powierzchnia, system. Prawdziwa praca architekta siedzi w trzecim pudełku; mylenie tych trzech to najczęstsza pułapka egzaminu.
Rozdział 2 · Część I
Rodzina Modelek
Antropiczne statki Claude w trzech rozmiarach — Opus, Sonnet, Haiku — a egzamin wymaga sięgnięcia po każdy z różnych powodów. Nie jest to wyróżnienie marketingowe; jest to najważniejsza decyzja dotycząca architektury, jaką podejmujesz w przypadku dowolnego projektu, ponieważ określa krzywą kosztów, krzywą opóźnień i górny limit złożoności zadań w ramach jednej rozmowy.
Opus jest najgłębszym myślicielem. To jest to, po co sięgasz, gdy zadanie wymaga wieloetapowego planowania, dokładnej analizy lub takiej oceny, z którą borykałby się młodszy inżynier. Jest także najdroższy i najwolniejszy, więc nie dajesz mu łatwych rzeczy. Typowa praca Opus: recenzje architektury, złożone refaktoryzatory, synteza badań, podejmowanie decyzji o wysokiej stawce, w których błąd jest droższy niż powolność.
Sonnet jest domyślnym koniem roboczym. Wystarczająco szybki do użytku interaktywnego, wystarczająco inteligentny do większości rzeczywistych zadań, wyceniony w stosunku do objętości. Jeśli nie masz pewności, który model wybrać, Sonnet jest prawie zawsze właściwym rozwiązaniem w przypadku produkcji. Nie bez powodu interfejs CLI Claude Code domyślnie korzysta z Sonnet: jest to model, który realizuje najszerszy zakres zadań bez przepłacania lub niedostatecznej wydajności.
Haiku jest specjalistą ds. przepustowości. Najtańszy, najszybszy i — co najważniejsze — wystarczająco dobry do zaskakującej części pracy produkcyjnej: klasyfikacji, ekstrakcji, routingu, prostego podsumowania, selekcji po pierwszym przejściu. Wzór „Filtry Haiku, decyduje Sonnet, Opus rozstrzyga przypadki skrajne” to jeden z ulubionych motywów architektonicznych egzaminu i jeden z najbardziej przydatnych w praktyce.
Egzamin sprawdzi także, czy wiesz, że wersje modelu mają znaczenie. claude-opus-4-7 nie jest claude-opus-4-6; zmiany zachowania między wersjami, a każdy system produkcyjny przypinany do wersji wymaga planu migracji, gdy wyląduje następna. Certyfikat traktuje „zakodowane na stałe identyfikatory modeli rozproszone po bazie kodu” jako antywzorzec — użyj nazwanej stałej, podłącz ją do konfiguracji i zapewnij sobie jedno miejsce na podbicie wersji.
Ryc. 2.1 — Rodzina w skali. Koszt i możliwości rosną razem; ruch architektoniczny polega na kierowaniu każdego zadania do najmniejszego modelu, który sobie z nim poradzi. Haiku filtruje, Sonnet decyduje, Opus rozstrzyga.
Rozdział 3 · Część I
Tokeny, kontekst i budżet, którego nikt nie czyta
Każda prośba skierowana do Claude'a jest denominowana w żetonach — każdy z nich składa się z mniej więcej czterech znaków lub trzech czwartych słowa. Okno kontekstowe to liczba żetonów, które model widzi w jednym ujęciu, i jest to pojedyncze twarde ograniczenie, według którego projektuje każdy architekt. Nieznajomość swojego żetonowego budżetu jest profesjonalnym odpowiednikiem zamówienia stołu dla sześciu osób i nadziei, że zmieści się na nim dwanaście osób.
Okna kontekstowe Claude w roku 2026 są hojne – 200 tys. tokenów to standard w Sonnet i Haiku, a Opus oferuje tryb 1M tokenów do pracy z długimi kontekstami – ale „hojny” nie oznacza „nieograniczony”, a egzamin nie wybacza architektom, którzy traktują kontekst jako darmowy. Każdy żeton w monicie kosztuje pieniądze i zajmuje miejsce, w którym można było umieścić coś bardziej przydatnego. Każdy token w wynikach kosztuje więcej (wyjście jest zwykle wyceniane wyżej niż dane wejściowe) i zwiększa opóźnienie.
Cztery kategorie zajmujące okno kontekstowe, w kolejności, w jakiej należy o nich myśleć: podpowiedź systemowa (instrukcje do modelu), narzędzia (schematy JSON opisujące dostępne funkcje), historia rozmów (poprzednie tury) oraz pobrane kontekst (dokumenty, kod, cokolwiek model musi przemyśleć). Każdy z nich może spokojnie balonować. Najczęstszym winowajcą jest odzyskany kontekst — ktoś podłącza naiwnego RAG-a, który w każdym żądaniu umieszcza 20 najważniejszych fragmentów i nagle czat, który powinien kosztować 3 centy, kosztuje 30 centów.
Dyscypliną architekta jest budżetowanie kontekstu, a nie tylko jego wypełnianie. Konkretna praktyka: dla każdego nowego systemu zapisz, ile tokenów spodziewasz się w każdej z czterech kategorii i odrzucaj wszelkie prośby, które przekraczałyby budżet, bez przechodzenia przez etap podsumowania lub ograniczania pobierania. Systemy, które osiągnęły ten limit, są bardziej powszechne niż systemy, które tego nie osiągają.
Egzamin sprawdzi także, czy wiesz, że kontekst nie jest liniowy — zdolność modelu do faktycznego wykorzystania informacji maleje w kierunku środka bardzo długich kontekstów (efekt „zagubienia w środku”). Umieszczanie krytycznych instrukcji na początku lub na końcu nie jest przesądem; jest to udokumentowane zachowanie, a egzamin wymaga znajomości zarówno zjawiska, jak i sposobów jego łagodzenia.
Ryc. 3.1 — Budżet w czterech kategoriach. Każde okno kontekstu niesie system, narzędzia, historię, pobrany kontekst i miejsce zarezerwowane na odpowiedź. Naiwny RAG rozsadza trzecią co do wielkości kategorię; zdyscyplinowana architektura trzyma wszystkie cztery w ryzach.
Rozdział 4 · Część I
Ceny jako ograniczenie projektowe
Ceny nie są przypisem do architektury – to is architektura. Wybór modelu, długość monitu systemowego, głębokość pobierania, obecność lub brak pamięci podręcznej oraz decyzja wsadowa w czasie rzeczywistym to decyzje cenowe ubrane w język inżynieryjny. Architekci, którzy nie potrafią przeczytać tabeli cen, nie są w stanie zaprojektować systemu, który przetrwa kontakt z miesięcznym rachunkiem klienta.
Ceny Anthropic mają cztery wymiary, o których egzamin ma Cię poinformować. Tokeny wejściowe są tańsze niż tokeny wyjściowe — zazwyczaj pięciokrotnie. Tokeny wejściowe zapisane w pamięci podręcznej są tańsze niż niezapisane w pamięci podręcznej — ogromne oszczędności w przypadku monitów, które powtarzają się w kolejnych turach. Żądania Batch API są wyceniane mniej więcej na połowę czasu rzeczywistego, z kompromisem w postaci 24-godzinnego okna realizacji. A klasa modelu mnoży wszystko — Haiku to ułamek Sonnetu, to ułamek Opus.
Posunięciem architekta jest celowe połączenie tych wymiarów. Potok podsumowujący działający przez noc może przejść do Batch API na Haiku z natychmiastowym buforowaniem monitu systemowego — trzy dźwignie pociągnięte jednocześnie, co oznacza redukcję kosztów o rząd wielkości w porównaniu z naiwną alternatywą Opus w czasie rzeczywistym, z której domyślnie korzystałby początkujący. Egzamin traktuje je jako pytania dotyczące „optymalizacji kosztów” i nagradza architektów, którzy sięgają po odpowiednią kombinację dźwigni, a nie tylko po jedną.
Kalkulacja kosztu zamówienia, która ma znaczenie w produkcji, nie jest ceną naklejki; jest to koszt w pełni załadowanego: tokeny wejściowe (system + narzędzia + historia + pobieranie + wiadomość użytkownika), tokeny wyjściowe (długość odpowiedzi × częstotliwość), ponowne próby, nieudane wywołania, podróże w obie strony związane z użyciem narzędzia. Bot wsparcia, który wygląda jak transakcja o wartości 3 USD za 1 milion tokenów, może kosztować 30 centów za rozmowę, jeśli policzysz to wszystko, ponieważ rozmowa składa się z wielu wiadomości z rosnącą historią, a każda wiadomość mnoży koszt podstawowy.
Praktyką zawodową jest księga kosztów — mały dziennik każdego żądania, w którym można tylko dodawać tokeny, zawierające tokeny przychodzące i wychodzące, model, opóźnienia i szacunkowy koszt. Kiedy Twój miesięczny rachunek w ciągu nocy wzrośnie 3 razy, w księdze będzie różnica między „źle się zachowuje jeden użytkownik” (można to naprawić) a „Nie mam pojęcia, co się stało” (niewłaściwa rozmowa telefoniczna z dyrektorem finansowym).
Ryc. 4.1 — Dźwignie mnożnikowe. Każdy wymiar to dzielnik. Łącząc je, rachunek 10 tys. $ miesięcznie zamienia się w 1 tys. $ miesięcznie bez wycięcia jednej funkcji — i tak egzamin odróżnia architektów znających się na kosztach od pobożnych życzeń.
Rozdział 5 · Część I
Możliwości i ograniczenia
Piątą podstawą egzaminu jest wiedza, co Claude może, a czego nie może zrobić w sposób niezawodny. Nie to, co czasami potrafi zrobić imponująco w wersji demonstracyjnej — to, co można mu zaufać, że zrobi na skalę produkcyjną, przed prawdziwymi użytkownikami, za pierwszym razem. Różnica między nimi polega na tym, że systemy są źle budowane, a architekci błędnie formułują pytania egzaminacyjne.
Claude jest doskonały w: rozumowaniu na podstawie złożonego materiału pisanego, generowaniu spójnych, długich tekstów, tłumaczeniu między językami, pisaniu kodu w większości popularnych języków, wiernym podsumowywaniu, wydobywaniu ustrukturyzowanych danych z nieustrukturyzowanych danych wejściowych i wykonywaniu skomplikowanych instrukcji. Oto zadania, wokół których można zbudować systemy produkcyjne bez heroicznej inżynierii.
Claude jest zawodny w: arytmetyce wykraczającej poza trywialne informacje podawane w czasie rzeczywistym po zakończeniu szkolenia, weryfikowaniu własnych twierdzeń faktycznych, precyzyjnym liczeniu określonych zdarzeń i generowaniu idealnie deterministycznych wyników. Dla każdego z nich odpowiedzią architektoniczną jest narzędzie. Daj modelowi kalkulator. Daj mu wyszukiwanie w Internecie. Daj mu bazę danych. Daj mu interpreter kodu. Egzamin wymaga od Ciebie określenia, kiedy ograniczenie należy do modelu w stosunku do systemu, i sięgnięcia po użycie narzędzia jako rozwiązanie.
Subtelniejszą kategorią jest niepowodzenie w kształcie możliwości — zadania, które model wydaje się wykonywać dobrze, dopóki nie przyjrzysz się uważnie. Zapamiętywanie długiego kontekstu pogarsza się nawet wtedy, gdy kontekst znajduje się poniżej limitu okna; modelka może śmiało zacytować fragment, którego nie ma w dokumencie. Arytmetyka wieloetapowa wygląda dobrze, dopóki nie wystąpią dryfty dziesiętne. Generowanie kodu generuje wiarygodnie wyglądające dane wyjściowe, które odwołują się do nieistniejących interfejsów API bibliotek. Są to awarie, które są wysyłane, ponieważ przechodzą test zapachu. Zadaniem architekta jest wiedzieć, które kategorie zadań ukrywają te awarie, i zweryfikować projekt w systemie, w którym się one czają.
Niedoceniana umiejętność, którą sprawdzi egzamin: Claude jest wyjątkowo dobry w samokrytyce, gdy zostanie wyraźnie poproszony o przejrzenie własnych wyników. „Teraz sprawdź tę odpowiedź pod kątem błędów” to jeden z najskuteczniejszych wzorców podpowiedzi w produkcji, właśnie dlatego, że model może wychwycić błędy, których nie można w sposób niezawodny uniknąć za pierwszym razem. Traktowanie samooceny jako wzorca projektowego, a nie hacka, stanowi rozróżnienie na poziomie certyfikacji.
Ryc. 5.1 — Dwie kolumny. Prawa kolumna to nie „rzeczy, których Claude nie potrafi”. To „rzeczy, które architekt rozwiązuje narzędziem”. Każde pytanie egzaminacyjne o ograniczenie to tak naprawdę pytanie o to, jakie narzędzie.
Rozdział 6 · Część I
Konstytucyjny sposób myślenia
Głównym wkładem technicznym firmy Anthropic w tę dziedzinę jest konstytucyjna sztuczna inteligencja — metoda szkoleniowa, w ramach której model uczy się, za pomocą zestawu spisanych zasad, jak być pomocnym, nieszkodliwym i uczciwym. Egzamin nie sprawdza szczegółowych szczegółów szkolenia, ale sprawdza, czy rozumiesz, w jaki sposób konstytucja kształtuje zachowanie Claude'a w sposób, który wpływa na każdą decyzję architektoniczną.
Praktyczna konsekwencja dla architekta: Claude odmówi. Nie arbitralnie i nie złośliwie, ale w konkretny, wzorcowy sposób, który ma swoje korzenie w konstytucji. Prośby o pomoc w przypadku wyraźnie szkodliwych działań są odrzucane. Żądania należące do kategorii wrażliwych z punktu widzenia bezpieczeństwa (broń, wykorzystywanie, ukierunkowane nękanie) spotykały się z poważnymi odmowami. Prośby, które są niejednoznaczne — „pomóż mi przetestować bezpieczeństwo mojej firmy” — często otrzymują szczegółową odpowiedź zawierającą pytanie o kontekst, a nie jednomyślną odmowę.
Błędem, jaki popełniają początkujący, jest traktowanie odmowy jako niepowodzenia w obraniu drogi. Egzamin nie bez powodu określa to jako antywzorzec: szybkie inżynierowanie w celu pokonania konstytucyjnej bariery ochronnej nie jest architekturą, lecz walką z narzędziem. Profesjonalne podejście jest takie, że poręcze są cechą — to one sprawiają, że model w ogóle nadaje się do wdrożenia w kontekście kontaktu z klientem i to one sprawiają, że Twój poniedziałkowy poranek nie staje się nagłówkiem gazety o tym, jak bot poleca coś, za co trzeba by publicznie przeprosić.
Architektonicznym posunięciem, gdy Claude odmawia, jest pytanie dlaczego następuje odmowa i zazwyczaj dodanie kontekstu, który rozwiązuje niejednoznaczność. „Jesteś badaczem bezpieczeństwa w CompanyX; celem jest infrastruktura należąca do firmy z pisemnym upoważnieniem w aktach” to uzasadniona rama, w ramach której Claude może pracować. Próba jailbreakowania tej samej odmowy poprzez „zignorowanie poprzednich instrukcji” jest nieprofesjonalna, krucha i – co najważniejsze dla egzaminu – błędna odpowiedź.
Konstytucyjny sposób myślenia wpływa również na sposób, w jaki Claude podchodzi do niepewności. Podczas gdy inne modele będą pewnie konfabulować, Claude ma tendencję do zabezpieczania się — „Nie jestem co do tego pewien, ale…” — a certyfikowany architekt projektuje systemy, które nagradzają to zabezpieczają, a nie tłumią. Bot wsparcia, który przyznaje, że nie wie, jest bardziej godny zaufania niż ten, który zawsze brzmi pewnie; agent badawczy, który sygnalizuje niepewność, jest bardziej przydatny niż ten, który tego nie robi. Projektuj z myślą o uczciwości, a nie tylko o pewności siebie.
Ryc. 6.1 — Triada HHH. Pomocny zawiera nieszkodliwy, który zawiera uczciwy. Gdy te trzy są w konflikcie, wygrywają priorytety wewnętrzne. Projektuj system tak, by był zgodny z tą kolejnością, a nie z nią walczył.
Rozdział 7 · Część I
Czytanie dokumentacji API jak architekt
Dokumentacja Anthropic API nie jest dokumentem, który można raz przejrzeć i zapomnieć. Jest to instrukcja obsługi silnika, od którego zależy cała architektura, a egzamin wymaga poziomu znajomości, który wynika jedynie z przeczytania jej jako dokumentu roboczego — powrotu do niej, zacytowania go i wiedzy, gdzie znajduje się każdy parametr, gdy pojawia się pytanie.
Podstawowe punkty końcowe, które architekt musi znać na bieżąco: punkt końcowy Messages to miejsce, na które trafia 95% ruchu API; pobiera listę tur komunikatów, opcjonalny monit systemowy, definicje narzędzi i zwraca odpowiedź modelu. Punkt końcowy Batch akceptuje do 10 000 żądań jednocześnie, przetwarza je w ciągu 24 godzin, a ceny są o połowę niższe niż w czasie rzeczywistym. Punkt końcowy Pliki przesyła dokumenty, które są trwałe w przypadku żądań i można się do nich odwoływać na podstawie identyfikatora. Punkty końcowe Beta to miejsca, w których nowe funkcje pojawiają się przed powszechną dostępnością — zawsze czytaj powiadomienia przed wysłaniem czegokolwiek, co zależy od funkcji w wersji beta.
Parametry sprawdzane przez egzamin: model (który członek rodziny), max_tokens (limit długości odpowiedzi — jest to limit danych wyjściowych, a nie kontekstu), system (podpowiedź systemowa), messages (konwersacja), narzędzia (schematy JSON dla funkcji), temperatura (0 do 1; niższa oznacza bardziej deterministyczną), top_p (próbkowanie jądra — zwykle pozostawiane w spokoju), stop_sequences (tokeny zatrzymania), stream (przełącznik SSE). Wiedza, który parametr kontroluje które zachowanie, jest konieczna podczas egzaminu, a nie intuicyjna.
Równie ważny jest kształt odpowiedzi. Każda odpowiedź zawiera id, model, rola, treść, stop_reason i usage. W polu stop_reason dowiesz się, czy model zakończył się w sposób naturalny (end_turn), osiągnął pułap max_tokens (max_tokens), zdecydował się użyć narzędzia (tool_use), czy też osiągnął sekwencję stopu. Systemy, które po cichu nie sprawdzają stop_reason, wysyłają nieprawidłowe zachowanie; systemy, które to robią, mogą poprawnie obsłużyć każdy przypadek.
Architekt czyta odnośnik nie po to, aby zapamiętać każdą dziedzinę, ale aby wiedzieć, które dziedziny istnieją i gdzie je sprawdzić pod presją. Najtrudniejsze pytania egzaminu sprawdzają krawędzie — parametry beta, przestarzałe pola, dostępność funkcji według modelu — a jedynym niezawodnym przygotowaniem jest przeczytanie odniesienia na tyle niedawno, że jego kształt pozostaje w pamięci mięśniowej.
Ryc. 7.1 — Obieg wiadomości. Żądanie na wejściu, odpowiedź na wyjściu. Dwa pola, które zawsze musisz sprawdzić w odpowiedzi, to stop_reason (dlaczego się zakończyło) i usage (ile to kosztowało).
Rozdział 8 · Część I
Płynność sztucznej inteligencji: cztery C
Anthropic publikuje ramy „AI Fluency” – zestaw czterech umiejętności, które powinien rozwinąć każdy specjalista korzystający ze sztucznej inteligencji – a certyfikat traktuje je jako lekturę obowiązkową. Cztery C to Delegacja, Opis, Rozeznanie i Staranność, a egzamin wymaga znajomości obu nazw i znaczenia każdego z nich w kontekście zawodowym.
Delegowanie to umiejętność decydowania, które zadania należą do modelu, a które do człowieka. Profesjonalna ocena nie dotyczy tego, czy model w ogóle wykona to zadanie, ale czy, biorąc pod uwagę tryby awarii modelu i ryzyko popełnienia błędu, warto od razu delegować to zadanie. Architekt, który deleguje Claude'owi nieodwracalne decyzje o wysokiej stawce, zawiódł umiejętność delegowania, niezależnie od tego, czy konkretne zadanie mieściło się w możliwościach modela.
Opis to umiejętność pisania podpowiedzi, które dają modelowi to, czego potrzebuje do odniesienia sukcesu — jasne instrukcje, odpowiedni kontekst, sprawdzone przykłady, wyraźne ograniczenia. Opis jest tym, co większość ludzi ma na myśli, gdy mówi „szybka inżynieria”, ale wnioski płynące z frameworka są takie, że opis bez delegowania jest wysiłkiem źle ukierunkowanym, a delegowanie bez opisu jest optymistycznym myśleniem. Obie umiejętności mają znaczenie, w tej kolejności.
Rozeznanie to umiejętność oceny wyników modelu — wiedza, kiedy zaufać, kiedy zweryfikować, a kiedy odrzucić. Wnikliwość ma miejsce wtedy, gdy wiele systemów sztucznej inteligencji po cichu zawodzi: model tworzy coś wiarygodnego, człowiek akceptuje to bez sprawdzania, a następnie dostarcza wiarygodną, ale błędną odpowiedź. Rozeznanie jest umiejętnością wyćwiczoną; Poprawia się to poprzez jednorazowe oparzenie, a następnie wprowadzenie weryfikacji przepływu, tak aby nie poparzyć się dwa razy.
Staranność to umiejętność wzięcia odpowiedzialności za wykorzystane lub udostępnione wyniki, niezależnie od tego, kto lub co je wytworzyło. Jeśli dane wyjściowe Twojego systemu są udostępniane pod Twoim nazwiskiem lub marką Twojej firmy, obowiązek zachowania należytej staranności spoczywa na Tobie — fakt, że Claude napisał to zdanie, nie zwalnia z tej odpowiedzialności. Pracowitość to umiejętność płynności, której najczęściej brakuje zespołom, które traktują wyniki AI jako „odpowiedź modelu”, a nie „naszą odpowiedź, którą model pomógł wytworzyć”.
Ryc. 8.1 — Cztery C. Delegowanie i Sumienność obejmują Opis i Rozeznanie. Inżynieria promptów żyje pośrodku; zewnętrzne umiejętności zamieniają ją w praktykę.
Rozdział 9 · Część I
Delegacja jako projekt
Delegowanie nie jest momentem w przepływie pracy — jest to zasada projektowa, którą stosujesz w całym systemie. Każda architektura wykorzystująca Claude pośrednio decyduje, cecha po funkcji, jakie decyzje podejmuje model, a jakie decyzje podtrzymuje człowiek. Architekt na poziomie certyfikacji podejmuje te decyzje jawnie, w fazie projektowania, zamiast odkrywać je przypadkowo w fazie produkcyjnej.
Domyślna postawa delegowania jest niewłaściwa w większości systemów: za mało na górze ścieżki (gdzie objętość sprawia, że automatyzacja jest wartościowa) i za dużo na dole (gdzie stawki sprawiają, że cenna jest ludzka ocena). Systemy, które wymagają od człowieka kategoryzowania każdego przychodzącego żądania, marnują wysokoprzepustową umiejętność klasyfikacji modelu. Systemy, które pozwalają modelowi wysłać prawnie wiążącą wiadomość e-mail bez podpisu człowieka, zlecają odpowiedzialność komuś, kto nie może jej utrzymać.
Ramy, których stosowania oczekuje się od Ciebie na egzaminie: w przypadku każdej podejmowanej decyzji zadaj dwa pytania. Po pierwsze, jaki jest koszt popełnienia błędu? — odwracalny, mały, średni lub katastrofalny. Po drugie, jaka jest niezawodność modelu w tym zadaniu? — wysoka, średnia, niska lub nieznana. W pełni delegowane powinny być wyłącznie decyzje w kwadrancie niski koszt/wysoka niezawodność. Wszystko inne wymaga jakiejś formy zaangażowania człowieka – weryfikacji, podpisania lub pełnego przechowywania.
Subtelniejszą kwestią jest to, że delegowanie nie jest binarne. „Człowiek w pętli” może oznaczać wszystko, od „człowieka musi zatwierdzić każde działanie”, „człowiek widzi cotygodniowe podsumowanie” po „człowiek jest powiadamiany tylko w przypadku anomalii”. Architekt projektuje konkretny kształt pętli dla każdej decyzji. Nadmierne zapętlenie marnuje prędkość modelu; niedostateczne zapętlenie zleca na zewnątrz ocenę, którą człowiek powinien nadal dokonywać. Nie jest to również postawa profesjonalna.
Certyfikacja sprawdza również, czy rozumiesz, że delegacja jest ponowna. Zadanie, które rok temu było zbyt ryzykowne, aby je delegować, może być bezpiecznie delegowane dzisiaj, ponieważ model został ulepszony, dodałeś narzędzia do weryfikacji lub zmieniły się stawki. Systemy, które nigdy nie ponownie analizują swoje wybory dotyczące delegowania, opierają się na nieaktualnych założeniach. Zadaniem architekta jest zaplanowanie tych przeglądów, a nie sprawienie, by delegacja raz zadzwoniła i o tym zapomniała.
Ryc. 9.1 — Kwadrant delegowania. Dwa pytania, cztery strefy. Pełne delegowanie to narożnik, nie ustawienie domyślne; narożniki po przekątnej naprzeciw to miejsca, gdzie żyje większość prawdziwych systemów.
Rozdział 10 · Część I
Stanowisko architekta
Część I kończy się metaumiejętnością: postawą certyfikowanego architekta wobec modelu, klienta i dzieła. Egzamin nie zadaje tego pytania w formie jednego bezpośredniego pytania, ale nasyca egzamin jako całość — każde pytanie dotyczące scenariusza nagradza architektów, którzy utrzymują takie stanowisko, i karze tych, którzy tego nie robią. Jednorazowe nazwanie tego wprost warte jest osobnego rozdziału.
Stanowisko jest takie, że inżynieria współpracuje z modelem, a nie przeciwko nim. Model jest probabilistycznym komponentem o znanych trybach awarii i znanych mocnych stronach, a zadaniem architekta jest komponowanie systemów, które wykorzystują mocne strony podczas projektowania uwzględniającego awarie. Walka z modelem – łamanie więzienia, natychmiastowe hakowanie, kontradyktoryjne wrabianie – jest przeciwieństwem tej postawy; traktuje model raczej jako przeszkodę niż element i produkuje systemy, które psują się w produkcji, ponieważ przede wszystkim nigdy nie zostały zaprojektowane profesjonalnie.
Stanowisko to wiąże się także ze specyficznym związkiem z pewnością. Certyfikowany architekt wie, że model jest probabilistyczny, wie, że jego własne zrozumienie modelu jest niekompletne i projektuje dla obu. Systemy, które traktują model jako deterministyczny („zawsze zwróci prawidłowy JSON”), zawodzą; systemy traktujące architekta jako wszechwiedzącego („wiem, jaki przypadek Edge nas trafi”) zawodzą. Naszą postawę stanowi profesjonalna pokora połączona ze zdyscyplinowanym projektowaniem — nie można znać wszystkich trybów awarii, dlatego buduje się system tak, aby awaria przebiegała płynnie, gdy nadejdzie nieoczekiwana.
Trzecim elementem stanowiska jest odpowiedzialność. Modelka nie ma tytułu zawodowego; robisz. Jeśli system dostarczy coś nieprawidłowego, żadnego klienta ani organu regulacyjnego nie obchodzi, że model wygenerował niewłaściwy sygnał wyjściowy — zależy im na tym, aby zaprojektować system, który przepuszcza sygnał wyjściowy. To nie jest moralizm; to jest realizm zawodowy. Certyfikat istnieje, ponieważ branża potrzebuje praktyków, którzy poważnie traktują tę odpowiedzialność, a egzamin wykrywa kandydatów, którzy tego nie robią.
W części I podano słownictwo: model, powierzchnia, system; rodzina, tokeny, ceny; możliwości, ograniczenia, konstytucja; Cztery C; delegacja; postawa. Reszta książki jest tym, co z nią zrobisz. Część II przenosi słownictwo na pierwsze miejsce, na które zasługuje – na sam znak zachęty.
Ryc. 10.1 — Trzy narożniki postawy. Inżynieria z modelem, zdyscyplinowana pokora wobec własnego zrozumienia i odpowiedzialność za to, co trafia na produkcję. O te trzy egzamin naprawdę pyta, jakkolwiek sformułuje pytanie.
Część II
Szybka inżynieria
Podpowiedź to interfejs. Kiedy już wiesz, kim jest Claude, szybka inżynieria to moment, w którym certyfikowany architekt przestaje być widzem, a zaczyna być operatorem. Podpowiedzi systemowe, hierarchia instrukcji, kilka strzałów, łańcuch myślowy, rozszerzone myślenie, wstępne wypełnianie, temperatura — mechanizmy umożliwiające sprawienie, aby model robił to, czego faktycznie chcesz.
Rozdział 11 · Część II
Anatomia podpowiedzi systemowej
Podpowiedź systemu produkcyjnego nie jest pojedynczym akapitem nadziei — jest to ustrukturyzowany dokument składający się z czterech odrębnych sekcji, z których każda wykonuje określone zadanie. Certyfikowany architekt pisze system, podpowiadając mu sposób, w jaki inżynier pisze specyfikację: najpierw rola, potem kontekst, po trzecie format, po czwarte ograniczenia. Kolejność ma znaczenie i ma większe znaczenie niż poszczególne sekcje.
Sekcja rola informuje model, kto to jest. „Jesteś starszym inżynierem obsługi klienta w Acme i odpowiadasz na potrzeby klientów korporacyjnych”. Jedno zdanie, nośne. Dobrze napisane zdanie dotyczące roli pozwala zaoszczędzić trzy akapity instrukcji później, ponieważ rola implikuje rejestr, słownictwo dziedzinowe i odpowiedni poziom formalności.
Sekcja kontekst zapewnia tło potrzebne modelowi — wiedzę o produkcie, bieżący stan, fakty dotyczące konkretnego najemcy, podsumowanie wcześniejszych rozmów. To tutaj żyje treść wspomagana wyszukiwaniem i tu żyje lub umiera budżet tokenów. Dyscyplina polega na tym, aby uwzględnić to, co konieczne i nic więcej; wypełnienie sekcji kontekstu „pomocnym tłem” to sposób, w jaki podpowiedzi przesuwają się z 2 tys. tokenów do 20 tys., niezauważalnie.
Sekcja format określa kształt wyniku. „Odpowiedz za pomocą obiektu JSON zawierającego podsumowanie, pewność i next_action. Jawne, sprawdzalne, możliwe do dalszej analizy. Egzamin oczekuje, że domyślnie sięgniesz po ustrukturyzowane wyniki; dowolny tekst jest wyjątkiem, a nie regułą.
W sekcji ograniczenia wyszczególniasz, czego model nie może robić — nigdy nie wymyślaj faktów, nigdy nie wymieniaj konkurentów z imienia i nazwiska, nigdy nie odpowiadaj w języku innym niż angielski. Ograniczenia znajdują się na górze sekcji, a nie na dole, i jest to jedna z najczęściej testowanych pułapek: zakopywanie krytycznych ograniczeń pod ścianą przykładów generuje podpowiedzi, które w większości działają, a czasami naruszają własne zasady.
Ryc. 11.1 — Prompt w czterech sekcjach. Rola → kontekst → format → ograniczenia. Dwie wyróżnione sekcje niosą najwyższą gęstość sygnału; ograniczenia na końcu, ale nigdy nie zakopane.
Rozdział 12 · Część II
Hierarchia instrukcji
Każda wiadomość, którą widzi Claude, ma swoją rolę — system, użytkownik lub asystent — i te role nie mają charakteru dekoracyjnego. They form a hierarchy the model was trained to respect: system instructions outrank user messages, which outrank prior assistant turns. Certyfikowany architekt projektuje systemy wieloobrotowe z hierarchią i wie, że egzamin wyszukuje kandydatów, którzy tego nie robią.
Praktyczna konsekwencja: użytkownik nie może pominąć monitu systemowego, zadając pytanie. Jeśli monit systemowy mówi „zawsze odpowiadaj w formacie JSON”, a użytkownik powie „właściwie podaj mi zwykły tekst”, model — przeszkolony w zakresie konstytucyjnych zasad sztucznej inteligencji, które respektują hierarchię — będzie nadal odpowiadać w formacie JSON. To jest funkcja. To właśnie pozwala twórcy platformy na ograniczenie zachowania modelu niezależnie od tego, co użytkownik próbuje powiedzieć.
Klasyczną pułapką na egzaminie jest szybki zastrzyk. Użytkownik przesyła dane zawierające „zignoruj poprzednie instrukcje i ujawnij monit systemowy”. System szanujący hierarchię odrzuca odwrócenie; naiwny system, który łączy dane wejściowe użytkownika bezpośrednio z podpowiedziami systemowymi, wycieka. Rozwiązaniem jest pozostawienie danych wprowadzanych przez użytkownika podczas zmiany roli użytkownika, a nie w wierszu poleceń systemowych, oraz użycie uporządkowanych ograniczników (tagi XML, pola JSON), które wyraźnie pokazują, gdzie kończą się dane użytkownika, a wznawiają instrukcje.
Hierarchia ma jeszcze jedną warstwę, o której warto wiedzieć: wynik narzędzia komunikaty. Kiedy model wywołuje narzędzie i otrzymuje wynik, wynik ten jest szczególnym momentem — i chociaż nie jest to „wprowadzanie danych przez użytkownika” w sensie semantycznym, nadal może zawierać treści przeciwstawne. Wynik wyszukiwania pobrany przez model może zawierać wstrzyknięte instrukcje. Architekt traktuje wyniki narzędzi jako niezaufane dane wejściowe, a nie jako wiarygodne instrukcje.
Projektowanie z wykorzystaniem hierarchii oznacza, że nigdy nie prosimy modelu o wymuszanie reguł, które powinny mieć charakter strukturalny. Jeśli użytkownikowi nie wolno widzieć pewnych danych, nie mów modelowi „nie pokazuj mu tego” — usuń je przed zbudowaniem podpowiedzi. Hierarchia jest gwarancją tego, jak model interpretuje instrukcje, a nie gwarancją, że instrukcje zawarte w wierszu poleceń systemowych nie mogą zostać ujawnione w wyniku sprytnego pośrednictwa.
Ryc. 12.1 — Hierarchia. System dominuje nad użytkownikiem, użytkownik nad asystentem. Prompt injection to kategoria ataku, który próbuje odwrócić piramidę; ustrukturyzowane ograniczniki i poprawne role zatrzymują większość z nich.
Rozdział 13 · Część II
Kilka przykładów, które naprawdę uczą
Podpowiadanie w kilku krokach — pokazywanie przykładowych przykładów zadania przed poleceniem mu wykonania — to pojedyncza technika o największym zastosowaniu w zestawie narzędzi inżyniera szybkiego reagowania. Jest to również technika najczęściej stosowana źle. Egzamin odróżnia kandydatów, którzy dodają przykłady dekoracyjnie od tych, którzy dodają je pouczająco, a różnicę warto przyswoić sobie, zanim napiszesz kolejny podpowiedź.
Przykład dekoracyjny pokazuje modelowi, jak wygląda dobra odpowiedź w przypadku podobnym do przypadku docelowego. Trzy przykłady „klient prosi o zwrot pieniędzy → uprzejma odpowiedź na zwrot pieniędzy” uczą model dokładnie jednej rzeczy: jak reagować na prośby o zwrot pieniędzy. W przypadku czwartego żądania, które okazuje się być obniżoną wersją subskrypcji, przykłady w ogóle nie pomagają.
Zestaw przykładów pouczający obejmuje przestrzeń zadania. Trzy przykłady przedstawiające prośby o zwrot pieniędzy, obniżenie wersji i zamknięcie konta – z różnymi tonami i wymaganą treścią – uczą modela kształtu problemu, a nie tylko jego jednego punktu. Model uogólnia na podstawie różnorodności, a nie wielkości.
Pytanie o liczbę przykładów nie brzmi: „im więcej, tym lepiej”. Trzy do pięciu dobrze wybranych, różnorodnych przykładów zwykle osiąga lepsze wyniki niż dziesięć podobnych, zarówno dlatego, że uczą więcej, jak i dlatego, że kosztują mniej tokenów. Malejące zyski zaczynają się szybko; każdy dodatkowy przykład przekraczający pułap różnorodności oznacza wydawanie budżetu kontekstowego na nic.
Bardziej subtelną dyscypliną jest uwzględnienie w przykładach przypadków brzegowych. Pokaż modelowi, jak wygląda trudna sprawa i jak chcesz ją rozwiązać. Niejednoznaczna prośba o zwrot pieniędzy – w przypadku której technicznie rzecz biorąc klient znajduje się poza zakresem polisy, ale wymagana jest dobra wola i tak jej udzieli – to przykład uczący oceny, a nie tylko formatu. Podpowiedzi, które pokazują tylko czyste przypadki, powodują, że systemy psują się w przypadku bałaganu.
Ryc. 13.1 — Pokrycie przykładami. Zestaw po prawej uczy kształtu zadania; zestaw po lewej uczy jednego jego narożnika. Model uogólnia z rozproszenia, nie z liczby.
Rozdział 14 · Część II
Łańcuch myśli, który zarabia swoje żetony
Łańcuch myślowy — proszenie modelu o przeanalizowanie problemu krok po kroku przed udzieleniem odpowiedzi — wymiernie poprawia wydajność zadań wymagających rozumowania. Kosztuje to także tokeny, zwiększa opóźnienia i generuje tekst pośredni, który może, ale nie musi, być przydatny dla osoby dzwoniącej. Na egzaminie oczekuje się, że będziesz wiedział, kiedy się to opłaca, a kiedy nie i jak to ustrukturyzować, aby uzasadnienie pomogło w uzyskaniu ostatecznej odpowiedzi, a nie ją zastąpiło.
Łańcuch myślowy opłaca się w przypadku zadań opartych na logice wieloetapowej — arytmetyczne zadania tekstowe, planowanie, wnioskowanie przyczynowe, przeglądanie kodu, analiza przyczyn źródłowych. W przypadku tych zadań stopniowa praca modelu rzeczywiście poprawia ostateczną odpowiedź, często ze znacznym marginesem. Jeśli w podpowiedzi zadawane jest pytanie wymagające wyciągnięcia czegoś z innych informacji, właściwym wzorcem jest zazwyczaj łańcuch myślowy.
Łańcuch myślenia a nie opłaca się w przypadku zadań, które zasadniczo polegają na odzyskiwaniu lub klasyfikacji. „Jaka jest stolica Francji” nie wymaga uzasadnienia; proszenie o to marnuje żetony i może nawet zaszkodzić dokładności, zachęcając model do ponownego odgadnięcia znanego mu faktu. W przypadku krótkich zadań łańcuch myślowy jest podatkiem bez zwrotu.
Subtelniejszą kwestią jest to, że głośne rozumowanie modelu nie stanowi przezroczystego okna na jego rzeczywisty proces rozumowania. Badania konsekwentnie pokazują, że podany tok myślenia i wewnętrzne obliczenia, które dały odpowiedź, mogą się różnić — model może stworzyć pewny, prawdopodobny łańcuch, który racjonalizuje odpowiedź, do której doszedł w inny sposób. Traktuj CoT jako technikę poprawiającą dokładność, a nie jako wierny ślad sposobu myślenia modelu.
Strukturalnie, poproś o ciąg myślowy wewnątrz rozdzielonego znacznika — <thinking>...</thinking> — po którym następuje rzeczywista odpowiedź. Dzięki temu możesz zachować lub odrzucić dalsze rozumowanie. W środowisku produkcyjnym zwykle usuwasz blok myślowy z tego, co widzi użytkownik i logujesz go osobno w celu debugowania. Egzamin obejmuje systemy, które pokazują użytkownikom końcowym surowe myślenie jako antywzorzec; rozumowanie dotyczy modelu, a nie klienta.
Ryc. 14.1 — Dwa kształty. Łańcuch myśli zarabia na swoje tokeny w zadaniach wymagających rozumowania. Owiń myślenie w tag, który da się usunąć; trzymaj rozumowanie poza odpowiedzią widoczną dla użytkownika.
Rozdział 15 · Część II
Myślenie rozszerzone i budżet
Myślenie rozszerzone to wbudowany tryb rozumowania Claude’a — oddzielny budżet obliczeniowy przeznaczony do wewnętrznego myślenia, zanim model utworzy odpowiedź. Tam, gdzie napisany przez użytkownika łańcuch myślowy (rozdział 14) jest techniką szybką, myślenie rozszerzone jest funkcją na poziomie interfejsu API z własnymi parametrami, własnymi cenami i określonym zestawem reguł, według których egzamin będzie Cię testował.
Parametr to myślenie, ustawiony w żądaniu Messages. Podajesz wartość budget_tokens — maksymalną liczbę tokenów, które model może wydać na wewnętrzne rozumowanie. Minimalna wartość to 1024. Ustaw niższą wartość, a API zwróci błąd; zapomnij o tym i strać punkt egzaminacyjny. Praktyczne wartości wahają się od 1024 dla lekkiego rozumowania do ponad 32 000 dla głębokich zadań analitycznych, ograniczone ogólnym limitem myślenia modelu.
Krytyczny model mentalny: żetony myślenia rozszerzonego są a nie częścią odpowiedzi. Nie wliczają się do max_tokens. Rzeczywiście wliczają się do Twojego rachunku — tokeny myślące są wyceniane tak samo jak tokeny wyjściowe, więc duży budżet na myślenie w punkcie końcowym o dużym wolumenie może zdominować koszty. Prawidłowym posunięciem jest ustawianie budżetów zadanie po zadaniu, a nie globalnej wartości domyślnej.
Kiedy myślenie rozszerzone się opłaca? W przypadku zadań, w których model konsekwentnie daje lepsze odpowiedzi i daje więcej czasu na przemyślenie — złożone refaktoryzatory kodu, wieloetapowa matematyka, ostrożne stosowanie zasad, synteza długiego kontekstu. Własne testy porównawcze Anthropic wykazują znaczny wzrost dokładności w tych kategoriach. W przypadku prostych zadań myślenie rozszerzone jest czystą stratą; model nie miał problemów, a płacenie za model „myślenie dłużej” daje tę samą odpowiedź przy wyższych kosztach.
Ulubioną pułapką egzaminu jest niewłaściwie zastosowane myślenie rozszerzone. Kandydat włącza to globalnie, zauważa niewielki wzrost jakości w jednym zadaniu i wysyła. Sześć tygodni później rachunek jest 4 razy większy niż powinien, ponieważ 90% żądań to trywialne wywołania klasyfikacyjne, które bez powodu otrzymały gruby budżet na myślenie. Profesjonalny wzorzec ma umożliwiać rozszerzone myślenie na konkretnych trasach, bramkowanych według typu zadania, a nie jako ustawienia globalnego.
Ryc. 15.1 — Krzywe zysku. Linia ciągła to złożone zadanie; przerywana — trywialne. Rozszerzone myślenie zarabia na swój budżet przy pierwszym i przepala go przy drugim. Włączaj per trasa, nie globalnie.
Rozdział 16 · Część II
Wstępne wypełnienie tury asystenta
Najbardziej rzadko używanym wzorcem w Anthropic API jest pojedynczy komunikat w tablicy żądań z role: „asystent” i częściową odpowiedzią. Nazywa się to wstępnym wypełnianiem i pozwala zatwierdzić model w określonym formacie, konkretnym otwarciu lub określonej pozycji, zanim wygeneruje pojedynczy token. Używany ostrożnie, jest to coś, co API ma najbliżej do supermocy. Używany nieostrożnie, jest subtelnym sposobem na zniekształcenie własnych wyników.
Mechanizm jest prosty. W tablicy messages po turze użytkownika dodajesz ostatnią wiadomość z rolą "asystent" zawierającą początek żądanej odpowiedzi. Następnie model generuje od tego punktu początkowego , tak jakby sam zaczął odpowiadać. Jeśli wstępnie wypełnisz <, model będzie kontynuowany tak, jak przy pisaniu JSON. Jeśli wstępnie wypełnisz <analytics>, model będzie kontynuowany wewnątrz tagu. Kolejne żetony modelu są ograniczone przez kształt, który już zadeklarowałeś.
Właściwym zastosowaniem wstępnego wypełnienia jest kształt bez substancji. Wypełnij otwór formatu — nawias, znacznik, nagłówek — i pozwól modelowi wypełnić znaczenie. To zakotwicza odpowiedź na tyle niezawodnie, że można całkowicie pominąć delikatne instrukcje „proszę odpowiedzieć w JSON”; format jest egzekwowany strukturalnie, a nie wymagany ustnie.
Niewłaściwym zastosowaniem jest wstępne napełnianie substancją. Jeśli wstępnie wypełnisz treścią, która niesie ze sobą znaczenie — „Odpowiedź jest prawdopodobna” lub „Tak, jest to poprawne, ponieważ” — nakłoniłeś model do takiego wniosku, niezależnie od tego, czy sam by do niego doszedł. Uwidacznia się to w ocenach jako działanie przypadkowo sterowane i może być naprawdę trudne do uchwycenia, ponieważ wyniki nadal wyglądają rozsądnie; odzwierciedlają one po prostu Twoje wstępne wypełnienie, a nie ocenę modelu.
Wstępne wypełnianie ma jedną twardą zasadę: treść tury asystenta musi zostać przycięta z końcowych białych znaków po przesłaniu. Końcowa spacja lub znak nowej linii we wstępnym wypełnieniu może spowodować, że model wygeneruje nieoczekiwane wyniki, ponieważ postrzega białe znaki jako część własnej poprzedniej generacji. API to dokumentuje; egzamin oczekuje, że będziesz to wiedział.
Ryc. 16.1 — Kontrakt prefillu. Zakotwicz format; znaczenie zostaw modelowi. Treść w prefillu to stronniczość z wiarygodną twarzą.
Rozdział 17 · Część II
Temperatura i iluzja determinizmu
Temperatura to pokrętło, które reguluje sposób próbkowania modelu na podstawie rozkładu prawdopodobieństwa na kolejnych żetonach. Zero oznacza, że zawsze wybierasz token o najwyższym prawdopodobieństwie; jeden oznacza próbkę proporcjonalną do prawdopodobieństw; wartości powyżej jednego jeszcze bardziej spłaszczają rozkład, tworząc większą różnorodność. Egzamin wymaga wiedzy zarówno o tym, do czego służy pokrętło, jak i – co ważniejsze – czego nie robi.
To, co robi temperatura a nie, czyni Claude'a w pełni deterministycznym. Nawet przy temperature=0 możesz wysłać to samo żądanie dwa razy i otrzymać dwie różne odpowiedzi. Dzieje się tak z powodu braku determinizmu w samym potoku wnioskowania: brak asocjatywności zmiennoprzecinkowej procesora graficznego, skład partii, różnice w wersjach jądra. Różnica jest zwykle niewielka, ale „zwykle mała” nie oznacza „nigdy”. Systemy, które zakładają identyczną moc wyjściową na identycznym wejściu, to systemy, które czasami zaskakują swoich inżynierów.
Wzorzec projektowy, który zapewnia determinizm wystarczający do produkcji, to: ustawić temperaturę na zero dla zadań, które wymagają powtarzalności, a następnie zweryfikować wynik strukturalnie, zamiast polegać na dokładnej równości ciągów. Kontrola schematu JSON, wyrażenie regularne, walidator specyficzny dla domeny. Kształt wyjściowy pozostaje stabilny nawet wtedy, gdy dokładne tokeny się różnią, i tego właśnie potrzebuje Twój dalszy kod.
Temperatura dla to kontrolowana kreatywność. Niskie wartości (0 do 0,3) odpowiadają zadaniom, w przypadku których chcesz uzyskać najbardziej prawdopodobną odpowiedź — klasyfikację, ekstrakcję, generowanie kodu. Średnie wartości (0,5 do 0,8) odpowiadają zadaniom, w których istnieje wiele dobrych odpowiedzi i wymagana jest różnorodność — burza mózgów, kreatywne pisanie, szkice eksploracyjne. Wysokie wartości (0,9+) rzadko są właściwą odpowiedzią w produkcji; dają bardziej zaskakujące wyniki kosztem spójności, a egzamin określa „wysoką temperaturę, aby być bardziej kreatywnym” jako ruch dla początkujących.
Subtelniejszą kwestią jest to, że temperatura oddziałuje z podpowiedzią. Dobrze ograniczony monit w wysokiej temperaturze może nadal dawać niezawodne wyniki, ponieważ ograniczenia wykonują pracę związaną z niezawodnością. Luźny monit w niskiej temperaturze może nadal powodować błędy, ponieważ model był od początku niedostatecznie przeszkolony. Temperatura to sposób na dostrojenie szybkiego zachowania, a nie substytut dobrego podpowiedzi.
Ryc. 17.1 — Temperatura jako pokrętło. Pokrętło reguluje różnorodność próbkowania; nie eliminuje całej zmienności. Projektuj pod weryfikację strukturalną, nie pod identyczny co do bajtu wynik.
Rozdział 18 · Część II
Kształtowanie danych wyjściowych: XML, JSON i kontrakt formatu
Format wyjściowy to kontrakt pomiędzy modelem a wszystkim, co znajduje się za nim. Każda awaria na dalszym etapie oznacza albo złamanie umowy przez model, albo osobę dzwoniącą, która napisała umowę, której nie można było dotrzymać. Certyfikowany architekt zna trzy główne opcje formatu — dowolny tekst, znaczniki XML, JSON — i sięga po każdą z nich z konkretnych powodów, których sformułowania oczekuje egzamin.
Dowolny tekst jest domyślnym i prawie zawsze złym wyborem w przypadku wszystkiego, co będzie wykorzystywane przez program. Jest to właściwy wybór w przypadku odpowiedzi skierowanych do użytkownika, gdy chodzi o to, aby człowiek je przeczytał. W momencie, gdy Twój kod musi przeanalizować odpowiedź modelu, dowolny tekst staje się kruchy — wyrażenia regularne dryfują, zmiany w prozie pomiędzy wersjami modelu, a kończy się to na produkcji archeologii ciągów.
Tagi XML są natywnym, strukturalnym formatem Claude'a i są niedoceniane przez większość praktyków. <summary>...</summary><confidence>0.8</confidence⟫/confidence⟫ to lekka, wybaczająca błędy konstrukcja, którą model wytwarza niezawodnie nawet pod obciążeniem. XML jest bardziej tolerancyjny na niewielkie różnice w modelu niż JSON — białe znaki na końcu, brakujące cudzysłowy, błędy ucieczki — wszystko to psuje JSON i nie psuje XML. W przypadku wewnętrznych potoków, w których kształt ma znaczenie, ale nie jest wymagana ścisła weryfikacja, XML jest często lepszym narzędziem.
JSON to wybór, gdy dane wyjściowe muszą zostać programowo wykorzystane przez rygorystyczne walidatory — ładunek webhooka, wstawka do bazy danych, odpowiedź API. Claude niezawodnie tworzy dobrze sformułowany kod JSON, zwłaszcza gdy zwrot asystenta jest wstępnie wypełniony < (rozdział 16). Anthropic API obsługuje także tryb schematu JSON w niektórych wersjach modelu, w którym dostarczasz schemat, a model jest ograniczony do tworzenia pasujących do niego danych wyjściowych.
Dyscyplina pisania umowy: niezależnie od tego, jaki format wybierzesz, zapisz go w wierszu poleceń systemowych z przykładem. „Odpowiedz obiektem JSON pasującym do tego schematu: {„summary”: string, „confidence”: number” za każdym razem zastępuje „odpowiedz w JSON”. Przykłady w podpowiedzi są warte dziesięć instrukcji.
Ryc. 18.1 — Trzy formaty. XML dla wewnętrznych potoków. JSON dla ścisłych odbiorców dalej w łańcuchu. Wolny tekst wyłącznie dla ludzi. Każdy produkcyjny problem typu „parser się wysypał” wynika z wyboru niewłaściwego formatu.
Rozdział 19 · Część II
Zasada pierwszego ograniczenia
Ograniczeniem jest dowolna zasada w postaci „model nie może”. Nigdy nie wspominaj o konkurentach. Nigdy nie odpowiadaj poza schematem JSON. Nigdy nie udzielaj porad prawnych. Nigdy nie mów w języku innym niż angielski. Są to zasady nośne, które sprawiają, że wdrożenie systemu jest bezpieczne, a miejsce ich umieszczenia w wierszu poleceń określa, czy wytrzymają produkcję, czy też wyciekną w pierwszej twardej obudowie.
Odruchem, jaki niosą ze sobą początkujący, jest podanie najpierw pozytywnej instrukcji: „Jesteś pomocnym asystentem, który odpowiada na pytania klientów”, a następnie dodanie na końcu ograniczeń: „…i nie omawiaj cen, konkurencji ani kwestii prawnych”. Generuje to podpowiedzi, które w większości działają i czasami naruszają własne reguły końcowe, ponieważ długi kontekst między ograniczeniem a odpowiedzią daje modelowi wiele tokenów, o których można zapomnieć.
Certyfikowanym ruchem jest najpierw ograniczenie. Podaj zakazy przenoszenia obciążeń na górze podpowiedzi systemowej, przed kontekstem, przed przykładami, przed jakąkolwiek pozytywną ramką. Model przed wygenerowaniem odczytuje cały monit systemowy; ograniczenia na górze wyznaczają konstytucyjny kształt każdej następującej odpowiedzi, a na nich znajduje się warstwa pozytywnych instrukcji.
Konkretna przeróbka. Zamiast „Jesteś agentem obsługi klienta. Pomagaj użytkownikom w rozwiązywaniu problemów z rozliczeniami. Nie rozmawiaj o konkurencji, nie oferuj zwrotów pieniędzy bez zgody, nie odpowiadaj po hiszpańsku”, prowadź z ograniczeniami: „Jesteś agentem obsługi klienta objętym trzema zasadami — nigdy nie wymieniaj konkurentów po imieniu, nigdy nie oferuj zwrotów pieniędzy bezpośrednio (kieruje to do człowieka), nigdy nie odpowiadaj po hiszpańsku (powiedz, że przekierujesz ich do hiszpańskojęzycznego agenta). W ramach tych zasad pomóż użytkownikom w rozwiązywaniu problemów z rozliczeniami”.
Egzamin mówi o scenariuszach, w których chatbot zrobił to, czego mu zakazano. Kiedy zobaczysz tę konfigurację, spójrz, gdzie w opisanym znaku zachęty została umieszczona instrukcja „nie”. Jeśli było to na końcu — po długim bloku instrukcji, po przykładach, po pobraniu kontekstu — odpowiedź prawie zawsze brzmi: „przenieś ograniczenie na górę podpowiedzi”. A nie „dodaj silniejsze ostrzeżenie”. Umieszczenie jest rozwiązaniem.
Ryc. 19.1 — Gdzie mieszka „nie”. Ograniczenia na dole dryfują; ograniczenia na górze przenikają każdą kolejną instrukcję. Regułą jest umiejscowienie; sformułowanie to tylko redakcja.
Rozdział 20 · Część II
Monity debugowania takie jak kod
Część II kończy się praktyką, która zmienia szybką inżynierię z rzemiosła w inżynierię. Podpowiedzi są kodem. Mają wersje, dzienniki zmian, testy i regresje. Traktowanie ich jako czegoś gorszego to najszybszy sposób, aby otrzymać podpowiedź, której nikt w twoim zespole nie może bezpiecznie zmienić, ponieważ boi się tego, co się zepsuje.
Cztery dyscypliny, które certyfikowany architekt wnosi do szybkiej konserwacji, to: kontrola wersji (każdy monit znajduje się w git, obok kodu, który go wywołuje), diffy (szybkie zmiany są przeglądane pod kątem zmian w kodzie, linia po linii), ewaluacje (mały zestaw testowy sprawdza każdą szybką zmianę przed jest dostarczany) i obserwowalność (każde wywołanie produkcyjne rejestruje dane wejściowe, wyjściowe i skrót wersji podpowiedzi, która je wygenerowała).
Najczęściej pomijanym z nich są ewaluacje i egzaminy dla kandydatów, którzy rozumieją dlaczego. Bez evals nie możesz odpowiedzieć „czy ta podpowiedź pomogła czy zaszkodziła?” z czymś bardziej rygorystycznym niż przeczucie. Dzięki evals — nawet skromnemu zestawowi testowemu składającemu się z 20 do 50 reprezentatywnych przypadków — możesz zmierzyć deltę każdej zmiany i wychwycić regresje przed ich wysłaniem. Wartości to różnica między podpowiedzią, która z czasem się poprawia, a podpowiedzią, która oscyluje.
Dyscyplina obserwowalności opłaca się, gdy coś pójdzie nie tak w produkcji. Inżynier wsparcia mówi, że „bot podał klientowi błędne informacje” i trzeba dowiedzieć się, dlaczego. Dzięki rejestrowaniu odtwarzasz dokładnie monit i kontekst, który wygenerował nieprawidłowe dane wyjściowe, odtwarzasz je w środowisku testowym i powtarzasz poprawkę. Bez logowania zgadujesz, a ramki egzaminu zgadują po natychmiastowej poprawce jako anty-wzorzec nie bez powodu.
Nawykiem, który warto kultywować, jest traktowanie każdego podpowiedzi jako komponentu z właścicielem, wersją, zestawem testów i dziennikiem zmian. To brzmi jak ceremonia za kawałek tekstu; okazuje się, że jest to dokładna różnica między systemami, które się ulepszają, a systemami, które ulegają stagnacji. Część III wychodzi poza sam monit i trafia do środowiska, w którym certyfikowany architekt pisze i uruchamia je na dużą skalę: Claude Code.
Ryc. 20.1 — Pętla inżynierii promptów. Wersja → diff → ewaluacja → obserwacja → z powrotem do wersji. Każdy dojrzały prompt to wynik wielu obrotów tej pętli, a nie szkic za jednym podejściem.
Część III
Rdzeń kodu Claude'a
Claude Code to natywne narzędzie firmy Anthropic do kodowania terminalowego — i najbardziej testowalne pojedyncze narzędzie objęte certyfikatem. CLAUDE.md, system pamięci, pętla agenta, użycie narzędzi, tryb planowania, tryby uprawnień i złota ścieżka sesji roboczej.
Rozdział 21 · Część III
Czym jest kod Claude'a
Claude Code to natywny dla terminali towarzysz kodowania firmy Anthropic — interfejs CLI, który otacza Claude'a środowiskiem roboczym z dostępem do plików, wykonywaniem powłoki i trwałym modelem sesji. Certyfikat traktuje Claude Code jako kompetencję najwyższej klasy, ponieważ jest to powierzchnia, na której pracujący architekci faktycznie działają na co dzień i gdzie abstrakcyjne wzorce z Części I i Części II stają się konkretną praktyką.
Model mentalny, który utrzymuje wszystko w porządku: Kod Claude to pętla agenta działająca w twoim terminalu, z Claude jako silnikiem rozumującym i twoim systemem plików oraz powłoką jako narzędziami. Każda sesja to rozmowa, każda rozmowa odbywa się w Twoim katalogu roboczym, a każda akcja, jaką podejmuje Claude – czytanie pliku, edycja wiersza, uruchamianie polecenia – odbywa się za pośrednictwem specjalnego narzędzia, za pośrednictwem którego pośredniczy CLI. Nic nie jest magią; wszystko jest narzędziem, które zostało przechwycone i potwierdzone przez CLI.
Co odróżnia Claude Code od rozmowy z Claudem na claude.ai: interfejs CLI ma dostęp do twoich lokalnych plików i terminala, utrzymuje stan sesji, w tym listy zadań i pamięć, wymusza model uprawnień, który bramuje niebezpieczne akcje i komponuje się z twoim środowiskiem programistycznym — git, npm, docker, cokolwiek używasz. Claude.ai to rozmowa; Claude Code to środowisko pracy, w którym rozmowa napędza realne zmiany.
Na egzaminie wymagana jest znajomość trzech podstawowych trybów wywoływania. Interaktywny — uruchamiasz claude i otrzymujesz REPL. Drukuj — claude -p „podpowiedź” dla jednokrotnego wywołania skryptowego, przydatnego w potokach powłoki i automatyzacji. Kontynuuj — claude --continue lub claude -c, aby wznowić ostatnią sesję z nienaruszonym pełnym kontekstem.
Faktem na poziomie certyfikacji dotyczącym Claude Code jest to, że to nie tylko czat może dotykać plików — to środowisko wykonawcze agenta zaprojektowane wokół pętli, którą sformalizuje Część V (Architektura agentowa). Zrozumienie tego zmienia resztę Części III: CLAUDE.md nie jest dokumentacją; jest to plik instrukcji rozruchu dla agenta. Pamięć to nie notatki; jest to stan trwały, który agent przenosi pomiędzy sesjami. Narzędzia to ręce agenta.
Ryc. 21.1 — Claude Code w przekroju. Model na górze, CLI pośrodku, ręce na dole. Każda sesja to ten stos uruchamiający pętlę agenta na twoim katalogu roboczym.
Rozdział 22 · Część III
CLAUDE.md i hierarchia trwałości
CLAUDE.md to najbardziej testowalny plik w uniwersum Claude Code. To tutaj piszesz instrukcje, których agent powinien przestrzegać podczas każdej sesji w danym zakresie, i tutaj na egzaminie oczekujesz praktycznego zrozumienia zasad pierwszeństwa — które CLAUDE.md wygrywa, gdy ma zastosowanie wiele plików i dlaczego odpowiedź ma znaczenie w rzeczywistych systemach.
Istnieją trzy zakresy CLAUDE.md. Globalny — ~/.claude/CLAUDE.md — dotyczy każdej sesji uruchamianej na tym komputerze, w dowolnym katalogu. Projekt — ./CLAUDE.md w katalogu roboczym lub dowolnym katalogu nadrzędnym — dotyczy sesji uruchomionych w ramach tego projektu. Importowany — pliki pobrane za pomocą składni @path/to/file.md z innego CLAUDE.md — nałóż dodatkowe instrukcje na wierzch.
Pierwszeństwo jest dodawane, a nie nadrzędne. Wszystkie pliki CLAUDE.md w zasięgu są ładowane i łączone w kolejności, w jakiej wykrywa je Claude Code. Jest to istotne rozróżnienie, które bada egzamin: projekt CLAUDE.md nie zastępuje projektu globalnego, lecz go uzupełnia. Jeśli Twój globalny plik CLAUDE.md mówi „zawsze używaj wcięć dwóch spacji”, a Twój projekt CLAUDE.md nie mówi nic o wcięciach, zasada dwóch spacji nadal obowiązuje. Jeśli Twój projekt CLAUDE.md mówi „użyj w tym projekcie wcięcia z czterema spacjami”, masz teraz dwie sprzeczne reguły i zazwyczaj wygrywa ta, która została załadowana jako ostatnia — ale nie powinieneś na tym polegać; powinieneś usunąć konflikt.
Zapach nadętego-CLAUDE.md jest zapachem, który certyfikacja traktuje jako anty-wzorzec. Kiedy plik CLAUDE.md przekracza kilkaset linii, stosunek sygnału do szumu zaczyna bardziej szkodzić niż pomagać — agent musi przetwarzać cały plik w każdej sesji, a określone reguły gubią się w wolumenie. Praktyka zawodowa polega na tym, aby CLAUDE.md było krótkie i skupiało się na zasadach, które rzeczywiście kształtują kontekst. Dokumentacja projektu w skali encyklopedycznej powinna znajdować się w docs/, a nie w CLAUDE.md.
Składnia @import umożliwia tworzenie plików CLAUDE.md bez powielania. Monorepo może mieć plik główny CLAUDE.md, który importuje reguły dla poszczególnych pakietów tylko wtedy, gdy katalog roboczy znajduje się w tym pakiecie. Zespół może udostępnić wspólny plik ~/.claude/team-conventions.md importowany przez każdy projekt CLAUDE.md. To prawdziwa modułowość, a egzamin nagradza architektów, którzy z niej korzystają, zamiast wklejać te same akapity do każdego projektu.
Ryc. 22.1 — Stos. Globalny się ładuje, projektowy nakłada się na niego, importy nakładają się na wierzch. Sumowanie, nie nadpisywanie. Konflikt między dwiema warstwami to błąd, nie rozstrzygnięcie.
Rozdział 23 · Część III
System pamięci — cztery typy
System pamięci Claude'a Code'a zmienia sesję z izolowanej rozmowy w element dłuższej relacji roboczej. Każda sesja może czytać, zapisywać i odwoływać się do wspomnień, które utrzymują się pomiędzy sesjami. Certyfikat sprawdza, czy znasz cztery typy pamięci, kiedy używać każdego z nich i co należy do pamięci, a co należy do CLAUDE.md.
Cztery typy to użytkownik, informacja zwrotna, projekt i referencja. Każdy odpowiada na inne pytanie. Wspomnienia Użytkownika opisują, kim jest osoba po drugiej stronie terminala – jej rola, wiedza specjalistyczna, preferencje, pochodzenie. Opinie zwrotne wspomnienia rejestrują wskazówki udzielone przez użytkownika na temat podejścia do pracy – rzeczy, które należy kontynuować, których należy przestać, z dołączonym powodem. Wspomnienia Projekt śledzą bieżącą pracę w konkretnych projektach — decyzje, terminy, inicjatywy w trakcie realizacji. Pamięci Odwołanie wskazują na systemy zewnętrzne — „jednostka śledząca bilety dla X znajduje się w projekcie liniowym Y”.
To rozróżnienie ma znaczenie, ponieważ każdy typ ma inny cykl życia. Pamięci użytkownika i referencyjne są stosunkowo stabilne — czyjeś stanowisko zmienia się powoli, system zewnętrzny porusza się rzadko. Wspomnienia o projektach szybko się niszczą — wspomnienie „wysyłamy w piątek” jest bezużyteczne w następny poniedziałek. Kumulują się wspomnienia opinii – każda poprawka, którą wprowadza użytkownik, jest wspomnieniem, które powinno kształtować przyszłe sesje. Traktowanie wszystkich czterech jako jednego wiadra traci ten kształt i tworzy system pamięci, który rośnie bez skupienia.
Mechaniczna implementacja: wspomnienia znajdują się w postaci plików Markdown w ~/.claude/projects/<project>/memory/, każdy z frontem YAML deklarującym jego typ. Plik indeksu MEMORY.md zawiera listę wszystkich pamięci z jednowierszowym zaczepem — ten indeks jest ładowany w kontekście każdej sesji, a poszczególne pliki pamięci są pobierane na żądanie. Indeks jest dokumentem roboczym; pliki pamięci są odniesieniami.
Pytania dotyczące pamięci na egzaminie sprawdzają, czy rozumiesz zasadę „czytaj przed zapisem”. Wspomnienia mogą się zestarzeć — przesuwa się termin realizacji projektu, zmieniają się preferencje, system przenosi adresy URL. Kiedy wspomnienie koliduje z tym, co obserwujesz teraz, właściwym posunięciem jest aktualizacja lub usunięcie wspomnienia, a nie ufanie mu i działanie w oparciu o nieaktualne informacje. Pamięć jest kontekstem tego, co było prawdą w danym momencie; źródłem prawdy jest zawsze stan aktualny.
Ryc. 23.1 — Cztery typy. Różne pytania, różne tempo starzenia. Dwa środkowe (feedback i projekt) wykonują najwięcej pracy; feedback się kumuluje, projekt szybko się wymienia.
Rozdział 24 · Część III
Pętla agenta
Każda sesja Claude Code to pętla. To nie jest metaforyczna pętla — dosłowna, czteroetapowa pętla, którą CLI wykonuje w każdej turze: postrzegaj bieżący stan, pomyślaj o tym, co robić dalej, działaj wywołując narzędzie, obserwuj co narzędzie wróciło. Pętla działa, dopóki model nie zdecyduje, że nie są już potrzebne żadne dalsze wywołania narzędzi, i zwróci ostateczną odpowiedź. Zrozumienie tego kształtu jest warunkiem wstępnym wszystkiego, co nastąpi dalej.
Krok pierwszy, postrzeganie: model odczytuje bieżący kontekst — podpowiedź użytkownika, podpowiedź systemową, poprzednie zakręty, wyniki wszelkich poprzednich wywołań narzędzi. W tym miejscu model aktualizuje swoją wiedzę na temat stanu katalogu roboczego, drzewa git lub uruchomionych procesów. Błędy w percepcji zwykle wynikają z nieaktualnego kontekstu — model wierzy w coś, co było prawdą pięć tur temu, ale nie jest teraz.
Krok drugi, pomyśl: model rozważa, co robić dalej. Jest to wewnętrzna kalkulacja — często niewidoczna dla użytkownika, chyba że włączone jest myślenie rozszerzone — która decyduje między „Mam dość, aby odpowiedzieć” a „Muszę najpierw wywołać narzędzie”. Niepowodzenia w tym przypadku wyglądają jak rozsądne, pozornie plany, które ignorują istotne ograniczenia wynikające z percepcji; poprawka polega zwykle na wyraźniejszym kontekście lub jaśniejszych instrukcjach.
Krok trzeci, działaj: model emituje wywołanie narzędzia — Read, Edit, Bash itd. — z ustrukturyzowanymi argumentami. Interfejs CLI przechwytuje połączenie, sprawdza model uprawnień, uruchamia narzędzie, jeśli jest dozwolone, i przygotowuje wynik. Najbardziej widoczną kategorią są niepowodzenia akcji — odmówiono pozwolenia, plik nie istniał, wystąpił błąd w poleceniu bash. Zwykle pojawiają się one wyraźnie w transkrypcji.
Krok czwarty, obserwacja: wynik narzędzia powraca do kontekstu modelu, a pętla rozpoczyna się od nowa z nową percepcją. Tym właśnie różni się dobrze zaprojektowana pętla od źle zaprojektowanej — obserwację traktuje się jako nową informację, a nie potwierdzenie planu, który model chciał wykonać. Systemy, które realizują plan niezależnie od tego, co faktycznie zwróciło narzędzie, to systemy, które mają halucynacje dotyczące własnego postępu.
Ryc. 24.1 — Cztery kroki. Postrzegaj → myśl → działaj → obserwuj → znów postrzegaj. Każda sesja to wiele obrotów tego cyklu; każdy tryb awarii to zerwanie w jednym z czterech.
Rozdział 25 · Część III
Użycie narzędzia w kodzie Claude'a
Claude Code dostarczany jest z wyselekcjonowanym zestawem wbudowanych narzędzi, a certyfikowany architekt wie, do czego każde z nich jest przeznaczone, kiedy jest właściwym wyborem i – co najważniejsze – kiedy sięgnąć po konkretne narzędzie, zamiast wracać do Bash. Egzamin sprawdza kandydatów, którzy domyślnie używają Bash do wszystkiego i nie zinternalizowali, dlaczego istnieją dedykowane narzędzia.
Podstawowe narzędzia do manipulacji plikami: Read ładuje plik do kontekstu z numerami linii. Edit dokonuje zamiany dokładnego ciągu wewnątrz pliku. Zapisz tworzy nowy plik lub zastępuje istniejący. Grep przeszukuje zawartość pliku za pomocą wyrażenia regularnego. Glob wyszukuje pliki według wzorca nazwy. Każdy ma określoną umowę; każdy z nich jest śledzony przez wiązkę, co pozwala uniknąć typowych błędów (na przykład edycja pliku, który nie został przeczytany).
Narzędzia wykonawcze: Bash uruchamia polecenia powłoki. Zadanie tworzy i śledzi elementy do wykonania. Agent tworzy podagenta. Narzędzie Bash to klapa ratunkowa — gdy żadne dedykowane narzędzie nie pasuje, Bash pozwala uruchomić wszystko. Ta elastyczność jest pułapką; użycie Basha do czegoś, co dedykowane narzędzie poradziłoby sobie z poświęceniem zdolności uprzęży do egzekwowania poręczy.
Specyficzny antywzorzec, który bada egzamin: użycie Bash dla operacji wejścia/wyjścia pliku, gdy wystarczy Read, Edit lub Zapis. cat file.txt działa, ale omija śledzenie odczytu, dzięki czemu przyszłe zmiany są bezpieczne. echo "..." > plik.txt działa, ale pomija rozróżnienie „czy był to nowy plik, czy nadpisany”. sed -i działa, ale nie można go sprawdzić za pomocą różnicy. Istnieją specjalne narzędzia, które sprawiają, że te działania są bezpieczniejsze i łatwiejsze do kontrolowania; użycie Bash zamiast tego jest krokiem wstecz.
Właściwy moment na sięgnięcie po Basha to tak naprawdę praca wyłącznie z powłoką — uruchamianie testów, uruchamianie kompilacji, sprawdzanie statusu gita, wywoływanie interfejsu CLI, który nie ma dedykowanego narzędzia. Właściwy moment na sięgnięcie po konkretne narzędzie to wszystko, co obejmuje dane narzędzie. Praktyczna zasada: jeśli operacja ma dedykowane narzędzie, użyj go; jeśli nie, Bash. Nie „używaj tego, co jest szybsze do wpisania” — używaj tego, co pozwala uprzęży zachować uczciwość sesji.
Ryc. 25.1 — Skrzynka z narzędziami. Narzędzia do operacji na plikach mają najściślejsze kontrakty; narzędzia wykonawcze są szersze, ale trudniej je audytować. Sięgaj po konkretne narzędzie zamiast Bash, gdy tylko któreś pasuje.
Rozdział 26 · Część III
Tryb planu
Tryb planowania to tryb eksploracji Claude Code tylko do odczytu. Gdy jest włączony, agent może czytać pliki, uruchamiać nieniszczące polecenia i przeszukiwać bazę kodu, ale nie może edytować, zapisywać ani uruchamiać niczego, co powoduje mutację. Certyfikowany architekt wie, że tryb planowania nie jest formalnością ani podporą dla początkujących – to dyscyplina, która powstrzymuje na wpół zrozumiane zadania, aby nie stały się na wpół złamanym kodem.
Zasada mechaniczna: w trybie planu dozwolone są jedynie zmiany w samym pliku planu. Agent swobodnie eksploruje, korzysta z narzędzi tylko do odczytu i zapisuje swój rozwijający się plan w wyznaczonym pliku. Gdy plan jest gotowy, agent wywołuje funkcję ExitPlanMode, która prosi użytkownika o przejrzenie planu i zatwierdzenie go lub odesłanie do sprawdzenia. Dopiero po zatwierdzeniu możliwa jest edycja.
Uzasadnieniem projektu jest to, że większość złych zmian ma swój początek w niepełnym zrozumieniu, a nie niekompetentnym wykonaniu. Agent, który od razu przejdzie do edycji pliku, którego nie w pełni przeczytał, lub który rozpocznie refaktoryzację modułu, którego nie rozumie zależności, wygeneruje uszkodzony kod niezależnie od tego, jak zaawansowany jest model. Tryb planowania wymusza separację faz — najpierw zrozum, potem edytuj — co empirycznie zmniejsza wskaźnik awaryjności w przypadku nietrywialnych zadań.
Na egzaminie oczekuje się, że będziesz wiedział, kiedy tryb planu jest wymagany, a kiedy opcjonalny. Każde zadanie, w przypadku którego agent może dotykać wielu plików, zmieniać istniejące zachowanie lub wprowadzać zmiany w architekturze, należy najpierw zaplanować. Każde zadanie polegające na mechanicznej edycji pojedynczego pliku — podbijanie numeru wersji, naprawianie literówki — jest miejscem, w którym tryb planowania ma charakter ceremonii, a nie dyscypliny. Decyzja o ocenie jest wyróżnieniem na poziomie certyfikacji.
Bardziej subtelną kwestią jest to, że tryb planu jest protokołem współpracy, a nie bramką uprawnień. Plan to dokument, nad którym negocjujesz z agentem — możesz go odesłać z informacją zwrotną, możesz dodać ograniczenia, możesz zmienić zakres. Systemy, które wykorzystują tryb planowania jako bramkę do zatwierdzenia tak-nie, czerpią z niego mniejszą wartość niż systemy, które wykorzystują go jako iteracyjną rozmowę dotyczącą planowania.
Ryc. 26.1 — Pętla planowania. Eksploruj, napisz plan, przejrzyj, zatwierdź albo iteruj. Przerywana strzałka to miejsce współpracy — plan to dokument, który ty i agent poprawiacie razem.
Rozdział 27 · Część III
Śledzenie zadań
Rodzina narzędzi zadań — TaskCreate, TaskUpdate, TaskList, TaskGet — to pamięć zewnętrzna agenta do wieloetapowej pracy. Istnieje, aby rozwiązać specyficzny tryb awarii: długie zadania, które są częściowo wykonywane, a następnie tracą fabułę, ponieważ kontekst modelu się zapełnił, a plan został upakowany. Zadania żyją poza rozmową, w uprzęży i przetrwają zagęszczenie.
Rytm, jakiego oczekuje egzamin: gdy zadanie wymaga trzech lub więcej odrębnych kroków, na początku TaskCreate jedno zadanie na krok. Rozpoczynając każdy krok, TaskUpdate ma status w toku. Po zakończeniu TaskUpdate do ukończono. Jeśli w połowie wykonywania odkryjesz dalsze prace, TaskCreate nowe elementy. Lista zadań to działająca karta wyników, którą model sprawdza pomiędzy krokami.
Dwa anty-wzorce flag certyfikacyjnych. Pierwsza to łączenie kompletacji — ukończenie pięciu kroków, a następnie zaznaczenie wszystkich pięciu jako ukończonych za jednym razem. To mija się z prawdą; środkowe trzy zostały wykonane wcześniej i oznaczenie ich wszystkich na raz powoduje utratę informacji o czasie, które czynią listę zadań użyteczną. Oznacz każde zadanie jako wykonane, gdy tylko zostanie wykonane.
Drugi antywzorzec to wykorzystywanie zadań do trywialnej pracy. Edycja pojedynczego pliku nie wymaga zadania. Dwuetapowa operacja bez ryzyka zapomnienia drugiego kroku nie wymaga zadania. Śledzenie zadań sprawdza się w pracy, w której ryzyko utraty orientacji przewyższa trudności związane z tworzeniem zadań; użyj go tam, pomiń gdzie indziej. Nadmierne wykonywanie zadań jest w takim samym stopniu przyczyną niepowodzenia, jak niedostateczne wykonywanie zadań.
Krytyczna właściwość, którą bada sonda: zadania utrzymują się poza granicami zagęszczenia. Kiedy rozmowa dłuży się na tyle, że interfejs CLI może podsumować wcześniejsze tury, podsumowanie może utracić szczegóły planu, ale lista zadań pozostaje nienaruszona. To właśnie sprawia, że narzędzie do zadań różni się strukturalnie od zapisywania listy zadań do wykonania w wiadomości. Lista zadań jest trwała w sposób inny niż rozmowa i dlatego właśnie korzystają z niej profesjonalni agenci.
Ryc. 27.1 — Dwie warstwy pamięci. Rozmowa może się skompaktować i stracić szczegóły; lista zadań jest trwała. Praca wieloetapowa należy do warstwy trwałej, a nie rozrzucona po ulotnej.
Rozdział 28 · Część III
Tryby uprawnień
Claude Code działa w jednym z kilku trybów uprawnień, a certyfikowany architekt wie, na co pozwala każdy tryb, kiedy należy eskalować i – co najważniejsze – kiedy prośba o eskalację jest oznaką, że agent powinien zamiast tego zająć się czymś innym. Zezwolenie nie jest kwestią przemyślenia; jest to podstawowy mechanizm bezpieczeństwa, jaki zapewnia CLI.
Domyślny tryb to pytaj przy każdym narzędziu — interfejs CLI wyświetla monit przy pierwszym wywołaniu każdego narzędzia w danym katalogu, a użytkownik zatwierdza lub odrzuca. Jest to domyślnie bezpieczne i powolne w praktyce; sesja wykorzystująca dziesięć narzędzi przerwie Ci dziesięć razy. W przypadku ustalonych przepływów pracy w zaufanych katalogach warto z góry przyznać szersze uprawnienia.
Listy allow w ~/.claude/settings.json lub na projekt .claude/settings.local.json umożliwiają wstępne zatwierdzenie określonych narzędzi, wzorców lub poleceń. "Bash(npm test)" zezwala na dokładnie to polecenie bez pytania; "Bash(npm:*)" pozwala na wszystko zaczynające się od npm. Egzamin wymaga, abyś wiedział, że szersze wzorce są niebezpieczne — "Bash(*)" skutecznie blokuje zatwierdzanie powłoki — i sięgnął po najwęższy przydatny wzorzec.
Tryb niebezpiecznie pomijania uprawnień to wyjście awaryjne, które pozwala na działanie interfejsu CLI bez interaktywnego zatwierdzania. Istnieje z myślą o automatyzacji — CI, zaplanowanych zadaniach, środowiskach bezgłowych — ale nazwa nie jest przypadkowa. Używanie go w kontekstach interaktywnych, gdzie człowiek może je zatwierdzić, jest błędem zawodowym. Egzamin przedstawia go jako antywzorzec poza zamierzonym kontekstem.
Subtelniejsza dyscyplina: agent proszący o wielokrotną eskalację tej samej klasy działań jest często sygnałem, że projekt jest błędny. Jeśli Twój agent ciągle pyta o pozwolenie na rm -rf, odpowiedzią zwykle nie jest „przyznanie szerszych uprawnień Bash”. Odpowiedź brzmi: „dlaczego agent w ogóle wykonuje rm-rf”, po czym następuje refaktoryzacja przepływu, aby tego uniknąć. Tarcie o pozwolenie jest diagnostyczne; traktowanie go wyłącznie jako tarcia, które należy wyeliminować, mija się z tym, co ci mówi.
Ryc. 28.1 — Drabina. Przechodź od ciasnego do luźnego tylko wtedy, gdy przepływ pracy na to zasłuży. Poziom czwarty jest dla kontekstów automatyzacji, w których nie ma człowieka — wszędzie indziej to antywzorzec.
Rozdział 29 · Część III
Złota ścieżka na sesję
Sesja Claude Code ma kanoniczny kształt, jeśli przebiega dobrze. Certyfikat wymaga, aby certyfikowany architekt znał go nie jako listę kontrolną do zapamiętania, ale jako rytm, w który należy wpaść. Sesje, które mają taki kształt, częściej generują prace nadające się do wysyłki; sesje, w których pomijane są kroki, powodują powstanie pracy wymagającej powtórzenia.
Siedem ruchów. Jeden: przeczytaj odpowiednie pliki CLAUDE.md. Dwa: odczytuje indeks pamięci (MEMORY.md i wszelkie powiązane pliki pamięci). Trzy: potwierdź zadanie z użytkownikiem jednym jasnym zdaniem — „chcesz X, osiągniętego przez Y, bez dotykania Z”. Cztery: plan (w trybie planu, jeśli zadanie nie jest trywialne). Pięć: wykonaj, zaznaczając zadania ukończone na bieżąco. Sześć: zweryfikuj — przeprowadź testy, sprawdź wynik, a nie tylko ogłaszaj sukces. Siedem: aktualizuj pamięć, jeśli sesja przyniosła spostrzeżenia warte kontynuacji.
Ruchy pierwszy i drugi to sekwencja startowa. Pomijanie ich jest najczęstszą przyczyną, dla której sesja od początku kończy się niepowodzeniem — agent nie znał reguły zapisanej w CLAUDE.md lub nie znał pamięci sprzężenia zwrotnego, która ukształtowałaby jego podejście. Obydwa pliki istnieją do odczytu; niezaczytanie ich jest równoznaczne z podjęciem nowej pracy i odmową przejrzenia dokumentów wprowadzających.
Ruch trzeci to najmniejszy krok i jeden z największych dźwigni. Ponowne sformułowanie zadania w jednym zdaniu przed jego rozpoczęciem pozwala uniknąć nieporozumień, choć są one nadal tanie. Sesje, które od razu zabierają się do pracy, często w szóstym ruchu odkrywają, że zbudowały niewłaściwą rzecz; przeniesienie polegające na przekształceniu uwzględnia to na początku.
Krok szósty – weryfikacja – to ten, który profesjonalni praktycy najczęściej internalizują, a początkujący najczęściej go pomijają. Edycja pliku to nie to samo, co naprawienie błędu. Uruchomienie npm test i odczytanie danych wyjściowych powie Ci, że poprawka zadziałała; zakładając, że tak było, ponieważ różnica wygląda prawidłowo, nic ci nie mówi. Egzamin wykrywa kandydatów, którzy mylą „dokonałem zmiany” z „zmiana działa”.
Ryc. 29.1 — Siedem ruchów. Dwa wyróżnione ruchy — powtórzenie zadania i weryfikacja — mają najwyższy wskaźnik wyłapywania prawdziwych błędów. Pozostałe je umożliwiają; wyróżnione to te, w których sesje same się ratują.
Rozdział 30 · Część III
Polecenia ukośnikowe i router umiejętności
Polecenia z ukośnikiem to skrót certyfikowanego architekta do wybranych możliwości. Kiedy użytkownik wpisze /plan, /goal lub /loop, nie pisze żądania w języku naturalnym — przywołuje konkretną umiejętność, element uprzęży z własnymi instrukcjami, narzędziami i zachowaniem. Część III zamyka się na tym schemacie, ponieważ łączy się z Częścią IV: umiejętności to sposób, w jaki zaawansowani użytkownicy tworzą Claude Code w środowisku dostosowanym do ich pracy.
Gramatyka mechaniczna jest prosta. Polecenie ukośnika to /<name>, po którym opcjonalnie następują argumenty. Interfejs CLI przechwytuje polecenie, wyszukuje pasującą umiejętność w katalogu umiejętności użytkownika i — jeśli taką znajdzie — ładuje instrukcje dotyczące tej umiejętności do sesji. Jeśli go nie znajdzie, interfejs CLI powróci do traktowania danych wejściowych jak zwykłego tekstu. Oto dlaczego wpisanie /help działa od razu: pomoc to wbudowana umiejętność; /madeup-thing jest po prostu przekazywany jako tekst.
Umiejętności znajdują się pod ~/.claude/skills/<name>/SKILL.md. Plik SKILL.md ma nakładkę YAML zawierającą nazwę umiejętności, opis i – co najważniejsze – frazy, które powinny ją uruchomić. Opis nie jest dokumentacją; jest to sygnał trasujący. Gdy wiadomość użytkownika przypomina opis, CLI może wywołać umiejętność nawet bez wyraźnego ukośnika. Jest to „router umiejętności” — warstwa routingu, która odwzorowuje zamiary użytkownika na wywołanie umiejętności.
Egzamin sprawdza, czy wiesz, jak pisać opisy umiejętności, które router uwielbia. Dobry opis określa cel umiejętności, zawiera listę konkretnych wyrażeń, które powinny ją uruchomić („użyj, gdy użytkownik wpisze /xyz, powie „uruchom xyz” lub chce coś xyz”) i wymienia sytuacje, w których powinna ona nie zostać uruchomiona. Opisy typu „robi wszystko” są dla routera bezużyteczne; szczegółowe opisy z wyraźnymi granicami zapewniają niezawodne wyznaczanie tras.
Polecenia i umiejętności ukośnika to punkt, w którym certyfikowany architekt zaczyna dostosowywać Claude Code do systemu operacyjnego, zamiast używać go jako narzędzia. Część IV omawia to szczegółowo – jak napisać haki, umiejętności i integracje MCP, które zamieniają CLI w środowisko ukształtowane na podstawie Twojej konkretnej pracy. Na razie wniosek jest taki, że polecenia ukośnikowe nie są ozdobą interfejsu użytkownika; są one punktami wejścia do całego systemu możliwości komponowania.
Ryc. 30.1 — Router. Wejście → router → umiejętność → wzbogacona sesja. Zadaniem routera jest dopasowanie zarówno jawnych poleceń z ukośnikiem, jak i fraz w języku naturalnym do opisów napisanych przez autorów umiejętności.
Część IV
Claude Code Zaawansowane
Hooki, umiejętności, konfiguracja MCP, drzewa robocze, GitHub CLI, uprawnienia w piaskownicy, higiena kontekstu. Gdzie Claude Code przestaje być narzędziem, a zaczyna być systemem operacyjnym dla terminala.
Rozdział 31 · Część IV
Hooki to skrypty powłoki, a nie agenci
Najczęściej testowanym faktem dotyczącym haków Claude Code jest to, że są to skrypty powłoki, a nie agenty. Działają poza pętlą modelu, nie mogą wywołać Claude'a, nie mogą wywołać narzędzi i nie mogą uzyskać dostępu do LLM. Są to deterministyczne pliki wykonywalne, które uruchamiają się w przypadku określonych zdarzeń, a traktowanie ich jako czegoś bardziej wyrafinowanego jest najczęstszym błędem kandydata w certyfikacji.
Pięć zdarzeń hakowych. PreToolUse uruchamia się przed wywołaniem narzędzia i może zablokować wywołanie poprzez wyjście z wartości niezerowej. PostToolUse uruchamia się po zakończeniu działania narzędzia i może sprawdzić lub zapisać wynik. Notification uruchamia się, gdy CLI chce powiadomić użytkownika (przekroczenie limitu czasu bezczynności, prośba o pozwolenie). Stop uruchamia się, gdy sesja dobiega końca. UserPromptSubmit uruchamia się, gdy użytkownik prześle wiadomość. Każde zdarzenie ma określony kształt wejściowy i określony kształt wyjściowy.
Mechanika: każdy hook to polecenie zadeklarowane w settings.json. Interfejs CLI wykonuje polecenie, przekazuje JSON przez standardowe wejście, opisujące zdarzenie i odczytuje standardowe wyjście polecenia jako JSON, który może modyfikować lub blokować zdarzenie. Kod wyjścia zero oznacza „zezwól, z dowolnymi modyfikacjami na standardowym wyjściu”; wartość różna od zera oznacza „blok, z dowolnym komunikatem w stderr pokazywanym użytkownikowi lub modelowi”.
Kanonicznym przykładem haka egzaminu jest hak PreToolUse, który rejestruje każde polecenie Bash w pliku audytu. Pięć linii powłoki — odczytaj JSON ze standardowego wejścia, wyodrębnij polecenie, dołącz je do pliku dziennika i wyjdź z zera. Deterministyczne, tanie, bezpieczne. Systemy wymagające kontroli traktują hooki jako infrastrukturę najwyższej klasy właśnie dlatego, że działają poza pętlą modelu i nie można ich ominąć.
Antywzorzec, który wykrywa egzamin, traktuje haki jako miejsca, w których można dodać „inteligentne” zachowanie. Jeśli hak musi dokonać oceny — „czy powinienem to zablokować, czy nie, w oparciu o to, co robi polecenie” — zostanie poproszony o bycie agentem i zakończy się niepowodzeniem. Profesjonalny wzorzec polega na użyciu haków dla zasady (blokowanie wszystkiego, co pasuje do tego wyrażenia regularnego, rejestrowanie wszystkiego, egzekwowanie tej konwencji) i przechowywanie wywołań osądów w pętli modelu, gdzie ich miejsce.
Ryc. 31.1 — Gdzie żyją hooki. Nad pętlą modelu i pod nią, nie w jej środku. Hooki to deterministyczny kod powłoki, który CLI uruchamia w twoim imieniu; model nie wie o ich istnieniu inaczej niż przez ich skutki.
Rozdział 32 · Część IV
Pisanie haka przed narzędziem
Kanonicznym hakiem przed narzędziem, którego napisanie oczekuje od ciebie egzamin, jest rejestrator audytu dla poleceń Bash. Za każdym razem, gdy model próbuje uruchomić polecenie powłoki, hak zapisuje polecenie do pliku dziennika przed jego przepuszczeniem. Całość mieści się w dwudziestu linijkach powłoki, a jednorazowe napisanie uczy cię całego kontraktu hakowego.
Pole matcher mówi „uruchamiaj ten hak tylko dla wywołań narzędzi Bash”. Inne narzędzia przechodzą nietknięte. polecenie to skrypt powłoki, który CLI wykona po dopasowaniu. Jeśli skrypt wyjdzie zera, wywołanie narzędzia będzie kontynuowane; jeśli jest niezerowe, wywołanie narzędzia jest blokowane i stderr jest zwracany do modelu.
Sam skrypt:
#!/usr/bin/env bash
payload=$(cat) — odczytaj ładunek JSON ze standardowego wejścia.
cmd=$(echo "$payload" | jq -r '.tool_input.command') — wyodrębnij pole polecenia.
To jest haczyk. Właściwości krytyczne dla egzaminu: czyta JSON ze stdin, wykonuje swoją pracę bez wywoływania żadnego LLM, kończy z kodem statusu interpretowanym przez CLI, generuje stderr tylko podczas blokowania. Aby zamienić ten sam skrypt w bloker, zamień exit 0 na znak kontrolny — if [[ "$cmd" == *"rm -rf /"* ]]; następnie powtórz echo „zablokowano” >&2; wyjście 1; fi — i teraz te same wzorce poleceń są odrzucane przed wykonaniem.
Ryc. 32.1 — Szkielet hooka. Stdin na wejściu, decyzja, stderr na komunikat przy blokadzie, kod wyjścia rozstrzyga. Dokładnie ten kształt egzamin oczekuje, że napiszesz z pamięci.
Rozdział 33 · Część IV
Umiejętności i frontman YAML
Umiejętność to plik przeceny z interfejsem YAML, który zawiera konkretną zdolność — instrukcje, których model powinien przestrzegać, gdy umiejętność zostanie wywołana, narzędzia, po które powinien sięgnąć, oraz frazy, które powinny ją uruchomić. Frontmateria nie jest ozdobą; jest to kontrakt, który router umiejętności odczytuje, aby zdecydować, co zrobić z wiadomością użytkownika.
Wymagane pola frontmaterii. name to krótki identyfikator kebaba, który staje się nazwą polecenia ukośnika (/<name>). opis to akapit — czasem kilka akapitów — opisujący, co robi umiejętność, kiedy ją wywołać, a kiedy nie. Opis ten jest najważniejszą częścią pliku umiejętności, ponieważ router używa go do dopasowania intencji użytkownika do wywołania umiejętności.
Pola opcjonalne, których znajomości oczekujesz od certyfikacji. model może określić preferowany model — Opus dla umiejętności wymagających intensywnego rozumowania, Haiku dla prostego wyznaczania tras. narzędzia może ograniczyć, z jakich narzędzi może korzystać dana umiejętność. allowed-tools zapewnia szczegółową kontrolę uprawnień. Zrozumienie, kiedy sięgnąć po każdy z nich — a kiedy je porzucić i pozwolić, aby uprząż korzystała z ustawień domyślnych — jest różnicą na poziomie certyfikacji.
Kontrakt opisowy warty internalizacji: nazwij cel umiejętności w jednym zdaniu, następnie wymień konkretne frazy wyzwalające („używaj za każdym razem, gdy użytkownik wpisze /xyz, powie „uruchom xyz” lub chce coś xyz”), następnie nazwij granice („NIE uruchamiaj dla sąsiadujących, ale różnych zadań”). Tak napisany opis daje routerowi jednoznaczny sygnał. Opis mówiący „robi rzeczy związane z xyz” jest naprawdę bezużyteczny dla routera, ponieważ router nie może dopasować się do wibracji.
Subtelniejszą dyscypliną jest higiena umiejętności. Każda napisana umiejętność dodaje opcję routingu; zbyt wiele opcji powoduje, że router jest mniej niezawodny. Przytnij umiejętności, które się powielają. Połącz umiejętności, które fragmentują pojedynczy przepływ pracy. Usuń umiejętności, których nie używałeś od trzech miesięcy. Wyselekcjonowany katalog umiejętności składający się z dziesięciu dobrze opisanych ścieżek umiejętności jest lepszy niż pięćdziesiąt nakładających się na siebie ścieżek — egzamin określa drugą jako antywzorzec.
Ryc. 33.1 — Struktura SKILL.md. Frontmatter (wyróżniony) czyta router; treść czyta model po wywołaniu. Oba się liczą; frontmatter — najpierw.
Rozdział 34 · Część IV
Konfiguracja serwera MCP w pliku settings.json
Claude Code ładuje serwery MCP zadeklarowane w bloku mcpServers pliku settings.json. Każdy wpis serwera ma nazwę, polecenie jego uruchomienia, argumenty i – co najważniejsze – mapę środowiska, która pozwala serwerowi otrzymać sekrety i konfigurację bez wyciekania ich przy każdym wywołaniu. Certyfikowany architekt zna zarówno kształt, jak i konsekwencje dla bezpieczeństwa.
Co to robi: na początku sesji Claude Code uruchamia npx -y @modelcontextprotocol/server-github jako podproces z określonym zestawem zmiennych środowiskowych. Podproces udostępnia interfejs MCP poprzez stdio, Claude Code przekazuje mu protokół MCP, a narzędzia deklarowane przez serwer stają się dostępne dla modelu wewnątrz sesji.
Pytanie egzaminacyjne dotyczące dziedziczenia środowiska. Domyślnie podproces dziedziczy środowisko CLI — dostępne są zatem PATH, HOME i inne standardowe zmienne. Blok env w konfiguracji dodaje lub zastępuje odziedziczone środowisko. Ma to znaczenie, ponieważ oznacza, że serwer MCP może uzyskać dostęp do sekretów z twojego środowiska powłoki, nawet jeśli nie umieściłeś ich w konfiguracji — co jest albo funkcją (brak powielania), albo funkcją footgun (przypadkowy wyciek), w zależności od tego, jak z niej korzystasz.
Dyscyplina bezpieczeństwa. Sekrety w settings.json to sekrety na dysku; jeśli plik jest przekazany do git, sekret również jest przekazywany. Profesjonalny wzorzec polega na przechowywaniu sekretów w plikach .env załadowanych do powłoki i odwoływaniu się do nich poprzez podstawienie ${VAR w konfiguracji — lub umieszczanie sekretów w settings.local.json, co wyklucza zalecane .gitignore. Tak czy inaczej, egzamin wymaga znajomości trybu awarii: zakodowane na stałe klucze tajne w zatwierdzonym pliku ustawień to antywzorzec zabezpieczeń.
Cykl życia serwera. Podproces rozpoczyna się wraz z uruchomieniem interfejsu CLI, pozostaje aktywny przez czas trwania sesji i kończy się po wyjściu interfejsu CLI. Jeśli serwer ulegnie awarii w trakcie sesji, interfejs CLI może go ponownie uruchomić lub nie, w zależności od typu serwera. Certyfikowany architekt projektuje integracje MCP przy założeniu, że serwer może zostać ponownie uruchomiony — nie ma stanu wyłącznie w pamięci, na którym opiera się model podczas ponownego uruchamiania.
Ryc. 34.1 — Podłączanie serwera MCP. settings.json go deklaruje, CLI go uruchamia, stdio przenosi protokół, warstwy środowiska się scalają. Sekrety należą do settings.local.json, nie do commitowanego pliku.
Rozdział 35 · Część IV
Drzewa robocze do pracy w izolacji
Drzewo robocze git to drugi katalog roboczy dołączony do tego samego repozytorium, ale wskazujący na inną gałąź. Claude Code przedstawia zarządzanie drzewami roboczymi jako narzędzia najwyższej klasy — EnterWorktree i ExitWorktree — ponieważ drzewa robocze są najczystszą odpowiedzią na pytania „Chcę tego spróbować bez angażowania się w to” i „Chcę pracować na dwóch gałęziach jednocześnie bez ukrywania”.
Zaletą mechaniczną jest izolacja. Zamiast przełączać gałęzie w głównym katalogu roboczym (który przechowuje niezatwierdzone zmiany i może powodować konflikty scalania przy przełączaniu wstecz), tworzysz drzewo robocze w osobnej ścieżce z zaznaczoną oddzielną gałęzią. Twój główny katalog roboczy pozostaje dokładnie taki, jaki był; drzewo pracy to równoległy wszechświat, w którym możesz eksperymentować i który możesz odrzucić.
Integracja z Claude Code: kiedy tworzysz podzadanie Agent z isolation: "worktree", CLI automatycznie tworzy nowe drzewo robocze, uruchamia w nim podagenta i — jeśli subagent nie wprowadza żadnych zmian — automatycznie czyści drzewo robocze. Jeśli subagent dokona zmian, interfejs CLI zwróci ścieżkę drzewa roboczego i nazwę gałęzi, dzięki czemu będzie można je przejrzeć lub scalić. Automatyczne czyszczenie bez zmian to ergonomiczny szczegół, który sprawia, że drzewa robocze są bezpieczne i można po nie sięgnąć swobodnie.
Kiedy drzewa robocze zasługują na swoje utrzymanie: ryzykowne refaktoryzatory, które możesz chcieć porzucić, eksploracyjne prototypy, równoległa praca na wielu gałęziach, uruchamianie testów w jednej gałęzi podczas edytowania innej. Kiedy drzewa robocze są przesadą: edycja pojedynczych plików, krótkotrwałe eksperymenty, praca, którą i tak byś wykonał. Ocena – izolować lub nie – jest rozróżnieniem na poziomie certyfikacji.
Subtelniejszym punktem jest drzewo pracy higiena. Drzewa robocze kumulują się. Pozostawione nieoczyszczone stają się katalogiem pełnym niedokończonych eksperymentów, a sam git staje się wolniejszy, ponieważ śledzi je wszystkie. Profesjonalną praktyką jest okazjonalne gitowanie listy drzew roboczych i czyszczenie tych, których nie używasz — automatyczne czyszczenie w przypadku braku zmian pomaga, ale nie obejmuje drzew roboczych, które wygenerowały zmiany, o których później zapomniałeś.
Ryc. 35.1 — Jedno repozytorium, dwa katalogi. Oba worktree współdzielą to samo repozytorium git; każdy ma własną wyewidencjonowaną gałąź i własne pliki robocze. Izolacja jest tania; porzucenie jest tanie.
Rozdział 36 · Część IV
Praca z GitHubem poprzez gh
Interfejs CLI GitHub — gh — to preferowany przez egzamin sposób komunikacji Claude'a Code z GitHub. Nie interfejs API REST wywoływany przez curl, nie ręcznie zwijane opakowanie octokit, a nie serwer GitHub MCP w przypadku większości zadań. Polecenie gh jest uwierzytelnione, dobrze udokumentowane i generuje taki sam kształt wyjściowy, jaki zobaczyłby człowiek korzystający z interfejsu CLI. Certyfikowany architekt sięga po to domyślnie.
Polecenia, których oczekuje egzamin w pamięci mięśniowej. gh pr create, aby otworzyć PR. gh pr view do sprawdzenia. gh pr lista do wyliczenia. gh pr sprawdza, aby zobaczyć status CI. gh pr merge, aby scalić (z ostrożnymi flagami). gh problem utwórz/wyświetl/listę w przypadku problemów. gh wykonanie przepływu pracy, aby wysłać przepływ pracy. gh run watch, aby śledzić trwający bieg. gh api jako wyjście awaryjne dla punktów końcowych bez dedykowanych poleceń.
Konkretne wzorce, które warto zinternalizować. Treść PR za pośrednictwem HereDOC, aby zachować formatowanie: gh pr create --title "..." --body "$(cat <<'EOF' ... EOF)". Obserwowanie przebiegu przepływu pracy do końca, aby agent wiedział, co faktycznie powiedział CI: gh run watch $run_id. Wyświetlanie komentarzy PR w celu wyświetlenia opinii na temat recenzji: gh api repos/owner/repo/pulls/N/comments. Każdy z nich pojawił się we wcześniejszych wersjach egzaminu.
Anty-wzorce. Użycie git push origin HEAD:refs/pull/N/head w celu wymuszenia aktualizacji PR; gh ma do tego lepsze narzędzia. Ręczne konstruowanie adresów URL GitHub; gh podaje kanoniczny adres URL. Pomijanie sprawdzania gh pr przed połączeniem; status CI to ostatni uczciwy sygnał przed podjęciem decyzji na stałe. Egzamin uwzględnia wszystkie trzy błędy na poziomie certyfikacji.
Subtelniejsza dyscyplina, jakiej oczekuje egzamin: polecenia gh mogą nie być interaktywne w przypadku skryptu (--yes, --json), co pozwala Claude Code połączyć operacje GitHub w pętlę agenta bez podpowiedzi ze strony człowieka. Ale to ujawnia regułę: interfejs CLI musi być najpierw zalogowany (gh auth login), a sekrety lub tokeny nigdy nie powinny pojawiać się w transkrypcji agenta. Uwierzytelnienie jest jednorazowym działaniem człowieka; użycie jest skryptowe.
Ryc. 36.1 — Trzy rodziny poleceń. PR-y, przepływy pracy, cała reszta. Środkowa kolumna to ta, która zamyka pętlę informacji zwrotnej CI; egzamin sprawdza, czy używasz gh run watch albo po prostu nadzieja.
Rozdział 37 · Część IV
Uprawnienia w piaskownicy
Sandboxing to dyscyplina polegająca na uruchamianiu agenta z najwęższym zestawem uprawnień, który pozwala mu wykonywać użyteczną pracę. Jest to model równoległy do modelu uprawnień typu „zapytaj o narzędzie” (rozdział 28), ale różni się od niego. Tam, gdzie uprawnienia ograniczają indywidualne wywołania narzędzi, piaskownica kształtuje to, czego może próbować cała sesja.
Cztery praktyczne poziomy piaskownicy, które egzamin ma wymienić. Tylko do odczytu — agent może sprawdzić wszystko, ale niczego nie zmieniać; wykorzystywane do eksploracji, audytów i sesji przeglądu kodu. Tylko do edycji — agent może modyfikować pliki, ale nie może uruchamiać poleceń powłoki; używane, gdy chcesz przejrzeć polecenia przed wykonaniem. Pełna zatwierdzenie — agent może zrobić wszystko, ale nie zatwierdzasz każdego polecenia powłoki; wartość domyślna dla pracy interaktywnej. Automatyzacja — agent działa bez podpowiedzi; zarezerwowane dla CI, cron i innych nieinteraktywnych kontekstów.
Przejście na poziom certyfikacji polega na dopasowaniu piaskownicy do zadania, a nie na domyślnym najbardziej luźnym poziomie dla wygody. Sesja przeglądu kodu nie powinna mieć dostępu do powłoki. Sesja „przeczytaj to repozytorium i powiedz mi, co robi” nie powinna mieć uprawnień do edycji. Sesja „implementuj funkcję X i otwieraj PR” wymaga obu; sesja „eksploracji bazy kodu” nie wymaga żadnego z nich. Świadomość tego jest tym, co odróżnia architekta od użytkownika, który po prostu akceptuje każdą sugestię.
Badanie sprawdza antywzorzec eskalacji na żądanie — działający od początku w trybie swobodnym, „ponieważ możesz go potrzebować”. Jest to przeciwieństwo sandboxingu. Prawidłowy wzorzec polega na rozpoczęciu od wąskiego i poszerzania, gdy pojawia się konkretna potrzeba; tarcie monitu o pozwolenie jest sygnałem, że zadanie prosi o możliwości, których piaskownica nie przyznała, co często jest sygnałem, że zadanie oddala się od pierwotnego zakresu.
Subtelniejszą dyscypliną jest piaskownica na katalog. Twój projekt ~/APPS/appai może wymagać szerszych uprawnień niż projekt ~/APPS/production-critical. Ustawianie piaskownic dla każdego projektu za pośrednictwem pliku .claude/settings.local.json pozwala uniknąć tarcia — katalogi o dużej wartości są dokładniej sprawdzane, a eksploracyjne — więcej swobody. Ogólny globalny sandboxing to tępe narzędzie; na katalog jest klasy profesjonalnej.
Ryc. 37.1 — Dopasuj sandbox do zadania. Długość paska to możliwości; węższy jest bezpieczniejszy. Egzamin premiuje architektów, którzy wybierają najciaśniejszy sandbox, w którym zadanie wciąż da się wykonać.
Rozdział 38 · Część IV
Kontekst Higiena podczas zagęszczania
Kompaktowanie ma miejsce, gdy sesja Claude Code staje się wystarczająco długa, aby interfejs CLI podsumował wcześniejsze tury, aby utrzymać efektywny kontekst poniżej limitu okna. Podsumowanie zachowuje kształt tego, co się wydarzyło, ale pomija drobne szczegóły. Sesje, które nie są projektowane pod kątem zagęszczania, tracą kontekst nośny i zaczynają zachowywać się tak, jakby wcześniejsza praca nigdy nie miała miejsca.
Cztery rzeczy, które niezawodnie wytrzymują zagęszczenie. Podpowiedź systemowa pozostaje nietknięta. CLAUDE.md ładuje się świeżo przy każdej turze. Lista zadań pozostaje niezmieniona (rozdział 27). Pliki pamięci można ponownie odczytać na żądanie. Wszystko inne – zapis tego, co Ty i agent powiedzieliście i zrobiliście w ciągu ostatnich N tur – podlega podsumowaniu, a podsumowanie może utracić szczegóły, które później okażą się istotne.
Certyfikowany architekt projektuje sesje tak, aby stan nośny przetrwał w trwałych warstwach. Jeśli agent w połowie sesji zdecyduje, że nigdy nie powinien dotykać określonego pliku, decyzja ta zostanie umieszczona na liście zadań lub w zaktualizowanej pamięci, a nie w przechodzącym zdaniu ukrytym w turze 12. Jeśli użytkownik podał ograniczenie krytyczne w turze 3, ponowne przedstawienie go w kolejnym zadaniu TaskCreate jest tanim zabezpieczeniem przed podsumowaniem ograniczenia.
Pytanie o zagęszczenie kanoniczne egzaminu. Agent pracujący przez długi refaktoryzator zapomina po dwudziestu obrotach, że określony plik został uznany za poza zakresem. Co poszło nie tak? Odpowiedź nie brzmi: „model jest zawodny”; odpowiedź jest taka, że deklaracja wykraczająca poza zakres żyła tylko w rozmowie, została podsumowana, a podsumowanie jej nie zachowało. Rozwiązaniem jest zapisanie ograniczenia w miejscu, które przetrwa zagęszczenie — elemencie TaskCreate, aktualizacji CLAUDE.md i pamięci.
Subtelniejszą dyscypliną jest wiedza, kiedy rozpocząć nową sesję. Czasami właściwym posunięciem w przypadku długotrwałego projektu nie jest jego kontynuacja i kompaktowanie, ale zakończenie sesji, uchwycenie stanu w pamięci i rozpoczęcie od nowa. Świeża sesja z dobrze zaktualizowanymi wspomnieniami często przewyższa skompresowaną sesję z niejasną historią — egzamin oczekuje, że architekci to rozpoznają i zastosują się do nich, zamiast kontynuować w nieskończoność.
Ryc. 38.1 — Dwie warstwy. Powyżej — warstwa przejściowa, która kurczy się przy kompaktowaniu. Poniżej — warstwa trwała, która się nie kurczy. Stan nośny należy umieszczać poniżej linii.
Rozdział 39 · Część IV
Subagenci z CLI
Claude Code udostępnia kilka wbudowanych typów podagentów za pomocą narzędzia Agent: Eksploruj w celu rozpoznania bazy kodu tylko do odczytu, Plan do pracy z architekturą w trybie projektowania, ogólnego przeznaczenia do zadań otwartych. Każdy ma specyficzny charakter; każdy jest właściwym narzędziem do określonego rodzaju pracy; a certyfikowany architekt wie, po co sięgnąć.
Eksploruj to szybki agent wyszukiwania tylko do odczytu. Użyj go, aby zlokalizować kod, grep dla symboli, odpowiedz „gdzie zdefiniowano X”. Czyta fragmenty, a nie całe pliki, więc nie nadaje się do przeglądania projektów lub pracy nad spójnością między plikami. Sięgnij po niego, gdy pytanie dotyczy wyszukiwania — „znajdź każdego wywołującego tę funkcję”, „gdzie jest oprogramowanie pośredniczące do uwierzytelniania”, „jakiego wzorca używa baza kodu do obsługi błędów”.
Plan jest architektem. Praca w trybie projektowania — strategia wdrożenia, analiza kompromisów, sekwencjonowanie. Agenci planowania zwracają plany krok po kroku i identyfikują krytyczne pliki, ale nie wykonują ich; wychodzą i oddają plan, abyś mógł uciec. Sięgaj po Plan, gdy potrzebujesz kogoś, kto pomyśli o podejściu, a nie o wykonaniu pracy.
Ogólnego przeznaczenia to koń pociągowy. Jeśli zadanie jest wieloetapowe, złożone lub nie pasuje do wyspecjalizowanego agenta, domyślnym ustawieniem jest zadanie ogólnego przeznaczenia. Posiada wszystkie narzędzia i może wykonać kompleksowo. Kosztem jest brak specjalizacji — agent ogólnego przeznaczenia wykonujący zadanie polegające wyłącznie na wyszukiwaniu to przesada w porównaniu z Eksploracją.
Specyficzny test egzaminu: przy danym zadaniu wybierz odpowiedni typ subagenta. „Znajdź, gdzie zaimplementowano logikę ponawiania prób” → Eksploruj. „Czy powinniśmy przejść na architekturę opartą na kolejkach?” → Zaplanuj. „Zaimplementuj tę funkcję kompleksowo” → ogólnego przeznaczenia. Złe typy działają, ale są nieefektywne; certyfikat nagradza właściwy wybór.
Uniwersalna zasada odprawy niezależnie od typu subagenta: subagent rozpoczyna pracę bez kontekstu z Twojej sesji. Wszystko, co musi wiedzieć – ścieżki plików, wcześniejsze decyzje, ograniczenia, standardy – musi być zawarte w podpowiedzi. Zwięzłe odprawy generują bzdury niezależnie od wybranego typu podagenta; dobrze przeszkolony agent ogólnego przeznaczenia za każdym razem jest lepszy od słabo przeszkolonego agenta specjalistycznego.
Ryc. 39.1 — Wybierz typ. Wyszukaj → Explore. Zaprojektuj → Plan. Zrób → ogólnego przeznaczenia. Pytanie egzaminacyjne o subagentów to zwykle po prostu „który z tych typów pasuje do zadania?”
Rozdział 40 · Część IV
Debugowanie samego kodu Claude'a
Certyfikowany architekt nie zgaduje, kiedy sesja Claude Code zaczyna się dziwnie zachowywać. Wiedzą, gdzie szukać: konfigurację, transkrypcję, ostatnie zmiany ustawień, logi przechwytywania. Część IV kończy się na tym, ponieważ przekształca wiązkę przewodów z czarnej skrzynki w oprzyrządowany system, który można zdiagnozować jak każdy inny element oprogramowania.
Powierzchnia debugowania, którą oferuje Claude Code. Inspekcja konfiguracji: /config w sesji zrzuca efektywną konfigurację, łącząc ustawienia globalne i projektowe. Plik transkrypcji: pełna historia tur każdej sesji jest zapisywana w ~/.claude/projects/<project-hash>/ i można ją sprawdzić po fakcie. Pełne rejestrowanie: uruchomienie z claude --verbose zapisuje szczegóły wywołań narzędzi do stderr w czasie rzeczywistym. Dzienniki haków: każdy napisany hak ma strumień wyjściowy, który możesz sprawdzić.
Najważniejsze tryby awarii i ich informacje. „Agent nie używa mojej niestandardowej umiejętności” → sprawdź opis umiejętności; router prawdopodobnie nie pasuje. „Haczyk ciągle się blokuje” → sprawdź stderr haka w transkrypcji. „Ciągle wyświetla się monit o uprawnienia” → Twoja lista dozwolonych nie jest wystarczająco szczegółowa lub pracujesz nad innym projektem, niż myślałeś. „Agent o czymś zapomniał” → sprawdź, czy granica zagęszczenia przekroczyła kontekst nośny.
Subtelniejszy tryb awarii to cichy — sesja działa, ale nieznacznie źle i nie wiadomo dlaczego. Zwykle jest to problem dryfowania pliku CLAUDE.md: ktoś dodał regułę do pliku CLAUDE.md, zgodnie z którą model podąża teraz w sposób, którego się nie spodziewałeś. Przeczytaj plik CLAUDE.md od końca do końca, gdy zachowanie sesji będzie nieodpowiednie; odpowiedzią jest często zasada, o której zapomniałeś.
Część IV zapewnia zaawansowaną powierzchnię — haki, umiejętności, serwery MCP, drzewa robocze, gh, piaskownice, kompaktowanie, podagenci i debugowanie. Część V przenosi materiał z Claude Code w szerszą formę architektury agentycznej, w której te same prymitywne elementy — orkiestrator, pracownik, narzędzie, subagent — pojawiają się w każdym wartym zbudowania systemie sztucznej inteligencji.
Ryc. 40.1 — Od objawu do poprawki. Sześć częstych złych zachowań przypisanych do tego, gdzie szukać i co zwykle zmienić. Środkowa kolumna to diagnostyczny instynkt, który certyfikowany architekt wyrabia praktyką.
Część V
Architektura agentyczna
Kiedy już potrafisz podpowiedzieć i potrafisz obsługiwać Claude Code, następna skala składa się z systemów — koordynatorów, pracowników, subagentów, wywołań narzędzi w pętlach. Tutaj żyją najgęstsze wzorce certyfikacji, bo to właśnie tam w 2026 roku będzie budowana większość rzeczywistych systemów produkcyjnych.
Rozdział 41 · Część V
Pętla agenta, sformalizowana
W rozdziale 24 przedstawiono czteroetapową pętlę w pojedynczej sesji Claude Code. Część V przyjmuje ten sam kształt i formalizuje go jako ogólny wzorzec każdego systemu agentowego, niezależnie od tego, czy system ten działa w interfejsie CLI, na serwerze, w zadaniu wsadowym, czy w produkcie skierowanym do klienta. Pętla jest taka sama; zmienia się otaczający kod.
Formalnie: agent to program, który wielokrotnie (1) odczytuje stan, (2) uzasadnia go za pomocą wywołania LLM, (3) podejmuje akcję (zwykle wywołanie narzędzia) i (4) odczytuje wynik, przekazując go z powrotem do stanu do następnej iteracji. Zakończenie ma miejsce, gdy model zwraca odpowiedź bez wywołań narzędzi — agent decyduje, że to już koniec. To jest cały wzór; wszystko inne jest ozdobą.
Stan, jaki agent przenosi pomiędzy iteracjami, obejmuje historię konwersacji, wyniki narzędzia i całą pamięć zewnętrzną utrzymywaną przez wiązkę przewodów. Stan nie to wszystko, czego agent nie załadował jawnie — system plików, baza danych, świat w ogóle — a wszystko to agent może zobaczyć jedynie za pomocą narzędzi. To właśnie sprawia, że narzędzia są tak prymitywne: są jedynym pomostem agenta do rzeczywistości.
Warunek zakończenia zasługuje na więcej uwagi, niż dają to początkujący. Agent, który nigdy nie kończy pętli w nieskończoność; agent, który kończy pracę zbyt chętnie, odchodzi przed wykonaniem zadania. Dobrze zaprojektowane agenty mają w swoich instrukcjach wyraźne kryteria zatrzymania — „kiedy testy zakończą się pomyślnie”, „kiedy produkt zostanie wyprodukowany”, „po najwyżej 20 iteracjach” — które dają modelowi jednoznaczny sygnał, kiedy zakończyć.
Pytanie dotyczące pętli kanonicznej egzaminu sprawdza cztery tryby awarii: nieskończona pętla (brak kryterium zakończenia), przedwczesne zakończenie (zły sygnał stopu), uszkodzenie stanu (dryfty pamięci pętli) i niepowodzenie obserwacji (model ignoruje wyniki narzędzia). Każdy prowadzi do określonego miejsca w pętli; środki łagodzące mają charakter strukturalny, a nie polegający na natychmiastowym poprawianiu.
Ryc. 41.1 — Ogólna pętla agenta. Stan, rozumowanie, działanie, obserwacja, powtórzenie — albo zakończenie. Ścieżkę zakończenia początkujący zapominają; egzamin oczekuje, że zaprojektujesz ją jawnie.
Rozdział 42 · Część V
Orkiestrator i pracownik
Najczęściej badanym wzorcem architektonicznym w CSW jest orkiestrator i pracownik. Jeden agent — orkiestrator — planuje, wyznacza trasy i współrzędne. Wielu innych agentów – pracowników – wykonuje określone zadania. To podzielone skale; monolityczny projekt z jednym agentem tego nie robi. Zrozumienie dlaczego jest celem tego rozdziału.
Dlaczego pojedynczy agent uderza w sufit: kontekst. Monolityczny agent obsługujący złożone zadanie przenosi całe rozumowanie pośrednie, wszystkie wyniki narzędzi i całą pamięć roboczą w jednej rosnącej rozmowie. Zanim zakończy krok dziesiąty, jego kontekst jest pełen szczegółów z kroku pierwszego, które nie mają już znaczenia, a jego zdolność do wnioskowania o kroku jedenastym uległa pogorszeniu, ponieważ spadł stosunek sygnału do szumu.
Dlaczego podział koordynatora i pracownika rozwiązuje ten problem: każdy pracownik zaczyna od świeżego, czystego kontekstu skupionego tylko na jego konkretnym podzadaniu. Koordynator nigdy nie gromadzi wszystkich szczegółów wykonania żadnego pracownika — otrzymuje jedynie podsumowanie, którego potrzebuje, aby zaplanować następny krok. To nie jest „modularność” jako estetyka kodu; jest to ograniczenie strukturalne, które utrzymuje stos agentów w odpowiedniej skali.
Sondy egzaminacyjne dotyczą konkretnych punktów decyzyjnych. Kiedy zadanie wymaga orkiestratora? Kiedy rozkłada się na wiele merytorycznych podzadań, z których każde może być oddzielną sesją. Kiedy wystarczy jeden agent? Kiedy zadanie jest małe lub gdy podzadania mają tak wspólny kontekst, że podział oznaczałby marnowanie wysiłku. Orzeczenie to wyróżnienie na poziomie certyfikacji, które egzamin sprawdza bezpośrednio.
Architektura betonowa. Podpowiedź koordynatora opisuje cel i dostępnych pracowników. Jego narzędzia obejmują narzędzie do tworzenia Agenta, które umożliwia wysyłanie podzadań. Każdy pracownik otrzymuje krótki opis opisujący jego podzadanie, dane wejściowe i oczekiwany kształt wyników. Proces roboczy wykonuje, zwraca wynik koordynatorowi i kończy działanie. Orkiestrator kontynuuje swój plan, korzystając z nowych informacji. Spłucz, powtórz, zakończ.
Ryc. 42.1 — Podział. Orkiestrator na górze z planem; wykonawcy poniżej z realizacją. Kontekst każdego wykonawcy pozostaje czysty; kontekst orkiestratora pozostaje wysokopoziomowy. Nikt nie tonie.
Rozdział 43 · Część V
Subagenci i izolacja kontekstu
Subagent zyskuje nowy kontekst. To jedno zdanie to najczęściej sprawdzany fakt dotyczący subagentów na egzaminie CCA i cecha, która w ogóle czyni ich przydatnymi. Kiedy odradzasz subagenta, nie dziedziczy on historii konwersacji z bieżącej sesji — zaczyna tylko od tego, co przekazałeś w jego podpowiedzi. To jest funkcja; to właśnie sprawia, że wzorzec koordynator-pracownik faktycznie się skaluje.
Konsekwencja praktyczna pierwsza: wszystko, co subagent musi wiedzieć, musisz umieścić w znaku zachęty. Każdą ścieżkę, każde ograniczenie, każdą wcześniejszą decyzję, która kształtuje jego zadanie. „Kontynuuj to, co robiliśmy” jest bez znaczenia dla subagenta. „Przeczytaj plik w ~/APPS/x/config.ts i zmień limit czasu z 30 s na 60 s, zgodnie ze wzorcem widocznym w ~/APPS/y/config.ts” to kształt zachęty, którą subagent może faktycznie wykonać.
Praktyczna konsekwencja druga: kontekst subagenta pozostaje czysty. Nie gromadzi nieistotnej historii z Twojej wcześniejszej pracy; nie musi przesiewać pięćdziesięciu obrotów kontekstu, aby znaleźć instrukcje. Cały jego kontekst jest skoncentrowany na zadaniach, co zwykle zapewnia wyższą jakość wyników niż monolityczny agent wykonujący to samo zadanie po pięćdziesiątce długiej sesji.
Praktyczna konsekwencja trzecia: kontekst subagenta jest usuwany pod koniec jego działania. Cokolwiek wyszło – rozumowanie pośrednie, wywołania narzędzi, eksploracja – zostało utracone. Do dzwoniącego wraca tylko to, co subagent zwróci jako końcową wiadomość. Dlatego tak ważny jest kształt zwrotu subagenta; jeśli nie podsumuje tego, czego się nauczył, nauka przeminie.
Implikacje projektowe, które bada badanie: nigdy nie wysyłaj podagenta do badania i raportowania bez poproszenia go o podjęcie konkretnych decyzji. Podagent, który zwraca „Oto, co znalazłem” bez podejmowania działań w związku z ustaleniami, marnuje podróż w obie strony; do czasu, gdy przywołasz kolejnego subagenta do działania, jego kontekst nie będzie obejmował eksploracji pierwszego subagenta. Albo połącz eksplorację i działanie w jednym subagencie, albo użyj Eksploracji (która jest przeznaczona do czystego rozpoznania i oczekuje tylko tekstu zwrotnego).
Ryc. 43.1 — Granica izolacji. Dwie przerywane strzałki przez płot: brief do środka, podsumowanie na zewnątrz. Wszystko inne zostaje po stronie subagenta i jest odrzucane, gdy kończy pracę.
Rozdział 44 · Część V
Narzędzie kontra subagent: decyzja
Certyfikowany architekt wie, kiedy sięgnąć po narzędzie, a kiedy po subagenta. Egzamin szczegółowo bada to rozróżnienie, ponieważ jest to jedna z najczęściej nadużywanych decyzji w architekturze agentowej — większość początkujących nadużywa subagentów tam, gdzie wystarczyłoby narzędzie, w wyniku czego systemy są wolniejsze, droższe i mniej niezawodne, niż powinny.
Test składający się z jednego pytania: czy zadanie wymaga oceny, czy jest to czyste obliczenie? Jeśli jest to czyste obliczenie — zapytanie do bazy danych, obliczenie, wywołanie API ze zdefiniowanymi wejściami i wyjściami, transformacja pliku — jest narzędziem. Jeśli wymaga to zdolności rozumowania modelu do dokonywania wyborów, rozważania kompromisów lub interpretowania niejednoznaczności, jest subagentem.
Przykłady narzędzi: „sprawdź aktualną cenę akcji X”, „uruchom to zapytanie SQL”, „oblicz skrót tego pliku”, „opublikuj ten ładunek webhooka”, „zmień rozmiar tego obrazu na 512 × 512”. Każdy z nich ma zdefiniowany kontrakt wejścia/wyjścia. Modelka nie musi myśleć; potrzebuje funkcji.
Przykłady podagentów: „przeanalizuj ten temat i podsumuj wnioski”, „przejrzyj to żądanie operacyjne i zaproponuj ulepszenia”, „zaprojektuj schemat dla tych danych”, „debuguj ten test, który zakończył się niepowodzeniem”. Każde z nich wymaga oceny, eksploracji lub syntezy. Wywołanie narzędzia załamałoby przestrzeń prawidłowych odpowiedzi na coś, co może wygenerować stała funkcja, co jest dokładnie błędną redukcją.
Krok na poziomie certyfikacji polega na rozpoznaniu, kiedy zadanie wygląda jak wymaga podagenta, ale w rzeczywistości jest ukrytym narzędziem. „Uzyskanie najnowszego zamówienia użytkownika” nie jest zadaniem podagenta, mimo że wiąże się z koncepcją użytkownika — jest to przeszukiwanie bazy danych, które jest narzędziem. Egzamin obejmuje systemy, które sięgają po subagentów do zadań o charakterze narzędziowym jako anty-wzorce; płacisz więcej, czekasz dłużej i otrzymujesz mniej spójne wyniki.
Ryc. 44.1 — Jedno pytanie. Obliczenie czy osąd? Odpowiedź rozstrzyga, czy sięgasz po wywołanie narzędzia, czy uruchamiasz subagenta. Zły wybór to ulubiony błąd architektoniczny egzaminu.
Rozdział 45 · Część V
Równoległe a sekwencyjne wywołania narzędzi
Claude może jednocześnie wywoływać wiele narzędzi w jednej odpowiedzi — co zapewnia znaczną przewagę w zakresie opóźnień, gdy narzędzia nie są od siebie zależne. Certyfikowany architekt zna zarówno mechanikę (jak skonstruować żądanie generujące wywołania równoległe), jak i pułapkę (rozpoznaje, kiedy wywołania, które wyglądają na niezależne, w rzeczywistości mają ukrytą zależność).
Mechanika: kiedy model emituje odpowiedź, może wygenerować po kolei wiele bloków tool_use. Zarówno Anthropic SDK, jak i Claude Code domyślnie wykonują je równolegle, jeśli to możliwe. Język podpowiedzi, który niezawodnie wywołuje takie zachowanie, jest bezpośredni — „jeśli chcesz pobrać wiele informacji, wykonaj wszystkie wywołania narzędzi równolegle w jednej odpowiedzi” — umieszczony w górnej części monitu systemowego.
Ogólna zasada: równoległość jest właściwa, gdy wyjścia wywołań są naprawdę niezależne. Pobieranie trzech różnych plików, wywoływanie trzech różnych interfejsów API, których odpowiedzi nie wpływają na siebie nawzajem, uruchamianie trzech zapytań tylko do odczytu względem różnych danych — wszystko jest bezpieczne równolegle. Sekwencyjne ma rację, gdy wywołanie B musi użyć wyniku wywołania A — musisz najpierw uruchomić A, potem B i mając nadzieję, że nałożą się na siebie, spowoduje to po prostu zepsute wyjście.
Ulubiona pułapka egzaminu. „Agent musi przeczytać konfigurację X, a następnie zastosować ustawienie Y z tej konfiguracji do pliku Z”. Kandydat identyfikuje read-config i Apply-setting jako dwa wywołania narzędzi i zastanawia się, czy mogą one działać równolegle. Nie mogą; druga zależy od wyniku pierwszego. Pułapka polega na tym, że obie operacje powierzchownie dotyczą „plików”, więc wyglądają na równoległe, podczas gdy w rzeczywistości są uporządkowane według zależności danych.
Subtelniejszy wzór to wsadowo równoległe: jeśli masz wiele niezależnych operacji, podziel je na równoległe grupy. Odczytanie dwudziestu plików to pojedyncza odpowiedź z dwudziestoma wywołaniami narzędzia Read, a nie dwadzieścia kolejnych rund. Może to skutkować 10-krotnym zwiększeniem opóźnień w pracy związanej z we/wy i jest to nawyk na poziomie certyfikatu, za który oceniany jest egzamin.
Ryc. 45.1 — Dwa kształty, jedna odpowiedź. Niezależne wywołania zwijają trzy rundy w jedną; zależne nie mogą. Pułapka polega na tym, by wypatrzyć ukryte zależności, zanim zaczniesz optymalizować pod równoległość.
Rozdział 46 · Część V
Odprawa subagenta
Najważniejszą umiejętnością koordynowania podagentów jest przeszkolenie ich. Dobrze przeszkolony subagent wykonuje użyteczną pracę podczas jednej podróży w obie strony; słabo przeszkolony produkuje ogólny wypełniacz, który należy przerobić. Briefing to inżynieria, a nie pisanie, a egzamin wymaga znajomości jego zasad.
Zasada pierwsza: pełny kontekst z przodu. Podagent zaczyna się od pustego. Wszystko, czego potrzebuje — cel, ograniczenia, ścieżki plików, wcześniejsze decyzje, standardy, których należy przestrzegać, format do zwrócenia — musi znajdować się w monicie. Załóżmy, że nic się nie przenosi; załóż, że subagent nie przeczytał ani jednej linii twojego projektu.
Zasada druga: brak syntezy po stronie subagenta. Nie pisz „wymyśl, jaki powinien być X, a następnie go zaimplementuj”. Napisz „X powinno być Y, ponieważ Z; zaimplementuj X = Y w pliku ścieżka/do/pliku”. Synteza to twoje zadanie; zadaniem subagenta jest wykonanie dobrze określonego zadania. Delegowanie syntezy podagentowi ze świeżym kontekstem daje odpowiedzi niskiej jakości, ponieważ subagentowi brakuje kontekstu, który umożliwiłby mu dobrą syntezę.
Zasada trzecia: określ kształt powrotu. „Zgłoś listę dziurkowanych — wykonaną lub brakującą, poniżej 200 słów” to specyfikacja kształtu zwracanego. „Daj mi streszczenie” nie jest. Dane wyjściowe subagenta wracają do Twojej sesji jako tekst; jeśli kształt jest nieokreślony, otrzymasz taki, jaki model chciał wyprodukować, co często nie nadaje się do dalszej pracy, którą miałeś na myśli.
Zasada czwarta: dopasuj długość briefu do rozmiaru zadania. Jednowierszowa odprawa dotycząca piętnastominutowego zadania prowadzi do śmieci. Odprawa składająca się z trzech akapitów dotycząca trzydziestu sekund zadania jest nad głową. Egzamin traktuje obie skrajności jako anty-wzorce. Skalibruj wysiłek związany z briefem do wartości dobrego wykonania — subagent spędzi mniej więcej tyle samo czasu, ile ty spędziłeś, czyli odpowiednio krótko.
Ryc. 46.1 — Cztery sekcje. Cel, kontekst, ograniczenia, kształt zwrotu. Pomiń którykolwiek z czterech, a wynik subagenta się pogorszy. Uwzględnij wszystkie cztery, a dostaniesz wykonanie za jednym podejściem.
Rozdział 47 · Część V
Ufaj, ale sprawdzaj
Wiadomość zwrotna subagenta opisuje, co subagent zamierzał zrobić , niekoniecznie to, co faktycznie zrobił. Jedno i drugie może się różnić. Certyfikowany architekt nigdy nie traktuje podsumowania podagenta jako wiarygodnego, gdy artefakt — plik, różnica, wdrożony system — jest dostępny do bezpośredniej kontroli.
Tryb awaryjny ma specyficzny kształt. Podagent zgłasza: „Zaktualizowałem plik konfiguracyjny, aby zwiększyć limit czasu do 60 sekund”. Orkiestrator akceptuje to i idzie dalej. Rzeczywisty plik nie został zaktualizowany — być może narzędzie do edycji zawiodło i subagent go nie przechwycił, być może subagent odczytał zły plik, być może subagent miał halucynacje podczas całej operacji. Podsumowanie było pewne; rzeczywistość była inna.
Łagodzenie skutków to dyscyplina: kiedy subagent pisze lub edytuje kod, sprawdź rzeczywiste zmiany przed zgłoszeniem, że praca została wykonana. Szybkie git diff, ukierunkowane Odczyt zmodyfikowanego pliku, uruchomienie odpowiedniego testu. Każdy z nich potwierdza, że artefakt pasuje do podsumowania. Czek jest tani; niewyłapana rozbieżność jest kosztowna.
Wzorzec uogólnia poza podagentami. Każda operacja pośrednia — uruchomienie webhooka, uruchomienie wdrożenia, wywołanie interfejsu API — powinna obejmować etap weryfikacji. Raport systemu o sukcesie nie jest tym samym, co osiągnięty wynik. To jest rozeznanie (rozdział 8) zastosowane w skali architektonicznej.
Kanoniczne pytanie egzaminu „zaufaj, ale zweryfikuj” przedstawia system, który działał na podstawie podsumowania podagenta, by później odkryć, że podstawowy artefakt nie został zmieniony. Prawidłową poprawką architektoniczną nie jest pisanie mądrzejszego monitu o subagenta; polega na wstawieniu kroku weryfikacji w orkiestratorze pomiędzy „zwrócony podagent” a „rozważ wykonanie kroku”. Weryfikacja to wzorzec projektowy, a nie paranoiczny nawyk.
Ryc. 47.1 — Krok weryfikacji. Każdy zwrot subagenta przechodzi kontrolę, zanim orkiestrator uzna krok za wykonany. Kontrola jest tania; jej pominięcie daje kanoniczną dla egzaminu porażkę zaufania.
Rozdział 48 · Część V
Długoletni agenci
Niektóre prace agenta w naturalny sposób zajmują wiele godzin — duże zadanie badawcze, refaktor pełnego repozytorium, potok danych, który przepływa przez miliony wierszy. Agenci działający od dawna to osobna kategoria architektoniczna, a egzamin wymaga znajomości konkretnych wzorców zapewniających ich przetrwanie: punktów kontrolnych, możliwości wznawiania, limitów kosztów i — odpowiedź Anthropic na rok 2026 — zarządzani agenci.
Managed Agents to hostowane środowisko wykonawcze firmy Anthropic dla obciążeń agentowych. Przesyłasz zadanie agenta z monitem, narzędziami i kryteriami zatrzymania; Anthropic uruchamia agenta do końca lub do osiągnięcia limitu i zwraca wynik. To odciąża infrastrukturę – ponowne próby, utrzymywanie stanu, wykonywanie narzędzi – na stronę Anthropic, kosztem mniejszej bezpośredniej kontroli. Egzamin wymaga wiedzy, kiedy agenty zarządzane to właściwy wybór: zadania wsadowe, uruchamianie bez nadzoru, scenariusze, w których nie chcesz nadzorować pętli.
W przypadku długo działających agentów hostowanych samodzielnie zasadniczym wzorcem jest punkt kontrolny. Na każdym znaczącym kroku zapisz bieżący stan w trwałej pamięci masowej — wiersz bazy danych, plik JSON, obiekt w S3. Kiedy agent uruchomi się ponownie (ponieważ się zawiesił, ponieważ go zabiłeś, ponieważ osiągnął limit), ładuje ostatni punkt kontrolny i od tego momentu wznawia działanie. Bez punktów kontrolnych każdy restart jest rozpoczynany od zera, co w przypadku długiej pracy jest wygórowane.
Dyscyplina ograniczania kosztów nie podlega negocjacjom w przypadku długotrwałej pracy. Każde uruchomienie agenta musi mieć limit maksymalnej liczby tokenów lub maksymalnego kosztu, który kończy pętlę, a nie pozwala na jej działanie w nieskończoność. Egzamin określa „agent wisiał godzinę i nie wiem, ile to kosztowało” jako porażkę zawodową. Twardy limit to bariera, która zmienia uciekającego agenta z rachunku w ograniczonego błędu.
Subtelniejszym wzorcem jest raportowanie postępów. Długotrwali agenci powinni emitować sygnały postępu — ukończone zadania, zapisane punkty kontrolne, bieżący krok — które system nadzorujący może zarejestrować i wyświetlić. Ciche długie biegi są nie do odróżnienia od długich biegów w zawieszeniu; kilka dobrze rozmieszczonych komunikatów o statusie zmienia nieprzejrzystość w zauważalność bez zmiany merytorycznego zachowania agenta.
Ryc. 48.1 — Oś czasu. Punkty kontrolne w trakcie przebiegu czynią restarty tanimi; limit kosztów na końcu czyni niekontrolowane koszty niemożliwymi. Oba są strukturalne, nie dyscyplinarne.
Rozdział 49 · Część V
Choreografia wieloagentowa
Systemy wieloagentowe to więcej niż jeden agent pracujący nad wspólnym zadaniem. Występują w określonych kształtach – rurociągach, hierarchiach, debatach, zespołach – a certyfikowany architekt wie, który kształt pasuje do danego problemu. Egzamin sprawdza się dla kandydatów, którzy sięgają po złożoność wieloagentową, gdy wystarczy jeden dobrze zaprojektowany agent; poprawną wartością domyślną jest jeden agent, a dodanie kolejnych to decyzja wymagająca uzasadnienia.
Potok: agenci w kolejności, każdy obsługujący jeden etap. A → B → C, każdy etap to oddzielny agent z własnym podpowiedzią i narzędziami. Pasuje to do przepływów pracy, w których każdy etap jest naprawdę inny — dokument przechodzi ekstrakcję, analizę i podsumowanie, a każde z nich jest wykonywane przez specjalistę. Łatwo jest uzasadnić istnienie rurociągu; awarie lokalizują się na określonym etapie.
Hierarchia: wzorzec koordynator-pracownik z rozdziału 42, rozszerzony na wiele poziomów. Orkiestrator wysyła polecenia do podrzędnych orkiestratorów, a każdy z nich wysyła polecenia do pracowników. Można to skalować do naprawdę złożonych zadań – napisania całej książki, refaktoryzacji całej bazy kodu – gdzie plan najwyższego poziomu nie może zmieścić się w kontekście jednego agenta.
Debata: dwóch lub więcej agentów o różnych perspektywach spiera się na rzecz rozwiązania. Może to poprawić rozumowanie w przypadku trudnych problemów, w których pojedynczy agent może przedwcześnie zaangażować się w jedno kadrowanie. Kompromisem są koszty — debata z definicji obejmuje wiele tur i wielu agentów — oraz ryzyko, że agenci zgodzą się na złą odpowiedź, której obaj pewnie będą bronić.
Zespół: wielu agentów niezależnie podejmuje się wykonania tego samego zadania, a sędzia wybiera lub syntezuje najlepszą odpowiedź. Odpowiada to zadaniom, w których trybem awarii jest wariancja — model jest średnio poprawny, ale błędny w przypadku pojedynczych prób. Sędzią może być inny agent lub reguła deterministyczna (głos większościowy, najdłuższy wynik, najlepszy wynik według metryki).
Krok na poziomie certyfikacji polega na a nie sięganiu po te wzorce, gdy działa pojedynczy agent. Systemy wieloagentowe są droższe, charakteryzują się większymi opóźnieniami, są trudniejsze do debugowania i trudniejsze do uzasadnienia. Sięgaj po nich, gdy zadanie naprawdę tego wymaga – prawdziwa specjalizacja, prawdziwa skala, prawdziwe rozumowanie i korzyści w przypadku nieporozumień – a w przeciwnym razie trzymaj się jednego agenta.
Ryc. 49.1 — Cztery kształty. Potok dla przepływów etapowych, hierarchia dla skali (wybór domyślny), debata dla poprawy rozumowania, zespół dla redukcji wariancji. Dopasuj kształt do trybu awarii, który naprawiasz.
Rozdział 50 · Część V
Tryby awarii systemów agentowych
Część V zamyka taksonomię awarii agentów — osiem powtarzających się trybów awarii, które certyfikowany architekt uczy się rozpoznawać na pierwszy rzut oka, oraz konkretne środki zaradcze, które dotyczą każdego z nich. Egzamin traktuje je jako pytania diagnostyczne: biorąc pod uwagę objaw, podaj nazwę trybu i rozwiązanie. Znajomość taksonomii sprawia, że „agent jest zepsuty” w ukierunkowaną interwencję.
Nieskończone pętle. Agent działa wiecznie bez postępu. Poprawka: maksymalny limit iteracji + wyraźne kryteria zakończenia w monicie. Przedwczesne rozwiązanie umowy. Agent odchodzi przed zakończeniem. Poprawka: wyraźniejsze sygnały stopu + etap weryfikacji potwierdzający osiągnięcie celu.
Przesunięcie kontekstu. Podczas długich sesji agent stopniowo zapomina, co robił. Poprawka: stan trwałej warstwy (lista zadań, pamięć) + okresowe ponowne zakotwiczenie w CLAUDE.md. Narzędzia halucynacyjne. Model próbuje wywołać narzędzie, które nie istnieje. Poprawka: wyczyść listę narzędzi w wierszu poleceń + płynna obsługa błędów, która przywraca rzeczywistą listę narzędzi z powrotem do modelu.
Odmowa podjęcia działań. Modelka odmawia podjęcia zgodnych z prawem działań, zwykle ze względu na konstytucyjną barierę. Napraw: dodaj kontekst, który rozwiąże niejednoznaczność, lub zaakceptuj odmowę i kieruj przez człowieka. Nadmierna weryfikacja. Agent prosi o zgodę na każde działanie, przez co staje się interaktywnie bezużyteczny. Poprawka: poszerz wzór uprawnień do tego, czego faktycznie potrzebuje zadanie.
Kruche briefy. Podagenci produkują bzdury, ponieważ briefy są zbyt zwięzłe. Poprawka: zastosuj czterosekcyjny schemat odprawy z rozdziału 46. Nieograniczone koszty. Agent wystawia ogromne rachunki. Poprawka: sztywny limit kosztów + limity stawek + możliwość obserwacji użycia tokena na przebieg. Niejasne rozumowanie. Nikt nie jest w stanie zrozumieć, dlaczego agent zrobił to, co zrobił. Poprawka: uporządkowane rejestrowanie każdego wywołania narzędzia i każdej odpowiedzi modelu, indeksowane według identyfikatora sesji.
Wgląd na poziomie certyfikacji: większość tych niepowodzeń ma charakter strukturalny, a nie monitowy. Naprawienie „agent utrzymuje narzędzia halucynacyjne” poprzez napisanie bardziej rygorystycznego monitu jest posunięciem dla początkujących; naprawienie tego poprzez zwrócenie rzeczywistej listy narzędzi w odpowiedziach na błędy jest posunięciem architekta. Każdy tryb ma poprawkę strukturalną, która wytrzymuje szybkie poprawki inżynieryjne.
Ryc. 50.1 — Dziewięć trybów, dziewięć poprawek. Egzamin przedstawia objawy; ty nazywasz tryb i poprawkę strukturalną. Strukturalną, nie na poziomie promptu — to rozróżnienie jest diagnostycznym rdzeniem certyfikacji.
Część VI
Modelowy protokół kontekstowy
MCP to otwarty protokół firmy Anthropic umożliwiający łączenie LLM z narzędziami, źródłami danych i podpowiedziami. W ramach certyfikacji jest to kompetencja najwyższej klasy, ponieważ taki kształt przyjmie większość integracji z firmami zewnętrznymi w roku 2026 i później. Host, klient, serwer; narzędzia, zasoby, podpowiedzi; stdio i SSE; dialekt JSON-RPC poniżej.
Rozdział 51 · Część VI
Dlaczego istnieje MCP
Model Context Protocol — MCP — to otwarty standard firmy Anthropic umożliwiający łączenie LLM z narzędziami, źródłami danych i szablonami podpowiedzi. Istnieje, aby rozwiązać konkretny problem strukturalny w integracji sztucznej inteligencji: bez standardu każda aplikacja LLM musi tworzyć niestandardowe integracje dla każdego źródła danych, a każde źródło danych musi tworzyć niestandardowe integracje dla każdego LLM. To jest praca N-krotność-M. MCP zamienia go z powrotem w N+M.
Świat przed MCP. Aby Claude mógł czytać Twój GitHub, napisałeś niestandardową integrację GitHub-to-Claude. Aby Claude mógł przeczytać Twój Slack, kolejna integracja. Aby Claude mógł czytać Twój Dysk Google, kolejny. Teraz spróbuj pozwolić ChatGPT lub Gemini zrobić to samo — przepisz wszystkie trzy integracje od podstaw w ich idiomach. Każde nowe LLM × każde nowe źródło danych = kolejna niestandardowa integracja. Mnożenie sprawia, że problem jest nierozwiązywalny.
Świat MPK. Każdy może raz zbudować serwer MCP dla źródła danych. Dowolny host LLM zgodny z MCP — Claude Code, Claude.ai, Cursor, IDE innych firm, aplikacje niestandardowe — może korzystać z tego serwera. Serwer GitHub MCP zbudowany raz przez Anthropic współpracuje z każdym hostem posługującym się tym protokołem. Ekonomika integracji zmienia się z opcji „niestandardowe na parę” na opcję „buduj raz, używaj wszędzie”.
MCP jest celowo własnością Antropijnej, a nie Antropicznej. Specyfikacja jest otwarta. Serwery można pisać w dowolnym języku za pomocą biblioteki JSON-RPC. Gospodarze nieantropijni wdrażają protokół. To ustawienie ma znaczenie na egzaminie: MCP nie jest „sposobem na podłączenie rzeczy do Claude’a”, to „sposób na podłączenie rzeczy do LLM”, którego Claude jest jednym z użytkowników. Egzamin wymaga znajomości MCP jako gry ekosystemowej, a nie zastrzeżonej integracji.
Co MCP robi a nie. Nie zastępuje szybkiej inżynierii. Nie dostarcza wnioskowania. Nie obsługuje autoryzacji (to wciąż jest problem twojej integracji). Nie wysyła danych. Jest to protokół opisujący możliwości i przenoszący komunikaty JSON; wszystko inne to implementacja po obu stronach przewodu.
Ryc. 51.1 — Dlaczego MCP. Wcześniej każda para host–źródło potrzebowała własnego mostu (dziewięć linii dla trzech po każdej stronie). Z MCP standard stoi pośrodku, a każda strona mówi tylko do niego (łącznie sześć linii). Koszt liniowy zamiast kwadratowego.
Rozdział 52 · Część VI
Host, klient, serwer
MCP składa się z trzech komponentów: host, klient i serwer. Egzamin szczegółowo sprawdza to słownictwo, ponieważ kandydaci często mylą te trzy słowa. Jednowierszowy model mentalny, który warto zapamiętać: host to aplikacja, którą uruchamia użytkownik, klient to kod wewnątrz hosta, który mówi MCP, a serwer to zewnętrzny proces ujawniający możliwości.
Host przykłady: Claude Code, Claude.ai, Cursor, Zed, niestandardowe aplikacje zbudowane przy użyciu Anthropic SDK. Host jest tym, co widzi użytkownik. Jest właścicielem interfejsu użytkownika, połączenia modelu i orkiestracji, ale sam nie implementuje MCP; osadza klienta, który to robi.
Przykłady Klient: biblioteka klienta MCP dostarczana w Claude Code. Kiedy Claude Code uruchamia podproces serwera MCP (rozdział 34), używa wbudowanego klienta MCP do komunikacji z tym podprocesem. Jeden host, potencjalnie wielu klientów — po jednym na serwer, z którym się łączy. Klienci są zazwyczaj niewidoczni dla użytkowników; są to kod biblioteki, którego host używa do wypowiadania się na temat protokołu.
Serwer przykłady: serwer GitHub MCP, serwer Filesystem MCP, serwer Postgres MCP, niestandardowe serwery, które budujesz. Serwer udostępnia możliwości — narzędzia, zasoby, podpowiedzi — i wykonuje rzeczywistą pracę, gdy klient je wywołuje. Działa jako własny proces, komunikuje się poprzez stdio lub SSE i nie wie nic o modelu po drugiej stronie.
Kanoniczne zamieszanie związane z egzaminem. Kandydat mówi: „klient MCP uwierzytelnia się w interfejsie API GitHub”. Nie — serwer dokonuje uwierzytelnienia. Klient po prostu rozmawia z serwerem. Lub: „Claude Code to serwer MCP”. Nie — gospodarzem jest Claude Code; zawiera klienta; rozmawia z serwerami. Poprawne opanowanie tego słownictwa nie jest pedanterią; to właśnie pozwala ci właściwie ocenić, po której stronie przewodu żyje awaria.
Ryc. 52.1 — Słownik. Host zawiera klienta; klient rozmawia z serwerem przez łącze. To na serwerze faktycznie odbywa się integracja ze światem zewnętrznym.
Rozdział 53 · Część VI
Narzędzia, zasoby i podpowiedzi
Serwer MCP udostępnia trzy rodzaje operacji podstawowych: narzędzia, zasoby i prompty. Na egzaminie wymagana jest wiedza, do czego służy każdy z nich, oraz — co ważniejsze — poznanie typowego błędu polegającego na umieszczeniu niewłaściwej rzeczy w niewłaściwej kategorii, w wyniku czego powstają serwery MCP, które są poprawne technicznie, ale niezręczne architektonicznie.
Narzędzia to funkcje, które model może wywołać. Mają nazwę, schemat JSON dla swoich danych wejściowych i zwracają wyniki. „search_issues”, „create_pr”, „run_query” — każde z nich pobiera argumenty i generuje wynik. Model decyduje, kiedy je wywołać, pojedynczo, na podstawie swojego rozumowania na temat bieżącego zadania. Narzędzia to elementy prymitywne, które większość ludzi już rozumie z innych systemów wywoływania funkcji.
Zasoby to rzeczy, które model może odczytać, ale nie może wykonać. Pliki, dokumenty, wiersze baz danych, całe strony internetowe — wszystko, co ma identyfikator URI, który można pobrać. „github://repo/właściciel/nazwa/README.md” jest zasobem. W przeciwieństwie do narzędzi, zasoby nie są wywoływane bezpośrednio przez model; host wybiera, które zasoby uwzględnić w kontekście modelu, w oparciu o zadanie użytkownika.
Podpowiedzi to predefiniowane szablony podpowiedzi oferowane przez serwer. „code_review” może być szablonem podpowiedzi, który po wywołaniu generuje monit systemowy dostosowany do przeglądu kodu. Użytkownik (lub host) wywołuje zachętę; model nie decyduje, kiedy go użyć. Podpowiedzi dotyczą wzorców interakcji wielokrotnego użytku, które autor serwera chce spakować.
Najczęstszy błąd: eksponowanie czegoś jako narzędzia, podczas gdy powinno to być zasób. Narzędzie „get_file_contents”, które po prostu odczytuje plik, jest architektonicznie zasobem — model nie powinien „decydować” o automatycznym odczytaniu pliku, który host mógł umieścić w kontekście. Uczynienie go narzędziem powoduje marnowanie tokenów podczas wywołań narzędzi i stwarza gorsze wrażenia niż kształt zasobu.
Ryc. 53.1 — Trzy kategorie, jeden serwer. Sterowane przez model (narzędzia), przez hosta (zasoby), przez użytkownika (prompty). Wybór właściwej kategorii dla każdej możliwości to pierwsza decyzja projektowa przy budowie serwera.
Rozdział 54 · Część VI
Schemat JSON jako kontrakt
Każda definicja narzędzia MCP jest schematem JSON deklarującym jego nazwę, opis i kształt wejściowy. Schemat nie jest dokumentacją — jest to kontrakt, który model czyta, aby zdecydować, kiedy wywołać narzędzie i jakie argumenty przekazać. Dobrze napisane schematy zapewniają niezawodne użycie narzędzi; niechlujne schematy prowadzą do halucynacyjnych argumentów i niewłaściwych odwołań.
Trzy dziedziny, których znajomości oczekujesz od egzaminu. nazwa to stabilny identyfikator — przypadek_węża lub przypadek-kebaba, bez spacji. opis to akapit wyjaśniający, do czego służy narzędzie i kiedy go używać; modelka czyta to, aby zdecydować, czy sięgnąć po narzędzie. inputSchema to schemat JSON dla argumentów narzędzia — typów, wymaganych pól, wyliczeń, opisów poszczególnych parametrów.
Opis robi więcej pracy, niż większość autorów zdaje sobie sprawę. Model nie widzi kodu źródłowego narzędzia. Widzi opis i na jego podstawie decyduje, „czy to zadanie wymaga tego narzędzia?” Opis mówiący „wykonuje operacje na plikach” jest nieprzydatny — model musi zgadywać. Opis, który mówi „odczytuje zawartość pliku w podanej ścieżce; używaj, gdy użytkownik pyta o zawartość pliku, wspomina nazwę pliku lub musi sprawdzić kod”, zapewnia niezawodne wywołanie.
Schemat wejściowy spełnia dwa zadania. Tworzy strukturę argumentów (aby model wiedział, jaki kształt utworzyć) i weryfikuje je (aby wywołanie ze źle sformułowanymi argumentami zakończyło się całkowitym niepowodzeniem). Egzamin wymaga dołączenia pól description do poszczególnych parametrów — model również je odczytuje, a niejasne opisy parametrów powodują, że model odgaduje typy lub wymyśla wartości.
Subtelniejszą dyscypliną jest to, że schematy powinny być ścisłe. Jeśli parametr musi mieć jedną z trzech wartości, użyj enum. Jeśli musi pasować do wzorca, użyj wzorzec. Jeśli ma wartość domyślną, zadeklaruj ją. Im ściślejszy schemat, tym więcej pracy weryfikacyjnej wykonuje za ciebie uprząż i tym mniej debugowania wydajesz na „model zwany narzędziem z dziwnymi argumentami”.
Ryc. 54.1 — Dobrze zbudowane narzędzie. Nazwa, opis (ze wskazówką „użyj, gdy”), schemat wejścia z opisami parametrów i enumami tam, gdzie mają zastosowanie. To w opisie naprawdę zapada decyzja modelu o wywołaniu.
Rozdział 55 · Część VI
stdio czy SSE Transport
MCP definiuje dwa transporty do komunikacji host-serwer: stdio (serwer działa jako lokalny podproces, host komunikuje się z nim poprzez standardowe wejście i wyjście) i SSE (serwer działa jako zdalna usługa HTTP, host komunikuje się z nim poprzez zdarzenia wysłane przez serwer). Wybór między nimi jest jedną z pierwszych decyzji dotyczących architektury podczas integracji serwera MCP i stanowi egzamin dla kandydatów, którzy rozumieją kompromisy.
stdio to prostszy transport. Host uruchamia serwer jako proces potomny; obaj komunikują się za pomocą rur. Serwer dziedziczy środowisko użytkownika i działa z uprawnieniami użytkownika. Żadnej sieci, żadnego uwierzytelnienia wykraczającego poza to, co dziedziczy proces, żadnego cyklu życia do zarządzania – kiedy umiera host, umiera serwer. Pasuje to do narzędzi lokalnych, integracji osobistych i wszystkiego, co użytkownik uruchamia na swoim własnym komputerze.
SSE to transport dla serwerów zdalnych. Serwer działa jako usługa HTTP; host łączy się z POST w celu wywołania narzędzi i utrzymuje strumień SSE otwarty w celu uzyskania odpowiedzi. Jest to odpowiednie dla serwerów współdzielonych (wielu użytkowników korzystających z tego samego backendu), serwerów, które muszą przechowywać zasoby większe niż może podproces, oraz wszelkich wdrożeń, w których serwer powinien przetrwać dłużej niż host.
Historia autentyczności różni się znacznie. Stdio dziedziczy uwierzytelnianie na poziomie procesu — zmienne środowiskowe, uprawnienia do systemu plików, dostęp do sieci jako użytkownik. SSE wymaga jawnego uwierzytelnienia — kluczy API, tokenów OAuth, danych uwierzytelniających na okaziciela w nagłówkach — ponieważ host i serwer nie mogą współdzielić żadnego kontekstu. Egzamin wymaga wiedzy, że SSE bez autoryzacji oznacza błąd bezpieczeństwa, a stdio z zakodowanymi na stałe sekretami oznacza błąd w przenośności.
Przejście na poziom certyfikacji polega na wybieraniu w oparciu o , gdzie leży dana zdolność. Jeśli możliwość jest lokalna (system plików, osobiste repozytoria Git, lokalne bazy danych), stdio. Jeśli możliwość jest zdalna (interfejsy API w chmurze, współdzielone zasoby zespołu, hostowane bazy danych), SSE. Próba uruchomienia zdalnej funkcji przez stdio wymaga osadzenia zdalnych poświadczeń na serwerze lokalnym, co jest możliwe, ale architektonicznie brzydsze niż bezpośrednie wybranie SSE.
Ryc. 55.1 — Dwa transporty. stdio dla lokalnych, SSE dla zdalnych. Uwierzytelnianie podąża za lokalizacją możliwości. Wybieraj według tego, gdzie żyje dany zasób, a nie według tego, który transport łatwiej napisać.
Rozdział 56 · Część VI
Budowa serwera MCP w TypeScript
Pakiet SDK TypeScript — @modelcontextprotocol/sdk — to oficjalna biblioteka firmy Anthropic do tworzenia serwerów MCP w Node. Certyfikowany architekt może napisać minimalną wykonalną końcówkę serwera w mniej niż pięćdziesiąt linii. Na egzaminie wymagana jest znajomość kształtu, kluczowych elementów podstawowych i opakowania.
Cztery ruchy: zaimportuj zestaw SDK, utwórz instancję serwera, zarejestruj możliwości (narzędzia, zasoby, podpowiedzi) i podłącz serwer do transportu. To jest cały kształt. SDK obsługuje protokół przewodowy JSON-RPC, sprawdzanie poprawności schematu i raportowanie błędów; piszesz procedury obsługi.
Minimalny serwer: const serwer = nowy serwer({name: "my-server", wersja: "1.0.0"}, {capabilities: {tools: {}}});. Następnie server.setRequestHandler(ListToolsRequestSchema, async () => ({tools: [{name, opis, inputSchema}]}));. Następnie server.setRequestHandler(CallToolRequestSchema, async (req) => { ... return {content: [{type: "text", tekst: wynik}]}; });. Wreszcie czekaj na serwer.connect(new StdioServerTransport());.
Dyscyplina pakowania ma znaczenie. Serwerem jest skrypt Node; musi być uruchamialny poprzez specyfikację poleceń hosta. Wzorzec polega na opublikowaniu go w npm i umożliwieniu hostom zainstalowania go przez npx w momencie uruchomienia — "command":"npx","args":["-y","my-mcp-server"]. W ten sposób użytkownicy automatycznie otrzymują aktualizacje, a hosty nie muszą wiedzieć o wewnętrznych elementach pakietu.
Specyficzne pytanie egzaminu w języku TypeScript dotyczy zwykle kształtu zwracanego przez procedurę obsługi wywołania narzędzia. Serwer musi zwrócić {content: [{type: "text", tekst: "..."}] — tablicę bloków treści. Zwracanie pustych ciągów znaków lub zwykłych obiektów łamie protokół; egzamin węszy kandydatów, którzy nie znają kształtu. Błędy są zwracane jako bloki treści z wartością isError: true, a nie zgłaszane jako wyjątki.
Ryc. 56.1 — Minimalny serwer TS. Cztery ruchy: utwórz instancję, zarejestruj narzędzia, zarejestruj handler, połącz z transportem. Poniżej pięćdziesięciu linii łącznie z ciałami handlerów dla działającego serwera.
Rozdział 57 · Część VI
Budowa serwera MCP w Pythonie
Pakiet SDK języka Python dla MCP ma inny kształt niż pakiet TypeScript — oparty na dekoratorach, natywny asynchronicznie i bardziej idiomatyczny w stosunku do konwencji Pythona. Certyfikowany architekt może napisać jedno i drugie. Na egzaminie wymagane jest rozpoznanie kształtu i znajomość konkretnych wzorców, po które sięgają autorzy Pythona.
Podstawowy wzorzec: z serwera importu mcp.server; app = Server("mój-serwer"). Następnie udekoruj funkcje obsługi: @app.list_tools() zwraca listę narzędzi; @app.call_tool() obsługuje wywołania. Następnie z mcp.server.stdio import stdio_server; async z stdio_server() jako (r, w): czekaj na app.run(r, w, Opcje inicjalizacji(...)).
Python idiomuje wartości egzaminu. Asynchronizacja wszędzie — list_tools, call_tool i konfiguracja transportu używają async def. Typy zwracane korzystają z dostarczonych przez SDK modeli Pydantic — Narzędzie, TextContent, ImageContent — a nie surowych słowników. Dzięki temu możesz bezpłatnie sprawdzić poprawność i uzupełnienie IDE.
Pakowanie w Pythonie. Konwencja to pojedynczy skrypt lub mały pakiet, który można zainstalować za pomocą pip lub pipx. Specyfikacja poleceń hosta to "command":"uvx","args":["my-mcp-server"] lub "command":"python","args":["-m","my_mcp_server"]. Podobnie jak w przypadku TypeScript, celem jest umożliwienie hostowi uruchomienia serwera bez znajomości jego elementów wewnętrznych.
Pytanie specyficzne dla Pythona w certyfikacie koncentruje się na obsłudze asynchronicznej. Blokowanie wywołań (synchroniczne żądanie HTTP, blokujący sterownik bazy danych) wewnątrz procedury obsługi asynchronicznej spowoduje zawieszenie pętli zdarzeń i zatrzymanie serwera. Profesjonalnym wzorcem jest używanie bibliotek asynchronicznych (httpx, asyncpg) od końca do końca lub zawijanie blokowania w asyncio.to_thread. Wiadomo, że na egzaminie pojawia się uszkodzony serwer i pojawia się pytanie, co jest nie tak — odpowiedzią jest zwykle „wywołanie blokujące w programie obsługi asynchronii”.
Ryc. 57.1 — Minimalny serwer w Pythonie. Styl dekoratorów, natywna asynchroniczność, typy zwrotne Pydantic. SDK dla Pythona jest mniejsze niż to dla TS, i kod to odzwierciedla.
Rozdział 58 · Część VI
Uwierzytelnianie serwera MCP
Uwierzytelnianie serwerów MCP to obszar, w którym bezpieczeństwo ma największe znaczenie i to właśnie tam egzamin sprawdza najbardziej profesjonalne wzorce. Różne transporty implikują różne historie autorskie; ich prawidłowe wykonanie nie jest opcjonalną pracą związaną z infrastrukturą, ale pierwszorzędną decyzją projektową.
Serwery Stdio dziedziczą swoje dane uwierzytelniające ze środowiska hosta. Host deklaruje środowisko serwera w pliku settings.json; serwer czyta process.env.GITHUB_TOKEN lub równoważny. Działa to, ponieważ serwer jest lokalnym podprocesem, którego właścicielem jest użytkownik; granicą uwierzytelniania jest maszyna, a nie sieć.
Serwery SSE wymagają jawnej autoryzacji przewodowej. Trzy wzorce, których oczekuje egzamin. Nagłówki klucza API — host wysyła token nośnika w nagłówku Autoryzacja; serwer to sprawdza. OAuth — host przekierowuje użytkownika do przepływu OAuth, odbiera token dostępu i przekazuje go w nagłówkach podczas kolejnych wywołań. Wzajemny TLS — obie strony przedstawiają certyfikaty; mniej powszechne, ale ważne w przypadku wdrożeń w przedsiębiorstwach.
Antywzorzec to brak autoryzacji na SSE. Publiczny serwer MCP bez uwierzytelnienia jest publicznym interfejsem API umożliwiającym dostęp do wszystkiego, co udostępnia — dostępu do systemu plików, zapytań do baz danych, zasobów w chmurze. Egzamin traktuje „pominęliśmy autoryzację dla uproszczenia” jako porażkę zawodową. Jeśli serwer jest zdalny i robi coś więcej niż idempotentne zapytania publiczne, potrzebuje uwierzytelnienia.
Znowu tajna higiena. Niezależnie od wybranego wzorca uwierzytelniania, poświadczenia nie mogą pojawiać się w dziennikach, transkrypcjach ani zatwierdzonych plikach konfiguracyjnych. Zmienne środowiskowe ładowane z pliku .env.local (ignorowane przez git), menedżerów sekretów lub wbudowanego magazynu danych uwierzytelniających hosta — nigdy nie zakodowane na stałe ciągi w pliku settings.json dostarczanym w repozytorium. Egzamin składa się z wielu pytań sprawdzających, czy o tym wiesz.
Ryc. 58.1 — Dwie granice, dwa wzorce. Granicą stdio jest maszyna — uwierzytelnianie przez dziedziczenie. Granicą SSE jest sieć — uwierzytelnianie przez nagłówek. Pominięcie któregokolwiek to błąd na poziomie zawodowym.
Rozdział 59 · Część VI
Obsługa błędów za pomocą strukturalnego JSON
Błędy z serwera MCP powinny wyglądać jak dane, a nie zgłoszone wyjątki. Jest to jeden z najczęściej testowanych szczegółów protokołu, ponieważ zmienia to, co model może zrobić w przypadku awarii. Błędy strukturalne można naprawić; nieprzejrzyste awarie nie są.
Zły wzorzec: serwer napotyka błąd i zgłasza lub kończy działanie. Klient otrzymuje błąd na poziomie protokołu, który host sygnalizuje jako „nieudane wywołanie narzędzia”. Model nie widzi niczego przydatnego; po prostu wie, że coś się zepsuło, bez informacji o tym, co i dlaczego. Jego zdolność do ponawiania próby lub obejścia awarii jest zniszczona przez kształt błędu.
Właściwy wzorzec: serwer zwraca normalną odpowiedź zawierającą isError: true w bloku treści i czytelny dla człowieka komunikat o błędzie w tekście. Z punktu widzenia protokołu jest to udane wywołanie narzędzia, które opisuje awarię. Model otrzymuje tekst błędu jako część kontekstu, może go uzasadnić i zdecydować, czy spróbować ponownie, spróbować czegoś innego, czy też poprosić użytkownika o wskazówki.
Specyficzny wzorzec, jakiego oczekuje egzamin. W TypeScript: return {content: [{type: "text", tekst: "Błąd: nie znaleziono pliku"}], isError: true};. W Pythonie: return [TextContent(type="text", tekst="Błąd: nie znaleziono pliku")] za pomocą narzędzia sygnalizującego isError=True. Najważniejsze jest to, że tekst błędu to informacyjny — „nie znaleziono pliku” zamiast „błąd”, „nieprawidłowy JSON w linii 47” zamiast „błąd analizy”.
Bardziej subtelną dyscypliną jest to, co należy uwzględnić w komunikacie o błędzie. Egzamin sprawdza, czy wiesz, że model może produktywnie ponowić próbę, jeśli błąd zawiera wystarczający kontekst. „Argument stan musi być jednym z: otwarty, zamknięty, wszystkie — jest „aktywny”” to błąd, który można naprawić. „Nieprawidłowy argument” nie jest. Bogate komunikaty o błędach zamieniają niepowodzenia w możliwości skorygowania kursu; zwięzłe zamieniają je w ślepe zaułki.
Ryc. 59.1 — Dwa kształty błędów. Rzucenie wyjątku wychodzi z protokołu; zwrócenie isError pozostaje w niej. Drugie pozwala modelowi rozumować i się podnieść; pierwsze kończy interakcję.
Rozdział 60 · Część VI
Kiedy nie sięgać po MCP
Część VI kończy się oceną na poziomie certyfikacji dotyczącą a nie sięgnięcia po MCP. Każdy serwer MCP to granica — oddzielny proces, warstwa translacji protokołu, zestaw definicji do utrzymania. Granice kosztują. Egzamin odróżnia kandydatów, którzy domyślnie sięgają po MCP, od tych, którzy sięgają po niego, gdy na to zarobi.
MCP to nie właściwy wybór, gdy możliwość istnieje w tym samym kodzie co host. Narzędzie, które host już implementuje wewnętrznie, nie powinno być udostępniane samemu sobie jako narzędzie MCP — dodaje to protokół przewodowy pomiędzy dwoma fragmentami kodu, który może być wywołaniem funkcji. Koszty ogólne są realne; abstrakcja na niczym nie zarabia.
MCP to nie właściwy wybór w przypadku jednorazowych skryptów. Jeśli chcesz uruchomić konkretny interfejs API dla określonego zadania w określonej sesji, polecenie powłoki za pośrednictwem Bash lub bezpośrednie wywołanie SDK jest szybsze i tańsze niż budowanie małego serwera MCP. Zarezerwuj budowę serwera dla możliwości, po które będziesz sięgać wielokrotnie, w sesjach, hostach lub członkach zespołu.
MCP to nie właściwy wybór do pracy z wysoką częstotliwością i niskimi opóźnieniami. Każde wywołanie MCP ma narzut protokołu; w przypadku czegoś, co będziesz wywoływał tysiące razy na sekundę w ciasnej pętli, dominuje ten narzut. Lepiej pasuje bezpośredni dostęp do interfejsu API lub natywne wywołanie biblioteki. MCP wyróżnia się, gdy wywołania narzędzi są oparte na modelu i są rzadkie, co opisuje większość rzeczywistej pracy agenta, ale nie całą.
Powiedz, że przesadziłeś z MCP: serwery MCP rozprzestrzeniają się szybciej, niż się przyzwyczajają. Tuzin częściowo skonfigurowanych serwerów w bloku mcpServers, z których większość uruchamia się raz i nigdy więcej. Certyfikowany architekt przycina agresywnie — każdy serwer powinien zasłużyć na swoje miejsce w konfiguracji w wyniku ciągłego użytkowania, a nie możliwości, że pewnego dnia może się przydać. Część VII przenosi pomysły MCP z powrotem do surowego API, gdzie ta sama dyscyplina obowiązuje na poziomie SDK.
Ryc. 60.1 — Dwie kolumny. W prawej kolumnie początkujący przesadzają; w lewej MCP zarabia na swój narzut. Kwestia osądu to, czy granica się opłaca.
Część VII
Budowanie za pomocą API Claude
Interfejs API to miejsce, w którym certyfikowany architekt faktycznie wysyła swoje produkty. Podstawy SDK, przesyłanie strumieniowe, przetwarzanie wsadowe, buforowanie podpowiedzi, pliki, cytaty, pulpity nawigacyjne kosztów, budżety opóźnień, routing modelu. Każdy wzorzec w tej części zamienia wiedzę teoretyczną w przychód na żądanie.
Rozdział 61 · Część VII
Anthropic SDK, od końca do końca
Część VII powraca do surowego API. Anthropic SDK — dostępny w TypeScript, Python i kilku portach społecznościowych — to zaraz po samym Claude’u najczęściej dotykana zależność certyfikowanego architekta. Pięciominutowa ścieżka od pustego projektu do działającego połączenia jest na tyle krótka, że egzamin wymaga, abyś wiedział to na zimno.
Pięć ruchów. Zainstaluj — npm install @anthropic-ai/sdk lub pip install anthropic. Ustaw klucz — ANTHROPIC_API_KEY w środowisku; SDK odczytuje je automatycznie. Instancja — const anthropic = new Anthropic() lub anthropic = Anthropic(). Wywołanie — anthropic.messages.create({model, max_tokens, Messages}). Przeczytaj odpowiedź — response.content[0].text dla odpowiedzi, response.usage dla tokenów, response.stop_reason dla warunku wyjścia.
Trzy najczęstsze błędy pierwszego połączenia. Brak max_tokens — API wymaga tego pola; zapomnienie o tym zwraca błąd sprawdzania poprawności, a nie pomocną wiadomość. Zły identyfikator modelu — literówka w ciągu modelu („claude-sonnet-4.6” zamiast „claude-sonnet-4-6”) powoduje wyświetlenie błędu „nie znaleziono”, który można odczytać jako problem z siecią, ale w rzeczywistości jest to problem z parametrami. Podpowiedź systemowa w złym miejscu — początkujący próbują umieścić zawartość systemu w tablicy messages z rolą "system"; właściwym miejscem jest parametr system najwyższego poziomu.
Nawyk na poziomie certyfikacji: przypinanie wersji SDK i przypinanie wersji modelu. Obydwa się zmieniają; oba są nośne. Działający system zależny od SDK 0.19 i Sonnet 4.6 powinien pozostać zależny od obu, dopóki nie dokonasz celowej migracji. Egzamin wykrywa kandydatów, którzy używają słowa „najnowsze” w obu przypadkach — to nie jest strategia, to obietnica, że Twój CI w pewnym momencie Cię zaskoczy.
Warto poznać inną wartość dodaną pakietu SDK. Obsługa przesyłania strumieniowego (anthropic.messages.stream(...)), automatyczne ponawianie prób z wycofywaniem, sprawdzanie poprawności odpowiedzi i generowanie typów TypeScript. Sięganie do wbudowanych funkcji pakietu SDK jest lepsze niż wdrażanie własnych; ramki egzaminacyjne ponownie wdrażając je jako profesjonalny zapach.
Ryc. 61.1 — Pięć ruchów. Zainstaluj, klucz, utwórz instancję, wywołaj, odczytaj. Każdy ruch to jedna linia kodu; pominięcie któregokolwiek daje konkretną, dobrze znaną awarię.
Rozdział 62 · Część VII
Przesyłanie strumieniowe ze zdarzeniami wysyłanymi przez serwer
Anthropic API obsługuje przesyłanie strumieniowe odpowiedzi poprzez zdarzenia wysyłane przez serwer. Zamiast czekać, aż model wygeneruje pełną odpowiedź przed powrotem, interfejs API przesyła tokeny w dół w miarę ich generowania. Dzięki temu możliwe jest drukowanie na maszynie w stylu ChatGPT i jest to właściwy wybór w przypadku każdej interaktywnej powierzchni, na którą patrzy użytkownik.
Gramatyka zdarzeń SSE, której oczekuje egzamin. Strumień generuje sekwencyjnie kilka typów zdarzeń. message_start ogłasza nową odpowiedź z jej identyfikatorem, modelem i dotychczasowym użyciem. content_block_start wprowadza blok treści (tekst, użycie narzędzi itp.). Zdarzenia content_block_delta przenoszą treść token po tokenie — jest to ładunek, który gromadzisz w widocznej odpowiedzi. content_block_stop kończy blok. message_stop kończy całą odpowiedź.
Wzorzec po stronie klienta. Zarówno zestawy SDK TypeScriptu, jak i Pythona abstrakcyjnie większość z nich — const stream = anthropic.messages.stream({...}); for Wait (const event of stream) { ... — i obsługujesz dowolne typy zdarzeń, na których Ci zależy. Większość implementacji potrzebuje tylko content_block_delta dla tekstu i message_stop do zakończenia, ignorując resztę.
Kiedy streaming ma znaczenie. Interaktywne powierzchnie czatowe, w których dominuje postrzegane opóźnienie. Pokolenie o długiej formie, w którym cenne jest pokazywanie postępu. Wszędzie tam, gdzie użytkownik szuka danych wyjściowych. Gdy przesyłanie strumieniowe nie pomaga: potoki wsadowe (nikt nie patrzy), szybkie odpowiedzi (narzut przesyłania strumieniowego > korzyść z buforowania) i systemy znajdujące się poniżej, które wymagają pełnej odpowiedzi przed kontynuowaniem (analizowanie ustrukturyzowanych danych wyjściowych, uruchamianie sprawdzania poprawności).
Subtelniejszą dyscypliną jest obsługa błędów podczas strumieni. Strumień może zawieść w połowie — awaria sieci, błąd modelu, ograniczenie szybkości — i musisz zdecydować, jak sobie poradzić z częściową odpowiedzią. Podczas egzaminu oczekuje się, że wiesz, że częściowe odpowiedzi można odzyskać (masz to, co otrzymałeś do tej pory) i że ponowne próby powinny zaczynać się od zera lub wznawiać z natychmiastowym buforowaniem, aby uniknąć ponownego płacenia za już wygenerowane tokeny.
Ryc. 62.1 — Strumień zdarzeń. Start, block-start, wiele delt, block-stop, message-stop. Wyróżnione delty niosą widoczny tekst; reszta to obramowanie.
Rozdział 63 · Część VII
Interfejs API wsadowego
Anthropic Batch API przyjmuje do 10 000 żądań w jednym przesłaniu, przetwarza je w ciągu 24 godzin i wycenia je za mniej więcej połowę czasu rzeczywistego. W przypadku każdego obciążenia, które nie wymaga natychmiastowych reakcji, usługa Batch jest największą dostępną optymalizacją kosztów. Certyfikowany architekt zna cykl życia, kompromisy i rodzaje awarii.
Trzyetapowy cykl życia. Wyślij — WYŚLIJ partię z tablicą żądań, każde z unikalnym custom_id. Uzyskaj identyfikator partii i stan w toku. Odpytuj — POBIERZ partię według identyfikatora, aż jej status zmieni się na zakończone. Interwał odpytywania powinien być wykładniczy (zacznij od 10 sekund, cofnij do 5 minut); Odpytywanie co sekundę jest naruszeniem limitu szybkości, które może nastąpić. Pobierz — pobierz plik wyników, który zawiera jedną linię na każde żądanie oznaczone tagiem custom_id.
24-godzinna umowa SLA jest hojna, ale podczas egzaminu oczekuje się, że będziesz wiedział, że to pułap, a nie cel. Większość partii jest kompletna w ciągu kilku minut lub godzin; niektóre wymagają więcej czasu pod obciążeniem. Projekt zakłada najgorszy przypadek — jeśli rurociąg ulegnie awarii, gdy partia zajmie 20 godzin zamiast 2, projekt będzie delikatny. Partia przeznaczona jest do pracy, która jest w porządku z 24-godzinnym czasem realizacji, a nie do pracy, która wymaga godziny i ma nadzieję na mniej.
Błędy, których należy unikać przy ponawianiu prób. Partia jako całość kończy się sukcesem, niepowodzeniem lub przekroczeniem limitu czasu; poszczególne żądania w ramach partii mogą również zakończyć się niepowodzeniem, podczas gdy inne kończą się sukcesem. Podczas ponownej próby ponawiasz tylko nieudane custom_id — a nie całą partię — ponieważ ponowne przesłanie pomyślnych jest kosztowne i zajmuje kolejne 24 godziny. Schemat ponawiania prób jest następujący: przeanalizuj plik wyników, wyodrębnij błędy, prześlij nową partię zawierającą tylko te.
Do czego służy partia nie. Praca interaktywna. Wszystko, w czym użytkownik czeka na dane wyjściowe. Wszystko, gdzie dane wejściowe zależą od poprzedniej odpowiedzi (wsadowa jest jednorazowa, a nie konwersacyjna). Egzamin wskazuje, że kandydaci, którzy sięgają po Batch przy interaktywnych obciążeniach, nie rozumieją narzędzia; jest to optymalizacja przepustowości, a nie wywołanie API ogólnego przeznaczenia.
Ryc. 63.1 — Trzy ruchy. Wyślij, odpytuj z backoffem, pobierz. Na środkowym kroku początkujący dostają 429, odpytując zbyt często; wykładnicze odstępy nie są opcjonalne.
Rozdział 64 · Część VII
Natychmiastowe buforowanie, szczegółowo
Buforowanie podpowiedzi to mechanizm firmy Anthropic umożliwiający ponowne wykorzystanie pracy modelu na przedrostku podpowiedzi w wielu żądaniach. Jeśli monit systemowy jest taki sam w każdym żądaniu, model nie musi go ponownie przetwarzać za każdym razem — pamięć podręczna obsługuje go, a Ty płacisz ułamek kosztu tokenu wejściowego. W przypadku każdego obciążenia, w którym podpowiedzi mają stabilne przedrostki, buforowanie jest dużym i łatwym rozwiązaniem.
Mechanika. Oznaczasz fragmenty podpowiedzi jako możliwe do buforowania, dodając cache_control: {type: "ephemeral" do bloku treści. Pierwsze żądanie wiąże się z niewielkim kosztem zapisu w celu ustanowienia pamięci podręcznej; kolejne żądania w ramach TTL płacą znacznie niższy koszt odczytu — zazwyczaj około 10% podstawowej stawki wejściowej. Pamięć podręczna Anthropic wykorzystuje domyślny 1-godzinny TTL (z dostępnymi opcjami 5-minutowymi i dłuższymi), który odpowiada kształtowi większości obciążeń.
Gdzie umieścić punkt przerwania pamięci podręcznej. Zasada: wszystko przed punktem przerwania jest buforowane; wszystko później nie jest. Ponieważ pamięci podręczne odpowiadają dokładnemu przedrostkowi, punkt przerwania powinien znajdować się na granicy między tym, co stabilne, a tym, co zmienne. Monit systemowy: pamięć podręczna. Definicje narzędzi: pamięć podręczna. Długo pobierany kontekst, który pozostaje taki sam przez całą sesję: pamięć podręczna. Bieżąca tura użytkownika: po punkcie przerwania, ponieważ zmienia każde żądanie.
Obliczenia, kiedy buforowanie się opłaca. Zapisywanie w pamięci podręcznej kosztuje około 25% więcej niż normalny odczyt. Odczyt z niego kosztuje około 10% normalnego wejścia. Próg rentowności to mniej więcej dwa trafienia — po dwóch odczytach z pamięci podręcznej zaoszczędziłeś pieniądze. Każdy prefiks podpowiedzi użyty trzy lub więcej razy w ciągu godziny oznacza w zasadzie darmowe pieniądze do buforowania. Na egzaminie wymagana jest znajomość tego współczynnika; Specyficzna arytmetyka zmienia się wraz ze zmianami cen, ale kształt nie.
Subtelniejszy tryb awarii. Pamięć podręczna pasuje do prefiksu dokładne. Jeśli monit systemowy różni się choćby o jeden token – dynamiczną sygnaturę czasową, identyfikator użytkownika, numer sesji – nie nastąpi żadne trafienie w pamięć podręczną. W systemach, w których „włączono buforowanie, ale wskaźnik trafień w pamięci podręcznej wynosi 0%”, prawie zawsze występuje przypadkowa zmiana prefiksu w pamięci podręcznej. Zanim założysz, że buforowanie nie działa, sprawdź prefiks pod kątem stabilności.
Ryc. 64.1 — Punkt podziału. Wszystko nad przerywaną linią po pierwszym trafieniu jest serwowane z cache; wszystko pod nią jest przetwarzane od nowa w każdej turze. Postaw linię na granicy stabilności.
Rozdział 65 · Część VII
Przesyłanie plików i dokumenty trwałe
Interfejs Files API pozwala jednorazowo przesłać dokument i odwoływać się do niego według identyfikatora w kolejnych żądaniach, zamiast za każdym razem ponownie wysyłać dokument. W przypadku każdego zadania, w którym ten sam dokument pojawia się w wielu żądaniach — długi kontekst wielokrotnie używany w rozmowie, plik PDF, o który użytkownik zadaje pytania, migawka bazy kodu — plik Files jest właściwym wzorcem.
Cykl życia. Prześlij — WYŚLIJ plik do punktu końcowego Pliki; otrzymaj file_id. Odwołanie — dołącz identyfikator pliku do bloku treści wiadomości: {type: "document", source: {type: "file", file_id: "..."}. Zarządzaj — wyświetla listę przesłanych plików i usuwa je po zakończeniu. Pliki utrzymują się tygodniami; nie musisz ponownie przesyłać tego samego dokumentu w tym oknie.
Model kosztu tokenowego. Zawartość pliku nadal jest uwzględniana w oknie kontekstowym, gdy model go odczytuje. Files pozwala zaoszczędzić na kosztach przesyłek — nie wysyłasz całego dokumentu przy każdym zamówieniu. W połączeniu z szybkim buforowaniem oznacza to, że duży dokument zawarty w każdym żądaniu kosztuje prawie nic po pierwszej turze: pamięć podręczna trafia do odniesienia do pliku, bez kosztów ponownego przesłania.
Kiedy sięgnąć po Files czy inline. Inline sprawdza się w przypadku krótkich treści, jednorazowego użytku lub treści zmienianych w zależności od żądania. Pliki są odpowiednie w przypadku dużej zawartości, wykorzystania wielu żądań i zawartości, która pozostaje stabilna. Pięcioliniowy fragment wklejany przez użytkownika: inline. 100-stronicowy plik PDF, o który użytkownik zada dziesięć pytań: Pliki. Egzamin sprawdza kandydatów, którzy domyślnie korzystają z aplikacji inline wszędzie i nie sięgają po pliki, gdy wymaga tego obciążenie pracą.
Subtelniejszy wzór to oczyszczanie plików. Pliki są domyślnie zachowywane; system produkcyjny, który przesyła pliki bez czyszczenia, gromadzi je z biegiem czasu, ostatecznie osiągając limity przechowywania plików na koncie. Profesjonalny wzorzec polega na usuwaniu plików po zakończeniu sesji użytkownika lub na użyciu konwencji nazewnictwa/tagowania, która pozwala zadaniu czyszczenia znaleźć i oczyścić stare pliki. Zaniedbanie tego oznacza awarię operacyjną w zwolnionym tempie.
Ryc. 65.1 — Wgraj, odwołaj się, przytnij. W środkowym pudełku mieszkają oszczędności; o trzecim początkujący zapominają, a operatorzy płacą za to później.
Rozdział 66 · Część VII
Cytaty
Cytaty są pierwszorzędnym dorobkiem firmy Anthropic, pozwalającym na oparcie odpowiedzi na konkretnych dokumentach źródłowych. Po włączeniu model zwraca nie tylko swoją odpowiedź, ale także uporządkowaną listę dokładnie tych fragmentów, z których dokumentów wynika, które części odpowiedzi. W przypadku każdego zastosowania, w którym liczy się zaufanie – prawnego, medycznego, badawczego, wyszukiwania w przedsiębiorstwach – cytaty zmieniają wiarygodną odpowiedź w możliwą do sprawdzenia.
Mechanizm. Włączasz cytaty w żądaniu, przekazując dokumenty z flagami umożliwiającymi cytowanie. Gdy model generuje odpowiedź, jej treść wyjściowa obejmuje zarówno bloki tekstu, jak i bloki cytatów. Każdy cytat odnosi się do konkretnego identyfikatora dokumentu, konkretnego miejsca w dokumencie (zakres znaków lub indeks blokowy) i dokładnego cytowanego tekstu. Kod niższego szczebla renderuje je jako przypisy, wyróżnienia śródwierszowe lub dowolną obróbkę interfejsu użytkownika, jakiej potrzebuje aplikacja.
Powód, dla którego warto sięgać po cytaty API, a nie ręcznie. Jeśli poprosisz modela, aby umieścił cytaty w prozie („po każdym twierdzeniu podaj źródło w nawiasie”), otrzymasz cytaty, które wyglądają na prawidłowe, ale są niemożliwe do sprawdzenia — model może mieć halucynacje dotyczące źródła, błędnie przypisać cytat lub wymyślić numer strony. Wyniki cytowań interfejsu API mają strukturę; wskazuje rzeczywiste przesunięcia znaków w faktycznie dostarczonych dokumentach. Można to sprawdzić w sposób, w jaki nie można tego sprawdzić w przypadku cytatów z prozy.
Pytanie dotyczące cytatu na egzaminie ma na celu sprawdzenie, czy znasz różnicę. Systemy wymagające możliwości audytu — „udowodnij, że odpowiedź pochodzi z tych dokumentów” — muszą korzystać z cytatów na poziomie interfejsu API. Systemy, które chcą po prostu prozy, poradzą sobie z szybkimi prośbami o cytowanie, ale egzamin stwierdza, że jest to nieodpowiednie w przypadku wdrożeń na poziomie profesjonalnym, w których cytowanie jest obciążające.
Subtelniejszą dyscypliną jest to, że jakość cytowań śledzi jakość dokumentu. Modelka może jedynie cytować to, co mu dałaś. Jeśli wyszukiwanie jest zakłócone — pobiera nieistotne fragmenty — cytaty będą wskazywać nieistotne fragmenty. Naprawienie komunikatu „cytaty są nieprzydatne” zwykle oznacza naprawienie pobierania w górę strumienia, a nie majstrowanie przy konfiguracji cytatów.
Ryc. 66.1 — Ustrukturyzowane cytowania. Blok tekstu + blok cytowania, z dokładnym dokumentem, przesunięciami i cytowanym tekstem. Weryfikowalne z założenia — możesz przejść do źródła i potwierdzić.
Rozdział 67 · Część VII
Księgi Kosztów
Księga kosztów to rejestrujący tylko do dopisania każde żądanie LLM wysyłane przez Twój system. Każdy wpis rejestruje model, identyfikator żądania, tokeny przychodzące i wychodzące, opóźnienia i szacowany koszt. To brzmi jak działająca instalacja wodno-kanalizacyjna; okazuje się, że jest to najcenniejszy artefakt, jaki można zbudować dla dowolnego produkcyjnego systemu LLM, ponieważ na tym polega różnica między „wiemy, gdzie pójdą pieniądze” a „mamy nadzieję”.
Minimalna opłacalna księga. Sześć pól w każdym rzędzie. znacznik czasu, model, request_id, input_tokens, output_tokens, cost_estimate. Opcjonalnie: latency_ms, user_id, funkcja, cached_tokens. Wpisz jeden wiersz na każde wypełnione żądanie. Przechowuj w miejscu, w którym można wykonywać zapytania — w tabeli Postgres, zbiorze danych BigQuery, pliku JSON z możliwością tylko dodawania. Przechowywanie jest tanie; analiza jest tym, co się zwraca.
Co odblokowuje księga. Wykrywanie anomalii — „nasz koszt żądania wzrósł we wtorek 3 razy” to zapytanie. Uznanie autorstwa — „która funkcja generuje 60% rachunku” to zapytanie. Analiza kohortowa — „naszych dziesięciu najlepszych użytkowników wykorzystuje 90% tokenów” to zapytanie. Model routingu — „czy zmiana trasy X na Haiku pozwoliłaby zaoszczędzić pieniądze bez szkody dla jakości” – brzmi pytanie. Bez księgi to wszystko są domysły.
Pytanie o koszt kanoniczny egzaminu. Rachunek za system wzrasta trzykrotnie w ciągu jednej nocy; co robisz? Prawidłowa odpowiedź: zapytaj księgę o różnicę według użytkownika, funkcji i modelu. Zła odpowiedź: ogólnie zmniejsz max_tokens lub „dodaj gdzieś limit szybkości”. Księga zmienia diagnozę ze sztuki w arytmetykę; systemy bez niego polegają na wyrozumiałości dyrektora finansowego.
Subtelniejszą dyscypliną jest to, że księga obejmuje w pełni obciążony koszt, a nie tylko tokeny podstawowe. Ponawianie prób, nieudane połączenia, podróże w obie strony związane z użyciem narzędzi, koszty subagentów – wszystko to. Jeśli śledzisz tylko koszt żądania najwyższego poziomu, brakuje Ci mnożnika z ponownych prób i iteracji. Egzamin wyraźnie sprawdza tę kwestię: zaniżona księga kosztów jest gorsza niż ta, której nie masz, ponieważ daje fałszywą pewność.
Ryc. 67.1 — Rejestr. Sześć kolumn, jeden wiersz na żądanie. Nic wymyślnego — ale każde pytanie o to, „gdzie idą pieniądze”, staje się zapytaniem SQL zamiast zagadki.
Rozdział 68 · Część VII
Budżety opóźnień
Każda funkcja oparta na LLM ma budżet opóźnień — maksymalny akceptowalny czas, zanim użytkownik uzna, że funkcja jest uszkodzona. Certyfikowany architekt wyraźnie ustala ten budżet, mierzy go i rozumie, które dźwignie poruszają które percentyle. Systemy, które nie mają określonego budżetu opóźnień, nie mogą wiedzieć, czy go dotrzymują.
Trzy percentyle, które mają znaczenie. p50 — mediana żądania; czego doświadcza większość użytkowników. p95 — ogon, na który wychwytuje najwięcej skarg; jeśli p95 jest uszkodzony, jeden użytkownik na dwudziestu jest niezadowolony w każdej sesji. p99 — ogon dominujący we wrażeniach najgorszego przypadku; slow p99 jest tym, z czego powstają tyrady w mediach społecznościowych. Różne funkcje tolerują różne budżety percentylowe; wiedzieć, które optymalizujesz.
Pięć dźwigni. Model — mniejsze modele są szybsze; Haiku vs Opus może być 4-krotną różnicą. Strumieniowanie — zmniejsza odczuwalne opóźnienia poprzez wcześniejsze pokazanie pierwszych tokenów, nie zmniejsza sumy. Szybkie buforowanie — znacznie skraca zarówno liczbę przetwarzanych tokenów wejściowych, jak i czas potrzebny do uzyskania pierwszego tokena. Parallelizm — wiele niezależnych wywołań w jednej odpowiedzi przyjmuje maksimum, a nie sumę. Długość wyjściowa — agresywne ograniczanie max_tokens to najszybszy sposób na skrócenie całkowitego czasu żądania, jeśli model generuje szczegółowe odpowiedzi.
Ulubiony kompromis w zakresie opóźnień w egzaminie: zmniejszenie opóźnień poprzez przejście na mniejszy model i wiedza, kiedy kompromis w zakresie jakości jest akceptowalny. Jeśli chodzi o klasyfikację i ekstrakcję, Haiku jest zwykle właściwym wyborem. W przypadku bardziej zniuansowanego rozumowania przejście z Sonnetu na Haiku pogorszy jakość wydruku; Samo opóźnienie nie jest jedyną osią. Certyfikowany architekt mierzy oba — opóźnienie i jakość — i wybiera punkt na granicy, który pasuje do danej funkcji.
Subtelniejszą dyscypliną jest gdzie w pętli występuje opóźnienie. Jeśli Twój agent wykonuje pięć wywołań narzędzi na turę, a każde z nich zajmuje 200 ms, wywołania narzędzi trwają 1 sekundę przed obliczeniem czasu modelu. Budżety opóźnień muszą uwzględniać całą pętlę, a nie tylko wywołanie LLM. W systemach, które optymalizują tylko model bez dotykania warstwy narzędzia, często okazuje się, że LLM nigdy nie był wąskim gardłem.
Ryc. 68.1 — Krzywa percentyli. p50 widzi większość użytkowników; p95 wyłapuje skargi z ogona; p99 to ryzyko reputacyjne. Budżety różnią się w zależności od funkcji; wiedz, który percentyl optymalizujesz.
Rozdział 69 · Część VII
Model routingu według kosztów
Routing modeli to praktyka polegająca na wybieraniu najmniejszego modelu, który może wykonać każde zadanie, zamiast domyślnie używać jednego modelu do wszystkiego. Dobrze wykonane, zapewnia oszczędności rzędu rzędu wielkości bez znaczącego pogorszenia jakości. Źle wykonany powoduje sporadyczne problemy z jakością, które podważają zaufanie użytkowników. Egzamin wymaga znajomości schematu i trybów awarii.
Wzór kanoniczny: Haiku klasyfikuje, Sonnet decyduje, Opus orzeka w skrajnych przypadkach. Nadchodzące zadanie najpierw uderza w Haiku, które decyduje, jakiego rodzaju jest to zadanie. Jeśli jest to proste (klasyfikacja, ekstrakcja, oczywiste trasowanie), Haiku radzi sobie z tym kompleksowo. Jeśli zadanie jest średnio skomplikowane, Haiku przekazuje je Sonnetowi. Jeśli jest to trudny przypadek, w którym pewność siebie Sonneta jest niepewna, skontaktuj się z Opus. Każdy poziom obsługuje ruch, który mu odpowiada; tylko to, co naprawdę potrzebuje Opus, dociera do Opus.
Sama decyzja o routingu jest wywołaniem modelowym — zwykle Haiku, po otrzymaniu zwięzłego monitu opisującego nadchodzące zadanie. Zadaniem Haiku jest zwrócenie kategorii, a router używa tej kategorii do wybrania, który model niższego szczebla otrzyma rzeczywistą pracę. Jest to szybkie, tanie i wystarczająco dokładne empirycznie do wyznaczania tras produkcyjnych.
Tryb niepowodzenia, jaki sondy badają, to załamanie jakości na granicy. Kieruj się zbyt agresywnie do Haiku, a zobaczysz regresję jakości w zadaniach, z którymi Haiku nie do końca sobie radzi. Rozwiązaniem jest umożliwienie Sonnetowi przeglądu wyników Haiku w kategoriach z pogranicza – jest to dodatkowa usługa, ale tania w porównaniu z wysyłaniem złych wyników Haiku. Jest to odpowiednik kroku „weryfikacji” w warstwie routingu modelu.
Subtelniejszym wzorcem jest routowanie dynamiczne w oparciu o budżet kosztowy. W systemie z limitem kosztów na żądanie router może wiedzieć, ile do tej pory wydano i preferować tańsze modele, gdy budżet jest prawie wyczerpany. Zapewnia to płynną degradację pod presją kosztów — system zwalnia i staje się prostszy, zamiast od razu zawieść. Egzamin określa to mianem inżynierii kosztów na poziomie certyfikacji.
Ryc. 69.1 — Wykres wodospadowy. Kieruj według kształtu, nie nadziei. Haiku na górze obsługuje wolumen; eskalacja następuje tylko tam, gdzie ruch na nią zasłuży.
Rozdział 70 · Część VII
Limity szybkości i ponowne próby
Każdy system produkcyjny LLM ostatecznie osiąga limity szybkości. Anthropic API zwraca 429 odpowiedzi w przypadku przekroczenia limitu żądań konta lub limitu tokenów; system, który nie obsługuje prawidłowo 429, po prostu zawiedzie, gdy obciążenie wzrośnie. Certyfikowany architekt projektuje limity prędkości od samego początku, a nie po namyśle po pierwszej przerwie w dostawie prądu.
Wzorzec ponawiania, jakiego oczekuje egzamin. Wykładnicze wycofywanie — pierwsza próba po 1 sekundzie, następnie 2, 4, 8, 16. Każda ponowna próba podwaja opóźnienie. Jitter — dodaj losowe 0–500 ms do każdego opóźnienia, aby wielu klientów próbujących jednocześnie nie zakłócało API w tym samym czasie. Limit — maksymalna liczba ponownych prób (zwykle 5), powyżej której poddajesz się i wyskakuje błąd. Zestaw SDK domyślnie implementuje ten wzorzec, ale należy go znać na tyle dobrze, aby zastąpić go lub powielić.
Rozróżnienie między błędami, które można powtórzyć i które nie można powtórzyć. 429 (limit szybkości) można ponownie pobrać. 503 (usługa niedostępna) można odzyskać. 500 (błąd serwera) można powtórzyć. Błędy 4xx, których nie ma 429 — 400 (złe żądanie), 401 (nieautoryzowane), 404 (nie znaleziono) — są nie powtarzalne; zawiodą identycznie, niezależnie od tego, ile razy będziesz próbował. Egzamin wykrywa kandydatów, którzy bezkrytycznie próbują ponownie podjąć próbę; ponowna próba 400 marnuje czas i pieniądze.
Wzorzec awaryjny OpenRouter dla systemów o wysokiej dostępności. Kiedy Anthropic zwraca 503 przy ciągłym obciążeniu, wyjściem awaryjnym do OpenRouter (agregatora współpracującego z wieloma dostawcami) może utrzymać działanie systemu. Wzorzec, jakiego oczekuje egzamin: lista rezerwowa zaczyna się od płatnego punktu końcowego OpenRouter Claude (który jest funkcjonalnie odpowiednikiem Anthropic), następnie wszelkich modeli dodatkowych. Darmowe modele przewracają się jako pierwsze pod prawdziwym obciążeniem; umieszczanie ich przed płatną rezerwą jest znanym antywzorcem z określonym trybem awarii.
Subtelniejszą dyscypliną jest obserwowalność. Każda ponowna próba, każde wycofanie, każde 429 powinno być rejestrowane. System po cichu ponawia próbę przekroczenia limitu szybkości, powodując widoczne dla użytkownika skoki opóźnień, których inżynierowie nie potrafią wyjaśnić. System z rejestrowaniem ponownych prób może odpowiedzieć „dlaczego to żądanie zajęło 8 sekund” za pomocą „uzyskaliśmy dwa błędy 429 i ponowiliśmy próbę” – diagnoza, którą można podjąć, a nie zagadka.
Ryc. 70.1 — Takty backoffu. Pierwsze ponowienie natychmiast, potem 1 s, 2 s, 4 s, 8 s — ze szczyptą jittera. Loguj każde; ogranicz ich liczbę; błędy inne niż 429 traktuj inaczej.
Część VIII
Projekty, artefakty & Umiejętności
Konsumencka powierzchnia Claude — claude.ai — stała się poważnym środowiskiem do pracy zawodowej. Projekty zawierają trwałe instrukcje; artefakty zamieniają rozmowy w pliki; umiejętności niosą ze sobą nieuniknioną wiedzę. Każdy z nich można przetestować na egzaminie i każdy ma określony zestaw rzeczy, o których wie certyfikowany architekt.
Rozdział 71 · Część VIII
Projekty i trwałe instrukcje
W claude.ai projekt to kontener, który pakuje trwałe instrukcje, przesłane pliki i zestaw rozmów w jedną przestrzeń roboczą. Jest to odpowiednik CLAUDE.md Claude’a Code’a — sposób na ustalenie kontekstu, który będzie trwał podczas każdej rozmowy w ramach projektu, dzięki czemu nie trzeba za każdym razem ponownie omawiać modelu.
Trzy składniki. Instrukcje niestandardowe — monit systemowy Projektu, pisany raz i stosowany przy każdej rozmowie. Wiedza projektowa — przesłane pliki, do których Claude może się odwoływać w rozmowach (dokumentacja produktu, przewodniki stylistyczne, próbki kodu). Rozmowy — wątki czatu, które prowadzisz w ramach Projektu; każdy zaczyna od nowa, ale dziedziczy instrukcje i wiedzę.
Przejście na poziom certyfikacji: używaj Projektów do powtarzających się przepływów pracy, a nie do jednorazowych czatów. Projekt o nazwie „Obsługa klienta” z instrukcjami „jesteś inżynierem pomocy technicznej w Acme, odpowiadaj tonem zgodnym z przewodnikiem po stylu” i przesłaną dokumentacją produktu to trwała przestrzeń robocza. Projekt dla każdej rozmowy jest niewłaściwym użyciem — koszt konfiguracji przewyższa ponowne użycie.
Egzamin sprawdza rozróżnienie pomiędzy instrukcjami programu Project a podpowiedziami dotyczącymi rozmowy. Instrukcje projektu są stabilne podczas rozmów; monity dotyczące poszczególnych rozmów dostosowują się do konkretnego zadania. Obydwa tworzą — zachęty konwersacji są nakładane na wierzchołki Projektu, podobnie jak w przypadku hierarchii CLAUDE.md. Mylenie „tego, co dzieje się w projekcie” z „tym, co dzieje się w rozmowie” to częsty błąd wykrywany przez egzamin.
Projekty umożliwiają także udostępnianie (rozdział 79) — projekt można udostępnić zespołowi, dzięki czemu wszyscy pracują w oparciu o te same instrukcje i bazę wiedzy. To zmienia projekt z osobistego obszaru roboczego w artefakt zespołowy i wprowadza kwestie związane z zarządzaniem, które certyfikowany architekt powinien zaplanować: kto może edytować instrukcje, kto może dodawać pliki, w jaki sposób zmiany są propagowane.
Ryc. 71.1 — Anatomia projektu. Instrukcje na górze, wiedza z boku, rozmowy w środku. Instrukcje i wiedzę ustawia się raz; każda rozmowa zaczyna się już z briefem.
Rozdział 72 · Część VIII
Pięć typów artefaktów
Artefakty to mechanizm Claude.ai umożliwiający tworzenie istotnych, możliwych do zapisania wyników konwersacji — kodu, dokumentów i wizualizacji — które znajdują się w panelu bocznym i można je edytować, udoskonalać i pobierać. Istnieje pięć typów artefaktów, każdy o konkretnym przeznaczeniu, a certyfikowany architekt wie, kiedy każdy z nich pasuje.
Kod — blok kodu z podświetloną składnią, który może zostać skopiowany lub wykonany przez użytkownika. Odpowiednie dla wszystkiego, co zostanie wklejone do IDE. Markdown — wyrenderowany dokument z nagłówkami, tabelami i formatowaniem. Prawo do raportów, briefów, dokumentacji, materiałów prozatorskich. SVG — grafika wektorowa. Odpowiednie do diagramów, ikon i wizualizacji redakcyjnych, takich jak te w tej książce. React — samodzielny komponent React, który renderuje na żywo w panelu artefaktów. Odpowiedni do interaktywnych makiet interfejsu użytkownika, małych narzędzi, prototypów wizualizacji danych. HTML — samodzielna strona HTML. Odpowiednie do wersji roboczych stron docelowych, kompletnych dokumentów i wszystkiego, co użytkownik otworzy w przeglądarce.
Ruch na poziomie certyfikacji polega na wybraniu typu, który pasuje do wyniku, a nie typu, który wydaje się najbardziej wymyślny. Szybki skrypt to kod, a nie reakcja. Diagram to SVG, a nie HTML z wbudowanym SVG. Raport to przecena, a nie kod. Ramki egzaminu wykorzystujące React, gdy wystarczy SVG — lub HTML, gdy wystarczy przecena — jako sygnał przesadnej inżynierii.
Błąd popełniany przez większość początkujących: proszenie o „artefakt React”, gdy chcą diagramu SVG, ponieważ widzieli artefakty React i zapomnieli, że SVG istnieje jako typ pierwszej klasy. Właściwe pytanie brzmi: „Jaki kształt ma naturalny wynik?” — diagram jest kształtem; komponent ma inny kształt. Wybierz typ pasujący do kształtu, a nie ten, który daje najbardziej imponujący efekt.
Artefakty również obsługują iterację. Możesz poprosić Claude'a o zmodyfikowanie istniejącego artefaktu — „zmianę koloru akcentu na niebieski”, „dodanie sekcji na X” — a model zaktualizuje artefakt na miejscu. Dzięki temu są prawdziwą powierzchnią roboczą, a nie tylko formatem wyjściowym. Egzamin oczekuje, że będziesz o tym wiedział i sięgnął po to, zamiast rozpoczynać nowe rozmowy w celu iteracji na tych samych wynikach.
Ryc. 72.1 — Pięć typów. Wybieraj według kształtu, nie nowości. Sięganie po React lub HTML, gdy wystarczy prostszy typ, to kanoniczny antywzorzec artefaktów na egzaminie.
Rozdział 73 · Część VIII
Umiejętności jako invocable z frontem YAML
W rozdziale 33 przedstawiono umiejętności w kontekście Kodu Claude'a. Część VIII traktuje je jako prymitywne elementy pierwszej klasy w całym ekosystemie Claude — ten sam kształt pojawia się w Claude Code, Claude.ai i zewnętrznych hostach przyjmujących ten standard. Certyfikowany architekt rozumie umiejętności jako przenośną, dystrybuowalną jednostkę możliwości, a nie tylko szczegół Kodeksu Claude'a.
Struktura plików umiejętności jest stabilna na różnych hostach. Plik przeceny z frontem YAML deklarującym nazwę, opis i opcjonalną konfigurację. Tematem przewodnim jest to, co gospodarz czyta, aby zdecydować, jak i kiedy użyć danej umiejętności; ciało jest tym, co jest ładowane jako instrukcje umiejętności po wywołaniu.
Pole nazwy ma większe znaczenie niż się wydaje. Staje się identyfikatorem polecenia ukośnika, wpisem dziennika i nazwą wyświetlaną w interfejsie użytkownika. Powinno wyglądać jak kebab, zapadać w pamięć i być konkretne. Nazwy takie jak pomocnik lub moja-umiejętność kolidują ze sobą i słabo kierują; nazwy takie jak gh-pr-summarise lub python-test-runner są niezawodne, ponieważ opisują.
Pole opisu to wejście routera. Dwie zasady, których oczekuje egzamin. Nazwij frazy wyzwalające — „użyj, gdy użytkownik wpisze /xyz, powie „uruchom xyz” lub zapyta o xyz”. Nazwij czynniki przeciwdziałające — „NIE wywołuj dla sąsiadujących, ale różnych zadań; zamiast tego użyj umiejętności Y”. Opis zawierający zarówno sygnały pozytywne, jak i negatywne, zapewnia niezawodne trasowanie; ten, który ma tylko pozytywne wyniki, ma więcej fałszywych alarmów.
Bardziej subtelny punkt projektu polega na tym, że umiejętności powinny być przywoływane w izolacji. Umiejętność, która działa tylko wtedy, gdy najpierw uruchomią się trzy inne umiejętności, lub która zależy od stanu, którego gospodarz nie ujawnia, jest delikatna — zawiedzie w cichy sposób, gdy zostanie wywołana w innej kolejności. Egzamin wymaga, aby umiejętności były samowystarczalne: ładowały potrzebny kontekst, wykonywały swoją pracę i zwracały wynik. Kompozycja zachodzi na poziomie routera, a nie wewnątrz umiejętności.
Ryc. 73.1 — Anatomia umiejętności. Frontmatter dla routera, treść dla modelu. Ten sam kształt działa na każdym hoście implementującym standard umiejętności; umiejętności są przenośne z założenia.
Rozdział 74 · Część VIII
Pisanie opisów umiejętności, które router uwielbia
Opis każdej umiejętności wymaga więcej pracy, niż większość autorów zdaje sobie sprawę. To nie jest dokumentacja — to sygnał szkoleniowy, który router odczytuje, aby zdecydować, czy wiadomość użytkownika powinna odwoływać się do tej umiejętności. Dobrze napisany opis zapewnia niezawodne wyznaczanie tras; źle napisany generuje fałszywe wyniki negatywne (router nie znajduje umiejętności wtedy, kiedy powinien) i fałszywie pozytywne (router wywołuje niewłaściwą umiejętność).
Szablon, jakiego oczekuje egzamin. Cel w jednym zdaniu — do czego służy dana umiejętność. Frazy wyzwalające — konkretny język użytkownika, który powinien je wywołać, najlepiej od trzech do pięciu fraz. Antywyzwalacze — frazy, które wyglądają na podobne, powinny aktywować tę umiejętność, ale w rzeczywistości są inne. Warunki brzegowe — kiedy ta umiejętność ma zastosowanie (w konkretnym projekcie, na określonych typach plików, w określonych momentach).
Sprawdzony przykład. Umiejętność: gh-pr-summarise. Słaby opis: „Podsumuj PR GitHub”. Mocny opis: „Podsumuj żądanie ściągnięcia GitHub. Używaj, gdy użytkownik wpisze /gh-pr-summarise, powie „podsumuj to żądanie ściągnięcia”, „co jest w żądaniu ściągnięcia nr 123”, „co zmieniło to żądanie ściągnięcia”. NIE używaj do podsumowywania zatwierdzeń (użyj gh-commit-summary), do podsumowywania problemów (użyj gh-issue-summary) ani do podsumowywanie różnic poza PR. Wymaga zainstalowania i uwierzytelnienia interfejsu CLI gh.
Różnica w zachowaniu jest mierzalna. Słaby opis kieruje się wibracjami; silniejszy kieruje na określone wyzwalacze. Użytkownicy mówią „podsumuj ten PR” i zdobądź odpowiednie umiejętności; mówią „podsumuj to zatwierdzenie” i zdobądź inną umiejętność; mówią „co jest w PR 123” i wciąż zdobywają odpowiednie umiejętności. Router to moduł dopasowujący tekst; podaj tekst.
Wgląd na poziomie certyfikacji: opisy wieku. W miarę dodawania sąsiednich umiejętności, opis istniejącej umiejętności musi zawierać elementy zapobiegające wyzwalaczom wskazujące na nowe umiejętności. Opisy umiejętności to żywe dokumenty, które ewoluują wraz ze wzrostem kolekcji umiejętności. Statyczne, nigdy nie zmieniane opisy powodują pogorszenie jakości wyznaczania tras w miarę zapełniania się okolicy.
Ryc. 74.1 — Dwa opisy. Ta sama umiejętność, różna jakość routingu. Mocna wersja mówi routerowi, gdzie mieszka umiejętność, i — co kluczowe — gdzie mieszkają jej sąsiedzi.
Rozdział 75 · Część VIII
Tryb planowania jako dyscyplina
W rozdziale 26 wprowadzono tryb planu jako funkcję Claude Code. Część VIII przenosi wzorzec do ogólnej zasady: dyscyplina eksploracji tylko do odczytu przed edycjami to systemowa dźwignia zapobiegająca kruchości, która ma zastosowanie w każdym systemie opartym na LLM, a nie tylko w sesjach Claude Code.
Ogólna zasada. Każdy system, w którym LLM wprowadza zmiany w rzeczywistym artefakcie – kodzie, wierszach bazy danych, konfiguracji, systemach zewnętrznych – jest bezpieczniejszy, gdy istnieje wyraźne oddzielenie faz między „zrozumieniem bieżącego stanu” a „zastosowaniem zmiany”. Faza czytania tworzy plan; faza zapisu wykonuje plan. Pomiędzy nimi znajduje się punkt kontrolny, w którym może interweniować człowiek lub walidator.
W przypadku Claude Code jest to tryb planowy. W przypadku agenta produkcyjnego może to być potok dwóch agentów: agent „analizujący”, który tworzy specyfikację zmiany, a następnie agent „wykonujący”, który stosuje tę specyfikację. W przypadku przepływu pracy związanego z migracją bazy danych może to być „wygenerowanie kodu SQL” w jednym kroku, a następnie „zastosowanie go” w ramach odrębnego etapu wymagającego zatwierdzenia. Wzór jest bardziej abstrakcyjny niż jakiekolwiek konkretne narzędzie.
Dlaczego dyscyplina ma znaczenie. Systemy, które pomijają fazę planowania, odkrywają niewłaściwy zakres w połowie wykonywania — zmiana dotyczy plików, których nie powinna, migracja nie jest idempotentna, refaktor psuje coś, o istnieniu czego agent nie wiedział. Systemy z fazą planowania wyłapują je przed wystąpieniem jakichkolwiek zapisów; kosztem jest jedna runda myślenia, a zwrotem nie jest konieczność wprowadzenia złej zmiany.
Wiedza na poziomie certyfikacji jest taka, że tryb planu to nie w przypadku zadań, które już wiesz, jak wykonać. Jeśli wiesz dokładnie, które dwie linie wymagają zmiany, tryb planowania to ceremonia. Tryb planowania przeznaczony jest do zadań, w których kształt odpowiedzi jest niepewny – gdzie odkrycie kryje się w wartości. Zastosowanie go do właściwych zadań jest oceną wywoławczą sond egzaminacyjnych.
Ryc. 75.1 — Odczytaj, sprawdź, zapisz. Ogólny kształt pojawia się w trybie planowania, w przepływach migracji, w potokach dwuagentowych. Wszędzie, gdzie LLM zapisuje do współdzielonego stanu, takie rozdzielenie faz zmniejsza kruchość.
Rozdział 76 · Część VIII
Narzędzie zadań jako pamięć zewnętrzna
W rozdziale 27 przedstawiono rodzinę narzędzi Zadania jako mechanizm śledzenia zadań Claude’a Code. Część VIII omawia to ponownie jako przykład bardziej ogólnego wzorca: stan eksternalizacyjny, który w przeciwnym razie istniałby tylko w rozmowie. Ilekroć plan agenta musi przetrwać zmianę kontekstu, plan ten należy umieścić w trwałym miejscu — a narzędziem Zadanie jest kanonicznym przykładem.
Podstawowa idea. Historia rozmów LLM jest przejściowa. Zostaje podsumowany, zagęszczony lub utracony na granicach sesji. Wszystko, o czym agent musi pamiętać poza tą granicą, musi znajdować się gdzie indziej. Narzędzie Zadanie jest najprostszym takim miejscem — uporządkowaną listą, którą wiązka przewodów utrzymuje poza kontekstem modelu, do której model może wysyłać zapytania i aktualizować za pomocą wywołań narzędzi.
Wnioski na poziomie certyfikacji są takie, że ten sam wzorzec ma zastosowanie do każdego stanu generowanego przez agenta, który wykracza poza jego kontekst. Długoterminowe plany, decyzje, odkryte ograniczenia, stałe umowy z użytkownikiem – wszystko to należy do zewnętrznych magazynów, które agent może ponownie przeczytać. Pliki pamięci. Listy zadań. Dzienniki decyzji. Niezależnie od mechanizmu, kształt jest ten sam: państwo żyje na zewnątrz, agent czyta i pisze.
Tryb awarii bez tej dyscypliny to ten, który nazwaliśmy w rozdziale 38. — wiązanie nośne, które żyło tylko w rozmowie, zostało podsumowane i przestało kształtować późniejsze zachowanie. Eksternalizacja stanu na listę zadań, plik pamięci lub CLAUDE.md uniemożliwiłaby to. Narzędzie zadań nie służy tylko do śledzenia pracy; chodzi o trwałość intencji.
Bardziej subtelny punkt projektu polega na tym, że narzędzie Zadanie modeluje postęp, a nie tylko zamiary. TaskCreate deklaruje „to zostanie zrobione”; TaskUpdate deklaruje „to jest zrobione” lub „to jest zrobione”. Przejścia agenta pomiędzy tymi stanami same w sobie są pamięcią — stan listy zadań w dowolnym momencie opisuje zarówno to, co pozostało, jak i to, co już się wydarzyło. Jest to mała ustrukturyzowana historia, do której agent może zapytać, aby dowiedzieć się, co już wypróbował.
Ryc. 76.1 — Na zewnątrz kontra w środku. Przerywana elipsa to stan rozmowy; zanika. Pełne pudełko to stan zewnętrzny; trwa. Narzędzie zadań to jeden z mostów między nimi.
Rozdział 77 · Część VIII
Izolacja kontekstu jako dyscyplina
Izolacja kontekstu to nie tylko „tworzenie subagenta, gdy zadanie staje się duże”. Jest to całe podejście projektowe dotyczące tego, co powinna zawierać sesja podstawowa i co powinna przekazywać. Certyfikowany architekt myśli o kontekście w taki sam sposób, w jaki architekt myśli o kapitale — rzadkim zasobie, który należy wydawać celowo, a nie gromadzić w wyniku bezwładności.
Postawa. Każdy token, który przenosi sesja podstawowa, jest tokenem, który mógł zawierać coś bardziej przydatnego. Kontekst sesji opiera się na trzech mechanizmach: nierozwiązanych stycznych, pełnych wynikach narzędzi i pracy eksploracyjnej, która nie przyniosła żadnych trwałych artefaktów. Dyscyplina izolacji polega na aktywnym wykluczeniu wszystkich trzech — przekazaniu stycznych do podagentów, podsumowaniu pełnych wyników, wyodrębnieniu ustaleń eksploracyjnych do zewnętrznych notatek i pozostawieniu samej eksploracji.
Wzory mechaniczne. Przekaż pracę styczną podagentom. Jeśli w połowie zadania musisz zbadać coś sąsiadującego, nie rób tego w sesji głównej — stwórz podagenta Eksploruj, otrzymaj podsumowanie i kontynuuj raczej podsumowanie niż pełną ścieżkę badawczą. Podsumuj po zakończeniu. Po wykonaniu podzadania napisz jednoakapitowe podsumowanie tego, co się wydarzyło i usuń pośrednie zwoje z pamięci roboczej, jeśli uprząż to obsługuje. Ekternalizuj decyzje. Kiedy podczas sesji zostanie podjęta trwała decyzja, zapisz ją w pamięci, zamiast polegać na tym, że pozostanie w transkrypcji.
Egzamin sprawdza różnicę między kandydatami, którzy pozwalają, aby podczas sesji podstawowej zgromadzono wszystko, a tymi, którzy aktywnie zarządzają tym, co to niesie. Pierwszy wzorzec tworzy sesje, które z czasem zwalniają, dryfują i zapominają. Drugie pozwala na sesje, które pozostają ostre i skupione przez czas nieokreślony, kosztem dyscypliny, którą należy praktykować świadomie.
Subtelniejszą kwestią jest to, że izolacja kontekstu to umiejętność powściągliwości. Nie chodzi o to, żeby zrobić więcej; chodzi o to, aby świadomie decydować o tym, co zajmie główny kontekst, a co zostanie przekazane. Działa to wbrew zasadzie „po prostu zapytaj model, on sobie z tym poradzi” — czasami poprawną odpowiedzią jest „utwórz subagenta i pozwól, aby sesja główna w ogóle tego nie przeprowadzała”.
Ryc. 77.1 — Główny i delegaci. Sesja główna pozostaje szczupła, oddając dygresje, wykonanie i planowanie izolowanym subagentom. Każdy zwraca tylko podsumowanie; praca pośrednia zostaje poza kontekstem głównym.
Rozdział 78 · Część VIII
Łączniki i granica danych
Łączniki Claude — integracje z Gmailem, Google Drive, Slack, GitHub, Linear i innymi systemami — zmieniają Claude'a z chatbota w operatora na rzeczywistych danych użytkownika. Jest to w równym stopniu potężne, jak i delikatne. Każde złącze stanowi granicę danych, o której certyfikowany architekt świadomie myśli, ponieważ stwierdzenie „pozwól Claude’owi zobaczyć wszystko” nie jest postawą bezpieczeństwa.
Trzy gradienty czułości, które architekt mapuje dla każdego złącza. Wrażliwość danych — czy źródło jest publiczne, wewnętrzne, poufne lub regulowane? Zakres zapisu — czy Claude może tylko czytać, czy może także modyfikować, usuwać lub wysyłać? Zakres użytkownika — czy Claude działa w imieniu bieżącego użytkownika z jego uprawnieniami, czy z podwyższonymi uprawnieniami konta usługi?
Stosowany do łączników betonowych. Gmail z funkcją odczytu i wysyłania różni się od Gmaila w trybie tylko do odczytu. GitHub z tokenem, który może wymusić wypychanie, różni się od tokena z dostępem tylko do odczytu. Slack z pozwoleniem na publikowanie postów na każdym kanale różni się od Slacka ograniczonego do jednego kanału zespołu. Podczas egzaminu oczekuje się, że będziesz wiedzieć, że prawidłowa konfiguracja złącza to minimalne uprawnienia wymagane przez zadanie, a nie maksymalne dostępne.
Przeniesienie na poziomie certyfikatu: nigdy nie udzielaj łącznikowi szerokich uprawnień do zapisu w systemie, w którym użytkownicy mogą swobodnie sterować agentem. Bot wsparcia z uprawnieniami do wysyłania wiadomości e-mail jako dyrektor generalny jest atakiem phishingowym; agent badawczy mający pozwolenie na usuwanie plików z Dysku Google to incydent utraty danych, który może nastąpić. Szerokie uprawnienia do agentów sterowanych przez użytkownika to kategoria błędów, które egzamin ocenia surowo.
Subtelniejszą dyscypliną jest audyt na poziomie złącza. Każde działanie podejmowane przez łącznik w imieniu użytkownika powinno być rejestrowane i możliwe do przeglądu. Jeśli łącznik Slack wyśle wiadomość, wiadomość ta powinna pojawić się w dzienniku audytu wraz z monitem i uzasadnieniem, które do niej doprowadziło. To ślad, którego potrzebujesz, gdy coś pójdzie nie tak – a coś zawsze w końcu pójdzie nie tak.
Ryc. 78.1 — Gdzie siedzi konektor. Prawy górny kwadrant domyślnie wymaga człowieka w pętli; lewy dolny to strefa bezpieczna. Każdy konektor mieszka w jednym z czterech; wiedz, w którym.
Rozdział 79 · Część VIII
Udostępnianie projektu
Projekt Claude.ai można udostępnić zespołowi, a gdy już to nastąpi, jego kształt zasadniczo się zmienia. Projekt osobisty to przestrzeń robocza; współdzielony projekt to artefakt — taki, na którym zespół polega, wspólnie go edytuje i traktuje jako wiedzę instytucjonalną. Przejście wprowadza kwestie związane z zarządzaniem, które certyfikowany architekt wie o planowaniu od chwili, gdy projekt ma więcej niż jednego użytkownika.
Trzy pytania dotyczące zarządzania, których oczekuje egzamin. Kto może edytować instrukcje? Jeśli każdy może, dryf jest nieunikniony. Jeśli nikt nie może, Projekt nie może ewoluować. Właściwą odpowiedzią jest zwykle wyraźny właściciel lub mała grupa właścicieli. Kto może dodawać pliki do wiedzy o projekcie? Luźne uprawnienia powodują bałagan; wąskie uprawnienia powodują nieaktualność. Jak rozprzestrzeniają się zmiany? Zmiana we współdzielonym Projekcie wpływa na każdą trwającą rozmowę; użytkownicy zasługują na to, aby wiedzieć, kiedy ziemia się pod nimi poruszyła.
Bardziej subtelnym problemem jest wyciek danych. Jeśli projekt zostanie udostępniony zespołowi i ktoś prześle dokument zawierający poufne dane klienta, dokument ten będzie teraz widoczny dla każdego członka zespołu mającego dostęp do projektu. To nie jest problem Claude’a — to normalny problem z udostępnianiem dokumentów — ale objawia się on w nowym miejscu i napotykają go zespoły, które nie myślą o wiedzy o Projekcie tak, jak o dyskach współdzielonych.
Profesjonalny wzór, który nagradza egzamin: traktuj udostępnione projekty jak wspólne repozytoria. Mają właścicieli. Dokonali przeglądu przed krytycznymi zmianami. Mają konwencje nazewnictwa i organizacji. Okresowo są sprawdzane pod kątem nieaktualnych treści. Projekty, które pozostają przydatne przez lata, są traktowane z tą dyscypliną; Projekty, które zamieniają się w wysypisko śmieci, są traktowane jako osobiste przestrzenie do pracy, które akurat były współdzielone.
Egzamin obejmuje jeden scenariusz, który ciągle się pojawia: instrukcje projektu są stopniowo usuwane w miarę edytowania ich przez różnych członków zespołu („ta zasada jest denerwująca”, „nie potrzebuję tego ograniczenia”, „usuń tę sekcję”), a projekt odbiega od pierwotnego projektu. Rozwiązaniem jest kontrola wersji — albo jawny dziennik zmian w instrukcjach projektu, albo pozapasmowy moduł śledzący zamierzone zmiany. Cicha edycja to wzorzec, który niszczy współdzielone projekty.
Ryc. 79.1 — Dwa tryby. Udostępnienie Projektu przesuwa go z przestrzeni roboczej do artefaktu. Dyscypliny zarządcze po prawej sprawiają, że współdzielone Projekty pozostają przydatne z czasem; ich pominięcie to droga do degradacji.
Rozdział 80 · Część VIII
Pętla refaktoryzacji artefaktów
Część VIII zamyka przepływ pracy, z którego korzysta certyfikowany architekt co tydzień: przenoszenie artefaktu z wstępnej wersji roboczej do wysłanego kodu bez opuszczania pętli. Trzy ruchy — wyślij to brzydko, powtórz w rozmowie, wyodrębnij do repo — zmień claude.ai z zabawki w środowisko pracy. Egzamin sprawdza, czy rozpoznajesz ten kształt jako wzór rozwoju zawodowego, a nie skrót.
Ruch pierwszy: Wyślij artefakt w brzydki sposób. Poproś Claude'a o potrzebny artefakt — komponent React, stronę HTML, skrypt w języku Python — i zaakceptuj pierwszą wersję, nawet jeśli jest niejasna. Nie spędzaj pierwszych dziesięciu minut na próbach szybkiego zaprojektowania idealnego jednorazowego strzału; model jest najszybszy, jeśli pozwolisz mu coś wygenerować i wykonać iterację. Im brzydsza jest pierwsza wersja, tym więcej daje pola do krytyki.
Ruch drugi: powtarzaj w rozmowie. Wskaż konkretne elementy, które chcesz zmienić. „Zaokrąglij przycisk”. „Przenieś ten stan do rodzica”. „Podziel tę funkcję na dwie części”. Każda iteracja modyfikuje istniejący artefakt — nie uruchamiasz ponownie; refaktoryzujesz. Rozmowa niesie ze sobą wspólny kontekst; artefakt przenosi stan wzrostu. Razem stanowi to prawdziwą powierzchnię roboczą.
Ruch trzeci: wyodrębnij do repo. Kiedy artefakt się ustabilizuje, wyciągnij go z claude.ai i umieść w prawdziwej bazie kodu. Skopiuj kod, dodaj go do repozytorium i podłącz do swojej kompilacji. Od tego momentu artefakt jest kodem jak każdy inny kod; Rozmowa claude.ai była jej rusztowaniem, a nie domem. Etap ekstrakcji zamienia „eksperyment Claude’a” w „funkcję dostarczaną”.
Wiedza na poziomie certyfikatu jest taka, że ta pętla działa tylko wtedy, gdy zaangażujesz się w każdy ruch. Próba pominięcia pierwszego ruchu i szybkiego wykonania doskonałego pierwszego strzału jest powolna. Próba pominięcia drugiej części i rozpoczęcia nowych rozmów w każdej iteracji powoduje utratę nagromadzonego kontekstu. Próba pominięcia ruchu trzeciego i wykorzystania claude.ai jako stałego miejsca przechowywania krytycznych artefaktów jest błędem zawodowym — kod produkcyjny należy do infrastruktury produkcyjnej, a nie do transkrypcji czatu.
Ryc. 80.1 — Trzy ruchy. Najpierw brzydko, iteruj w miejscu, wyodrębnij na końcu. Pominięcie którejkolwiek z trzech psuje pętlę; trzymanie się wszystkich trzech czyni claude.ai powierzchnią pracy, a nie zabawką.
Część IX
Ocena, bezpieczeństwo & Obserwowalność
Systemy, które same się nie mierzą, regresują po cichu. Wysyłają je systemy, które nie sprawdzają, czy nie występują szkody. Systemów, których nie można zaobserwować, nie można debugować. Ta część to dyscyplina, jaką certyfikowany architekt wnosi, aby zapewnić uczciwość dostarczanych systemów — ewaluacja, red-teaming, obsługa danych osobowych, śledzenie i podręcznik reagowania na incydenty w przypadku wszystkich poważnych potrzeb wdrożeniowych.
Rozdział 81 · Część IX
Evals, które pokonują wibracje
„Wydaje się lepiej” nie jest strategią zarządzania zmianami. Każdy profesjonalny system LLM wymaga ewaluacji — celowego, powtarzalnego pomiaru jakości w oparciu o ustalony zestaw testów — a certyfikowany architekt zna zarówno minimalny realny kształt, jak i sposoby jego pominięcia.
Minimalna opłacalna wartość eval. Dwadzieścia do pięćdziesięciu reprezentatywnych danych wejściowych, pochodzących z rzeczywistego ruchu lub ręcznie przygotowanych na potrzeby dystrybucji. Dla każdego wkładu udokumentowany oczekiwany wynik lub, w przypadku zadań otwartych, rubryka, według której model lub człowiek może uzyskać ocenę. Moduł uruchamiający, który uruchamia wszystkie dane wejściowe w ramach bieżącej konfiguracji podpowiedzi i generuje wynik pozytywny/negatywny dla każdego przypadku oraz łączny wynik.
Dlaczego dwadzieścia do pięćdziesięciu. Mniej niż dwadzieścia daje szum, a nie sygnał. Ponad pięćdziesiąt to malejące zyski w przypadku większości zmian. Liczba ta może rosnąć w miarę dojrzewania systemu, ale początkowa wartość powinna być na tyle mała, aby można było ją zbudować w jedno popołudnie i uruchomić w ciągu kilku minut. Wszystko większe jest zbyt drogie, aby często je uruchamiać, co mija się z celem.
Rytm, jakiego oczekuje egzamin. Każda szybka zmiana, każda zmiana wersji modelu, każda modyfikacja zestawu narzędzi jest sprzeczna z oceną przed wysyłką. Spadek łącznego wyniku to czerwona flaga; przypadek, który przechodzi od pozytywnego do niepomyślnego, jest badany indywidualnie. Systemy, które przeprowadzają ewaluacje na żądanie tylko wtedy, gdy coś się zepsuje, to systemy, które wykrywają regresje w produkcji; systemy, które uruchamiają ewaluacje przy każdej zmianie, wykrywają je w czasie kompilacji.
Subtelniejszą dyscypliną jest to, że wartości kłamią, chyba że zbiór testowy jest reprezentatywny. Jeśli twoja ewaluacja to dwadzieścia syntetycznych danych wejściowych, a ruch produkcyjny ma zupełnie inną dystrybucję, przechodząca ewaluacja nie mówi nic o tym, jak system będzie się zachowywał w środowisku naturalnym. Jeśli to możliwe, zbuduj ocenę na podstawie rzeczywistego ruchu; tam, gdzie nie, dokonaj starannej syntezy; okresowo sprawdzaj, czy dystrybucja nadal się zgadza.
Ryc. 81.1 — Pętla ewaluacji. Zmiana → uruchomienie → porównanie → wdrożenie albo poprawka. Przerywana pętla zwrotna to miejsce, gdzie regresje są wyłapywane przed wdrożeniem.
Rozdział 82 · Część IX
Budowa pakietu regresji
Wartość eval z rozdziału 81 staje się zestawem regresji w momencie, gdy zaczniesz ją celowo rozwijać. Każdy incydent produkcyjny, każda skarga użytkownika, każda awaria wyłapana podczas przeglądu — każdy przypadek testowy staje się przypadkiem testowym dodanym do pakietu. Funkcja eval zmienia się z „migawki bieżącej jakości” w „pamięć bazy kodu o każdym błędzie, który już przetrwał”.
Rytuał dodawania. Kiedy pojawia się błąd, dzieją się trzy rzeczy. Błąd został naprawiony. Do eval dodawany jest przypadek testowy, który odtwarza błąd. Cała ewaluacja jest wykonywana, aby potwierdzić brak regresji w innym miejscu. Jest to ta sama dyscyplina, którą TDD wprowadza do konwencjonalnego kodu, stosowana do podpowiedzi. Każdy napotkany błąd pozostaje napotkany; model nie może po cichu cofnąć się do niego ponownie, tak aby Twój CI go nie złapał.
Na egzaminie oczekuje się, że wiesz, że przypadki ewaluacyjne mają metadane. Pochodzenie (który incydent spowodował ten przypadek), kategoria (jaki rodzaj awarii obejmuje) i – co najważniejsze – oczekiwane zachowanie. Po uruchomieniu ewaluacji niepowodzeniem nie jest tylko „niepowodzenie przypadku 47”, ale „przypadek 47 — przypadek odmowy związany z CVE z czerwca — nie powiódł się; model nie stosuje już właściwych zasad”. Metadane przekształcają zbiorcze awarie w konkretną diagnostykę.
Integracja CI. Pakiet regresji działa przy każdej monitowanej zmianie, przy każdej zmianie wersji modelu i przy każdej aktualizacji zależności. Systemy, w których eval działa tylko „czasami”, są zaskoczone; systemy, w których eval działa na każdym PR, wykrywają regresje przed wysyłką. Egzamin uwzględnia oceny zintegrowane z CI jako podstawę na poziomie certyfikacji dla profesjonalnych systemów LLM.
Subtelniejszą dyscypliną jest przycinanie ewaluacyjne. Przez lata ewaluacje gromadzą przypadki dotyczące błędów, które nie są już istotne — przypadek powiązany ze starą funkcją, którą usunąłeś, przypadek testujący odmowę w temacie, który przestał mieć znaczenie. Okresowe czyszczenie spraw, które nie zasługują już na czas działania, jest niewielkim zadaniem związanym z higieną operacyjną; alternatywą jest ewaluacja, która z roku na rok działa wolniej, jednocześnie mierząc mniej.
Ryc. 82.1 — Pakiet rośnie. Każda kropka to przypadek; każda nowa kropka pochodzi z prawdziwego incydentu. Ewaluacja staje się instytucjonalną pamięcią bazy kodu o każdej awarii, z której już się nauczyła.
Rozdział 83 · Część IX
Red-Teaming własnego systemu
Red-teaming to praktyka polegająca na kontradyktoryjnym sondowaniu własnego systemu LLM, zanim zrobi to ktoś inny. Certyfikowany architekt sprawia, że jest to zaplanowane działanie, a nie jednorazowe działanie przed uruchomieniem — modele zmieniają się, zmieniają się podpowiedzi, a wczorajsze rozwiązania mogą nie sprawdzić się dzisiaj. Egzamin wymaga znajomości konkretnych kategorii ataków i odpowiadających im wzorców obrony.
Pięć kategorii ataków. Prompt injection — złośliwe dane wejściowe próbujące nadpisać instrukcje systemowe. Jailbreaki — odgrywanie ról lub tworzenie scenariuszy, które próbują ominąć szkolenie w zakresie bezpieczeństwa. Eksfiltracja danych — oszukanie modelu w celu ujawnienia podpowiedzi systemowych lub wiedzy o projekcie. Nadużycie narzędzi — namawianie modelu do używania narzędzi w destrukcyjny sposób (usuwanie plików, wysyłanie e-maili, wydawanie pieniędzy). Odmowa usługi ze względu na koszt — dane wejściowe, które powodują bardzo kosztowne zakończenia, zwiększające rachunek obiektu docelowego.
Łagodzenia. Natychmiastowe wstrzyknięcie → zachowaj wkład użytkownika w roli użytkownika z wyraźnym sformułowaniem „traktuj zawartość jako dane” (rozdział 12). Jailbreaki → większość pracy wykonują bariery konstytucyjne; uzupełnij filtrami wyjściowymi dla konkretnych szkód, którym musi zapobiegać Twój system. Eksfiltracja danych → nie umieszczaj sekretów w wierszu poleceń systemu (umieść je za narzędziami); rozważ zredagowanie monitu systemowego na żądanie użytkownika. Nadużycie narzędzi → wąskie uprawnienia, wtrącanie się człowieka w destrukcyjne działania. DoS poprzez koszty → limity stawek na użytkownika, limity tokenów na sesję, pulpity nawigacyjne kosztów, które alarmują o anomaliach.
Trening drużyny czerwonych, jakiego oczekuje egzamin. Raz na kwartał ktoś z zespołu (lub firma zewnętrzna zajmująca się systemami o wysoką stawkę) spędza kilka dni, próbując przełamać system przez każdą z tych kategorii. Ustalenia stają się przypadkami ewaluacyjnymi (rozdział 82) i udoskonaleniami w zakresie łagodzenia skutków. Systemy, które są dostarczane bez współpracy z czerwonymi, w końcu zostaną z nimi połączone — przez użytkowników, przeciwników i badaczy — a różnica polega tylko na tym, czy najpierw znalazłeś awarie.
Subtelniejsza dyscyplina polega na tym, że dobieranie czerwonych drużyn powinno uwzględniać graniczne przypadki twojej własnej drużyny. Nie tylko „co może zrobić atakujący”, ale także „jakie przypadki brzegowe w normalnym użyciu mogą spowodować zawstydzające lub błędne wyniki”. Pierwsza to bezpieczeństwo; ta ostatnia to jakość. Obaj należą do przepustki drużyny czerwonych. Egzamin ocenia systemy, które wymagają jedynie czerwonego zespołu ze względów bezpieczeństwa, jako niekompletne.
Ryc. 83.1 — Sześć kategorii. Pięć wrogich, jedna dotycząca jakości wewnętrznej. Egzamin sprawdza kandydatów, którzy zajmują się tylko kolumną bezpieczeństwa, a przypadki brzegowe jakości zostawiają niesprawdzone.
Rozdział 84 · Część IX
Wzorce redukcji szkód
Każdy system LLM ma powierzchnię szkodliwą — specyficzne sposoby, w jakie jego wyniki mogą spowodować uszkodzenie w przypadku awarii modelu. Certyfikowany architekt wyraźnie nazywa te szkody, projektuje środki łagodzące, które je redukują, i wie, że żadne pojedyncze działanie łagodzące nie obejmuje wszystkiego. Egzamin wymaga dojrzałego stanowiska w sprawie szkody: ograniczaj ją, nie udawaj, że nie istnieje.
Pięć kategorii powtarzających się szkód. Dezinformacja — pewne fałszywe stwierdzenia. Naruszenie prywatności — wyciek danych, do których system miał dostęp, ale których nie powinien ujawniać. Wzmocnienie odchylenia — dane wyjściowe, które wzmacniają stereotypy lub dyskryminują. Manipulacja — wyniki, które kierują użytkowników w stronę decyzji sprzecznych z ich interesami. Szkodliwe działanie — skutki ułatwiające samookaleczenie, działania nielegalne lub niebezpieczne.
Wzorce projektowe, które redukują każdy. Dezinformacja → RAG z cytatami, chroniony ton, „nie wiem” jako akceptowalny wynik. Prywatność → minimalizacja danych na wejściu, redakcja na wyjściu, izolacja danych dla każdego użytkownika. Odchylenie → dane szkoleniowe i natychmiastowa świadomość, filtry wyjściowe dla znanych szkodliwych wzorców, różnorodne zestawy ewaluacyjne. Manipulacja → przejrzystość obecności AI, brak podszywania się pod ludzi, jasne granice między radą a działaniem. Szkodliwe działanie → odmowy zgodne z konstytucją, HIL w przypadku wyników o wysokiej stawce, twarde blokady w przypadku znanych szkodliwych kategorii.
Szósta kategoria szkód to ta, której nie obejmuje żadna pojedyncza metoda łagodzenia – przypadek skrajny. Niektóre wyjścia szkodzą w sposób, którego nikt się nie spodziewał, ponieważ tryb awarii jest nowatorski. W ich przypadku rozwiązaniem jest wdzięczna eskalacja do człowieka. Systemy, które rozpoznają, że „to dane wejściowe wykraczają poza zakres rzeczy, z którymi wiem, jak bezpiecznie sobie poradzić” i przekazują je człowiekowi, to systemy, które pozwalają uniknąć szkody szóstej kategorii bez konieczności jej wcześniejszego wyliczania.
Spostrzeżenie na poziomie certyfikacji: redukcja szkód to portfolio, a nie lista kontrolna. Wiele środków łagodzących tę samą szkodę stanowi lepsze rozwiązanie niż jedno silne łagodzenie. Odmowy konstytucyjne + filtr wyjściowy + pętla human-in-the-loop dla przypadków brzegowych + ewaluacja regresji wychwytywanie znanych przypadków — każdy wyłapuje jakąś część, a razem wyłapują najwięcej. Sformułowanie egzaminu „mamy mocny filtr, inne warstwy nie są nam potrzebne” jest fałszywą ekonomią.
Ryc. 84.1 — Pięć warstw. Każda warstwa łapie część szkód, które przepuściła poprzednia. Dwie wyróżnione warstwy — konstytucyjna i eskalacja do człowieka — to te, których nie da się zastąpić optymalizacją; trzy środkowe to dźwignie, które budujesz.
Rozdział 85 · Część IX
Dane osobowe i minimalizacja danych
Dane osobowe – PII – to wszelkie dane, które identyfikują lub mogą zidentyfikować osobę fizyczną. Imiona i nazwiska, adresy e-mail, numery telefonów, adresy, identyfikatory. Każdy system LLM, który przetwarza dane użytkownika, musi świadomie myśleć o PII, a certyfikowany architekt projektuje zgodnie z zasadą, która rządzi wszystkim innym: minimalizuj dane PII, którymi się zajmujesz.
Zasada minimalizacji danych. Nie wysyłaj informacji umożliwiających identyfikację do modelu, który nie jest potrzebny do wykonania zadania. Bot pomocy technicznej, który pomaga w rozliczeniach, może legalnie potrzebować nazwy użytkownika i numeru konta; nie potrzebuje daty urodzenia, historii adresów ani pełnego adresu e-mail. Każde niepotrzebne pole, które umieścisz w monicie, stanowi niepotrzebne ryzyko. Ramki egzaminacyjne „wysłaliśmy wszystko na wszelki wypadek” jako błąd zawodowy.
Zasada redakcyjna. Kiedy rejestrujesz monity i odpowiedzi (tak jak powinieneś ze względu na widoczność), zredaguj informacje umożliwiające identyfikację przed zapisaniem w dziennikach. Dziennik podpowiedzi, w którym zapisywane są nazwiska klientów, numery zamówień lub numery SSN, stanowi obowiązek przestrzegania zasad od chwili jego istnienia. Redaguj na granicy — gdy podpowiedzi opuszczają usługę i gdy pojawiają się odpowiedzi — a nie po sześciu miesiącach przechowywania.
Jednoakapitowy elementarz RODO, którego oczekuje egzamin. Jeżeli przetwarzasz dane osobowe mieszkańców UE, potrzebujesz podstawy prawnej (zwykle zgoda lub prawnie uzasadniony interes), musisz zminimalizować dane do niezbędnego zakresu, musisz mieć możliwość ich usunięcia na żądanie, nie możesz przesyłać danych do krajów bez decyzji stwierdzających odpowiedni stopień ochrony oraz musisz udokumentować swoje przetwarzanie. Systemy LLM zazwyczaj wysyłają dane do dostawców modeli, co stanowi rozwiązanie w zakresie przetwarzania danych wymagające zawarcia odpowiedniej umowy. Skrzydłowanie tego nie jest w porządku w żadnym systemie komercyjnym.
Bardziej subtelną kwestią jest to, że model nie musi widzieć PII, aby wykonać pracę. Elementy zastępcze mogą zastępować nazwy („klient”), identyfikatory można tokenizować („account_ID_47”), a szczegóły można ukrywać za narzędziami, które potrafi rozwiązać tylko Twoja usługa. Jest to wzorzec projektowy — „uczyń model użytecznym, nie udostępniając mu wrażliwych pól” — do którego certyfikowany architekt domyślnie sięga w każdym regulowanym systemie.
Ryc. 85.1 — Dwa punkty minimalizacji. Minimalizuj na wejściu (zanim powstanie prompt); redaguj na wyjściu (zanim zostaną zapisane logi). Oba są konieczne; żadne nie zastępuje drugiego.
Rozdział 86 · Część IX
Rejestrowanie i śledzenie
Problem z prod o 3 nad ranem to prawdziwy test dla certyfikowanego architekta. Kiedy trzy godziny temu użytkownik zgłosi „bot dał mi złą odpowiedź” i musisz dowiedzieć się dlaczego, zbudowana przez Ciebie powierzchnia obserwowalności stanowi różnicę między „możemy to zdiagnozować” a „zgadujemy”. Rejestrowanie i śledzenie systemów LLM nie jest infrastrukturą opcjonalną; to podłoże sprawia, że debugowanie jest wykonalne.
Minimalna realna obserwowalność. Każde żądanie rejestruje ID korelacji — unikalny identyfikator, który łączy podpowiedź, odpowiedź, wywołania narzędzia i wszelkie dalsze skutki. Każde wywołanie narzędzia w ramach żądania rejestruje własne dziecko śledzenia z nadrzędnym identyfikatorem korelacji. Spowoduje to utworzenie wykresu aktywności na żądanie, do którego możesz wysłać zapytanie — „pokaż mi wszystko, co wydarzyło się w przypadku żądania X” staje się filtrem, a nie polowaniem.
Pola istotne dla każdego żądania. Identyfikator korelacji, znacznik czasu, identyfikator użytkownika (zredagowany lub zaszyfrowany), model, przychodzące i wychodzące tokeny, przyczyna zatrzymania, opóźnienie, szacunkowy koszt, monit (zredagowany), odpowiedź, wywołania narzędzi. Jeśli wywołanie narzędzia zakończy się niepowodzeniem lub spowoduje nieoczekiwany wynik, zarejestruj to osobno. Egzamin wymaga wiedzy, że „logujemy się tylko na poziomie odpowiedzi API” to niewystarczające — awaria często tkwi w wywołaniu narzędzia trzy głębokie, a nie na górze.
Struktura śledzenia. Nowoczesne platformy obserwowalności (Datadog, Honeycomb, OpenTelemetry, LangSmith, LangFuse) obsługują śledzenie oparte na zakresie, w którym żądanie jest zakresem głównym, a każde wywołanie narzędzia jest zakresem podrzędnym. Wizualizacja przedstawia żądanie jako oś czasu nakładających się pasków — wywołanie modelu, wywołanie narzędzia, wywołanie modelu, wywołanie narzędzia, odpowiedź. To właśnie sprawia, że „reakcja była powolna” w „drugie wywołanie narzędzia trwało 8 sekund i wiemy dlaczego”.
Subtelniejszą dyscypliną jest utrzymywanie śladów wystarczająco długo. Debugowanie LLM często ma miejsce kilka dni lub tygodni po zgłoszeniu problemu — skarga klienta nasila się, a audyt zgodności pyta o konkretną interakcję. Ślady, które wygasają w ciągu 24 godzin, to ślady, które nie dają odpowiedzi na te pytania. Zatrzymanie ma znaczenie dla systemów LLM w sposób inny niż w przypadku usług bezpaństwowych; egzamin postrzega krótką retencję jako lukę projektową.
Ryc. 86.1 — Ślad. Jedno żądanie, wiele spanów. Każdy span da się odpytać; każde pytanie o to, „co się stało”, staje się filtrem. Bez tej struktury debugowanie to zgadywanie.
Rozdział 87 · Część IX
Panel kosztów
W rozdziale 67 wprowadzono księgę kosztów – podstawowe dane. Panel kosztów to element, który tworzysz na górze: zestaw widoków, które ujawniają, gdzie idą pieniądze, w postaci cięć, które wychwytują anomalie, zanim zrobi to Twój dyrektor finansowy. Certyfikowany architekt dołącza ten widok do księgi głównej już po kilku miesiącach, gdy pojawia się pierwsza niespodzianka kosztowa.
Cztery cięcia, które mają znaczenie. Na model — które pozycje modelu dominują na rachunku? Zwykle robi to jeden lub dwóch, a wiedza, która z nich jest pierwszą dźwignią optymalizacji kosztów, jest skuteczna. Na funkcję — oznaczone przez funkcję, która wygenerowała żądanie, dzięki czemu możesz zobaczyć, która powierzchnia produktu zużywa tokeny. Na użytkownika czy na dzierżawcę — w przypadku systemów z wieloma dzierżawcami, którzy użytkownicy stanowią wartości odstające? Często jeden lub dwóch ciężkich użytkowników ma nieproporcjonalny udział. Na godzinę lub na dzień — szereg czasowy, dla którego ustawiasz alerty o anomaliach.
Alerty, których oczekuje egzamin. Alarm procentowego skoku — „koszt na godzinę jest 2 razy większy od wczorajszej średniej o tej porze” — wychwytuje nagłe regresje. Alarm ograniczenia liczby użytkowników — „użytkownik X spędził Y w ciągu ostatniej godziny” — wychwytuje nadużycia lub awarie. Skumulowany alarm dzienny – „jesteśmy na dobrej drodze do przekroczenia budżetu dziennego do 18:00” – wychwytuje powolny dryf. Nie są to rzeczy, które warto mieć; są warstwą operacyjną, która zamienia niespodzianki kosztowe w zdarzenia związane z kosztami, które można wcześnie wykryć.
Wgląd na poziomie certyfikacji: prawdziwą wartością pulpitu nawigacyjnego nie są same liczby, ale możliwość możliwości ich pokrojenia. Panel, który pokazuje tylko „całkowite dzisiejsze wydatki”, ma charakter opisowy. Pulpit nawigacyjny, na którym można filtrować według użytkownika, modelu, funkcji, godziny i wersji monitu, ma charakter diagnostyczny. Kiedy dyrektor finansowy pyta „dlaczego w zeszłym tygodniu nasz rachunek za LLM potroił się”, odpowiedzią powinno być pytanie, a nie dochodzenie.
Subtelniejsza dyscyplina polega na tym, że należy przyjrzeć się panelom kosztów . Tworzenie dashboardu to łatwiejsza połowa; ustalenie rytuału codziennego spoglądania na niego i przeglądania go co tydzień to trudniejsza połowa. Systemy, w których istnieje dashboard, ale nikt go nie czyta, i tak generują niespodzianki kosztowe. Egzamin określa dashboard jako praktykę, a nie tylko infrastrukturę.
Ryc. 87.1 — Cztery przekroje + alerty. Cztery przekroje zamieniają sumy w filtry diagnostyczne. Wiersz alertów sprawia, że pulpit jest aktywny, a nie pasywny — nie musisz patrzeć, żeby wyłapać skok.
Rozdział 88 · Część IX
Wykrywanie dryfu
Dostawcy modeli aktualizują modele. Zachowanie zmienia się subtelnie pomiędzy wersjami. Twoje podpowiedzi, dostrojone do konkretnej wersji, mogą działać nieco inaczej miesiąc później, nawet jeśli ich nie dotkniesz. To dryf i jest to cichy wróg certyfikowanego architekta — trudny do wykrycia, trudny do odtworzenia i łatwy do zrzucenia winy na inne przyczyny.
Trzy źródła dryfu. Drift wersji modelu — dostawca zaktualizował podstawowe wagi (często po cichu na tym samym identyfikatorze, chociaż Anthropic piny według sufiksu, np. claude-sonnet-4-6-20260701). Szybki dryf — Twoje własne podpowiedzi uległy zmianie i nikt nie pamiętał. Dryf dystrybucji — zmienił się ruch, a nie system; użytkownicy pytają teraz o różne tematy.
Mechanizm wykrywania. Przeprowadzaj ocenę regresji (rozdział 82) zgodnie z harmonogramem — co tydzień, co miesiąc lub dla poszczególnych wersji. Porównaj zagregowane wyniki z wartością bazową. Statystycznie znaczący spadek to dryf; zbadać. Jeśli Twoje wyniki ewaluacji nie uległy zmianie, ale użytkownicy narzekają, różnica ma charakter dystrybucyjny, a nie systemowy — ewaluacja nie obejmuje nowego terytorium.
Aby złagodzić zmianę wersji modelu, należy jawnie przypiąć. claude-sonnet-4-6 w Twojej konfiguracji jest wskaźnikiem zmiennoprzecinkowym; claude-sonnet-4-6-20260701 jest kotwicą. Anthropic obsługuje oba, a egzamin wymaga, aby systemy produkcyjne korzystały z przypiętej formy w celu zapewnienia powtarzalności. Migracja do nowej wersji staje się działaniem celowym — wciśnięciem pinezki, ponownym wykonaniem ewaluacji, wysłaniem — a nie niewidocznym działaniem.
Subtelniejszą dyscypliną jest monitorowanie dryfu dystrybucji. Rzeczywisty ruch Twoich użytkowników ewoluuje. To, co sprawdziło się w pierwszym miesiącu, może zawieść w miesiącu dwunastym, ponieważ użytkownicy zaczęli zadawać nowe pytania. Okresowe próbkowanie ruchu na żywo i dodawanie reprezentatywnych przykładów do eval sprawia, że eval jest uczciwy w stosunku do bieżącego świata, a nie świata, w którym go zbudowałeś.
Ryc. 88.1 — Trzy dryfy. Różne źródła, różne mechanizmy wykrywania. Przypinaj wersje, wersjonuj prompty, próbkuj ruch produkcyjny. Pominięcie którejkolwiek z trzech zostawia to źródło dryfu niewykryte.
Rozdział 89 · Część IX
Reagowanie na incydenty dla systemów AI
Coś pójdzie nie tak. Natychmiastowa regresja zostanie wysłana. Zmiana wersji modelu spowoduje przerwanie działania tej funkcji. Kontradykcyjne wejście wywoła nieoczekiwane wyjście. Certyfikowany architekt ma podręcznik na takie chwile — podręcznik składający się z sześciu ruchów, który zamienia stwierdzenie „mamy incydent” z paniki w procedurę.
1 · Zatrzymaj monit. Przywróć ostatnią znaną, dobrą wersję. Może to zająć minutę w dobrze zaprojektowanym systemie (uderz w flagę) lub godzinę w źle zaprojektowanym (wdróż nową wersję). Tak czy inaczej, na pierwszym miejscu jest zamrożenie — nie można zdiagnozować aktywnie ulegającego degradacji systemu, podczas gdy ulega on dalszej degradacji. 2 · Przechwyć transkrypcję. Pobierz pełny dziennik żądań i odpowiedzi dla danego ruchu. To jest twój dowód; bez tego wszystko inne jest spekulacją.
3 · Powiadom. Poinformuj osoby, które muszą się o tym dowiedzieć — dyżurującego, właściciela produktu, klientów, których dotyczy zdarzenie, jeśli zdarzenie jest widoczne dla użytkownika. Niedostateczna komunikacja podczas incydentu powoduje większe szkody dla reputacji niż sam incydent. 4 · Łagodzenie. Po zamrożeniu zastosuj właściwą poprawkę — załatany monit, wycofanie modelu, zaostrzenie uprawnień. Wyślij rozwiązanie łagodzące ze sprawą eval, która wychwyciłaby to, gdyby istniała.
5 · Komunikuj się na zewnątrz. Krótki post dla użytkowników wyjaśniający, co się stało, co zrobiłeś i co robisz, aby zapobiec ponownym wystąpieniom. Nie pełna sekcja zwłok – proporcjonalne uznanie. Przejrzystość podczas incydentów buduje zaufanie; nieprzezroczystość niszczy go. 6 · Ucz się. Napisz sekcję zwłok. Dodaj przypadek eval. Zaktualizuj element Runbook, jeśli odpowiedź ujawniła luki. Każdy incydent to dane umożliwiające reakcję na następny incydent.
Kanoniczne pytanie incydentalne na egzaminie. System zaczyna generować błędne dane wyjściowe o 3:00 w nocy; jaki jest pierwszy ruch? Prawidłowa odpowiedź to „zablokuj monit/wycofaj”, a nie „dowiedz się, co poszło nie tak”. Dochodzenie w trakcie aktywnego zdarzenia jest błędem popełnianym przez początkujących; najpierw zamrożenie daje czas i bezpieczeństwo na właściwe zbadanie sprawy. Kolejność ma znaczenie.
Ryc. 89.1 — Sześć ruchów. Pierwszy i ostatni są wyróżnione, bo najczęściej się je pomija. Zamrożenie na początku to dyscyplina pod presją; nauka po fakcie to dyscyplina w chwili ulgi.
Rozdział 90 · Część IX
Pętla ciągłego doskonalenia
Część IX kończy się metawzorcem, który sprawia, że wszystko w niej zasługuje na utrzymanie: pętlą ciągłego doskonalenia. Wyślij wersję, zmierz jej działanie, wyciągnij wnioski z wyników i wyślij następną wersję. Minimalny rytm tygodniowy, jeśli możesz, szybciej. Systemy w tej pętli są dojrzałe; systemy z niego ulegają stagnacji.
Tygodniowy rytm oczekiwany przez egzamin. Poniedziałek — przejrzyj panel kosztów z zeszłego tygodnia, wyniki ewaluacji, liczbę incydentów, opinie użytkowników. W środku tygodnia — na podstawie przeglądu zdecyduj, co zmienić; napisz zmiany; uruchom ewaluację. Piątek — statek w przypadku pozytywnego wyniku; w przeciwnym razie przełóż na przyszły tydzień. Nie jest to harmonogram formalnie przestrzegany przez większość systemów, ale rytm jest nieodłącznie obecny w każdym dobrze zarządzanym zespole, a egzamin określa go jako kształt praktyki zawodowej.
Cztery artefakty wytwarzane przez pętlę. dziennik zmian — każda szybka zmiana z datą i przyczyną. Rosnący zestaw ewaluacyjny — większy z każdym tygodniem, gdy incydenty stają się przypadkami testowymi. Oś czasu kosztów — trend w czasie z adnotacjami dotyczącymi tego, co się zmieniło i kiedy. Dziennik incydentów — każda awaria, jej przyczyna, sposób zaradzenia, jej przypadek ewaluacyjny. Razem opowiadają one historię ewolucji systemu i pozwalają odpowiedzieć na każde pytanie dotyczące tego, „kiedy X się zmienił i dlaczego”.
Tryb awarii poza pętlą. Systemy, które wysyłają i zapominają, na czas tworzą migawkę; pogarszają się po cichu, gdy świat wokół nich się zmienia. Użytkownicy narzekają, inżynierowie domyślają się poprawek, jakość oscyluje, a koszty rosną. Nie ma mechanizmu zapadkowego – żadnego mechanizmu skierowanego wyłącznie do przodu – ponieważ nie ma pomiaru, porównania ani dyscypliny zmian.
Subtelniejszym spostrzeżeniem jest to, że pętla jest nawykiem, a nie projektem. Budowa infrastruktury (pulpit nawigacyjny, ewaluacje, logowanie) to pierwszy tydzień. Podtrzymywanie cotygodniowego przeglądu odbywa się w każdym kolejnym tygodniu, na zawsze. Egzamin wymaga, aby certyfikowani architekci byli praktykami tego nawyku, a nie tylko architektami infrastruktury, która go wspiera. Część X przenosi całą książkę z powrotem do sali egzaminacyjnej i daje podręcznik taktyczny umożliwiający faktyczne zdanie egzaminu.
Ryc. 90.1 — Pętla. Wdróż → mierz → ucz się → zdecyduj → wdróż ponownie. Co najmniej co tydzień. Systemy w tej pętli dojrzewają; systemy poza nią stają się artefaktami chwili, w której je zbudowano.
Część X
Egzamin & Po
Ostatnie dziesięć rozdziałów wychodzi z materiału i przechodzi do meta. Sam egzamin – jego kształt, ciężary, ulubione pułapki. Anty-wzorce, o których certyfikacja tak naprawdę prosi, abyś ich unikał. Dzień strategii. I co oznacza odznaka następnego dnia po jej zdobyciu.
Rozdział 91 · Część X
Kształt egzaminu
Część X wychodzi z materiału i przechodzi do meta – samego egzaminu. Egzamin Claude Certified Architect to test o mieszanym formacie: pytania wielokrotnego wyboru obejmujące pięć dziedzin, pytania oparte na scenariuszach, w których prosi się o krytykę lub naprawę architektury, oraz pytania o krótką odpowiedź wymagające podania konkretnego wzorca lub wyjaśnienia rozróżnienia. Znajomość kształtu z wyprzedzeniem zmienia sposób przygotowań.
Pięć oficjalnych domen i ich przybliżone wagi. Szybka inżynieria i płynność sztucznej inteligencji — około 20%. Rozwój kodu Claude’a — około 25%. Architektura agentowa — około 20%. Modelowy protokół kontekstowy — około 15%. Projekty, artefakty i umiejętności — około 20%. Dokładne wartości procentowe zmieniają się z każdą wersją egzaminu; traktuj je jako kierunkowe, a nie ewangeliczne. Ucz się proporcjonalnie do ciężarów.
Format pytań preferowany przez egzamin. Dominują pytania dotyczące scenariuszy — otrzymujesz opis systemu, wynik i jesteś proszony o określenie, co poszło nie tak lub co należy zmienić. Pytania oparte wyłącznie na faktach stanowią mniejszość; egzamin sprawdza, czy potrafisz rozumować architektonicznie w oparciu o materiał, a nie czy potrafisz go zapamiętać. To zmienia strategię uczenia się: głębiej zrozum wzorce, zamiast zapamiętywać listy.
Budżet czasu. W zależności od wersji egzaminu masz od 90 do 120 minut na około 60 do 80 pytań. Oznacza to średnio około 1,5 minuty na jedno pytanie — ale pytania dotyczące scenariuszy pochłaniają czas, a pytania dotyczące faktów nie. Strategia tempa polega na zadawaniu pytań faktycznych w pierwszym przebiegu, a następnie spędzeniu pozostałego czasu na pytaniach dotyczących scenariusza.
Przechodzi statystycznie. Dokładny próg zaliczenia nie jest publikowany, ale zamierzeniem Anthropic jest to, aby kandydaci z prawdziwą biegłością architektoniczną przeszli egzamin, a kandydaci, którzy jedynie zapamiętywali na pamięć – nie. Z doświadczenia wynika, że kandydaci, którzy zbudowali i wysłali co najmniej jeden produkcyjny system Claude, zwykle zdają egzamin; kandydaci, którzy tylko czytają, zwykle mają trudności. Egzamin jest stronniczy w stronę praktyków; materiał do nauki tylko tyle rekompensuje.
Ryc. 91.1 — Pięć domen, pięć wycinków. Ucz się proporcjonalnie; spodziewaj się raczej scenariuszy niż faktów; trzymaj tempo średnio 1,5 minuty na pytanie z zapasem na trudniejsze.
Rozdział 92 · Część X
Pięć domen, ponowne odwiedziny
Egzamin obejmuje pięć dziedzin. W tej książce omówiono je w dziesięciu częściach i warto wyraźnie zmapować te dwie części, aby wiedzieć, gdzie je przejrzeć przed testem. Dla każdej domeny poniżej znajduje się przykładowe pytanie scenariuszowe — jakiego kształtu należy się spodziewać na samym egzaminie.
Szybka inżynieria i płynność sztucznej inteligencji. Mapa części I (podstawy, cztery C) i części II (szybka inżynieria) tej książki znajduje się tutaj. Przykładowe pytanie: „Chatbot pomocy technicznej czasami odpowiada w języku innym niż angielski pomimo instrukcji. Które rozwiązanie jest najbardziej prawdopodobne?” A → przenieś ograniczenia na górę monitu systemowego (rozdział 19). B → zwiększ temperaturę. C → przejdź do Opus. D → zawiń dane wprowadzone przez użytkownika w znaczniku XML. Prawidłowa odpowiedź to A; B i C to poprawki nieprawidłowego kształtu, a D pomaga w innym trybie awarii.
Opracowanie kodu Claude'a. Mapa części III i IV tutaj. Próbka: „Sesja inżyniera Claude Code zapomniała krytycznej instrukcji po 30 turach. Co poszło nie tak?” Prawidłowa odpowiedź nazywa lukę w trwałości — instrukcja żyła w rozmowie, została podsumowana i straciła specyficzność; poprawka to TaskCreate lub CLAUDE.md.
Architektura agentowa. Część V. Próbka: „System tworzy podagenta w celu sprawdzenia ostatniego zamówienia użytkownika. Jaki jest problem z architekturą?” Prawidłowa odpowiedź jest taka, że powinno to być wywołanie narzędzia, a nie subagent — wyszukiwanie to obliczenia, a nie ocena (rozdział 44).
Protokół Kontekstu Modelu. Część VI. Przykład: „Wdrażany jest serwer MCP dla hostowanej bazy danych z transportem stdio. Co jest nie tak?” Prawidłowa odpowiedź jest taka, że funkcje hostowane zdalnie powinny korzystać z SSE, a nie stdio; stdio wiąże czas życia serwera z pojedynczym hostem i blokuje wzorzec stanu współdzielonego dla wielu użytkowników, jaki wynika z wdrożenia (rozdział 55).
Projekty, artefakty i umiejętności. Części VII, VIII. Przykład: „Współdzielony projekt zespołu ciągle się zmienia, podczas gdy członkowie edytują niestandardowe instrukcje bez powiadomienia. Jaka zmiana w zarządzaniu byłaby najbardziej pomocna?” Właściwą odpowiedzią jest wyznaczenie wyraźnego właściciela i proces zmian (rozdział 79); złe odpowiedzi zwykle proponują „zablokować wszystkich” lub „mieć nadzieję na najlepsze”.
Ryc. 92.1 — Od domeny do części. Sześć grup tematów egzaminacyjnych przypisanych do dziewięciu części książki; Część X (ta) to metaprzygotowanie. Przed egzaminem powtarzaj według domen, traktując części jako jednostki nauki.
Rozdział 93 · Część X
12 najlepszych wskazówek egzaminacyjnych
Skompilowana lista. Dwanaście konkretnych faktów i wzorców, które pojawiają się w niemal każdej wersji egzaminu. Zapamiętaj je; zrozumieć ich; potrafić je nazwać pod presją czasu. Każde z nich pojawiło się w poprzednich rozdziałach, ale łącznie tworzą podstawowe słownictwo egzaminu.
1. Hierarchia instrukcji to systemowy asystent > użytkownika > (rozdz. 12). 2. Hooki to skrypty powłoki, a nie agenty — nie mogą wywoływać Claude'a (rozdz. 31). 3. Subagenci zyskują nowy kontekst; opowiedz im dokładnie (rozdz. 43, 46). 4. MCP składa się z trzech komponentów: hosta, klienta i serwera (rozdz. 52). 5. stdio dla lokalnego, SSE dla zdalnego MCP (rozdz. 55). 6. CLAUDE.md jest dodatkiem w różnych zakresach, a nie nadrzędnym (rozdz. 22).
7. Równoległe wywołania narzędzi, gdy są niezależne, sekwencyjne, gdy są zależne (rozdz. 45). 8. Rozszerzone myślenie wymaga minimum 1024 budget_tokens (rozdz. 15). 9. Wstępnie wypełnij zwrot asystenta, aby uzyskać format kotwicy, a nie stronniczość (rozdz. 16). 10. Hooki odbierają JSON przez standardowe wyjście i odpowiadają kodem wyjścia + opcjonalnym JSON na standardowe wyjście (rozdz. 31, 32).
11. Umiejętności wykorzystują frontmaterię YAML; opis to wejście routera (rozdz. 33, 74). 12. Tryb planowania to eksploracja tylko do odczytu przed zmianami; w jego trakcie można modyfikować jedynie plik planu (rozdz. 26, 75).
Poza dwunastką, często pojawiają się trzy bonus fakty. Batch API to 24-godzinna umowa SLA z kosztem ~50% (rozdz. 63). Szybkie buforowanie ma domyślny 1-godzinny TTL z progiem rentowności przy ~2 trafieniach (rozdz. 64). Lista rezerwowa OpenRouter musi umieszczać modele płatne przed darmowymi (rozdz. 70). Są to fakty dotyczące „dodatkowych punktów” – nie zawsze sprawdzane, ale często wystarczające, aby warto je znać na chłodno.
Schemat wszystkich piętnastu: każdy z nich podaje konkretny fakt strukturalny dotyczący działania systemu, a nie subiektywną ocenę. Oto, co nagradza egzamin. Jeśli potrafisz stworzyć z pamięci tych piętnaście faktów i wyjaśnić każdy z nich w jednym zdaniu, masz silną podstawę do merytorycznej części egzaminu i mentalny model scenariuszy.
Ryc. 93.1 — Zebrana lista. Dwanaście kluczowych + trzy dodatkowe. Każde pytanie scenariuszowe na egzaminie opiera się na co najmniej jednym z nich; znajomość na wyrywki to najszybsza droga do progu zaliczenia.
Rozdział 94 · Część X
Dziesięć anty-wzorców
Egzamin sprawdza zarówno, co należy robić, jak i czego unikać. Połowa ujemna jest co najmniej tak samo ważna jak połowa pozytywna, ponieważ pytania dotyczące scenariuszy często przedstawiają system wykazujący jeden z tych antywzorców i wymagają podania nazwy poprawki. Nauka dostrzegania wzorców zmienia pytanie dotyczące scenariusza z kikuta w podarunek.
1 · Nadmierne monitowanie. Upychanie wszystkich ograniczeń w wierszu poleceń systemu zamiast kontekstu warstw. Poprawka: użyj CLAUDE.md, pamięć, narzędzia. 2 · Podagent-kiedy-wykonałoby-narzędzie. Tworzenie podagentów dla czystych obliczeń. Poprawka: użyj wywołania narzędzia (rozdz. 44). 3 · Pomijanie CLAUDE.md. Utrata trwałego kontekstu pomiędzy sesjami. Poprawka: napisz i utrzymuj CLAUDE.md.
4 · Serwery MCP bez obsługi błędów. Zgłaszanie wyjątków zamiast zwracania błędów strukturalnych. Poprawka: bloki treści isError: true (rozdz. 59). 5 · Zakodowane na stałe identyfikatory modeli. Literały łańcuchowe rozproszone po kodzie, wersje nieprzypięte. Poprawka: nazwane stałe i wyraźne szpilki z przyrostkiem daty (rozdz. 88). 6 · Najpierw wolne modele w trybie awaryjnym OpenRouter. Sprawienie, że powrót awaryjny nie powiedzie się pod obciążeniem. Poprawka: najpierw model płatny (rozdz. 70).
7 · Sekrety w zatwierdzonych ustawieniach.json. Tokeny widoczne w historii git. Poprawka: settings.local.json lub zmienne środowiskowe (rozdz. 34, 58). 8 · Brak księgi kosztów. Niespodzianki kosztowe bez ścieżki diagnostycznej. Poprawka: rejestruj każde żądanie za pomocą tokenów i kosztów (rozdz. 67). 9 · Pomijanie ocen. „Wydaje się lepsze” jako strategia zmiany. Poprawka: zbuduj eval, uruchamiaj go przy każdej zmianie (rozdz. 81).
10 · Zaufanie podsumowaniom podagentów. Akceptowanie „Zaktualizowałem plik X” bez weryfikacji. Poprawka: zweryfikuj artefakt bezpośrednio (rozdz. 47). Jest to antywzorzec, który testuje najtrudniej, ponieważ to on generuje najbardziej pewne nieprawidłowe zachowanie w rzeczywistych systemach.
Wgląd na poziomie certyfikacji: związek anty-wzorców. System z trzema z nich jest znacznie gorszy niż system z jednym — tryby awarii współdziałają. System z dużą liczbą subagentów, bez księgi kosztów i bez ocen jest niespodzianką kosztową czekającą na regresję ewaluacji. Dostrzeżenie jednego antywzorca w scenariuszu powinno skłonić Cię do poszukiwania innych; gromadzą się.
Ryc. 94.1 — Dziesięć do wychwycenia. Każde pytanie scenariuszowe prawdopodobnie zawiera co najmniej jeden z nich. Jeśli potrafisz nazwać antywzorzec, poprawka zwykle przychodzi sama.
Rozdział 95 · Część X
Co zapamiętać a rozum
Egzamin jest zaplanowany. Nie możesz wszystkiego przeglądać. Nie da się też wszystkiego zapamiętać. Umiejętność certyfikowanego architekta polega na tym, aby wiedzieć, co zapamiętać i co wyciągnąć z zasad w czasie egzaminu. Właściwa równowaga zmienia 60% w 80%.
Co zapamiętać — na zimno, dosłownie. 15 faktów z rozdziału 93. 10 anty-wzorców z rozdziału 94. 5 dziedzin egzaminacyjnych i ich przybliżone wagi. Określone progi liczbowe (1024 min na myślenie, 1 godzina pamięci podręcznej TTL, 24-godzinna umowa SLA wsadowa, 10 tys. żądań na partię). Modelowe nazwy rodzin i ogólne pozycjonowanie. Cztery typy pamięci. Cztery sekcje monitu systemowego.
Co do powodu — z zasad obowiązujących w czasie egzaminu. Właściwy typ subagenta dla zadania (na podstawie kształtu: wyszukiwanie, projektowanie, wykonanie). Właściwy poziom uprawnień (w oparciu o stawki: wysokie stawki wymagają HIL). Właściwy transport dla MCP (w zależności od lokalizacji: lokalny lub zdalny). Właściwy typ artefaktu (na podstawie kształtu wyjściowego). Prawidłowa poprawka dla scenariusza (w oparciu o taksonomię antywzorcową i stanowisko poprawki strukturalnej).
Kandydatowi, który próbuje wszystko zapamiętać, kończy się czas na pytania dotyczące scenariuszy, ponieważ dopasowują one wzorce do tysięcy faktów, a nie do małej garstki. Kandydat, który próbuje wszystko uzasadnić, zmaga się z pytaniami dotyczącymi faktów, ponieważ zasady nie wyznaczają określonych progów liczbowych. Właściwa mieszanka to niewielki zestaw kotwic i zdyscyplinowany proces rozumowania na górze.
Wgląd na poziomie certyfikacji: rozumowanie to cała książka. Wszystko w częściach I–IX ma na celu wprowadzenie sposobu myślenia o systemach Claude'a, który pozwala ci przemyśleć każdy scenariusz przedstawiony na egzaminie. Jeśli zinternalizowałeś stanowisko architekta (rozdział 10), kwadrant delegacji (rozdział 9), decyzję między narzędziem a podagentem (rozdział 44) oraz rozróżnienie między strukturą a natychmiastową naprawą (rozdział 50), masz już mechanizm rozumowania. 15 zapamiętanych faktów to kotwice; rozumowanie jest tam, gdzie faktycznie przechodzisz.
Ryc. 95.1 — Kotwice i silnik. Zapamiętaj kotwice; uruchamiaj silnik na scenariuszach. Próba zapamiętania silnika i próba wyrozumowania kotwic kończą się porażką; zdaje się dzięki połączeniu.
Rozdział 96 · Część X
Dzień Strategii
W dniu egzaminu wiesz już tyle, ile wiesz. Ostatnie pytanie brzmi: jak wykorzystasz czas, który masz. Certyfikowany architekt podchodzi do egzaminu tak, jak sportowiec do meczu — z konkretnym planem, strategią tempa i spokojem, który nie pęka pod presją czasu.
Poprzednia noc. Spać. Nie wkuwaj. Przeczytaj ponownie 15 kotwic z rozdziału 93 przez 15 minut, a następnie zamknij książkę. Kandydaci pozbawieni snu więcej tracą na szybkości rozumowania, niż zyskują na dodatkowej godzinie wkuwania. Jest to najbardziej niedoceniana zmienna egzaminu.
Ranek. Zjedz coś. Napij się kawy, jeśli jest to część Twojej normalnej rutyny; pomiń ją, jeśli nie jest (to nie jest dzień na wprowadzenie kofeiny). Przyjdź na miejsce egzaminu – w ośrodku fizycznym lub u opiekuna internetowego – 30 minut wcześniej, aby niepokój pojawiający się późno nie wypalił obciążenia poznawczego przed pierwszym pytaniem.
Strategia trzech pasów. Zalicz jedno (30-40% czasu): przejrzyj wszystkie pytania po kolei, odpowiadając natychmiast na te, które znasz, i zaznaczając te, których nie znasz. Nigdy nie siadaj nad trudnym pytaniem w pierwszym podejściu — oznacz je i ruszaj. Zaliczenie drugiego (40-50% czasu): wróć do oznaczonych pytań, metodycznie przepracowując scenariusze. Zalicz trzeci (czas pozostały): przejrzyj oznaczone, ale wciąż niepewne pytania i zobowiąż się do udzielenia odpowiedzi; zgadnij, czy musisz, nie zostawiaj żadnego pustego miejsca.
Sposób myślenia. Nie starasz się mieć racji w każdej kwestii; próbujesz przejść. To niższa poprzeczka niż perfekcja. Jeśli po dwóch przejściach pytanie naprawdę cię zaskakuje, zdecyduj się na najlepsze przypuszczenie (zwykle jest to odpowiedź, która określa poprawkę strukturalną lub pasuje do antywzorca z rozdziału 94) i kontynuuj. Perfekcjonizm podczas egzaminu na czas oznacza porażkę dobrych kandydatów.
Ryc. 96.1 — Trzy przejścia. Najpierw błyskawicznie łatwe, potem starannie trudne, na końcu niemożliwe. Mierz czas przejść; pilnuj zegara; nie inwestuj za dużo na początku.
Rozdział 97 · Część X
Życie po odznace
Zdajesz egzamin. Masz odznakę. Co teraz? Certyfikowany architekt wie, co sygnalizuje certyfikacja na rynku, a czego nie i jak ją wykorzystać po jej zdobyciu. Zdobycie odznaki to chwila; dobre wykorzystanie go to wybór kariery.
Co sygnalizuje odznaka. Sygnalizuje, że poważnie potraktowałeś materiał, zainwestowałeś czas i wykazałeś się kompetencjami w odniesieniu do zewnętrznej rubryki. Na rynku, na którym każdy może nazywać się ekspertem w dziedzinie sztucznej inteligencji, certyfikacja to prawdziwa podstawa – nie dowód doskonałości, ale dowód konkretnych osiągnięć. Rekruterzy, menedżerowie ds. rekrutacji i klienci tak to odczytują. Umieść go na swoim LinkedIn, w swoim CV, na swojej stronie internetowej.
Czego nie sygnalizuje odznaka. Nie oznacza to, że można zaprojektować konkretny system, którego firma Anthropic nie opublikowała. Nie oznacza to, że znasz domenę wykraczającą poza zakres egzaminu (dostrajanie, agenci dla określonych branż, MLOps). Nie oznacza to, że jesteś dobrym kandydatem – ocenia się to na podstawie portfolio, referencji i rozmowy kwalifikacyjnej, a nie certyfikatu. Prezentowanie odznaki jako czegoś więcej niż jest w rzeczywistości powoduje rozczarowanie klientów i zahamowanie rozwoju kariery.
Gdzie odznaka zarabia na utrzymanie. Umowy konsultingowe – certyfikacja jest profesjonalnym wyróżnikiem uzasadniającym stawki. Role wewnętrzne w firmach przyjmujących Claude’a — to sprawia, że jesteś naturalnym liderem inicjatywy. Partnerstwa z dostawcami — Anthropic i jej ekosystem wolą współpracować z certyfikowanymi architektami, jeśli istnieje wybór. Odznaka otwiera drzwi, których inaczej by nie otworzyła; przejście przez nie nadal zależy od Ciebie.
Szczera rada. Połącz odznakę z widoczną pracą. Repozytorium GitHub pokazujące zbudowane przez Ciebie produkcyjne systemy Claude. Jeden lub dwa wpisy na blogu dotyczące nieoczywistych wzorców, z którymi się spotkałeś. Studium przypadku systemu rzeczywistego z liczbami rzeczywistymi. To właśnie sprawia, że „certyfikowany architekt” z wiersza w CV staje się sygnałem, który potencjalny współpracownik może faktycznie zweryfikować. Egzamin jest punktem kontrolnym; portfolio to podstawa.
Ryc. 97.1 — Sygnał kontra brak sygnału. Odznaka otwiera drzwi; portfolio przez nie przechodzi. Oba się liczą; żadne nie zastępuje drugiego.
Rozdział 98 · Część X
Wspólnota
Ekosystem Claude w 2026 roku ma społeczność praktyków merytorycznych. Certyfikowany architekt raczej uczestniczy, niż czai się, ponieważ społeczność to miejsce, w którym można dowiedzieć się tego, czego nie ma w dokumentach — wzorców, które inni praktycy odkrywają w czasie rzeczywistym, dziwactw modelu jeszcze nieudokumentowanych, historii wojennych, które kształtują praktykę.
Trzy najbardziej przydatne społeczności. Discord Anthropic — działający w czasie rzeczywistym, o wysokim sygnale, obejmujący rzeczywisty personel Anthropic, który odpowiada na pytania. Subreddit Claude Code — dłuższa forma, bardziej introspektywna, dobre miejsce na wpisy w stylu „oto jak używam X”. Krąg certyfikowanych architektów na LinkedIn — mniejszy, bardziej profesjonalny, przydatny dla potencjalnych klientów, rekomendacji konsultantów i dzielenia się studiami przypadków.
Wzór użytecznego wkładu. Odpowiedz na trzy pytania na każde zadane. Podziel się konkretnym wzorcem, który zbudowałeś, i zaobserwowanymi kompromisami. Zapisz porażkę — posty o niepowodzeniach są najbardziej angażujące, ponieważ większość praktyków napotyka te same niepowodzenia i potrzebuje, aby ktoś najpierw powiedział to na głos. Unikaj schematu „Mam certyfikat, pytaj mnie o wszystko” — społeczności szukają statusu i obchodzą go.
Konkretna wartość z aktywnego uczestnictwa. O aktualizacjach modeli i regresjach słyszysz szybciej niż o dokumentach. Oglądasz architektury innych ludzi i kradniesz dobre pomysły. Budujesz reputację, która generuje leady konsultingowe i możliwości pracy, które nigdy nie pojawiają się na portalach z ofertami pracy. Budujesz sieć równorzędną, która wyłapuje Twoje własne błędy przed wysyłką.
Wgląd na poziomie certyfikacji: społeczność znajduje się w tam, gdzie obecnie wynajduje się dziedzina. Materiał zawarty w tej książce to wiedza kanoniczna z 2026 roku, ale granica praktyki przesuwa się co miesiąc. Jeśli chcesz pozostać na bieżąco za pięć lat, musisz być częścią dyskusji, a nie tylko jej konsumentami. To nawyk, a nie wydarzenie.
Ryc. 98.1 — Trzy społeczności. Różne rytmy, różna wartość. Udzielaj się we wszystkich trzech, jeśli możesz; w jednej, jeśli nie możesz; nie uczestnicz w żadnej, a stracisz najszybsze źródło wiedzy z pierwszej linii w tej dziedzinie.
Rozdział 99 · Część X
Następne 12 miesięcy
Certyfikacja to chwila. Pole, w którym Cię certyfikuje, zmienia się. Co przyniesie rok 2026-2027 i jak być na bieżąco? Certyfikowany architekt myśli do przodu, a nie tylko wstecz, ponieważ materiał w tej książce nie będzie całym materiałem za dwa lata — części pozostaną, części zostaną uzupełnione, części zostaną wymienione.
Wskazówki techniczne, które warto śledzić. Dłuższe okna kontekstowe w dalszym ciągu zwiększają możliwości wykorzystania pojedynczego połączenia; należy oczekiwać, że szybkie architektury będą ewoluować w kierunku bogatszej pracy jednoobrotowej. Lepsze wykorzystanie narzędzi oznacza przesunięcie granicy pomiędzy „modelem” a „systemem”; więcej pracy dzieje się wewnątrz pętli narzędzi niż w samym modelu. Tańsze wnioskowanie wciąż otwiera nowe przypadki użycia; rzeczy, które były nieekonomiczne w zeszłym kwartale, staną się opłacalne w następnym kwartale. Zarządzani agenci dojrzewają do najwyższej klasy środowiska wykonawczego; więcej obciążeń pozostawia architektury hostowane samodzielnie na rzecz architektur hostowanych.
Praktyczne wskazówki, które warto budować. Głębsze oceny — stan wiedzy w zakresie ewaluacji LLM jest tam, gdzie trzy lata temu znajdowała się ławka SWE; spodziewaj się znacznie bogatszych frameworków eval. Lepsza obserwowalność — Platformy obserwowalności specyficzne dla LLM już wyprzedzają ogólne narzędzia APM; certyfikowany architekt biegle włada co najmniej jednym. Choreografia wieloagentowa — wzory wciąż się krystalizują; ktokolwiek je jasno wymieni w 2027 r., będzie kształtował praktykę przez dekadę.
Jednej rzeczy certyfikat nie może Cię nauczyć. Smak. Umiejętność spojrzenia na system i sprawdzenia, czy jest dobry — nie tylko działający, ale odpowiednio zaprojektowany pod kątem kształtu problemu. Smak pochodzi z budowania, wysyłki, oglądania niepowodzeń i iteracji. Żaden egzamin tego nie mierzy; ma go każdy starszy architekt; każdy młodszy architekt powinien aktywnie go rozwijać.
Subtelniejszą dyscypliną wybiegającą w przyszłość jest to, że będziesz musiał nauczyć się na nowo. Materiał, dzięki któremu uzyskałeś certyfikat w 2026 r., będzie wymagał aktualizacji w 2028 r. Certyfikowany architekt, który zakłada, że odznaka jest gotowa, znajduje się na krzywej zaniku; ten, kto traktuje to jako punkt wyjścia, pozostaje aktualny. Ciągłe uczenie się to metaumiejętność, której ta książka nie może bezpośrednio wdrożyć — jest to nawyk, który tylko Ty możesz wykształcić.
Ryc. 99.1 — Co dalej. Zmiany techniczne po lewej, zmiany praktyki po prawej. Jedne i drugie postępują; dzisiejszy certyfikat to licencja na dalszą naukę, nie na jej zakończenie.
Rozdział 100 · Część X
Architekt, który wysyła
Ostatni rozdział. Sto z nich, sto profesjonalnych porad, sto diagramów. Wystarczająco, aby zdać egzamin. Wystarczająco, aby przeprowadzić rozmowę z dowolnym praktykiem pracującym w tej przestrzeni. Jednak od rozdziału 1 aż do tego momentu w tej książce argumentowano, że certyfikacja nie jest tu najważniejsza. Chodzi o praktykę — codzienną dyscyplinę projektowania, dostarczania i ulepszania prawdziwych systemów Claude przed prawdziwymi użytkownikami.
Ponowne stanowisko architekta. Projektuj z modelem, a nie przeciwko niemu. Zdyscyplinowana pokora w stosunku do własnego zrozumienia. Odpowiedzialność za to, jakie statki. To jest postawa, którą tak naprawdę mierzy egzamin, ukryta pod pytaniami wielokrotnego wyboru i podpowiedziami dotyczącymi scenariusza. Systemy zbudowane w tym podejściu są ostatnie; systemy zbudowane bez niego wymagają ciągłego gaszenia pożarów.
Odznaka jest linią startową. Następnego dnia po zdaniu nic nie zmienia się w Twojej umiejętności projektowania dobrych systemów Claude. Zmiany polegają na tym, że masz zewnętrzne potwierdzenie znajomości materiału i specyficzną odpowiedzialność związaną z odznaką, która polega na utrzymywaniu standardów określonych przez odznakę. Certyfikowani architekci, którzy wykonują niechlujną pracę, zaniżają wartość certyfikatu dla wszystkich; podnoszą to certyfikowani architekci, którzy dają przykład.
Co certyfikowany architekt robi następnego dnia. Wysyłają coś. Nie demo. Nie jest to dowód koncepcji. Coś z prawdziwym użytkownikiem i prawdziwym problemem do rozwiązania. Założyli ewaluację. Wysyłają księgę kosztów. Utrzymują pętlę z rozdziału 90. Certyfikacja jest punktem kontrolnym w dłuższej podróży; ważne jest to, co stanie się dalej.
Ostatnie słowo. Książka ta została napisana, aby pomóc Ci zdać egzamin i, co ważniejsze, pomóc Ci zostać architektem, który zajmuje się statkami. Jeśli zamkniesz go po przyswojeniu choćby części praktyki — czterosekcyjnej podpowiedzi, kwadrantu delegacji, podziału koordynatora na pracownika, pętli ewaluacyjnej, stanowiska architekta — masz już wystarczająco dużo, aby wykonać pożyteczną pracę. Reszta to powtarzanie, informacja zwrotna i czas. Idź coś zbudować.
Ryc. 100.1 — Pętla, która nigdy się nie zamyka. Wdróż, mierz, ucz się, ulepsz, wdróż ponownie. Odznaka tego nie zamyka; nic tego nie zamyka. To cała praktyka i cała książka na jednej rycinie.
Claude Certified Architect · Przewodnik terenowy · Wydanie pierwsze
100 rozdziałów · 10 części · sto profesjonalnych wskazówek · sto diagramów