← All molecules
AI Software EngineeringFoundational

Co model wie o kodzie

Model nie kompiluje kodu — operuje na sekwencjach tokenów dobranych z dystrybucji prawdopodobieństwa kontekst→kontynuacja. Z tego wynika asymetria: skuteczność tam gdzie wzorzec jest powszechny, halucynacje tam gdzie rzadki.

Appears in articles

Programista pierwszy raz pracujący z Copilotem pyta zwykle: „skąd model wie, co napisać?". Odpowiedź potoczna brzmi „rozumie Pythona". Odpowiedź techniczna jest fundamentalnie inna — i ta różnica ma istotne konsekwencje dla każdej decyzji o akceptacji bądź odrzuceniu sugestii.

Model nie kompiluje kodu w głowie, nie buduje grafu wywołań, nie weryfikuje typów. Operuje na tokenach — kawałkach tekstu, których sekwencja jest dla niego ciągiem prawdopodobieństw. Każdy następny token wybierany jest na podstawie tego, co statystycznie pasowało do podobnych kontekstów w korpusie treningowym. „Wiedza" modelu to dystrybucja par „kontekst → kontynuacja" pochodząca z setek miliardów linii kodu na publicznym GitHubie i w innych źródłach.

Konsekwencje są dwie i obie warto zapamiętać. Skuteczność tam, gdzie wzorzec jest powszechny — typowy endpoint REST, klasyczna implementacja sortowania, parsowanie JSON-a. Korpus treningowy zawiera tysiące przykładów, model ma silne dystrybucje. Zawodność tam, gdzie wzorzec jest rzadki — niszowa biblioteka, nowa wersja API wydana po dacie zakończenia treningu, kombinacja technologii rzadko spotykana razem. Halucynacja nieistniejącej funkcji nie wynika z „błędu" modelu w sensie buga — wynika z tego, że dla danego kontekstu istniała statystycznie wiarygodna kontynuacja, która nie odpowiada konkretnej rzeczywistości biblioteki.

Pod maską kodu model jest siecią neuronową w architekturze transformerowej. Architektura ta narodziła się w 2017 roku w pracy „Attention Is All You Need" zespołu Google Brain [@vaswani-2017-attention] i jej fundamentalna idea — mechanizm attention, w którym każdy token może w trakcie obliczeń „spojrzeć" na każdy inny — okazała się skalowalna w sposób, którego wcześniejsze rozwiązania (LSTM, RNN) nie były. Praktyczne konsekwencje matematyki dla programisty są jednak pośrednie. Ważniejsze są trzy emergentne zdolności modeli o wystarczająco dużej skali.

Pierwsza — instruction following. Model wykonuje polecenia sformułowane po polsku, angielsku, w mieszance technicznego żargonu. „Napisz funkcję zwracającą trzy najczęstsze elementy listy" — działa, nawet jeśli zbiór treningowy nie zawierał takiej funkcji. Druga — few-shot learning. Trzy przykłady „wejście-wyjście" w prompcie wystarczają, by model dopasował się do nowego zadania bez treningu. Trzecia — chain-of-thought. Prośba o rozpisanie rozumowania krok po kroku istotnie podnosi jakość na zadaniach wymagających wnioskowania. Żadna z tych zdolności nie była zaprogramowana — wszystkie wyłoniły się ubocznie, jako produkt skali. Konsekwencja: zachowanie modelu w nowej sytuacji jest nieprzewidywalne na poziomie pojedynczej odpowiedzi, choć przewidywalne statystycznie na większej próbce.

Uproszczona architektura Transformer pokazująca warstwy attention i feed-forward
Uproszczona architektura Transformer w warstwach. Każda warstwa zawiera multi-head attention plus feed-forward. Modele flagowe 2026 mają od kilkudziesięciu do stu kilkudziesięciu takich warstw — głębsze warstwy potencjalnie reprezentują coraz bardziej abstrakcyjne wzorce.

Related molecules