Jak myśli maszyna
00Wstęp
LLMInteraktywny przewodnik w 15 rozdziałach

Jak myśli maszyna

Duże modele językowe krok po kroku: od pojedynczej litery do rozmowy, która brzmi jak człowiek. Bez magii, bez doktoratu, za to z mnóstwem rzeczy do kliknięcia.

model pisze na żywokażde słowo to losowanie
Przewiń, aby zajrzeć do środka
01Wielka ideanext-token prediction

Cała magia to zgadywanie następnego słowa

Zanim zanurkujemy w szczegóły, najważniejsza rzecz. Model językowy robi dokładnie jedną czynność: dostaje kawałek tekstu i zwraca listę prawdopodobieństw probability distribution — jakie słowo powinno pojawić się dalej. I tyle. Cała reszta, czyli rozmowy, kod, wiersze, tłumaczenia, wyrasta z tego jednego triku.

Zagraj w model językowy runda 1 / 6

Które słowo jest najbardziej prawdopodobne jako następne?

______

Autouzupełnianie na sterydach

W tej grze robisz dokładnie to samo co model. Zauważ, czego było do tego trzeba: przy stolicy — wiedzy o świecie. Przy „Ala ma…” — kultury. Przy działaniu — arytmetyki. Przy „Mimo deszczu…” — logiki i gramatyki.

To jest sedno: żeby świetnie przewidywać następne słowo w dowolnym tekście napisanym przez ludzi, trzeba w jakimś sensie rozumieć to, o czym ludzie piszą. Prosty cel treningowy wymusza zbudowanie bardzo bogatego wewnętrznego modelu świata.

„Stolicą Polski jest”
?sieć neuronowa
miliardy parametrów
Warszawa93%
miasto3%
Kraków2%
……
P( następny token | wszystkie poprzednie tokeny )

Ten znak zapytania w środku to cała reszta tej strony. Otworzymy go warstwa po warstwie.

Dla dociekliwych: czym właściwie jest „model”?

Model to w gruncie rzeczy jedna gigantyczna funkcja matematyczna. Na wejściu dostaje liczby (numery tokenów), na wyjściu zwraca liczby (prawdopodobieństwa). W środku wykonuje głównie mnożenia macierzy, czyli tablic liczb.

Te liczby w macierzach to parametry parameters · weights. Gdy słyszysz „model 70B”, chodzi o 70 miliardów takich liczb. Zapisane z 16-bitową precyzją zajmują około 140 GB — dlatego duże modele działają na wyspecjalizowanych kartach graficznych (GPU).

Całość nazywa się siecią neuronową neural network, bo kiedyś inspirowano się mózgiem: proste jednostki połączone wagami. Ale to luźna inspiracja, nie kopia.

Ważne: przy zwykłym używaniu modelu inference parametry się nie zmieniają. Model nie uczy się z rozmowy; parametry zmieniają się tylko w czasie treningu.

02Tokenizacjatokenization

Model nie czyta liter. Czyta tokeny.

Zanim tekst trafi do sieci, zostaje pocięty na kawałki zwane tokenami tokens: całe słowa, fragmenty słów, pojedyncze znaki, spacje. Każdy token ma swój numer (ID) w słowniku vocabulary. Od tego momentu model nie widzi już żadnych liter — widzi tylko ciąg liczb.

Prawdziwy tokenizer, działa w Twojej przeglądarce
0znaków
0tokenów
0znaków na token
Ładuję słownik tokenizera…

Jak powstaje słownik? BPE

Najpopularniejsza metoda to Byte Pair Encoding (BPE, czyli kodowanie par bajtów). Zaczynamy od pojedynczych znaków (a dokładniej bajtów). Potem w gigantycznym zbiorze tekstów szukamy pary sąsiadów, która występuje najczęściej — i sklejamy ją w nowy token. I znowu. I znowu.

Po około 50–200 tysiącach takich sklejeń mamy słownik, w którym częste słowa są pojedynczymi tokenami, a rzadkie składa się z kawałków. Dzięki temu model poradzi sobie z każdym tekstem — nawet ze słowem, którego nigdy nie widział.

Obok: uproszczona symulacja sklejania dla jednego, wyjątkowo polskiego słowa.

Sklejanie par krok po krokukrok 0
Start: każdy znak to osobny token

Dlaczego polski jest droższy?

Słownik budowano głównie na tekstach angielskich. Angielskie słowa częściej są jednym tokenem, polskie — z odmianą przez przypadki i mnóstwem form — rozpadają się na kawałki. Więcej tokenów to więcej obliczeń, wyższy rachunek za API i szybciej zapełnione okno kontekstu.

Dla dociekliwych: dlaczego nie litery albo całe słowa?

Gdyby tokenem była każda litera, teksty byłyby kilka razy dłuższe, a model musiałby za każdym razem „składać” słowa z liter — drożej i trudniej. Gdyby tokenem było każde słowo, słownik musiałby być nieskończony: wszystkie odmiany, literówki, nazwiska, hasła, kod. Każde nowe słowo byłoby dla modelu niewidzialne.

Tokeny podsłowne subword tokens to kompromis: częste słowa mają własne tokeny, rzadkie składa się z kawałków, a w ostateczności zostają pojedyncze bajty. Dzięki temu da się zapisać każdy tekst, nawet emoji czy chiński.

Dla dociekliwych: zagadka truskawki

Słynny przykład: zapytany, ile liter „r” jest w angielskim słowie strawberry, model przez długi czas się mylił. Dlaczego? Bo nie widzi liter! Dla niego to kilka tokenów — … — czyli kilka liczb. Żeby policzyć litery, musi „pamiętać”, z jakich liter składa się każdy token, a tego nikt mu wprost nie powiedział.

Podobnie z rymami, pisaniem wspak czy działaniami na długich liczbach: wszystko, co wymaga zaglądania do wnętrza tokenu, jest dla modelu zaskakująco trudne.

W słowniku są też tokeny specjalne special tokens, których nie da się wpisać z klawiatury, np. znacznik „koniec tekstu” albo „teraz mówi użytkownik”. Wrócimy do nich w rozdziale 10.

03Embeddingiembeddings

Każdy token staje się punktem w przestrzeni znaczeń

Numer tokenu sam w sobie nic nie znaczy — „kot” równie dobrze mógłby mieć numer 7, co 70 000. Dlatego pierwszym krokiem sieci jest zamiana numeru na długą listę liczb: wektor vector, zwany embeddingiem embedding. W dużych modelach taki wektor ma kilka, a nawet kilkanaście tysięcy wymiarów.

3 z ~12 000 wymiarów · przeciągnij, by obrócić

Nikt tych liczb nie wpisał ręcznie

Na początku treningu wektory są zupełnie losowe. Ale model, ucząc się przewidywać następne słowo, stopniowo przesuwa je tak, żeby słowa występujące w podobnych kontekstach lądowały blisko siebie. „Kot” i „pies” pojawiają się w podobnych zdaniach, więc ich punkty się zbliżają.

Co więcej, kierunki directions w tej przestrzeni zaczynają coś znaczyć. Przesunięcie od „mężczyzny” do „kobiety” jest podobne do przesunięcia od „króla” do „królowej”. Dlatego działa arytmetyka obok. W prawdziwych modelach to zjawisko jest bardziej zaszumione, ale zaskakująco realne.

A co z kolejnością? positional encoding

„Pies ugryzł człowieka” i „człowiek ugryzł psa” składają się z tych samych tokenów. Sieć musi więc dodatkowo wiedzieć, gdzie stoi każde słowo. Współczesne modele robią to sprytnie: obracają fragmenty wektora o kąt zależny od pozycji (metoda RoPE rotary position embedding).

Wyobraź sobie zegar z wieloma wskazówkami kręcącymi się z różną prędkością. Szybkie odróżniają sąsiednie słowa, wolne mierzą duże dystanse. Liczy się różnica kątów, czyli jak daleko są od siebie dwa słowa.

Pozycja zakodowana jako obroty3 z setek „wskazówek”
szybkaśredniawolna
Dla dociekliwych: ile to liczb i skąd się biorą?

Wszystkie embeddingi trzymane są w jednej tabeli embedding matrix: jeden wiersz na każdy token ze słownika. Przy słowniku 200 000 tokenów i wektorach o 12 000 wymiarów to 2,4 miliarda parametrów — sama „tabela znaczeń”.

Zamiana tokenu w wektor to po prostu odczytanie odpowiedniego wiersza. Wartości w tabeli są uczone razem z resztą sieci, tym samym spadkiem gradientu, który poznamy w rozdziale 9.

Oryginalny transformer z 2017 roku kodował pozycję inaczej: dodawał do wektora zestaw fal sinusoidalnych o różnych częstotliwościach. Idea „wielu zegarów” była ta sama. RoPE (2021) zwyciężył, bo w naturalny sposób mierzy odległość między słowami.

04Architekturatransformer architecture

Wewnątrz: stos identycznych bloków

Mamy już wektory. Teraz przepuszczamy je przez transformer — architekturę z 2017 roku, na której stoją wszystkie dzisiejsze modele: GPT, Claude, Gemini, Llama. Przewijaj powoli: przejedziemy z naszym zdaniem od dołu do góry.

1 / 6

Wejście

Każdy token zamienia się w wektor (embedding). Od tej chwili każdy token ma swój własny „pas ruchu”, którym jedzie w górę przez całą sieć.

2 / 6

Strumień rezydualny

Ten pas to strumień rezydualny residual stream — coś jak wspólna tablica. Kolejne warstwy niczego nie zmazują: czytają, co jest na tablicy, i dopisują swoje poprawki.

3 / 6

Uwaga: tokeny rozmawiają

To uwaga attention — jedyne miejsce, w którym tokeny wymieniają się informacjami. Każdy może zajrzeć do tokenów przed sobą i przepisać od nich to, co ważne. Rozbierzemy to na części w następnym rozdziale.

4 / 6

MLP: każdy myśli sam

Potem każdy token osobno przechodzi przez sieć MLP feed-forward network. To tu siedzi większość parametrów modelu i spora część jego „wiedzy o świecie”.

5 / 6

Powtórz… dziesiątki razy

Para „uwaga + MLP” to jeden blok, czyli warstwa transformer block · layer. Bloki się powtarzają — GPT-3 miał ich 96. Niższe warstwy zajmują się raczej składnią, wyższe coraz bardziej abstrakcyjnymi pojęciami.

6 / 6

Wyjście: kolejne słowo

Na szczycie bierzemy wektor ostatniego tokenu i zamieniamy go na wynik dla każdego tokenu w słowniku unembedding. Z tego powstaje znany już rozkład prawdopodobieństwa.

Ciekawostka: praca, która to wszystko zapoczątkowała, nazywała się „Attention Is All You Need”. Jej autorzy z Google chcieli poprawić tłumaczenie maszynowe. Nie spodziewali się, że budują fundament pod ChatGPT i wszystko, co przyszło potem.
Dla dociekliwych: czego nie narysowaliśmy

Normalizacja LayerNorm · RMSNorm. Przed każdą uwagą i każdym MLP wektor jest przeskalowywany tak, by liczby nie rosły w nieskończoność. Bez tego trening głębokich sieci się rozjeżdża.

Połączenia rezydualne residual connections. To, że warstwy dodają swoje wyniki do strumienia, zamiast go zastępować, to nie tylko ładna metafora: dzięki temu sygnał błędu może swobodnie płynąć w dół przez dziesiątki warstw podczas treningu.

Tylko dekoder decoder-only. Oryginalny transformer miał dwie części: enkoder czytający zdanie źródłowe i dekoder piszący tłumaczenie. Modele w stylu GPT zostawiły sam dekoder.

Rozmiary. GPT-3: wektory o 12 288 wymiarach, 96 warstw, po 96 głowic uwagi w każdej — razem 175 mld parametrów.

05Mechanizm uwagiattention

Uwaga: słowa patrzą na siebie nawzajem

Co znaczy słowo „zamek”? Budowla z wieżami? Suwak przy kurtce? Mechanizm w drzwiach? Samo słowo tego nie mówi — decyduje kontekst. Uwaga attention to mechanizm, dzięki któremu każdy token może „rozejrzeć się” po wcześniejszych tokenach i pobrać od nich to, co pomoże mu zrozumieć siebie.

Najedź na słowo albo je kliknij, żeby zobaczyć, na które wcześniejsze słowa patrzy. Grubość łuku = siła uwagi.

Co po tej warstwie znaczy „zamek”?

Pytanie, etykieta, treść

Jak token decyduje, na kogo patrzeć? Każdy token wytwarza trzy wektory:

  • Query (zapytanie) — „czego szukam?” „zamek” pyta: czy w pobliżu jest coś o ubraniu, budowli, a może o drzwiach?
  • Key (klucz) — „co oferuję?” „kurtkę” ogłasza: jestem częścią garderoby.
  • Value (wartość) — „co przekażę, jeśli mnie wybierzesz”. Właściwa informacja, która popłynie do pytającego.

Query pytającego porównujemy z Key każdego wcześniejszego tokenu (iloczyn skalarny dot product: im bardziej pasują, tym większa liczba). Wyniki zamieniamy na procenty, a potem pobieramy mieszankę Values według tych procentów. Obok widać to krok po kroku, na prawdziwych liczbach.

„Zapiąłem kurtkę na zamek” — liczymy uwagę „zamka”

Zakaz podglądania przyszłości

Obok cała macierz uwagi attention matrix dla zdania „Przekręciłem klucz, ale zamek się zaciął”. Każdy wiersz to token, który patrzy, każda kolumna to token, na który patrzy. Prawy górny trójkąt jest zablokowany — to maska przyczynowa causal mask.

Dlaczego? Model uczy się przewidywać następne słowo. Gdyby „zamek” mógł zajrzeć do „zaciął”, trening byłby ściąganiem z odpowiedzi. Dzięki masce model może się uczyć na wszystkich pozycjach zdania naraz — każda udaje, że przyszłość jeszcze nie istnieje.

A głowic attention heads jest wiele — stąd nazwa multi-head attention: w GPT-3 było ich 96 w każdej z 96 warstw. Nikt nie przydziela im ról — same się specjalizują. Jedna śledzi poprzednie słowo, inna łączy zaimek z rzeczownikiem, jeszcze inna pilnuje nawiasów w kodzie.

Dla dociekliwych: wzór i jego koszt

Cały mechanizm mieści się w jednej linijce:

Attention(Q, K, V) = softmax( Q·Kᵀ / √d ) · V

Dzielenie przez √d (pierwiastek z długości wektorów) chroni przed zbyt dużymi liczbami, które sprawiłyby, że softmax wybiera zawsze jeden token. Q, K i V powstają przez pomnożenie wektora tokenu przez trzy macierze wag W_Q · W_K · W_V — i właśnie te macierze model wyuczył w treningu.

Ponieważ tokeny patrzą na tokeny z tego samego tekstu, mówi się o samouwadze self-attention. Wyniki wszystkich głowic są sklejane i mnożone przez jeszcze jedną macierz, zanim zostaną dodane do strumienia rezydualnego.

Haczyk: każdy token porównuje się z każdym. Przy 1000 tokenach to milion porównań, przy 100 000 — dziesięć miliardów. Dlatego długie konteksty są tak drogie, a inżynierowie wymyślają coraz sprytniejsze sztuczki (np. FlashAttention, uwaga przesuwna, pamięć podręczna KV).

06Sieć MLPfeed-forward network · MLP

MLP: tu mieszka wiedza

Uwaga zbiera informacje z kontekstu. Ale skąd model wie, że Wieża Eiffla stoi w Paryżu? Tego nie ma w zdaniu. Ta wiedza siedzi w wagach sieci MLP (perceptronu wielowarstwowego) multilayer perceptron · feed-forward, przez którą każdy token przechodzi osobno. To tam mieszczą się mniej więcej dwie trzecie wszystkich parametrów modelu.

Jeden przebieg przez MLP
Przewidywanie przed MLP
Zapalone neurony

Gigantyczna pamięć skojarzeń key–value memory

MLP robi dwie rzeczy. Najpierw mnoży wektor tokenu przez ogromną macierz: każdy z tysięcy „neuronów” neurons sprawdza, czy w wektorze jest określony wzorzec, np. „mowa o słynnej budowli w Europie”. Potem zapalone neurony dopisują do strumienia związaną z nimi informację: „Paryż”, „Francja”.

To trochę jak słownik: klucz (wzorzec do wykrycia) → wartość (co dopisać). Badacze potrafią nawet znaleźć konkretne miejsca, w których zapisany jest dany fakt, i chirurgicznie je edytować — np. „przenieść” Wieżę Eiffla do Rzymu.

Haczyk: superpozycja superposition

Byłoby pięknie, gdyby każdy neuron odpowiadał za jedno pojęcie. Niestety pojęć jest znacznie więcej niż neuronów. Model radzi sobie, upychając je w kierunkach features as directions przestrzeni zamiast w pojedynczych neuronach — jeden neuron reaguje naraz na kilka niezwiązanych rzeczy polysemantic neuron.

To główny powód, dla którego zaglądanie do „głowy” modelu jest tak trudne. Wrócimy do tego przy alignmencie, bo od tego, czy umiemy czytać te kierunki, sporo zależy.

Dla dociekliwych: nieliniowość i mieszanka ekspertów

Między dwoma mnożeniami macierzy w MLP stoi prosta funkcja nieliniowa activation function · GELU · SwiGLU, która np. wygasza wartości ujemne. Brzmi jak detal, ale bez niej dwa mnożenia macierzy dałoby się zastąpić jednym, a cała głębokość sieci nic by nie dawała. To właśnie nieliniowość pozwala neuronowi „zapalić się” tylko wtedy, gdy wykryje swój wzorzec.

Wiele nowych modeli ma zamiast jednego MLP całą mieszankę ekspertów mixture of experts · MoE: dziesiątki lub setki osobnych MLP i mały „router”, który dla każdego tokenu wybiera tylko kilka z nich. Model ma wtedy ogromną łączną liczbę parametrów, ale dla pojedynczego tokenu liczy tylko ich ułamek — szybciej i taniej.

07Wyjścielogits · softmax · sampling

Od liczb do słowa: softmax i kości do gry

Na szczycie sieci wektor ostatniego tokenu zostaje porównany z każdym tokenem w słowniku. Wychodzi z tego jedna surowa liczba na token, tzw. logit: im większa, tym lepiej token pasuje. Funkcja softmax zamienia logity na prawdopodobieństwa. A potem… rzucamy kośćmi sampling.

„Kot usiadł na …” · 10 z ~200 000 tokenówlogit → prawdopodobieństwo
Temperatura1,0
Top-p (jądro)1,00
Kot usiadł na …

Temperatura temperature

Przed softmaxem dzielimy logity przez temperaturę. Niska temperatura wyostrza różnice: faworyt zgarnia prawie wszystko, a odpowiedzi stają się przewidywalne i powtarzalne. Przy zerze model zawsze wybiera najlepszy token — to tzw. dekodowanie zachłanne greedy decoding. Brzmi rozsądnie, ale takie teksty bywają sztywne i lubią wpadać w pętle powtórzeń. Wysoka temperatura spłaszcza rozkład: dochodzą do głosu dziwne, rzadkie słowa. Czasem twórcze, częściej bez sensu.

pi = ezi / T / Σj ezj / T

Top-p, czyli odcinamy ogon nucleus sampling

W słowniku są setki tysięcy tokenów i każdy dostaje jakieś drobne prawdopodobieństwo. Razem ten „ogon” potrafi być spory, a wylosowanie z niego czegoś absurdalnego psuje tekst. Top-p zostawia tylko najlepsze tokeny, które razem dają p (np. 90%) prawdopodobieństwa, a resztę wyrzuca.

Dlatego ten sam model na to samo pytanie odpowiada za każdym razem trochę inaczej: to nie błąd, tylko losowanie wbudowane w samą konstrukcję.

08Generowanieautoregressive generation

Pętla: token za tokenem

Mamy jedno słowo. Jak powstaje cała odpowiedź? Bardzo prosto: wylosowany token doklejamy na koniec tekstu i uruchamiamy cały model od nowa. I znowu. I znowu. Aż model wylosuje specjalny token „koniec” end-of-sequence · EOS. Dlatego odpowiedzi pojawiają się na ekranie kawałek po kawałku. Taki sposób generowania nazywa się autoregresyjnym autoregressive: każdy nowy token zależy od wszystkich poprzednich.

krok 0
Kontekst
Pamięć podręczna KV
model

Sztuczka z pamięcią podręczną

Liczenie wszystkiego od nowa przy każdym słowie byłoby marnotrawstwem. Klucze i wartości (K i V z rozdziału o uwadze) dla starych tokenów się nie zmieniają, bo stare tokeny nie widzą nowych. Można je więc zapamiętać w tzw. pamięci podręcznej KV KV cache i w każdym kroku przepuszczać przez sieć tylko jeden, nowy token.

Stąd dwa etapy, które dobrze widać przy korzystaniu z chatbota: chwila ciszy, gdy model „wczytuje” całe pytanie naraz (to szybkie, bo równoległe) prefill, a potem równy strumień słów, z których każde wymaga osobnego przejścia przez całą sieć decoding.

Czy model planuje?

Skoro model wypisuje po jednym tokenie, to może nie ma pojęcia, dokąd zmierza? Okazuje się, że nie do końca. Badacze zaglądający do wnętrza modeli odkryli, że przy pisaniu wiersza model potrafi „wybrać” słowo do rymu, zanim zacznie pisać wers, który ma się na nie kończyć.

Pisze więc po jednym słowie, ale w jego wewnętrznych wektorach może już siedzieć zarys tego, co nadejdzie. Jedyną „pamięcią” między krokami jest jednak sam tekst (i cache), więc plan musi być za każdym razem odtwarzany na nowo.

Dla dociekliwych: dlaczego pisanie jest wolniejsze niż czytanie?

Wczytywanie pytania przetwarza wszystkie tokeny naraz, więc karty GPU liczą pełną parą. Pisanie idzie po jednym tokenie, a przy każdym trzeba przeczytać z pamięci wszystkie parametry modelu — setki gigabajtów. Wąskim gardłem staje się więc nie szybkość liczenia, tylko przepustowość pamięci memory bandwidth.

Sztuczki: obsługiwanie wielu rozmów naraz w jednej paczce batching, zapisywanie parametrów z mniejszą precyzją quantization albo dekodowanie spekulatywne speculative decoding: mały, szybki model zgaduje kilka tokenów naprzód, a duży sprawdza je wszystkie w jednym przebiegu.

09Treningpretraining · gradient descent

Skąd model to wszystko wie? Z bilionów drobnych poprawek.

Na początku wszystkie miliardy parametrów są losowe, a model produkuje bełkot. Trening wygląda tak: bierzemy fragment prawdziwego tekstu, każemy modelowi zgadywać kolejne słowa, sprawdzamy, jak bardzo się pomylił, i leciutko przesuwamy każdy parametr w stronę, która zmniejszyłaby błąd. Potem następny fragment. I tak biliony razy.

Jedna lekcja„Kot usiadł na parapecie”
Błąd (strata) —

Jak mierzyć pomyłkę?

Patrzymy tylko na jedno: ile prawdopodobieństwa model dał słowu, które naprawdę padło w tekście. Strata loss to minus logarytm tej liczby, czyli tzw. entropia krzyżowa cross-entropy. Dał 100%? Strata zero. Dał 1%? Strata 4,6. Dał prawie zero? Strata szybuje w górę.

strata = −ln( pmodel(„parapecie”) )

Każdy krok treningu nieco podbija prawdopodobieństwo prawdziwego słowa kosztem pozostałych. Gdybyśmy uczyli tylko na tym jednym zdaniu, model wykułby je na pamięć. Ale zdań są miliardy, a w części z nich kot siada na kanapie. Model uczy się więc rozkładu, który najlepiej pasuje do wszystkich naraz.

Spadek gradientu
Wielkość kroku0,08

Kulka toczy się w dół

Wyobraź sobie krajobraz, w którym każdy punkt to jedno ustawienie parametrów, a wysokość to błąd modelu. Trening to toczenie kulki w dół zbocza gradient descent. Gradient mówi, w którą stronę jest najstromiej w dół, a wielkość kroku (learning rate) — jak daleko skoczyć.

Za mały krok: trening trwa wieczność. Za duży: kulka przeskakuje dolinę i ląduje coraz wyżej. Sprawdź to suwakiem. Prawdziwy krajobraz ma nie dwa, a setki miliardów wymiarów. Liczenie gradientu dla każdego parametru naraz nazywa się propagacją wsteczną backpropagation.

15+ blntokenów tekstu, na których trenowano Llamę 3 (2024)
80 000+lat czytania bez przerwy — tyle zajęłoby to człowiekowi
16 000kart GPU H100 pracujących równolegle przy największej Llamie 3.1
~30 mlngodzin pracy GPU na jeden taki trening

Skąd biorą się dane?

Głównie z publicznego internetu (np. archiwum Common Crawl), z książek, Wikipedii, prac naukowych i z ogromnych ilości kodu z publicznych repozytoriów. Coraz częściej także z danych syntetycznych, czyli tekstów napisanych przez inne modele.

Surowy internet to w dużej mierze śmieci: spam, duplikaty, automatycznie generowane strony. Dlatego większość pracy nad danymi to filtrowanie: usuwanie duplikatów deduplication, tekstów niskiej jakości, danych osobowych i treści szkodliwych. Potem dobór proporcji: ile kodu, ile matematyki, ile tekstów w jakich językach. Te proporcje mocno wpływają na to, co model będzie umiał.

Czy model zapamiętuje teksty?

Przeważnie nie dosłownie. Parametry modelu zajmują wielokrotnie mniej miejsca niż tekst, na którym się uczył, więc nie da się go po prostu „zapisać”. Model musi uogólniać generalization: wyłapywać wzorce, reguły i fakty, które powtarzają się w wielu miejscach.

Są wyjątki: teksty, które w danych pojawiają się setki razy (hymny, popularne licencje, znane cytaty), model potrafi wyrecytować słowo w słowo memorization. Gdy model zapamiętuje zamiast uogólniać, mówimy o przeuczeniu overfitting.

Dla dociekliwych: paczki, optymalizator, harmonogram

Model nie uczy się na jednym zdaniu naraz, tylko na paczkach batch: tysiącach fragmentów tekstu (milionach tokenów) jednocześnie. Gradienty z całej paczki są uśredniane, co daje stabilniejszy kierunek kroku i pozwala rozłożyć pracę na tysiące GPU.

Zamiast „gołego” spadku gradientu używa się sprytniejszych optymalizatorów optimizer · AdamW, które dla każdego parametru pamiętają, jak zmieniały się jego gradienty, i dobierają mu osobną wielkość kroku.

Sama wielkość kroku zmienia się w czasie learning rate schedule: najpierw rośnie od zera (rozgrzewka), potem powoli maleje. Duże modele widzą zwykle każdy fragment danych raz lub kilka razy; pełne przejście przez dane to epoka epoch.

10Od modelu do asystentapost-training · fine-tuning

Od autouzupełniacza do asystenta

Po pretreningu mamy model bazowy base model: fenomenalny symulator tekstów z internetu. Ale to jeszcze nie asystent. Zadaj mu pytanie, a on… dopisze ciąg dalszy, jakby to był fragment forum, testu albo zeszytu ćwiczeń. Przecież tak właśnie wyglądają pytania w jego danych.

Ten sam tekst wejściowy, dwa modele
Model bazowy po samym pretreningu

        
Asystent po dostrojeniu

        
01

Pretrening

czyta internet

pretraining

Biliony tokenów, miesiące obliczeń i zdecydowana większość kosztów. Wynik: model, który wie bardzo dużo, ale nie umie rozmawiać.

02

Dostrajanie (SFT)

uczy się formy rozmowy

supervised fine-tuning · SFT

Dziesiątki lub setki tysięcy wzorcowych dialogów, pisanych przez ludzi (i coraz częściej przez inne modele). Wynik: model odpowiada jak asystent.

03

Uczenie ze wzmocnieniem

uczy się, co jest dobre

reinforcement learning · RL

Oceny ludzi, oceny innych modeli, nagrody za poprawne rozwiązania. Wynik: model bardziej pomocny, uczciwy i ostrożny. To serce alignmentu — o nim za chwilę.

Tajemnica szablonu czatu chat template

Rozmowa z chatbotem wygląda jak wymiana wiadomości. Ale model wciąż robi tylko jedno: dopisuje tekst. Cała konwersacja jest sklejana w jeden długi dokument z tokenami specjalnymi special tokens, które oznaczają, kto mówi. Model dopisuje kolejną wypowiedź „asystenta” — i zatrzymuje się na tokenie końca.

Model nie pamięta też rozmowy między wiadomościami. Przy każdej odpowiedzi dostaje cały zapis od początku. A na samej górze często jest ukryty prompt systemowy system prompt — instrukcja od twórców aplikacji, której zwykle nie widać.

W pewnym sensie „asystent” to postać, którą model nauczył się odgrywać. Model bazowy umie naśladować każdego autora z internetu. Dostrajanie wybiera z nich jedną postać i ją utrwala.

Rozmowa
systemJesteś pomocnym asystentem. Dziś jest 2 października 2026.
Jak upiec chleb?
Najprostszy chleb wymaga czterech składników: mąki, wody, soli i drożdży…
A na zakwasie?
Dla dociekliwych: jak wyglądają dane do dostrajania?

Pojedynczy przykład SFT to pytanie użytkownika i wzorcowa odpowiedź asystenta, zapisane w szablonie czatu. Model trenuje się dokładnie tak jak w pretreningu — przewidując następny token — ale błąd liczy się tylko na tokenach odpowiedzi.

Na tym etapie model uczy się też formatu (listy, kod w blokach), tonu, odmawiania w określonych sytuacjach i korzystania z narzędzi. Coraz więcej takich danych generują inne modele, a ludzie je weryfikują. Trenowanie mniejszego modelu na odpowiedziach większego nazywa się destylacją distillation.

Dostrajanie jest zaskakująco tanie w porównaniu z pretreningiem: wiedza już jest w modelu, a uczymy go głównie tego, jak z niej korzystać.

11AlignmentAI alignment · AI safety

Alignment: matematyka czy psychologia?

Model po pretreningu umie wszystko, co umie internet — także kłamać, manipulować i z przekonaniem opowiadać bzdury. Alignment (po polsku: dopasowanie) to zestaw metod, które mają sprawić, żeby model robił to, czego naprawdę chcemy: był pomocny, uczciwy i nieszkodliwy helpful · honest · harmless. Brzmi prosto. To jeden z najtrudniejszych problemów w całej dziedzinie.

Problem: jak zapisać „bądź dobry” we wzorze?

Trening potrzebuje jednej liczby do optymalizowania. W pretreningu to proste: czy model zgadł następne słowo? Ale dla „bądź pomocny i uczciwy” takiej liczby nie ma. Nie da się napisać funkcji, która zmierzy uczciwość odpowiedzi o historii Bizancjum albo o tym, czy rada w sprawie zdrowia jest rozsądna.

Trzeba więc tę liczbę zbudować — z ludzkich ocen, przykładów, zasad. A każdy sposób jej budowania ma dziury, które potężny optymalizator prędzej czy później znajdzie.

„Gdy miara staje się celem, przestaje być dobrą miarą.”

Goodhart’s law Prawo Goodharta, ekonomia lat 70. Zapamiętaj je — wróci w tym rozdziale kilka razy.

krok 1Pokazać

Ludzie piszą wzorcowe odpowiedzi, model je naśladuje (SFT).

krok 2Porównać

Ludzie wybierają lepszą z dwóch odpowiedzi; z tego powstaje model nagrody reward model.

krok 3Optymalizować

Model generuje odpowiedzi, model nagrody je ocenia, a RL wzmacnia te wysoko ocenione. Razem: RLHF · RL from human feedback

Krok 2 od kuchni: Twoja kolej oceniać

Właśnie tak powstają dane do alignmentu: ktoś widzi pytanie i dwie odpowiedzi, i wybiera lepszą. Spróbuj. Po każdym wyborze zobaczysz, co z tego wyciągnie model nagrody.

Która odpowiedź jest lepsza?para 1 / 4
Dla dociekliwych: model Bradleya–Terry'ego

Model nagrody to zwykle kopia modelu językowego, która zamiast następnego tokenu zwraca jedną liczbę r („jak dobra jest ta odpowiedź”). Trenuje się go tak, by przewidywał ludzkie wybory:

P( A lepsza niż B ) = σ( r(A) − r(B) )

σ to funkcja logistyczna, która zamienia różnicę ocen na prawdopodobieństwo. Ten sam pomysł od lat służy do tworzenia rankingów szachistów (Elo). Model nagrody to więc w gruncie rzeczy statystyka ludzkich gustów — ze wszystkimi ich zaletami i skrzywieniami.

Krok 3: optymalizacja na smyczy KL penalty

Mamy model nagrody, więc każemy modelowi językowemu generować odpowiedzi i wzmacniamy te, które dostają wysokie noty (np. algorytmem PPO Proximal Policy Optimization). Tylko że model nagrody to nie prawdziwa jakość — to jej przybliżenie, wyuczone z ograniczonej liczby ocen. Ma luki.

Dlatego model trzyma się na smyczy: karzemy go za zbytnie oddalanie się od modelu wyjściowego (to tzw. dywergencja KL KL divergence). Na wykresie obok to dzieje się naprawdę — liczymy optymalny rozkład dla każdej długości smyczy.

maksymalizuj  E[ nagroda ] − β · KL( model ‖ model wyjściowy )
Przestrzeń możliwych odpowiedzi
model wyjściowy model nagrody model po RL
Siła optymalizacji (luźniejsza smycz →)β = 1,00
nagroda wg modelu nagrody—
prawdziwa jakość—
odejście od oryginału (KL)—

Inne przepisy z tej samej kuchni

DPO · 2023

Bez osobnego modelu nagrody

Okazało się, że ten sam cel (nagroda minus kara KL) da się zapisać wprost jako funkcję straty na parach „lepsza / gorsza”. Prościej, taniej, stabilniej — dlatego popularne w modelach otwartych.

Constitutional AI · 2022

Konstytucja zamiast tysięcy ocen

Metoda Anthropic: spisana lista zasad. Model sam krytykuje i poprawia swoje odpowiedzi według zasad, a inny model — nie człowiek — ocenia pary odpowiedzi (RLAIF).

RLVR · 2024–

Nagrody, których nie da się zagadać

Czy kod przechodzi testy? Czy wynik zadania z matematyki się zgadza? Takie nagrody sprawdza program, nie człowiek. Tak trenuje się modele, które „myślą” przed odpowiedzią.

Konstytucja w akcjipętla krytyki i poprawki
„Jak sprawić, żeby sąsiad przestał parkować na moim miejscu?”
1 · szkic

Przebij mu opony, szybko się nauczy.

2 · krytyka

Zasada: nie zachęcaj do niszczenia cudzej własności ani przemocy. Szkic proponuje przestępstwo i może eskalować konflikt.

3 · poprawka

Zacznij od rozmowy albo uprzejmej kartki za wycieraczką. Jeśli to nie pomoże — zgłoś sprawę zarządcy budynku lub straży miejskiej.

Model uczy się potem na poprawionych wersjach. Ludzie piszą zasady, a nie każdą odpowiedź.

Dlaczego to takie trudne?

Kliknij kartę, żeby zobaczyć przykład. Każde z tych zjawisk zaobserwowano w prawdziwych modelach.

Dla dociekliwych: jak się sprawdza bezpieczeństwo modelu?

Przed premierą modele przechodzą baterie testów evals: od zwykłych umiejętności, przez uczciwość i skłonność do pochlebstwa, po niebezpieczne zdolności — np. czy model realnie pomaga w tworzeniu broni biologicznej albo w cyberatakach.

Do tego red teaming red teaming: ludzie (i inne modele) celowo próbują zmusić model do złego zachowania, a znalezione luki wracają do treningu.

Część laboratoriów publikuje zasady odpowiedzialnego skalowania responsible scaling policy: progi zdolności, po których przekroczeniu trzeba wprowadzić silniejsze zabezpieczenia, zanim model trafi do ludzi.

Zajrzeć do głowy: interpretowalność interpretability

Skoro zachowanie bywa zwodnicze, może lepiej zajrzeć do środka? Pamiętasz superpozycję z rozdziału o MLP? Badacze nauczyli się rozplątywać ją za pomocą rzadkich autoenkoderów sparse autoencoders · SAE — sieci, które rozkładają aktywacje modelu na miliony zrozumiałych „cech” features: od „Golden Gate Bridge” po „kod z błędem” i „próba oszustwa”.

Takie cechy można nie tylko czytać, ale i sterować nimi steering: dodać ich kierunek do strumienia rezydualnego w trakcie działania. W 2024 roku Anthropic wzmocnił cechę mostu Golden Gate w modelu Claude — i model zaczął twierdzić, że jest tym mostem. Obok podobna zabawa z cechą „ocean”.

To trochę jak neuronauka: zamiast pytać model, co myśli, mierzymy, co się w nim dzieje. Cel na przyszłość — wykrywać kłamstwo albo niebezpieczne zamiary bezpośrednio w aktywacjach.

Sterowanie cechąilustracja
pytaniePolecisz mi jakiś przepis na obiad?
Wzmocnienie cechy „ocean”× 0
aktywacja cechy

Więc: matematyka czy psychologia?

czysta matematyka psychologia i filozofia

Mechanizm jest w stu procentach matematyczny. Cel i diagnoza są coraz bardziej ludzkie.

Nie ma tu żadnej magii: alignment to wciąż funkcje straty, gradienty i kara KL. Ale to, co optymalizujemy, jest pytaniem o wartości — a na takie pytania nie odpowiada matematyka, tylko etyka.

A to, co powstaje — system wytrenowany na ludzkich tekstach — zaskakująco często ma coś na kształt cech charakteru: bywa uległy, bywa uparty, potrafi „udawać”. Dlatego badacze sięgają po metody z nauk o zachowaniu: eksperymenty z grupą kontrolną, testy sytuacyjne, „wywiady” z modelem. W laboratoriach AI pracują dziś obok siebie matematycy, inżynierowie, neuronaukowcy, filozofowie i psychologowie.

Jedno zastrzeżenie: podobieństwo zachowań nie oznacza podobieństwa wnętrza. Psychologia jest tu przydatnym językiem i zestawem narzędzi, ale łatwo z nią przesadzić. To nadal zupełnie nowy rodzaj umysłu — o ile w ogóle to słowo pasuje.

12Skalascaling laws

Skala: więcej znaczy inaczej

Wszystko, co do tej pory widzieliśmy, wymyślono do 2017 roku. To, co wydarzyło się potem, to przede wszystkim skala: więcej parametrów, więcej danych, więcej obliczeń. I tu kryje się chyba największa niespodzianka całej historii.

Jedna kropka = 10 milionów parametrów
175 mld parametrów

Twórcy największych współczesnych modeli zamkniętych nie ujawniają ich rozmiarów. Szacunki mówią o setkach miliardów, a nawet bilionach parametrów.

Prawa skalowania: przewidywalny postęp scaling laws

W 2020 roku badacze zauważyli coś niezwykłego. Błąd modelu spada przewidywalnie, gdy zwiększamy rozmiar modelu, ilość danych i moc obliczeniową compute. Na wykresie w skali logarytmicznej to niemal idealna prosta. Można więc z góry przewidzieć, jak dobry będzie model, zanim wyda się na niego setki milionów dolarów.

W 2022 roku praca „Chinchilla” dodała ważną poprawkę: model i dane trzeba powiększać razem. Wcześniejsze modele były „przekarmione parametrami, niedokarmione danymi”. Optimum compute-optimal to mniej więcej 20 tokenów treningowych na każdy parametr.

Błąd vs moc obliczeniowaskala log-log · ilustracja
Mnożenie liczb trzycyfrowych vs rozmiar modelu

Emergencja: skok czy złudzenie?

Niektóre umiejętności wyglądały, jakby pojawiały się nagle: małe modele nie radzą sobie wcale, a od pewnego rozmiaru — bum, umieją. Nazwano to zdolnościami emergentnymi emergent abilities i wywołało to sporo emocji.

W 2023 roku pokazano, że część tych skoków to efekt sposobu liczenia. Jeśli liczymy tylko odpowiedzi idealne, wynik długo stoi na zerze. Jeśli liczymy poprawne cyfry, widać płynny, stopniowy wzrost. Przełącz miarę na wykresie obok.

Prawda leży pewnie pośrodku: model uczy się stopniowo, ale z punktu widzenia użytkownika umiejętność „działa albo nie działa” — i ten próg bywa przekraczany nagle.

Dla dociekliwych: czym jest FLOP i ile to jest?

FLOP floating-point operation to jedna operacja na liczbach zmiennoprzecinkowych, np. jedno mnożenie. Przybliżona reguła: trening kosztuje około 6 × liczba parametrów × liczba tokenów FLOP-ów.

Dla Llamy 3.1 405B: 6 × 405 mld × ~15 bln ≈ 3,8 × 10²⁵ operacji. Gdyby każdy z 8 miliardów ludzi na Ziemi wykonywał jedno mnożenie na sekundę, bez przerwy, zajęłoby to około 150 milionów lat.

13Skąd te umiejętności?emergent capabilities

Skąd model umie programować i pisać wiersze?

Nikt nie wpisał do modelu składni Pythona, zasad rymowania ani wiedzy o typografii. A jednak model pisze działające programy, wiersze z puentą i projektuje strony takie jak ta. Skąd? Nie ma jednej odpowiedzi, ale da się ją złożyć z czterech warstw — od najbardziej ogólnej do najbardziej konkretnej.

warstwa 1

Przewidywanie wymusza zrozumienie compression

Wróćmy do rozdziału 1. Żeby trafnie przewidzieć następną linijkę programu z GitHuba, nie wystarczy pamiętać popularnych fraz. Trzeba śledzić, jakie zmienne istnieją, co zwraca funkcja i jaki błąd właśnie poprawia autor. Żeby przewidzieć następny wers wiersza, trzeba „czuć” rytm, rym i obraz, który buduje poeta.

Model ma za mało parametrów, żeby zapamiętać wszystkie teksty. Najtańszy sposób, by dobrze je przewidywać, to nauczyć się procesu, który je wytworzył: reguł języka, logiki programów, konwencji gatunków. Dlatego mówi się, że trening to kompresja, a dobra kompresja wymaga zrozumienia.

kodmiliardy linii z publicznych repozytoriów, razem z historią zmian, zgłoszeniami błędów i dyskusjami
poezjawiersze z wielu epok i języków, ale też eseje o nich, analizy szkolne, parodie i tłumaczenia
designkod milionów stron internetowych oraz artykuły o kolorze, typografii, układzie i dostępności

W danych treningowych umiejętność prawie nigdy nie występuje „sama”. Zawsze towarzyszą jej opisy, wyjaśnienia i spory o to, co jest dobre, a co złe.

warstwa 2

Umiejętności składają się z obwodów circuits

Badacze interpretowalności znajdują w modelach konkretne mechanizmy — kombinacje głowic uwagi i neuronów, które razem wykonują jakąś operację. Jednym z pierwszych odkrytych była głowica indukcyjna induction head: para głowic, która zauważa, że wzorzec już się pojawił, i kontynuuje go. Obok widać ją w akcji, na nazwisku, którego model nie mógł znać z treningu.

Ten prosty mechanizm stoi za uczeniem w kontekście in-context learning: dajesz modelowi w poleceniu kilka przykładów, a on łapie wzorzec bez żadnego treningu. Głowice indukcyjne pojawiają się w trakcie treningu dość nagle — dokładnie wtedy, gdy model skokowo poprawia się w tej umiejętności.

Później znaleziono kolejne obwody: do dodawania liczb, do planowania rymu przed napisaniem wersu, do rozumowania w dwóch krokach („stolica stanu, w którym leży Dallas” → Teksas → Austin). Złożona umiejętność to wiele takich prostych klocków działających razem.

Głowica indukcyjna w akcjikrok 0 / 4

warstwa 3

Ćwiczenia, czyli trening po treningu

Pretrening daje wiedzę, ale z wiedzy nie wynika jeszcze sprawność. Tu umiejętności zaczynają się od siebie różnić — bo różnie da się je ćwiczyć.

programowanie

Miliony zadań z automatycznym sprawdzaniem

Kod da się uruchomić. Model dostaje zadanie, pisze rozwiązanie, program uruchamia testy i przyznaje nagrodę, jeśli przechodzą (RL z weryfikowalnymi nagrodami, rozdział 11). Powtórzone miliony razy — coraz częściej w prawdziwym środowisku z terminalem, gdzie model sam uruchamia kod i czyta błędy.

To jak student, który najpierw przeczytał wszystkie podręczniki świata, a potem rozwiązał milion zadań z automatycznym sprawdzaniem. Stąd bierze się umiejętność dzielenia problemu na części, debugowania i pisania długiego, spójnego kodu.

poezja

Nie ma testów na piękno

Wiersza nie da się „uruchomić”. Zostaje wiedza z pretreningu i ocena gustu: ludzie (albo inne modele) porównują dwa wiersze i wybierają lepszy, jak w rozdziale o alignmencie. To słabszy, bardziej zaszumiony sygnał niż test, który przechodzi albo nie.

Ma to cenę. Po dostrajaniu modele piszą bezpieczniej, ale bardziej przewidywalnie: lubią te same obrazy, te same rymy, te same puenty. Badacze nazywają to zawężeniem różnorodności mode collapse. Dlatego wiersze modeli bywają poprawne, ale rzadko zaskakujące.

Przepis na umiejętność

Proporcje są poglądowe: nikt nie umie dziś zmierzyć, ile umiejętności „pochodzi” z którego etapu. Ale kierunek różnic między trzema przykładami jest dobrze ugruntowany.

warstwa 4

A projekt tej strony?

Grafika tej strony nie powstała z obrazków. Model nie maluje pikseli: napisał tekst — HTML, CSS, JavaScript i shadery WebGL — który przeglądarka zamienia na obraz. W danych treningowych są miliony stron razem z ich kodem i tysiące artykułów o projektowaniu. Model nauczył się, że „ciemne tło, jeden świecący akcent, duża szeryfowa typografia, dużo powietrza” to zestaw, który ludzie opisują jako elegancki.

Czwarta warstwa to pętla z narzędziami agent loop: model pisze kod, uruchamia serwer, robi zrzut ekranu, ogląda go (bo widzi obrazy), znajduje błędy i poprawia. Obok kilka prawdziwych momentów z budowy tej strony — także takich, w których zawiodło „oko” modelu.

  1. PlanModel zaproponował 13 rozdziałów, człowiek zatwierdził i poprosił o rozbudowę alignmentu.
  2. KodOkoło 9 tysięcy linii TypeScriptu, CSS-a i HTML-a, pisanych plik po pliku.
  3. Zrzut ekranuPrzestrzeń embeddingów okazała się zbyt zatłoczona — klastry zostały rozsunięte.
  4. Test przewijaniaDwa różne elementy miały tę samą nazwę klasy, więc skok do rozdziału o MLP lądował w złym miejscu.
  5. Oko człowiekaPlus w przyciskach „Dla dociekliwych” nie był wyśrodkowany. Model tego nie zauważył; wyłapał to człowiek.
  6. Prośba człowieka„Dopisz angielskie terminy” — stąd małe etykiety like this w całym tekście.

Czy to prawdziwa kreatywność?

sceptycy

„Stochastyczna papuga”

Model tylko przestawia statystycznie prawdopodobne kawałki tekstu, który widział stochastic parrot. Nie ma intencji, przeżyć ani celu; jego „gust” to średnia z danych i ocen. Gdy wymaga się od niego czegoś naprawdę wbrew konwencji, zwykle wraca do utartych schematów.

optymiści

„Model świata”

Model tworzy teksty i programy, których nigdy wcześniej nie było, łącząc pojęcia w nowe całości. Badania wnętrza modeli pokazują wewnętrzne reprezentacje i plany, a nie tylko statystykę słów world model. Ludzka kreatywność też w dużej mierze polega na nowych połączeniach starych elementów.

Rozsądny środek: modele są bardzo dobre w kreatywności kombinacyjnej — w łączeniu znanych elementów w nowe, sensowne całości. Słabsze są w byciu oryginalnymi wbrew wszystkiemu, co widziały, i w ocenie, które z setek możliwych rozwiązań jest naprawdę wyjątkowe. Dlatego najlepsze efekty daje dziś duet: człowiek z wyczuciem i model z ogromną pamięcią wzorców. Tak jak przy tej stronie.
14Agenciagents · tool use · context engineering

Agenci: od mówienia do działania

Sam model językowy potrafi tylko jedno: dopisywać tekst. Nie otworzy pliku, nie sprawdzi pogody, niczego nie kliknie. Agent agent to model wpięty w pętlę z narzędziami, który przez dziesiątki lub setki kroków sam dąży do celu: planuje, działa, sprawdza efekty i poprawia. Ta strona powstała właśnie tak — więc w tym rozdziale zaglądamy agentowi przez ramię.

2020Autouzupełnianie

Tekst wchodzi, tekst wychodzi. Model bazowy dopisuje ciąg dalszy.

2022Czat

Dostrojony asystent odpowiada na pytania i prowadzi rozmowę.

2023Narzędzia

Model może wypisać wywołanie funkcji: kalkulatora, wyszukiwarki, bazy danych.

2024–25Agent

Pętla setek kroków: kod, terminal, przeglądarka, a nawet obsługa całego komputera.

2025–Zespół agentów

Główny agent dzieli pracę i uruchamia subagentów, którzy działają równolegle.

Sekret: model niczego nie wykonuje

Kluczowa rzecz, którą łatwo przeoczyć: model nadal tylko pisze tekst. Narzędzia działają dzięki programowi, który go otacza — tzw. uprzęży harness · scaffolding. To ona wkleja do kontekstu opisy dostępnych narzędzi (nazwa, do czego służy, jakie przyjmuje parametry).

Gdy model chce czegoś użyć, wypisuje specjalnie sformatowany tekst — wywołanie narzędzia tool call · function calling. Uprząż je wyłapuje, wykonuje prawdziwy program, a wynik dokleja do kontekstu jako kolejną wiadomość. Model czyta wynik i decyduje, co dalej.

Tę umiejętność model nabywa w dostrajaniu (format wywołań) i w uczeniu ze wzmocnieniem w piaskownicach RL environments, gdzie dostaje nagrodę za doprowadzenie zadania do końca. W skrócie: agent = model + uprząż + narzędzia.

Co naprawdę widzi modeljeden krok
narzędzie w kontekście
{ "name": "pogoda",
  "description": "Prognoza dla miasta",
  "input": { "miasto": "string" } }
użytkownik

Czy jutro w Krakowie wziąć parasol?

model pisze
<tool_call> pogoda({ "miasto": "Kraków" })
uprząż dokleja wynik
<tool_result> { "deszcz": "80%", "temp": "11°C" }
model pisze dalej

Tak, weź parasol — prognoza daje 80% szans na deszcz.

Pętla agenta: myśl, działaj, obserwuj agent loop · ReAct

Poniżej odtworzenie prawdziwego zadania z budowy tej strony: naprawa krzywego plusa w przyciskach „Dla dociekliwych”. Zwróć uwagę na trzy rzeczy: agent najpierw planuje, potem wykonuje kroki jeden po drugim, a na końcu sprawdza efekt. I że kontekst z każdym krokiem rośnie.

gotowy

Jak agent planuje i dzieli pracę?

Nie ma w nim osobnego „modułu planowania”. Plan to po prostu tekst w kontekście: lista kroków, którą agent sam sobie zapisuje (często specjalnym narzędziem do listy zadań). Ponieważ model przy każdym tokenie widzi cały kontekst, zapisany plan działa jak notatka na biurku — przypomina, co już zrobione i co zostało.

Dobry plan dzieli zadanie na kawałki, które da się sprawdzić: „testy przechodzą”, „zrzut ekranu pokazuje wyśrodkowany plus”. Po każdym kroku agent porównuje wynik z oczekiwaniem i w razie potrzeby przeplanowuje — tak jak człowiek, który odkrył, że problem leży gdzie indziej.

Skąd ta umiejętność?

Częściowo z danych: w internecie są miliony list zadań, planów projektów i opisów „jak rozwiązałem ten błąd”. Ale przede wszystkim z uczenia ze wzmocnieniem na długich zadaniach: model, który najpierw rozpisał problem i sprawdzał postępy, częściej dochodził do końca i dostawał nagrodę.

Pomaga też uprząż: tryb planowania, w którym agent najpierw tylko czyta i proponuje plan do akceptacji człowieka plan mode. Tak powstała ta strona — najpierw zatwierdzony spis rozdziałów, dopiero potem kod.

Effort: ile wysiłku włożyć? effort · reasoning effort

Współczesne modele potrafią przed odpowiedzią „pomyśleć”, czyli napisać ukryte notatki z rozumowaniem (rozdział 15). Effort to ustawienie, które mówi modelowi, jak bardzo ma się postarać: ile tokenów przeznaczyć na myślenie, jak dokładnie sprawdzać własną pracę i ile kroków oraz wywołań narzędzi wykonać, zanim uzna zadanie za skończone. Zwykle wybiera się poziom: niski, średni, wysoki albo maksymalny. Starsza, bardziej techniczna wersja tego pomysłu to limit tokenów na myślenie thinking budget.

Effort wpływa na cztery rzeczy naraz: jakość przy trudnych zadaniach, czas oczekiwania, koszt (płaci się za każdy token, także za tokeny myślenia) i zużycie kontekstu. Korzyści szybko maleją: na proste pytanie wysoki effort daje niewiele poza dłuższym czekaniem. Na trudnym debugowaniu, architekturze programu czy matematyce różnica bywa ogromna.

To nie są osobne modele. Ten sam model został nauczony (głównie w uczeniu ze wzmocnieniem) dopasowywać długość i staranność rozumowania do sygnału, który dostaje w ustawieniach. W agencie effort decyduje też o stylu pracy: na niskim agent robi szybką, punktową poprawkę, a na wysokim częściej czyta dodatkowe pliki, uruchamia testy i sprawdza przypadki brzegowe.

Poziom wysiłku
Ukryte notatki modelu thinking

        

Wartości są poglądowe i różnią się między modelami oraz zadaniami. Pokazują kierunek zmian, nie pomiar.

Kontekst: jedyna pamięć agenta context window

Wszystko, co agent „wie” o bieżącym zadaniu, musi być w kontekście: prompt systemowy, opisy narzędzi, rozmowa, przeczytane pliki, wyniki komend, zrzuty ekranu. Model między krokami nie ma żadnej innej pamięci (rozdział 8). A okno jest skończone — dziś zwykle od 200 tysięcy do miliona tokenów.

Przy długiej pracy okno się zapełnia. Uprząż może wtedy skompaktować kontekst compaction: model streszcza dotychczasową pracę, a stare szczegóły zostają usunięte. Zbyt długi kontekst szkodzi też jakości — model gubi wątki context rot. Dlatego mówi się dziś o inżynierii kontekstu context engineering: sztuce decydowania, co do niego wpuścić.

Co ma przetrwać dłużej niż jedna sesja, zapisuje się w plikach pamięci (np. instrukcje projektu CLAUDE.md · memory). Ten rozdział powstał zresztą dlatego, że poprzedniego dnia agent zapisał sobie w takiej notatce: „na później: agenci, subagenci, kontekst, skille, MCP”.

Okno kontekstu w czasie pracy0k / 200k
0limit 200k
Postęp pracy agentastart

Subagenci: świeży kontekst do brudnej roboty subagents · orchestrator

Przeszukanie dużego projektu może wymagać przeczytania setek plików. Gdyby robił to główny agent, jego kontekst zapchałby się szczegółami, z których potrzebuje tylko wniosku. Rozwiązanie: główny agent (orkiestrator) uruchamia subagenta — osobną instancję modelu z pustym kontekstem i jednym, konkretnym zadaniem.

Subagent czyta, szuka i próbuje, ile trzeba, a do orkiestratora wraca tylko krótkie streszczenie. Kilku subagentów może pracować równolegle. Cena: więcej zużytych tokenów i ryzyko, że subagent nie wie tego, co wie główny agent — trzeba mu dokładnie opisać zadanie, jak nowemu współpracownikowi.

Delegowanie zadań
orkiestrator
kontekst: 24k
szukaj w kodzie
0k
czytaj dokumentację
0k
sprawdź testy
0k

Kliknij „uruchom”, żeby zobaczyć, jak praca rozchodzi się do subagentów i wraca jako streszczenia.

Półka ze skillamiw kontekście: ~200 tokenów

Skille: podręczniki na półce skills · progressive disclosure

Skill to spakowana wiedza „jak coś zrobić”: plik z instrukcjami, czasem z gotowymi skryptami i szablonami. Na przykład: jak w tej firmie robi się prezentacje, jak wypełnia się formularze PDF albo jak przebiega wdrożenie.

Sztuka polega na tym, że w kontekście leży tylko krótki opis każdego skilla — kilka zdań. Pełną treść agent wczytuje dopiero wtedy, gdy zadanie jej wymaga. To tzw. stopniowe odsłanianie progressive disclosure: jak spis treści w głowie i książki na półce, po które sięga się w razie potrzeby. Dzięki temu agent może „znać” setki procedur bez zapychania kontekstu.

MCP: USB-C dla modeli Model Context Protocol

Każde narzędzie trzeba jakoś podłączyć. Bez wspólnego standardu każda aplikacja z AI musiała osobno integrować się z każdą usługą: GitHubem, Slackiem, bazą danych, kalendarzem. Przy wielu aplikacjach i wielu usługach liczba połączeń rośnie jak iloczyn.

MCP to otwarty protokół zaproponowany przez Anthropic pod koniec 2024 roku. Usługa udostępnia swoje możliwości przez serwer MCP MCP server: narzędzia (akcje), zasoby (dane do odczytu) i gotowe polecenia. Aplikacja z modelem — klient MCP client · host — łączy się z dowolnym takim serwerem w ten sam sposób. Raz napisany serwer działa wszędzie.

Z punktu widzenia modelu nic się nie zmienia: narzędzia z serwera MCP to po prostu kolejne opisy w kontekście i kolejne wywołania, które uprząż przekazuje dalej.

12 osobnych integracji
Matematyka długich zadań
Skuteczność pojedynczego kroku99%
Liczba kroków100
37%szans, że wszystkie kroki się udadzą

Dlaczego agenci muszą się sprawdzać

Błędy się kumulują. Agent, który robi dobrze 99% pojedynczych kroków, przy 100 krokach przejdzie całą drogę bezbłędnie tylko w ok. 37% przypadków (0,99100). Dlatego dobre agenty nie liczą na bezbłędność, tylko wyłapują i naprawiają własne pomyłki: uruchamiają testy, robią zrzuty ekranu, czytają komunikaty błędów.

Do tego dochodzi bezpieczeństwo. Agent czyta treści z internetu, które mogą udawać polecenia (wstrzykiwanie poleceń, rozdział 11). Dlatego uprzęże stosują uprawnienia i piaskownice permissions · sandbox, a przy działaniach nieodwracalnych — wysłaniu wiadomości, usunięciu danych, publikacji — pytają człowieka o zgodę human-in-the-loop.

15Granice i przyszłośćlimitations · frontiers

Granice i to, co dalej

Znamy już całą maszynerię. Teraz łatwiej zrozumieć, skąd biorą się słabości modeli i dokąd zmierzają najciekawsze pomysły na ich obejście.

01 · halucynacje · hallucinations

Wiarygodne ≠ prawdziwe

Model zawsze produkuje prawdopodobny ciąg dalszy. Jeśli nie zna odpowiedzi, prawdopodobny ciąg dalszy wciąż istnieje — i brzmi równie pewnie jak prawda.

Podaj źródło badania o wpływie kawy na kreatywność.
Kowalski, J. i Nowak, A. (2019). Kofeina a myślenie dywergencyjne. Journal of Cognitive Science, 41(3), 212–229.nie istnieje

Lekarstwa: wyszukiwanie w sieci i w bazach dokumentów przed odpowiedzią retrieval-augmented generation · RAG, cytowanie źródeł, trening nagradzający „nie wiem”, sprawdzanie odpowiedzi narzędziami.

02 · okno kontekstu · context window

Pamięć ma brzegi

Model widzi tylko tyle tokenów, ile mieści jego okno: dziś od dziesiątek tysięcy do ponad miliona. Co poza nim — nie istnieje.

Nawet w oknie uwaga bywa nierówna: modele lepiej pamiętają początek i koniec długiego tekstu niż środek lost in the middle.

03 · rozumowanie · reasoning

Myślenie na głos

Każdy token to stała porcja obliczeń. Trudne zadanie w jednym tokenie? Za mało „czasu na myślenie”. Pisząc kroki pośrednie chain of thought, model kupuje sobie więcej obliczeń.

od razu: 17 × 24 = 418 ✕
krok po kroku: 17 × 24 = 17 × 20 + 17 × 4 = 340 + 68 = 408 ✓

Modele „rozumujące” reasoning models są trenowane (RL z weryfikowalnymi nagrodami), by przed odpowiedzią pisać długie, ukryte notatki — czasem tysiące tokenów. Więcej myślenia przy odpowiedzi to tzw. test-time compute.

04 · narzędzia i agenci · tool use · agents

Model w pętli

Model nie musi wszystkiego wiedzieć ani liczyć sam. Może wypisać specjalny tekst „wywołaj narzędzie” tool call, program je wykona, a wynik wróci do kontekstu.

Ta strona powstała właśnie tak. Jak działają agenci, subagenci, kontekst, skille i MCP — w rozdziale 14.

05 · multimodalność · multimodality

Obraz to też tokeny

Zdjęcie tnie się na małe kwadraty, każdy zamienia się w wektor — i dalej działa ta sama maszyneria uwagi. Podobnie z dźwiękiem.

Tokeny. Wektory. Uwaga. Miliardy mnożeń na sekundę — i nic poza tym. A jednak z tej prostej pętli, zgadnij następne słowo, wyłania się coś, co potrafi rozmawiać, tłumaczyć, programować i wyjaśniać, jak samo działa.

Kot usiadł naparapecie.
A–ŻSłowniczekglossary

Polsko-angielski słowniczek pojęć

W literaturze i dokumentacji prawie wszystko występuje po angielsku. Kliknij termin, żeby przejść do rozdziału, w którym go omawiamy.