Masz subskrypcję Claude? Musisz to zobaczyć

2026-10-02 • Theo - t3.gg • AI zagraniczne •tutorial •waga 4/5 •50 min czytania

Poradnik wyciskania subskrypcji Claude i Codex na ostatnią kroplę: wiele kont, proxy na domowym IP, równoległe wątki agentów i palenie tokenów we śnie. Bardzo praktyczne dla programistów, ale na granicy regulaminów.

Robocza publikacja redakcyjna na podstawie publicznego transkryptu YouTube. Źródło: YouTube.

Oryginalny tytuł filmu

If you have a Claude sub, watch this

O czym jest ten film

  1. Theo liczy ekonomię subskrypcji: 200 dolarów w planie Claude to jego zdaniem około 8 tys. dolarów w tokenach (z czego 4 tys. na flagowy model), a 200 dolarów w Codex — około 12 tys. Płacenie cen API do pracy własnej to wyrzucanie 80–90% pieniędzy.
  2. Jedna zmiana w ustawieniach — wyłączenie udostępniania danych do trenowania modeli — czyni subskrypcję osobistą warunkami praktycznie identyczną z planem zespołowym.
  3. Rdzeń metody: wiele kont, jedno proxy z autoryzacjami na maszynie w sieci domowej (domowe IP) i Tailscale, przez które wszystkie pozostałe komputery łączą się z tym jednym punktem wejścia.
  4. Dobrze skonfigurowany system kont to routing pod kątem najbliższego resetu, WebSocket-y dla Codexu i powiązanie sesji z kontem, żeby nie przepalać cache.
  5. Resety działają odmiennie: Codex zeruje cały tygodniowy licznik i przesuwa datę odnowienia, Claude zeruje tylko procent zużycia — stąd strategia „pal, zanim limit przepadnie”.
  6. Filozofia pracy z agentami: tylko 10–15% tokenów na pisanie kodu, reszta na weryfikację; cofnięcie zepsutej zmiany ma trwać mniej niż 15 sekund.
  7. Zmiana nawyku myślowego: agent dostaje problem, nie gotowe rozwiązanie — i wchodzi do gry, gdy zaczynamy myśleć, a nie gdy skończymy.
  8. Wątki agentów to zadania, nie historie rozmów: cel to „pusta skrzynka”, wątki w toku mają być niewidoczne, a człowiek — jako jednowątkowy — wchodzi tylko tam, gdzie jest potrzebny.
  9. „Używanie tokenów źle” jest zdrowe: triage dziesiątek PR-ów, szukanie maili, ściąganie dokumentów, wykopywanie porzuconych projektów.
  10. Praca agentów nie może zależeć od laptopa: stary komputer z Linuksem w domu, na domowym IP, zastępuje VPS-y (ryzyko bana) i MacBooki (słaba równoległość).

10 najważniejszych takeaways — z kontekstem zastosowania

1.Do własnej pracy bierz subskrypcje, nie API

Na czym polega: według wyliczeń Theo 200 dolarów w subskrypcji Claude odpowiada około 8 tys. dolarów w tokenach (4 tys. na flagowy model przez 50-procentowy limit), a 200 dolarów w Codex — około 12 tys. Płacenie cen API za własny rozwój to przepłacanie rzędu 80–90%.

Jak stosować: cały swój codzienny dev — pisanie, weryfikację, refaktoryzację — przenieś na subskrypcje; plan za 200 dolarów wybieraj zamiast 100 (ten drugi ma czterokrotnie ciaśniejsze limity godzinne względem rozmiaru pakietu).

Na co uważać: subskrypcje nadają się wyłącznie do pracy własnej. Serwowanie ruchu publicznego czy odsprzedaż dostępu to łamanie regulaminu i prosta droga do bana; samo utrzymywanie wielu kont też jest na granicy zasad, czego Theo dowodzi własnymi przykładami blokad.

2.Wyłącz trenowanie na swoich danych

Na czym polega: po wyłączeniu opcji „ulepszanie modelu dla wszystkich” w kontrolach danych warunki subskrypcji osobistej stają się — jak twierdzi autor — skutecznie identyczne z planem zespołowym pod względem prywatności.

Jak stosować: od razu po założeniu konta wejdź w ustawienia → kontrola danych → wyłącz; analogiczny przełącznik jest w ustawieniach Claude Code.

Na co uważać: jeśli płacisz za API głównie dla prywatności, sprawdź warunki obu ścieżek — możesz po prostu przepłacać.

3.Jedno domowe IP, proxy i Tailscale

Na czym polega: dostawcy flagują logowania z serwerowych adresów IP (AWS, Hetzner) oraz jednoczesne sesje z wielu maszyn. Rozwiązanie: autoryzacje wszystkich kont trzyma proxy na komputerze w sieci domowej, a pozostałe urządzenia łączą się z nim przez prywatną sieć Tailscale.

Jak stosować: stary komputer z Linuksem podłączony do domowego routera; konta logowane wyłącznie tam; repozytorium z przepisem konfiguracji, żeby nową maszynę ustawił agent po SSH.

Na co uważać: nie loguj Claude Code bezpośrednio na VPS — Anthropic reaguje tu szczególnie agresywnie, bo z serwerów najczęściej odsprzedaje się dostęp; bana na konto Google (np. do Tailscale) boli bardziej niż bana subskrypcji.

4.Priorytetyzuj konta według resetu i pilnuj cache

Na czym polega: domyślnie proxy rozkłada ruch równomiernie na wszystkie konta, a opłaca się wypalać konto z najbliższym resetem. Z kolei przełączanie kont w środku wątku kasuje cache (trwają 5 minut i są przypisane do konta), więc wątek powinien trzymać się jednego konta.

Jak stosować: ustaw routing „najpierw konto, któremu limit wygasa najszybciej”; włącz WebSocket-y dla Codexu; poproś agenta o audyt: „czy nie przepisujemy cache częściej, niż trzeba?”.

Na co uważać: pięciogodzinne okno przepuszcza około 40% tygodniowego limitu flagowego modelu — jeśli nawet wiele kont nie mieści się w oknie, problemem jest tempo pracy, nie liczba subskrypcji.

5.Resety: Codex przesuwa kalendarz, Claude tylko procenty

Na czym polega: reset w Codexie zeruje cały tygodniowy licznik i odsuwa datę następnego odnowienia o pełne 7 dni; reset Claude zeruje wyłącznie wskaźnik zużycia, a daty zostają bez zmian.

Jak stosować: po resecie Claude natychmiast „podkręć piec” i wypal limit, bo tokeny przepadną w pierwotnym terminie; po resecie Codexu rozłóż zużycie na pełny tydzień. Bankowane resety używaj świadomie — kosztują dostawcę najwięcej w godzinach szczytu.

Na co uważać: w wielu kontach Codex łatwo o stan „wszystkim 6 dni do odnowienia”; planuj reset, zanim kartografia kont się wyrówna.

6.Mentalność „limit przepada, więc pal”

Na czym polega: niewykorzystany limit się nie kumuluje — to jak podarowane 4 tys. dolarów tygodniowo, które znika, jeśli ich nie wydasz. To odwrotność odruchu z API, gdzie minimalizuje się zużycie.

Jak stosować: przed resetem świadomie zlecaj agentom „pozornie głupie” zadania — triage PR-ów, przegląd starych projektów, analizy. Nauczysz się przy tym więcej, niż oczekujesz.

Na co uważać: to rachunek subskrypcyjny, nie budżetowy; nie przenoś go na API, gdzie każdy token kosztuje realne pieniądze.

7.Osłaniaj przycisk scalania z obu stron

Na czym polega: Theo szacuje, że pisanie kodu to 10–15% zużycia, a 85–90% to weryfikacja — tak, żeby w chwili oglądania PR był gotowy do scalenia, a gdy zła zmiana ujdzie, cofnięcie trwało sekundy.

Jak stosować: każ agentowi samemu testować, przechodzić review, pilnować PR po zgłoszeniu; zbuduj systemy wyłapujące i cofające błędy, zanim lub gdy trafią do użytkowników.

Na co uważać: jeśli cofnięcie zepsutej zmiany zajmuje więcej niż 15 sekund, najpierw napraw procesy, dopiero potem przyspieszaj generowanie kodu.

8.Dawaj agentowi problem, nie rozwiązanie

Na czym polega: tygodnie przemyśleń bywa zastąpić jednym pytaniem: „czy jest tu trywialne rozwiązanie, którego nie widzę?”. Analogia menedżerska: zespołowi dajemy ciekawe problemy, nie gotowce — i tak samo z agentem.

Jak stosować: przy zgłoszeniach o buga wrzucaj zrzut ekranu z „napraw to”, bez własnej diagnozy; porażka agenta to sygnał, że problem jest naprawdę trudny i warto się w niego zagłębić.

Na co uważać: to nie jest „przestań myśleć”, tylko „sprawdź, czy temat jest wart myślenia, zanim w niego wejdziesz”. Myślenia nie zleca się na zewnątrz — przesuwa się je na problemy, których agent nie rozwiąże.

9.Wątki to skrzynka e-mail, nie historia rozmów

Na czym polega: każdy wątek to zadanie: gdy pracuje — nie istnieje; gdy skończy — zajmuje jedno miejsce w kolejce. Połowa wątków Theo znika bez czytania ostatniej wiadomości, bo agent sam scala PR po spełnieniu warunków.

Jak stosować: zamykaj ukończone wątki, wygaszaj te w toku, zaglądaj tylko do stanów „gotowe” i „czeka na decyzję”; prompt kompletuj tak, żeby przy powrocie móc od razu scalić (zbuduj, przetestuj, zgłoś PR, postaw środowisko, pilnuj).

Na co uważać: to nie usuwa kosztu przełączania kontekstu, tylko go uwidacznia — kilkanaście wątków wymaga żelaznej dyscypliny przetwarzania skrzynki.

10.Agenci nie śpią: tania maszyna zamiast VPS

Na czym polega: do pracy agentów wystarczy darmowy, stary komputer (8 GB RAM, 4 rdzenie) z Linuksem w sieci domowej — takie obciążenie prawie nie rusza procesora. VPS oznacza flagowane IP, a Mac słabo znosi równoległość.

Jak stosować: Ubuntu + Tailscale + proxy na starej maszynie; przepis konfiguracji trzymany w repo; CI przenieś do chmury albo kolejkuj lokalnie, żeby kompilacje nie wysycały rdzeni.

Na co uważać: kompilacje w Rust potrafią zająć wszystkie rdzenie naraz — zaplanuj kolejkowanie zadań; kosztem prądu przy 60–80 W można zignorować.

Redakcyjne tłumaczenie

Wstęp: ile wątków agentów masz teraz w tle?

Zanim zaczniemy, mam pytanie: ile wątków agentów masz w tej chwili uruchomionych? Nie pytam, ile dziś odpaliłeś ani ile planujesz na później — pytam o dokładną chwilę, w której kliknąłeś ten film. Czy coś już ci pracowało w tle? Jeśli mniej niż pięć, ten materiał jest dla ciebie obowiązkowy, bo nie wykorzystujesz wyjątkowej okazji, w której żyjemy. A jeśli więcej niż pięć — też obejrzyj, bo znajdziesz tu sporo trików i rozwiązań problemów, o których mogłeś nie wiedzieć, a do tego materiał, który prześlesz znajomym wciąż siedzącym w poprzedniej epoce.

Będę szczery: to nie jest mój typowy odcinek i trochę dziwnie mi z tym. Kofeina dziś niepotrzebna — jedziemy na pełnym rodeo. Dużo lepiej.

„Film, którego Anthropic nie chce, żebyście obejrzeli”

To film, którego Anthropic nie chce, żebyście obejrzeli — a ja zamierzam utrudnić im zareagowanie. Zanim zaczniecie się martwić banami: zrobiłem, co w mojej mocy, żeby ich uniknąć. W kręgu moich znajomych krążymy między ponad trzydziestoma kontami Claude i na tym stosie miałem dokładnie jeden przypadek: kolega został zablokowany dwa razy, bo rejestrował konto przez VPN na kartę firmy, która nie była jego (była moja). Oba konta wróciły niemal natychmiast. Firmy pewnie nie chcą, żebyśmy to robili — ale na razie nam nie przeszkadzają.

Jedyną rzecz, która naprawdę może nas dziś zatrzymać, stanowi krótka przerwa na sponsora.

Dwa pytania. Pierwsze: używałeś kiedyś agenta bez wyszukiwania? Jeśli tak, wiesz, jaka to męczarnia — taki agent nie umie właściwie nic. Drugie, odwrotne: używałeś agenta z błyskawicznym i trafnym wyszukiwaniem? Ja nie, dopóki nie zacząłem używać Parallel. W bezpośrednim porównaniu z wyszukiwaniem wbudowanym w OpenAI różnica jest przepaścista: Parallel zwraca dobre wyniki w nieco ponad sekundę, endpoint konkurencji potrzebuje ponad sześciu. Gdyby na tym się kończyło, i tak byłby jedną z najlepszych opcji — dochodzi monitor stron wysyłający agentom powiadomienia o zmianach, klasyczne API z syntezą wyników oraz endpoint ekstrakcji, który z podanego URL-a wyciąga dane, parsując nawet strony zaklejone JavaScriptem. Jest też serwer MCP, więc podłączysz Parallel do agentów w dowolnym narzędziu. Miesięcznie 5000 zapytań za darmo, a przy rejestracji 80 dolarów kredytu pod selective.link/parallel.

(Informacja dodatkowa: fragment sponsorowany — Parallel to zewnętrzna usługa wyszukiwania i ekstrakcji danych dla agentów AI.)

Plan odcinka

Zgrubny plan wygląda tak: najpierw skąd wziąć dość tokenów na te straszne rzeczy, które zaraz pokażę. Zaraz potem — jak się do nich dostać. Następnie jak używać ich dobrze, a tuż za tym jak źle, co jest zresztą zabawniejsze i ważniejsze. Na końcu rzecz, na którą wszyscy czekamy: jak palić tokeny, kiedy ty i twój laptop śpicie.

To nie ma być formuła do bezmyślnzego kopiowania. Chodzi o to, żeby te pomysły i przykłady zaczęły ci się kotłować w głowie i żebyś zastosował te lekcje po swojemu. Liczą się drobiazgi — nie dlatego, że masz je powielać, ale dlatego, że pokazują, jak ja myślę i pracuję z agentami i jak przez pewien czas robiłem ponad sto PR-ów dziennie, na pół etatu. Najlepszy możliwy wynik tego filmu: wy idziecie budować z agentami coraz fajniejsze rzeczy, a potem wracacie do mnie z rozwiązaniami problemów, o których nie pomyślałem — takimi, które ułatwią życie mnie i mojemu maksowaniu tokenów.

Zarzuty z Twittera, zanim padną

Przewiduję ogromny odzew na Twitterze, więc od razu wypiszę pytania, którymi będą chcieli mnie „zeżreć”.

„To działa tylko na projektach hobbystycznych, nie w prawdziwych aplikacjach.” Mam dobre przeczucie, że moje aplikacje są bardziej prawdziwe niż twoje. Znam też firmy stosujące te strategie w skali samego AWS — mam tam znajomych, którzy uczą się tego ode mnie — podobnie w Microsofcie, a część tego „nadużywania subskrypcji”, które za chwilę pokażę, robią nawet niektóre korporacje z listy Fortune 500.

„Nie wszyscy jesteśmy bogaci.” OK, przepraszam. Ale to świetny sposób na oszczędzenie góry pieniędzy. Te strategie działają w małej i dużej skali, a szalone kwoty, które widzieliście przy moich nazwisku — te ponad 300 tysięcy — wcale nie są wydawane. Wkładam jakieś tysiąc dolarów na każde 50 tysięcy wyciąganych tokenów, i to w najgorszym razie. Jeśli wypadasz gorzej, to znaczy, że płacisz ceny API.

„No jasne, że tak uważa dev od JS-a.” No tak — dev, który rozumie, że ważniejszy jest software, którego ludzie mogą używać, niż taki, na który mogą się gapić. Racja: wiem, czego ludzie chcą, więc jestem prekwalifikowany, żeby mówić o budowaniu prawdziwego oprogramowania.

„Wow, OpenAI cię opłaciło.” OpenAI zapłaciłem więcej, niż jesteś wart. „Wow, Anthropic cię opłaciło.” Anthropic zapłaciłem więcej, niż jesteś wart.

Teraz można wreszcie być użytecznym.

Skąd wziąć tokeny: matematyka subskrypcji

Zróbmy rachunek. Kto wie, ile tokenów dostajesz za 200 dolarów dołowane do API Claude? Podpowiem: za 200 dolarów. A w API Codex? Podpowiem: dokładnie tyle samo. Dlatego dziś nie używamy API.

Może ci się to wydawać głupie albo niepoważne dla prawdziwych biznesów. Gdybym miał wymienić duże firmy, których pracownicy biorą osobiste subskrypcje i po prostu wyłączają udostępnianie danych, te firmy byłyby na mnie wściekłe — są bardzo hermetyczne i nie chcą, żeby o tym wiedziano. Ale wszyscy to robią. A gdy zrobicie podstawowy rachunek, zrozumiecie dlaczego.

Subskrypcja Claude za 200 dolarów daje około 8 tysięcy dolarów w tokenach. Dwie stówy miesięcznie za osiem tysięcy. Jest jeden haczyk: tylko 4 tysiące z tego przypada na Fable, bo flagowy model ma osobny limit 50%. I tak jednak wkładasz 200 i wyciągasz 4 tysiące Fable. Bardzo dobry interes.

(Informacja dodatkowa: Fable i Astra to używane w filmie nazwy flagowych modeli — odpowiednio Anthropic i OpenAI; Mythos to zapowiedziana wersja Claude, a Soul tańszy model OpenAI.)

Plan za 100 dolarów jest dziwny: dostajesz połowę łącznego pakietu, ale tylko jedną czwartą limitów godzinnych. Pięciogodzinne okno jest więc wyraźnie ciaśniejsze i trudniej wypalić całość. Osobiście nie polecam — odłóż, weź dwieście, spal, znajdź sposób, żeby na tym spalaniu zarobić, reinwestuj i kręć dalej.

Subskrypcja Codex za 200 dolarów jest jeszcze ciekawsza: to około 12 tysięcy dolarów inferencji, bez rozróżnienia między Astrą a tańszymi modelami jak Soul. Po prostu dostajesz tokeny.

A jeśli myślicie, że te dotacje są brutalne, mam jeszcze szalszą.

Marginesy: czemu tokeny są tak tanie

Ile kosztuje Fable? Dziesięć dolarów za milion tokenów wejściowych i pięćdziesiąt za milion wyjściowych. Brzmi drogo, zwłaszcza na tle modeli open weight, które wykonują realną pracę za dziesiątą część tej ceny albo mniej. A gdybym wam powiedział, że i ta cena to ponad połowa zniżki?

Fakt: gdy Anthropic w kwietniu zapowiadał Claude Mythos w wersji preview — model nie był jeszcze publiczny, chodziło o wewnętrzne użycie w firmach w ramach projektu Glass Wing — ci klienci mogli potem dalej korzystać z modelu za 25 dolarów za milion wejścia i 125 za milion wyjścia. Cena, którą płacimy dzisiaj, jest więc o niemal 70% niższa od zamierzonej.

Czemu tak tanio? Bo marże są niewyobrażalne. Plotkowe wyliczenia „na serwetce” z kręgów, którym ufam, dają około 95% marży na tokenach sprzedawanych po cenach API — licząc energię i zużycie sprzętu. Ze stu dolarów, które płacisz, dziewięćdziesiąt pięć to zysk, a pięć idzie na wymianę padłego compute i prąd — w przypadku Anthropic na wynajem mocy obliczeniowej od SpaceX.

Anthropic zbił cenę, bo wiedział, że wszyscy mają takie marże i że był na prowadzeniu, które chciał utrzymać: niższa cena miała utrudniać uzasadnianie sięgania po konkurencję. Moim zdaniem przy 25/125 model był wart swojej ceny zwłaszcza wtedy; przy pięćdziesięciu za wyjście to okazja. A do tego dochodzi stosunek dotacji jeden do czterdziestu (200 do 8000) — dostajecie naprawdę korzystne warunki. Podwójcie w myślach te liczby także dla Claude i Codex, bo nie ma świata, w którym OpenAI planowało brać dosłownie tę samą stawkę co Mythos. OpenAI robi z cenami tylko trzy rzeczy: zostawia je, obniża o 20–80% albo podwaja. Wyjątek nastąpi dopiero, gdy Fable ich zmiażdży — wtedy nagle „przysuną” cenę o trochę. Astra jest tania przez Fable, a Fable jest tani, bo postanowili podgryźć własne marże, żeby zapewnić sobie wygraną — przynajmniej na ten moment.

Resety: czternaście sztuk w trzydzieści dni

To wszystko jeszcze bez resetów. Ostatnio ktoś liczył: Tibo rozdał czternaście resetów w trzydzieści dni. Średnio reset co dwa–trzy dni dla subskrypcji Codex. „Tygodniowa” liczba — cztery tysiące — jest więc w praktyce liczbą trzydniową, co oznacza, że przy naprawdę maksowaniu subskrypcję Codex można podwoić do dwudziestu czterech tysięcy.

Jest tak źle, że OpenAI tymczasowo wstrzymało nowe subskrypcje na planie za 200 dolarów — co boli z uwagi na temat tego filmu, i mam złe przeczucie, że ten materiał pogorszy sprawę. Przepraszam z góry. Trochę nieswojo mi, że odsłaniam te rzeczy światu, ale moją rolą jest dziennikarstwo i informowanie, a nie ochrona kilkuset osób wiedzących, jak bardzo to jest nadużywalne. Uważam, że wiedzieć powinni wszyscy — podzielę się tym ze światem, a jak potoczy się dalej, tak się potoczy. Nie złośćcie się, że dzielę. Złośćcie się, że mam rację.

Jedno ustawienie, które zmienia zasady gry

Po założeniu konta w Codex pierwsza rzecz: ustawienia → kontrola danych → „ulepszanie modelu dla wszystkich” → wyłącz. Od tej chwili warunki subskrypcji osobistej są skutecznie identyczne z warunkami konta zespołowego. Realnej różnicy nie ma. Jeśli więc płacisz ceny API w przekonaniu, że w przeciwnym razie będą na tobie trenować — nic nie oszczędzasz, po prostu wyrzucasz pieniądze. Każdy dolar wydany na API to osiemdziesiąt–dziewięćdziesiąt centów wyrzuconych w błoto. A jeśli patrzysz na to inaczej, to już twoja sprawa. Analogiczny przełącznik jest w ustawieniach Claude Code — nie będę go szukał na ekranie, wiecie, o co chodzi.

API zostaw dla ruchu publicznego

Skoro ustaliliśmy, że konta subskrypcyjne nie różnią się od API ani cenowo, ani warunkami, najlepszym sposobem na więcej tokenów jest po prostu więcej kont. Ale API wciąż ma sens w kilku miejscach, z czego jedno jest kluczowe: wszystko, co widzi użytkownik. Jeśli prompty piszesz ty, piszą je twoi agenci albo prompt pracuje na twoim kodzie na podstawie zgłoszeń w GitHub issues — w porządku, świetnie. Ale jeśli serwujesz ruch publiczny — użytkownik przesyła zapytanie, a ono leci na twoją inferencję — to jest całkowicie sprzeczne z zasadami subskrypcji. Kto traktuje subskrypcję jako zamiennik API pod ruch użytkowników, ten zasłużył na bana. Dostawcy są hojni, pozwalając nam eksperymentować z kodem przy gigantycznych dotacjach — tę hojność nadużywajcie, budując fajne rzeczy, a nie wyciskając marżę z odsprzedaży, której sami nie liczą. Mówię to z góry, bo to, co zaraz pokażę, hipotetycznie ułatwia też niecne cele.

Jak dostać się do tokenów

Czas na dostęp. W pierwszym filmie o maksowaniu tokenów pokazywałem dwie subskrypcje Claude Code: gdy instancja w terminalu kończy zadanie, a ty w drugiej karcie podmienisz autoryzację, ona się zbiera i jedzie dalej. Świetnie — przy jednym–dwóch komputerach, jednym–dwóch wątkach i dwóch kontach. Przy tym, co robimy dziś, to nie wystarcza. Potrzebujesz systemów, które tym zarządzają, i rozwiązania na chaos psującej się co chwilę autoryzacji Claude Code — w jednym współdzielonym „kubełku”, na jednym domowym adresie IP, przez który da się przepuścić cały pozostały ruch.

Pro tip: żadnych VPS-ów, żadnych chmur, żadnego multi-IP

Tip numer jeden. Uwielbiam VPS-y i jeszcze o nich będzie, ale stanowczo odradzam logowanie się do Claude Code czy Codexu — zwłaszcza Claude Code — na serwerze wirtualnym. Anthropic wyjątkowo nerwowo reaguje na odsprzedaż subskrypcji Claude Code z VPS-ów: ktoś taki może sprzedawać dostęp tanio i przy okazji zbierać dane przydatne do destylacji. Dlatego są bezlitośnie agresywni wobec logowań i zapytań z adresów rozpoznawanych jako serwerowe — cokolwiek na AWS, Hetzner i u pozostałych dostawców. Bardzo odradzam też VPN oraz ruch z wielu komputerów naraz — właśnie tak wykrywają, że dzieje się coś podejrzanego.

Jak temu zaradzić? Jak sprawić, by większość ruchu szła z jednego miejsca — najlepiej jednego domowego IP — niezależnie od tego, co robisz, jakiego konta używasz i skąd, zwłaszcza że autoryzacja Claude Code psuje się co dwa–trzy dni?

(Wstawka nagrana później:) zanim pójdziemy dalej — to może skończyć się banem i pewnie jest sprzeczne z regulaminem. Mówię wyłącznie z własnego doświadczenia i nie bierz mnie do odpowiedzialności; dosłownie piję i nagrywam, gadając o tych nerdowskich sprawach. Jeśli dostaniesz bana, a ja nie — przykro mi i przepraszam, ale nie odpowiadam. Prawdopodobnie jednak będzie dobrze. Tylko nie rób tego na kontach Google, bo zablokowanie takiego konta boli naprawdę. Na szczęście modeli Gemini i tak nie ma po co używać, więc nie ma tematu.

CLI Proxy: jeden punkt wejścia

Czas na proxy. CLI Proxy API przewijał się w wielu moich filmach, ale rzadko był pokazywany. Działa tak: logujesz się do niego swoją autoryzacją Codex i Claude, on utrzymuje te sesje za ciebie i wystawia API, na które wskazujesz Claude Code i Codex zamiast klasycznych serwerów autoryzacyjnych. Od tej chwili wszystko jest kierowane odpowiednio. Bardzo, bardzo wygodne.

Wrócimy do tego za moment, bo przypomniałem sobie o jeszcze jednej rzeczy w dziale „więcej tokenów”.

Dlaczego tylko Claude i Codex

Mógł ktoś zauważyć, że mówię wyłącznie o subskrypcjach Claude i Codex. Czemu nie open code, nie T3 Chat, nie Cursor? Bo dotacje są tam komicznie mniejsze. Cursor może i ma u Anthropic jakąś umowę — w najlepszym razie 30–50% zniżki. To co innego niż 95–98%. Ty masz lepszą okazję niż Cursor, niż open code, niż praktycznie ktokolwiek.

(Na żywo:) czy właśnie ogłoszono reset w Codex? Serio? Całkiem szalone, że nawet w środku kryzysu mocy obliczeniowych — gdy compute nie starcza i musieli wstrzymać subskrypcje — wciąż dają resety. Zwrócę uwagę: jest piątkowy wieczór, co mocno ułatwia im decyzję, bo liczą, że najwięksi wyjadacze — tak, teraz też ty, widzu, wchodzisz do tego grona — spalą wszystko do goła przed poniedziałkiem, zanim przedsiębiorstwa znów zaczną płacić ceny API.

Jedyne subskrypcje, przy których grosze realnie zamieniasz na baryłkę tokenów, to Claude i Codex. Jeśli Grok 47 okaże się dobry, może dołączyć — ale na razie trudno maksować Groka, bo jego modele nie potrafią jeszcze tak długo utrzymać spójności.

Panel proxy i dwie poprawki, które trzeba zrobić

Wracamy do dostępu. Podsumujmy wymagania: domowa sieć, najlepiej jedno miejsce, wszystko przez nie. CLI Proxy to świetny start, ale jego interfejs pozostawia życzyć. Kolega, który wciągnął mnie w to narzędzie, nie wiedział nawet, że ma panel — konsekwentnie go unikał. Technicznie zaczynaliśmy od forka o nazwie Vibe Proxy, ale mocno rozwidliłem projekt i po konfiguracji panel nie będzie wyglądał jak na ekranie. Chcesz inaczej? Gratulacje — masz pierwsze zadanie z maksowania: daj agentowi zrzut ekranu i powiedz, że tak to ma wyglądać. Sobie poradzi, zwłaszcza na Fable zamiast Asty.

Jest jeszcze jedna zmiana, którą wręcz musisz zrobić — i gdyby ktoś zbudował porządny fork z prostszą instalacją, zrobiłby ludziom przysługę. Chodzi o priorytetyzację kont. Domyślnie CLI Proxy rozkłada ruch równomiernie na wszystkie konta. Brzmi nieźle, dopóki nie spojrzysz na moje zużycie: jedno konto traci limit jutro o trzynastej, inne dopiero za cztery dni. Oczywiste jest, że chcę wypalić jak najwięcej z tego pierwszego i nie ruszać reszty. Jedyne uzasadnienie, by tak nie robić, to ciągłe wpadanie w limity pięciogodzinne nawet na wielu kontach — i nie wierzę, że mówię to w filmie o maksowaniu, ale: zwolnij trochę. Pięciogodzinne okno przepuszcza dokładnie 40% tygodniowego limitu Fable (policzyłem, wiem to na pewno: 100% limitu pięciogodzinnego na planie 20× to dokładnie 40% limitu siedmiodniowego). To tylko 20% pełnego tygodniowego limitu, ale prawa kolumna to kubełek na Opusa, prosto z piekła — ignorujemy ją. Liczy się okno pięciogodzinne i tydzień, a tak naprawdę wyłącznie Fable w oknie tygodnia. Często omyłkowo nazywam swoje konta Claude „kontami Fable”, bo Opus to słaby model i powinieneś go omijać, jak tylko się da.

(Wstawka nagrana później, trzeźwiejsza:) coś, co nie istniało, gdy nagrywałem ten materiał kilka dni temu: Opus 5.5. Doprecyzuję — wszystkie rady z tego filmu obowiązują nadal, a Opus 5.5 zachowuje się bardzo podobnie do Fable 5.1, więc to, co mówię o Fable, w większości dotyczy też jego. Wielka różnica: możesz już nie potrzebować pięciu–dziesięciu subskrypcji Claude, bo z samym Opusem 5.5 na jednej subskrypcji trudno mi było w ogóle dobijać do limitów. Może do tych schematów nie potrzeba już tylu kont ani proxy, o którym zaraz opowiem. Uznałem jednak, że warto to dopowiedzieć, bo 5.5 jest naprawdę solidny i zmienił mój sposób pracy. Opus 5 był bezużyteczną stertą gruzów, z którą musiałem się ciągle obchodzić; 5.5 to dobry model.

Wracając do tego, o czym gadał pijany Theo. Gdy wszystko jest zalogowane, a jeden z modeli wprowadził te poprawki — routing zoptymalizowany pod konto z najbliższym resetem — druga ważna rzecz: domyślnie subskrypcje Codex nie chodzą po WebSocket. Kilka zmian to naprawia i ogromnie poprawia wydajność, bo czas przesyłania wiadomości tam i z powrotem spada lawinowo. Trochę upierdliwe, ale się da.

Ostatni ważny element — na szczęście moje agenty są na tyle sprytne, że robią to dobrze — to powiązanie sesji z kontem (tzw. session affinity). Jeśli mam trwający wątek, kolejny prompt w nim powinien pójść na to samo konto, bo cache są przypisane do konta. Gdy jesteś 800 tysięcy tokenów w głąb wątku i po cichu, za kulisami proxy, przełączysz się na inne konto — Claude nic nie zauważy, ale po stronie API trzeba odtworzyć jednostki cache. Raz na każde przełączenie to żaden problem; ale jeśli przełączasz się przy każdym prompcie, a gorzej, przy każdym wywołaniu narzędzia — zjedziesz mnóstwo stawek za cache, których nie musisz płacić. Na szczęście w CLI Proxy to domyślnie działa dobrze, a cache i tak trwają tylko pięć minut. Wspominam, bo głupszy model ustawiający ten system — na przykład Opus — może to zrobić źle. Pilnuj więc, ile czytania i pisania cache robisz, żeby liczby nie zwariowały; szybko złapiesz wyczucie. Możesz też po prostu zapytać agenta: „Jak obsługujemy powiązanie sesji z kontem? Nie przepisujemy cache za często?” — i pewnie dostaniesz odpowiedź.

Tailscale i repozytorium zarządzające flotą

Na ten fragment poproszę was o spojrzenie na górę ekranu. W pasku adresu widać bb1 — mój desktop w drugim pokoju — a dalej micro.ts.net, czyli mój Tailscale, moja prywatna sieć. Port 4318 to domyślny, a ja jestem na stronie zarządzania. Adres wygląda tak, bo korzystam z niego przez Tailscale. Ta usługa jest w takim setupie bezcenna: ułatwia innym maszynom dostęp do proxy i pozwala w ogóle pominąć autoryzację. Wczoraj eksperymentowałem, ustawiłem klucz API do czegoś innego i zepsułem inferencję wszędzie, bo domyślnie endpoint po prostu działa bez klucza. Brzmi strasznie — dopóki nie zdasz sobie sprawy, że wystawiony jest wyłącznie na moją prywatną sieć. Nie masz konta Google, którym loguję się do Tailscale? Nie dostaniesz się do tego endpointu. Sprawa zamknięta. No i bardzo ułatwia to stawianie kolejnych maszyn.

(Informacja dodatkowa: Tailscale spięty jest z repozytorium, w którym Theo trzyma przepisy konfiguracji wszystkich swoich maszyn — tzw. fleet management.)

Do następnej części muszę zrobić coś, czego pewnie nie spodziewalibyście się po mnie w 2026: obejrzeć prawdziwe repozytorium. To projekt, który mam na GitHubie i na maszynie — i jako jeden z niewielu wyłącznie na tej maszynie, bo to repo zarządzające całą moją flotą: opisuje, jak działają wszystkie komputery, na których pracuję, łącznie z tym, który trzyma proxy i zarządza Tailscale, żeby reszta mogła się podłączyć.

Jeden z plików to przepis „jak postawić maszynę”. Wylicza wszystko, co chcę mieć na boxach: rg, fd, jq, tmux, btop, node, python, narzędzia budowania, zainstalowane Codex i Claude Code, korzystanie z proxy i tak dalej. Wszystkie umowy, wszystkie maszyny — aktualizowane przy każdym nowym nabytku. Więc gdy dostaję nowy komputer: krok jeden, dostęp SSH; krok dwa, otwieram to repo, odpalam Claude lub Codex (u mnie zwykle T3 Code) i mówię: „Nowy box, oto klucz SSH, skonfiguruj go tak, jak lubię”. Po chwili mam otwartą w przeglądarce stronę zatwierdzenia Tailscale — „to pewnie mój agent” — klikam na ślepo akcept i maszyna jest gotowa, z inferencją dostępną z pozostałych boxów.

(Informacja dodatkowa: T3 Code to open-source’owe narzędzie Theo do zarządzania wieloma wątkami agentów na wielu maszynach naraz — w filmie jest jednocześnie obiektem pokazu.)

I tak dochodzę do tego, czego potrzebowałem: jedna maszyna w sieci domowej, z domowego adresu IP, przez którą przechodzą wszystkie moje konta — pięć Claude i cztery Codex — a wszystkie moje komputery na świecie podpinają się do niej przez Tailscale. Dla Anthropic i OpenAI niewykrywalne jest, że używam ich jako serwerów.

Konfiguracja w Claude Code i Codexie jest trywialna. Na tyle, że nie będę pokazywał jak — powiem ci, żebyś kazał zrobić to agentowi. Podmieni dwie zmienne w konfiguracji i tyle. Na szczęście oba narzędzia muszą umieć pracować z własnymi endpointami API, bo korzystają z nich firmy robiące całą inferencję przez Bedrock na AWS — muszą wpisać adres. To będzie działać w nieskończoność, bo gdyby przestało, byłoby źle dla nich samych. Co ciekawe, aplikacja desktopowa Codex radziła sobie z tym koszmarnie i dość osób na AWS narzekało, gdy pojawił się Bedrock — naprawili. Dziś przy tym setupie nie tylko wszystko działa, ale widać to nawet w rogu proxy. Całkiem legitnie.

A jeśli jesteś sceptyczny i bardzo chcesz mieć normalną instalację z normalną autoryzacją — możesz. Zrób drugą instancję Codex czy Claude Code z innym katalogiem domowym i osobną konfiguracją, i masz osobne komendy.

Jeszcze jedna korzyść: w tym setupie masz wewnątrz Claude Code dostęp do wszystkich modeli objętych konfiguracją. Zwróć uwagę: „wewnątrz Claude Code”. Pod żadnym pozorem nie używaj tego, żeby korzystać z subskrypcji Claude w czymś innym niż Claude Code — chyba że uwielbiasz kontakty z pomocą Anthropic i ciągłe bany. Zostaniesz zablokowany i będziesz wściekły. Gorąco polecam: modele Claude z subskrypcji wyłącznie przez Claude Code, przez proxy.

Resety: Codex kontra Claude — i mentalność pieca

Jedna rzecz warta poznania, bo łapie mnie z zaskoczenia za każdym razem: resety Anthropic działają inaczej niż te w Codexie. Różnica siedzi w datach. Reset w Codexie zeruje cały tydzień: jeśli tygodniowy limit i tak odnowiłby się za dzień, dziesięć minut czy kiedykolwiek — teraz odnowi się za siedem dni. Gdy obiecany reset uderzy o północy, wszystkie konta, którym do odnowienia brakowało trzech dni, będą mieć pełne siedem. Powstaje dziwny problem z rytmem zużycia: szybko dochodzisz do stanu „wszystkim sześć dni do resetu”, co naprawdę boli. Trochę równoważą to resety bankowane — na moich kontach mam ich dziesięć. Są dwa typy: bankowane i natychmiastowe. Bankowane klikasz, kiedy chcesz, i kosztują dostawcę najwięcej, bo resety daje się tak swobodnie w godzinach, gdy nie konkuruje się o inferencję z klientami enterprise — w piątki i soboty, zwłaszcza w piątkowe wieczory. Nie dadzą ich tak swobodnie we wtorkowy ranek, gdy wszyscy klienci próbują używać Asty w pracy i płacą ceny API. Bankowane resety kosztują ich realnie najwięcej — przez koszt alternatywny. Widzę przyszłość, w której zaczną nas wpychać w godziny poza szczytem. Szczerze: jestem gotów przesunąć swój rytm snu, żeby utrzymać ten poziom dotacji, bo jest tak dobry — i, bądźmy szczerzy, jestem uzależniony. Wkrótce będziemy wszyscy.

Różnica u Claude: istnieje tylko jeden typ resetu. Reset limitu — i to nie zegara limitu, tylko jego procentów. Gdyby Claude zrobił mi reset teraz, jedyna zmiana polegałaby na tym, że wszystkie wskaźniki wracają do setki. Daty i godziny zostają bez zmian. Czyli jeśli dostanę reset, a prawdziwe odnowienie mam za dobę — mam natychmiast podkręcić piec i palić tokeny ile wlezie, bo za dobę przepadną.

I to jest zmiana myślenia, którą chcę wam wbić do głowy. Gdy nadchodzi zwykły reset — u mnie jutro o trzynastej na tym koncie — wszystko, czego nie spalisz, to pieniądze, które przegrałeś. Nie myśl o tym, że zapłaciłeś dwieście dolarów i dostałeś więcej. Myśl: podarowano ci cztery tysiące dolarów, a każdy tydzień, w którym nie wydasz tysiąca, zabiera ci je na zawsze. To odwrotność mentalności z cen API, gdzie dążysz do wyciśnięcia maksimum z minimalnej liczby tokenów. Tutaj potrzebujesz wręcz przygnębiającego nastawienia: czujesz, że tracisz pieniądze — bo tracisz. Nie chcemy trafić na stałe do obozu przepłacających. Palcie tokeny.

Jak używać tokenów dobrze: osłaniamy przycisk scalania

Mamy za sobą dostęp do tokenów, więc teraz: jak używać ich dobrze. Będzie tu wiele warstw. Zasadniczo mam osobny film o tym, jak koduję bez jednej ręki — o życiu po zaakceptowaniu, że nawet po operacji nie będę dobrze pisać na klawiaturze. Muszę korzystać z komputera inaczej: nie tylko przez dyktowanie, ale z mniejszą liczbą przełączeń aplikacji, bez wpatrywania się w generujący wątek, bo mam co robić, po prostu mniej siedzenia przy komputerze — a koduję więcej. Te strategie zaprowadzą cię właśnie tam; tam znajdziesz wiele dobrych przykładów. Tu dorzucę kilka ważnych rzeczy, których tam niekoniecznie było, i parę głupich, ale użytecznych.

Pytanie, które ma wam utknąć w głowie: jak zużyć więcej tokenów, żeby mniej się czymś przejmować? Przy każdym problemie: jak wcześnie możesz włączyć agenta i jak długo może działać, zanim musisz zerknąć?

Pomyśl o tym jak o jednym konkretnym, ważnym przycisku: merge. Chcesz zmniejszyć ryzyko z obu jego stron. Z jednej — żeby w chwili, gdy otwierasz GitHub i patrzysz na przycisk scalania, było bezpiecznie go nacisnąć, bo agent zażegnał już tyle potencjalnych problemów, ile się da. Brzmi to szaleńczo, ale szczerze szacuję, że może 10–15% mojego zużycia tokenów to faktyczne kodowanie. Pozostałe 85–90% to weryfikacja kodu. Dzięki temu, gdy w końcu patrzę, robota jest skończona — a nie „w sumie skończona, tylko ma buga”. Jeśli zdołasz zbić prawdopodobieństwo, że PR jest słaby albo ma drobny błąd, z 5% do 1%, zaczniesz robić znacznie więcej, bo każdemu PR-owi poświęcasz mniej uwagi.

Z drugiej strony — po scaleniu. Cofanie rzeczy, które siadają, ma być łatwiejsze. Potrzebujesz systemów, które wyłapują problemy, zanim trafią do użytkowników, albo cofają zmiany, gdy już trafią i zauważysz błąd. Jeśli cofnięcie złej zmiany zajmuje ci więcej niż piętnaście sekund, nie powinieneś w ogóle jeszcze pozwalać sobie na kodowanie „na czuja”. Najpierw napraw systemy, żeby odwracanie zepsutego było tanie i szybkie — dopiero potem depczesz gazem.

Przerwa na najgorszą opinię świata

Chyba właśnie zobaczyłem w czacie faktycznie najgorszą opinię w historii: „czyli trzeba oglądać jak najwięcej Netflixa, bo trzeba zmaksymalizować subskrypcję”. Ja… przepraszam, ale wygląda na to, że korzystamy z innego Netflixa. Nie very well widzę, jak przy pomocy nieograniczonego oglądania filmów zbudować prawdziwy biznes, jak za jego pomocą zaoszczędzić czterdziestokrotność, ani jak Netflix ma pomóc uciec z obozu przepłacających. Mam nadzieję, że to prowokacja, bo to legalnie najgłupsza wiadomość, jaką widziałem — a czytanie głupich opinii to moje zajęcie. Ale gratulacje: udało ci się złapać mnie w środku bardzo dobrego filmu. Szanuję, zdejmuję kapelusz. Wracamy do realnego świata.

Wiedza, czego chcesz — czyli agent na początku myślenia

Ustaliliśmy osłanianie scalania przed (kod raczej dobry) i po (łatwo cofnąć). Warto to robić niezależnie od agentów. Ale jest jeszcze jedna faza, która nie jest przyciskiem, więc interfejs tu nie pomoże, ale zrozumiecie, o co chodzi: wiedza, czego chcesz.

Jest bardzo duże prawdopodobieństwo, że jeśli oglądasz ten film i używasz agentów do kodu, to w momencie wysłania promptu już wiesz, czego chcesz. Mówię to, bo jeszcze kilka tygodni temu tak było u mnie. Już nie. W końcu przewróciłem sobie schemat w głowie: nie włączam agenta, kiedy skończę myśleć. Włączam go, kiedy zaczynam myśleć. Żebyśmy przemyśleli sprawę razem — może znajdzie się skrót, o którym nie pomyślałem. Miewałem tematy, nad którymi myślałem — nie do końca, ale całkiem aktywnie — trzy tygodnie. Potem podchodziłem do agenta, żeby zbudować, i po prostu pytałem: „Czy jest tu głupio proste rozwiązanie, którego nie widzę?”. Dawał mi je. I uświadamiałem sobie, że właśnie spaliłem trzy tygodnie życia.

Muszę być tu bardzo jasny, bo po filmie o znajomości własnej bazy kodu zauważyłem, że słuchacie kiepsko — wstawiam to głównie po to, żeby mieć cytat do sięgnięcia, gdy będziecie mnie źle cytować: NIE MÓWIĘ, ŻE MASZ PRZESTAĆ MYŚLEĆ. Mówię: sprawdź, czy temat jest wart myślenia, zanim go przemyślisz — bo nie wiesz tego, dopóki nie zainwestujesz myślenia. A jeśli agent rozwiąże problem, zanim musisz myśleć, oboje właśnie zaoszczędziliście kupę czasu. I tokenów — bo skoro agent ma dobre rozwiązanie, nie muszę wciskać mu swojego słabego i kręcić się w kółko. Oszczędzasz tokeny i mózg, przekazując agentowi problem zamiast rozwiązania.

To był dla mnie trudny nawyk do złamania. Gdy ludzie zgłaszali błąd w T3 Code, przemyślałem go, lokalizowałem i szedłem do agenta z gotowym planem: „zmień to i tamto”. On to zmieniał, ja patrzyłem i łapałem się, że nie rozwiązuje to problemu, który chciałem rozwiązać. Dziś po prostu wrzucam zrzut ekranu: „napraw”. I często naprawia. A jeśli nie — wiem, że problem jest za trudny dla agenta samodzielnie i że czas pomyśleć mocniej.

Niesamowite było odkrycie, ile problemów, w które waliłbym energię umysłową, tej energii nie potrzebowało. I — co fajniejsze — niektóre, które uważałem za proste, proste nie były: agent poległ otwarcie.

Gotowi na odważną tezę? Przypomina to bycie menedżerem. Kiedy zrozumiałem, że zespołowi nie trzeba podawać rozwiązań — trzeba podawać ciekawe problemy — zwykle wracali z rozwiązaniami. A jeśli za pierwszymi razami rozwiązanie nie do końca grało, wiedziałem, że problem jest nowatorski i dziwnie trudny, i że trzeba wejść i sterować. Zamiast wchodzić, gdy znasz rozwiązanie — wchodź, gdy odkrywasz problem. Sprawdź, czy agent rozwiąże go samodzielnie. Jak nie — trudno, kup kolejne konto Claude. Albo niech szef kupi. Zwykle jednak: jeśli nie pracujesz jako deweloper, nie kupuj sterty subskrypcji, zanim nie zaczynasz zarabiać. Wiem, że to drogie, ale deweloperzy dużo zarabiają i firmy ich zatrudniające też. Pal pieniądze, kiedy je masz; kiedy ich nie masz — pal cudze.

Sedno: na każdym z etapów — od problemu, przez wiedzę, czego chcesz, po napisany i scalony kod — zbyt wielu z was żyje w wąskim wycinku „wiem, czego chcę → PR zgłoszony”. Chcę, żebyście szli całą drogą: od pierwszego usłyszenia o problemie do kliknięcia scalenia — a z czasem niech agent sam scala, gdy nabierzecie zaufania. Wtedy twoja praca to rozmowy z użytkownikami i utrzymywanie systemu, gdy nieuchronnie siada.

Myślenie o tym zmienia człowieka na ważne sposoby. Dan — szanuję cię ogromnie, praca z tobą była fantastyczna, ale tu się zdystansuję, bo mam swój cytat-klucz: nie mówię „myśl mniej”. Wierzę, że lepszym wykorzystaniem czasu jest myślenie o problemach, których agenci nie rozwiązują, niż o tych, które rozwiązują. Nauczysz się więcej i lepiej — zastanawiając się nad problemami poza zasięgiem agentów albo czytając ich rozwiązania — niż myśląc dniami nad czymś, co agent załatwia w minuty. Nie zlecaj myślenia na zewnątrz — przeskaluj je. Dokładnie: wciągaj model, żeby ustalić, czy w ogóle trzeba myśleć; jeśli tak — właśnie tam idzie energia twojego mózgu.

Wątki jako zadania, nie jako historie

Dotąd było ładnie, ale pora na brutalną szczerość. Byłem bardzo uprzejmy wobec alternatyw dla T3 Code — one wysiadają powyżej trzech równoległych wątków. I tu wpada znakomite pytanie z czatu: „Jak utrzymujesz to wszystko w głowie?”. Będę szczery: jeśli nie używasz T3 Code, nie wiem, jak to robisz. Nienawidzę, że tak jest — konkurencja próbuje nas skopiować i jej nie wychodzi. To szczerze frustrujące. Chcę, żeby aktywności w Codexie były dobre; oferowałem, że przyjdę za darmo napisać u nich kod, bo bardziej zależy mi na dobrym używaniu tych narzędzi niż na wygrywaniu naszym open source, który nie zarabia ani centa.

Więc o co chodzi z tą butą? Nie jestem butny — jestem wkurzony, bo rozwiązanie było bardzo proste. Myślałem o nim za długo, próbując ogarnąć, że mam — bądźmy szczerzy — zdecydowanie za dużo wątków naraz. Zrozumiałem, że traktuję wątki niewłaściwie. Wątki to nie historie, do których ciągle wracasz. Wątki to zadania. Pozycje na liście. A kiedy pracują — powinny nie istnieć.

Mam tu sporo bałaganu, bo streamowałem i byłem wczoraj na Demo Day, więc wszystko jest skończone. Ale normalnie w danym momencie mam dziesięć i więcej rzeczy działających oraz pięć i więcej w stanie „gotowe”. I tu robi się naprawdę fajnie z T3 Code: skończyłeś z wątkiem? Klikasz settle — i znika. Wiem, wiem: „Theo uważa się za fajnego, bo wymyślił nowe słowo na archiwizację”. Nie o to chodzi, settle to co innego. Cel: doprowadzić panel boczny do stanu pustej skrzynki. Staraj się kończyć dzień z wątkami znikniętymi albo pracującymi — kładziesz się spać, budzisz i masz fajne rzeczy do obejrzenia. Nie znaczy to, że wyleczyliśmy koszt przełączania kontekstu. Nie wyleczyliśmy. Ułatwiliśmy tylko zauważenie, który kontekst domaga się uwagi.

I zaczyna się przekalibrowywanie głowy. Tu osoby z ADHD mają przewagę: gdy już złapiesz stan „wątek działa → nie mój problem”, nie wyjdziesz z niego.

Czego chciałbym w T3 Code? Powiem szczerze: narzędzie poczyniło tak wiele i dodało tyle z tego, czego chciałem, że przestałem o tym myśleć. Zaczyna mi się wyczerpywać lista życzeń — i to świetnie, znaczy, że idzie nam dobrze. Kiedy wejdzie orchestrator V2, to się zmieni. Ale powiedzmy, że czegoś bym chciał — i mam parę pomysłów. Pierwszy: prosty, minimalny system kolejkowania: wysyłam wiadomość, widnieje jako oczekująca, wchodzi po zakończeniu kolejnego wywołania narzędzia, albo klikam „steer” i idzie natychmiast. Załączony zrzut ekranu pokazuje przykład z innej aplikacji — nie mam jak zrobić własnego, bo limity Codexu odnawiają mi się dopiero za trzy godziny; poszukajcie dobrego przykładu w Codexie, w razie czego znajdźcie zrzuty w sieci.

Mam dwa szybkie tipy — uwaga, będą gęsto. Tip pierwszy: spójrzcie na komputer zaznaczony na dole po lewej. To jedna z rzeczy, które T3 Code robi wybitnie. Póki co: „Theo’s MacBook Pro” — maszyna, na której nagrywam. Ten komputer będę musiał zamknąć, gdy zejdę na dół, a nie wiem, czy wątek zdąży się skończyć. Nie odpalę tego tutaj, bo na tej maszynie nie trzymam nic poza zarządzaniem flotą — robię to na żywo. Klikam więc tu — to może być dowolne repozytorium; byle zdalny adres w Gicie był ten sam na różnych maszynach, wtedy wszystkie spadają pod jedną pozycję — i wybieram serwer, na którym to ma działać. Zwykle biorę jednego z trzech Linuxów, ale gdybym chciał pracę mobilną albo użycie komputera przez agenta (dziś lepsze na macOS), wybrałbym jednego z dwóch Maców na dole. Temu tematowi nie poświęcam uwagi — rzucam zadanie na losowy serwer w chmurze. Działa.

I właśnie przegapiłem drugi tip, więc dam go po pokazaniu kolejnej rzeczy do naprawienia. Wchodzę w połączenia i przewijam w dół: lista podłączonych urządzeń. Nienawidzę tego interfejsu, bo jest „aktualizuj” albo „rozłącz” i brak „usuń” dla maszyn T3 Connect, a „rozłącz” nie daje jasno do zrozumienia, czy jest trwały. Robię więc zrzut ekranu całego panelu… nowy wątek, wklejam: „Chcę przemyśleć interfejs urządzeń podłączonych w T3 Connect w ustawieniach aplikacji desktopowej. Kilka zastrzeżeń: po pierwsze, „rozłącz” nie wygląda na tymczasowe, jakim jest — fajnie, gdyby to był przełącznik. Po drugie, nie podoba mi się, że gdy jest opcja „aktualizuj”, nie ma „usuń”. Zawsze powinienem móc usunąć — i powinno być jasne, że to trwała, nieodwracalna operacja. Jeśli uważasz, że to wystarczająco proste do zrobienia wprost — zrób i przyślij zrzut. Jeśli nie jesteś pewien — przygotuj mi kilka makiet moim skillem HTML i wybierzemy razem.”

Kilka rzeczy tutaj zrobiłem, które mogą się przydać. Po pierwsze: przekazałem dokładny problem — bez narzucania rozwiązania — plus kilka pomysłów. Po drugie: powiedziałem, że może zrobić wprost, jeśli ma rozwiązanie, z którym jest zadowolony. Po trzecie: jeśli nie — ma dać makiety z użyciem skilla, który zbudowałem, żebyśmy podjęli decyzję wspólnie. I gdyby potem zrobił coś jednego, co mi nie zagra, mogę powiedzieć: „no to zrób te makiety” — i wie, o co chodzi.

A tu jeden z moich ulubionych trików w T3 Code: nie naciskam Enter. Naciskam Command-Enter — wysyła wątek w tle i zostawia mnie dokładnie tam, gdzie jestem. Mogę od razu posłać kolejny prompt. Świetnie buduje to nawyk: „o, problem → odpalam → zajrzę, jak skończę”. Nie sprawdzam wątków, dopóki w rogu nie pojawi się „gotowe” albo „oczekuje na decyzję”. A jeśli leni ci się nawet wybieranie serwera — Maria zbudowała świetną rzecz w ustawieniach: równomierne rozłożenie obciążenia. Ustawiasz automatyczne rozrzucanie na wszystkie podłączone maszyny i wątki same lecą na różne boxy.

Gdy tak zaczniesz pracować, twoje zajęcie się zmienia. Nie siedzisz już, pilnując jednej zmiany. Odpalasz kolejne rzeczy do zrobienia — i przeglądasz je, gdy gotowe do twojej uwagi.

Człowiek jest jednowątkowy

I najgorztsza prawda, którą musicie przemycić przez grube czerepy — była dla mnie tak trudna, że mówię złośliwie, bo zajęło mi wieki jej zaakceptowanie: agenci mogą być wielowątkowi. Ludzie są jednowątkowi. Nie umiesz skupić się na dwóch rzeczach naraz. Nie da się. Nasza rola jest więc inna: jesteśmy wąskim gardłem. Jak sprawić, by agenci sami się odblokowywali, żebyś wchodził tylko wtedy, gdy cię potrzebują? I jak sprawić, by potrzebowali cię rzadziej i później?

Zobaczcie to zgłoszenie — ludzie byli wściekli na mój pogląd o streamowaniu; chciałem przejść na rozwiązanie dzielone na akapity. Wysłałem prompt z konkretnym pytaniem: „jak trudne byłoby to zrobić?”. Gdybym był w pełni zdecydowany, po prostu kazałbym zrobić. Ale chciałem najpierw poznać opór — przy jakimkolwiek tarciu nie chcę tej funkcji. Agent odpowiedział, że nie jest trudno — halucynując przy okazji „pół dnia pracy w całości”. Nie interesuje mnie, co twoim zdaniem znaczy pół dnia. Zabawne, że te modele wciąż nie wiedzą, jak długo trwa praca; kiedyś to naprawią. Tak czy inaczej: powiedział, że będzie łatwo, wymienił nazwy zmiennych, wyglądało dobrze. Wtedy: „Zbuduj mi to. Gdy zadziała, zgłoś PR i postaw środowisko na Tailscale, żebym mógł wypróbować”.

I to jest bardzo ważne: wyobraźcie sobie, że nie ma tego drugiego zdania. Że mówię tylko „zbuduj mi to”. Po pięciu minutach wraca: „zbudowane”. Ja: „okej, postaw to na Tailscale, żebym szybko przymierzył”. Wychodzę, dostaję powiadomienie, wracam, klikam link, testuję: „świetnie, zgłoś PR”. Zgłasza. Patrzę: „no to pilnuj tego jeszcze”. Pewnie powinienem był „pilnuj” włączyć już na początku — robię to teraz: „Pilnujesz tego PR-a i dbasz, żeby wszystko grało?”. Świetnie — teraz stale monitoruje zgłoszenie i to znowu nie mój problem.

Celem jest: przy następnym wejściu w ten wątek wszystko, czego potrzebujesz, ma być gotowe. Maksymalizuj szansę, że gdy wrócisz, możesz od razu scalić. Pomyśl: co możesz dorzucić? Jakiego kontekstu dodać? Jakich narzędzi pozwolić agentowi użyć, żeby — gdy wrócisz — scalenie było możliwe natychmiast?

I tu wchodzi jedna z moich ulubionych funkcji T3 Code: po scaleniu PR wątek znika. Czyli jeśli powiesz agentowi: „możesz scalić PR, jeśli przejdzie te warunki” — wysyłasz prompt i już nigdy nie widzisz tego wątku. Szczerze szacuję, że około połowa moich wątków jest zamykana bez czytania ostatniej wiadomości. Bo po co?

Widzę ludzi martwiących się, że agenci będą sobie deptać po piętach podczas pracy. Myślałem, że jesteśmy programistami, ludzie — nie pięcioma koderami w jednym repozytorium. W T3 Code zrobiliśmy słuszną wartość domyślną nie bez powodu: każdy nowy wątek startuje w osobnym worktree. Nie będę udawał, że worktree są idealne (dla jasności: to funkcja Gita pozwalająca mieć kilka aktywnych kopii roboczych tego samego repozytorium obok siebie) — ale wystarczą. A skoro modele ogarniają już dziwnego byta, jakim jest Git, same naprawią ci problemy z worktree. Przykład, który często łapię: mam worktree z gałęzią, która robi pull request; chcę, żeby inny agent — zwykle inny model — zrobił recenzję. Na jednej maszynie oba w worktree nie mogą mieć tej samej gałęzi i Git wpada w histerię. Kiedyś modele były na to za głupie i utykały. Teraz znajdują obejścia: nowa gałąź, inne pobranie, klon — cokolwiek. Nie patrzę. Nie obchodzi mnie to. Model jest dość sprytny, żeby jeśli dam mu pull request z gałęzią, którą już ma w worktree, wymyślił, jak ją odczytać. Przestańcie spędzać czas na takich sprawach. Już nie mają znaczenia.

Kolejny nawyk: T3 Code domyślnie zamyka wątki nietknięte przez co najmniej trzy dni — uważam to za słuszne. Ja podniosłem do siedmiu, bo zwykle mam dobrą dyscyplinę czyszczenia skrzynki; tutaj nie jestem w tym dość dobry i dlatego mój panel jest lekko chaotyczny. Eksplorowałem wyskakujące okna wątków — z tym chcę się pobawić później, nie teraz, więc użyję drzemki, żeby zrobiło się to moim problemem kiedy indziej. Zauważcie moje podejście w trakcie: chcę, żeby jak najmniej rzeczy walczyło o moją uwagę. Dlatego zrobiłem kilka zabiegów w interfejsie panelu. Zwróćcie uwagę: wątki pracujące są półprzezroczyste. Chciałem je ukrywać całkowicie, ale nikt mi na to nie pozwolił — więc je wyblakłem, żeby mniej się w nie wpatrywać. Bardzo mi to pomaga zajmować się tylko tym, czego potrzeba: stanami „gotowe” i „czeka na decyzję”.

I muszę bardzo mocno podkreślić: niewiele jest gorszych sposobów na spędzenie czasu niż patrzenie na pracującego agenta. Działa i mu wychodzi — świetnie, scal kod. Działa i nie wychodzi — może zajrzyj do śladu rozumowania, a jeszcze lepiej: zapytaj agenta, dlaczego.

Używanie tokenów źle, czyli bardzo dobrze

Dobra okazja, żeby przeskoczyć do następnej sekcji: używanie tokenów źle. Brzmi głupio, ale pokażę to tak, żeby było realnie pomocne.

Jeszcze jedno, na co lekko wybucham (w montażu można ocenzurować, Jeff). Wciąż widzę sentyment: „no dobra, działa, ale co jak zainstaluje przy okazji malware?”. Będę bardzo szczery: jeśli myślisz, że twój agent jest bardziej skłonny zainstalować malware niż ty — jesteś głupszy od swojego agenta. A jeśli rozumiesz, że to się nie stanie, to znaczy, że oboje jesteście wystarczająco rozsądni i niczego nie zainstalujecie. Jeśli zaś wierzysz, że agent jest bardziej skłonny od ciebie, to znaczy, że niedawno malware zainstalowałeś i ktoś siedzi na twojej maszynie. Pomyśl o czystej instalacji systemu — bo wiem przecież, że używasz Windowsa. Bądźmy szczerzy.

Wracamy do rozmowy z prawdziwymi inżynierami — po to tu jesteśmy.

Jedna z rzeczy, o których chcę, żebyście pomyśleli: gdy masz problem, pytanie albo niepewność — jak zużyć tokeny zamiast mózgu? Mam trudny do rozgryzienia pull request od kolegi z zespołu — jak tokenami rozgryźć, o co w nim chodzi? Ciekawi mnie, co zmieniło się w przepisywaniu orchestratora V2, nad którym pracuje Julius — mógłbym zapytać, ale on zajęty. On promptuje. Mogę zamiast tego poprosić agenta, żeby przyniósł mi informację o jego pracy. Zgubiłem wątek ze wszystkich swoich zgłoszeń i nie wiem, czym się dziś zająć: proszę agenta, żeby je przejrzał i wskazał coś, na czym powinienem się skupić bardziej. Nie mogę znaleźć maila w jednej z pięciu skrzynek: otwieram czat, mówię „znajdź” — znajduje. Nie chcę pobierać całej dokumentacji medycznej po operacjach: nie proszę już asystentki jak kiedyś, tylko Codexa, żeby przeszedł po skrzynce i dashboardach medycznych w przeglądarce i zebrał wszystko. A jeszcze fajniejsze: komputer spędza ponad pół godziny zbierając dokumenty, a ja w tym czasie wracam do T3 Code i odpalam cztery kolejne prompty — na rzeczy, które mnie uwierają, albo na funkcję do dopracowania. Co parę minut zaglądam: „o, te skończone, te jeszcze pracują — spoko”.

Tak o tym myślę. Problem innych narzędzi do tego rodzaju pracy: panel boczny nie pomaga odróżnić tego, co się robi, od tego, co zrobione; nie sprawia, że ukończone znika; wyszukiwarka jest za mało wiarygodna, by odzyskać stare rzeczy; i nie użyjesz tego samego panelu na wielu maszynach. Z wątków, które mam otwarte: pierwszy jest na jednym z moich MacBooków, drugi na serwerze Alvin, następne także — właśnie je odpaliłem — jeden na bb1, tamten znowu na MacBooku. Wszystkie na różnych maszynach i nie ma to znaczenia. Wszystkie w jednym interfejsie, wszystkie także w aplikacji na telefonie.

Powiem uczciwie — niestety na razie: bez Tailscale łączysz w T3 Code za darmo tylko trzy urządzenia naraz. Pracujemy nad tym i chcę mocno podnieść tę liczbę. Ale skoro i tak użyjesz CLI Proxy, to znaczy, że i tak masz Tailscale — czyli nasza warstwa pośrednia nie jest ci w ogóle potrzebna. Możesz łączyć się bezpośrednio. Całość działa bez użycia naszych serwerów. T3 Code jest w pełni darmowe i otwarte, w pełni obsługuje twoje subskrypcje i znakomicie współgra z CLI Proxy. Masz parę maszyn z Claude Code i Codexem, spiętych proxy? Wejdź na jedną z nich. Pokażę, jak trudno jest ustawić T3 Code na nowym boxie. Nie mam nowego do skonfigurowania — wszystkie są gotowe. Wyobraźmy sobie: wchodzisz przez SSH, odpalasz komendę connect. Klikasz link… o, wyciek adresu mailowego, świetnie, powinienem to naprawić. Klikasz link, logujesz się — i dopóki jesteś zalogowany w kliencie, na stronie czy w aplikacji mobilnej, możesz kontrolować tę maszynę. Nie instalujesz niczego: potrzebujesz tylko Claude lub Codex, najlepiej z subskrypcją albo proxy. Albo używasz trybu serwera, który idzie przez Tailscale — mamy nawet wbudowaną odpowiednią flagę. Albo — szalony pomysł, ale jesteśmy w sekcji „używaj tokenów źle” — po prostu każesz agentowi to ustawić. Masz nowy serwer i budujesz repozytorium, które zarządza serwerami: powiedz Claude’owi albo Codexowi: „skoro ustawiasz ten serwer z Claude i Codexem, ustaw na nim także T3 Code, żeby dało się łączyć zdalnie przez Tailscale”. Zrobi. Zadziała. Będzie świetnie.

Głupie prompty są zdrowe

Wytłumaczę głupie prompty nieco błazeńsko. Zdarzyło ci się wpisywać w wyszukiwarkę „gdzie zostawiłem klucze?” — tak wyrabiał ci się nawóg szukania, że klikasz z automatu? Jeśli nie łapiesz siebie na tym z agentami — za mało im delegujesz. Musisz dojść do punktu, w którym pytasz agenta o coś, o co oczywiste jest, że nie może wiedzieć, i czujesz się głupio, że pytasz. Jeśli twoje pytania nie wydają ci się odrobinę głupie — nie pytasz dość głupio i nie ruszyłeś jeszcze granic.

Zabawny przykład. Mam mnóstwo projektów pobocznych i trochę inferencji do spalenia w dniu, gdy to wysłałem. Więc zapytałem: „Przejdź po wszystkich moich projektach na GitHubie i niedokończonej pracy na tej maszynie — użyj dużo podagentów — i pomóż mi zdecydować, w co powinienem wkładać więcej czasu. Które z moich pomysłów i projektów są dziś bardziej poszukiwane, mogłem o nich zapomnieć albo warto je dokończyć? Mogą być niedopieczone albo dawno porzucone, a zasługują na drugie podejście. Przejdź po wszystkim i znajdź rzeczy do wskrzeszenia.”

To głupi prompt do głupiego problemu. Nic z tego nie wynika — ale czuję się źle, gdy przychodzą resety, a limity nie były na zerze. Szukałem rzeczy do spalenia, żeby przy odnowieniu wszystko było wyczerpane i sumienie czyste. Znalazł garść moich rzeczy, które jego zdaniem powinienem traktować priorytetowo. Zabawne i fajne. A ja już zdecydowałem, co chcę robić, więc następny krok: drzemka. No — settle, nie drzemka; nie chcę tego z powrotem. Kolejny wątek: „wykorzystanie kontekstu” — zdecydowałem, co chcę zrobić: zabić to. Wchodzę i zamykam. Archiwizuję, bo już mi nie zależy.

Następny: „pokaz postępu tworzenia worktree” — nie wiem, jak daleko to u naszaszło. „Jak daleko poszła ta robota? Czy serwer deweloperski na Tailscale jeszcze stoi? Postaw, jeśli dasz radę. Chętnie jeszcze, żebyś zgłosił PR i go pilnował, aż wszystko będzie gotowe. Wrócę później.”

Oto jeden, o którym zapomniałem, bo dawno temu — mówi „trzy dni”, ale zacząłem go na pewno dużo wcześniej. Więc po prostu pytam: „Będę szczery — nie nadążałem z tym workflow. Nie mam pojęcia, w jakim jest stanie ani jaka jest jego wartość. Daj mi z grubsza obraz, gdzie jest ten PR i dlaczego powinniśmy scalić.” To miało nie zadziałać, bo jestem prawie bez limitów Asty — może pokieruje poprawnie; mam teraz dziwny problem z routingiem, ogarniemy.

Te dwa jeszcze pracują. Czyli są pełnoprawnymi promptami robiącymi pełnoprawne rzeczy — świetnie. Wrócę, jak będą „gotowe”. Nigdy bym w nie nie kliknął, gdyby nie fakt, że nagrywam materiał — bo dopóki pracują, nie obchodzą mnie.

Prawdziwy panel, prawdziwy dzień

A to realny przykład, jak wygląda mój panel w pracy: widzicie, ile mam wątków? Poniżej było jeszcze więcej. Raz, dwa, trzy… dziesięć plus monitor; pod spodem jeszcze dwa–trzy. Na pięciu subskrypcjach Claude Code zrobiłem to wszystko i jeszcze mi zostało. Nieźle.

Potem poszedłem spać. Obudziłem się następnego dnia i przechodziłem po jednym: scalić? Dociągnąć? Wyrzucić? Co z tym chcę zrobić? Przeszedłem po kolei, załatwiłem, po drodze zauważyłem kolejne rzeczy do naprawienia — odpaliłem nowe wątki, wróciłem, sprawdziłem, które skończone, i po kolei pozamykałem. Traktuję to naprawdę jak skrzynkę mailową — i to mnie niesamowicie rozpędziło.

Ktoś się dziwił, że wątki „działały tylko dwadzieścia minut”. Nie — wszystkie odpaliłem w ostatnich dwudziestu minutach. Niektóre trwały pół godziny, inne osiemnaście godzin. To było rozkręcanie wszystkiego przed snem. Ponad dwanaście wątków pracowało co najmniej dwadzieścia minut; większość pracowała dalej — właściwie wszystkie. Żaden nie zakończył się w ciągu następnych dziesięciu minut.

Więc choć sekcja „używaj tokenów źle” była śmieszna — chcę, żebyście weszli w ten stan. Zwłaszcza gdy zbliża się reset, a limitu nie spaliłeś: znajdź błahe rzeczy do zrobienia przez agentów. Nauczysz się z nich więcej, niż myślisz. Wciąż jestem w szoku, jak dobre są agenci w sortowaniu wielkiej liczby zgłoszeń — w znajdowaniu rzeczy do scalenia, które bym przegapił albo o których zapomniał. Zdziwi was, ile przypadkowych skarbów da się znaleźć.

Tokeny we śnie — dosłownie i w przenośni

I dochodzimy do ostatniej sekcji. Sporo jej dotknąłem, ale chcę to naprawdę podkreślić: używanie tokenów we śnie — w sensie dosłownym i metaforycznym.

Znasz to uczucie: „chcę to teraz naprawić, ale za chwilę spotkanie albo zaraz wychodzę, więc nie wyślę wiadomości do wątku, bo muszę zamknąć laptopa”? Rozumiem, niedawno byłem taki sam. Musisz wynieść pracę deweloperską na zdalne maszyny. Kup sobie lichego Linuxa albo weź stary komputer, którego nie używasz: zainstaluj Ubuntu, ustaw Tailscale, postaw na nim CLI Proxy — żeby ruch zawsze szedł z domowego adresu — i używaj go jako maszyny, na której pracują twoi agenci. Podłącz się czymś w rodzaju T3 Code i możesz odpalać na tym boxie bez zastanawiania.

Ludzie pytają: nie mam komputera, jaka opcja najtańsza? Zdecydowanie najtańsza: pogadaj ze znajomymi i rodziną i znajdź kogoś, kto odda ci za darmo starego laptopa albo desktopa z co najmniej ośmioma gigabajtami RAM i czterema rdzeniami — zrobisz na tym realną robotę.

I już widzę bardzo głupie odpowiedzi. Jeśli myślisz, że rozwiązaniem jest VPS, to może powinienem zacząć sprzedawać VPS-y, bo brzmią zyskowniej od mostów. „Potrzebujesz 32 GB RAM i szesnastu wątków? Dostawca serwerów, tylko 275 dolarów miesięcznie. Świetna okazja.” Możesz też — opcja horror — wydać 700 dolarów na maszynę z 32 GB RAM i terabajtowym dyskiem. Okropna strata: dwa i pół miesiąca wynajmu gorszego komputera, na adresie IP, który wywali cię z Claude. Po co kupować sprzęt na IP, z którego nie dostaniesz bana, skoro możesz wynająć na dwa miesiące coś, co ban ci przyniesie? Mam nadzieję, że czujecie sarkazm, bo nie ma powodu brać serwery w chmurze — chyba że odziedziczyłeś po kimś wyjątkowo korzystną umowę.

„Theo, się mylisz, bo [coś głupiego]” — ktoś właśnie napisał to w czacie, tuż po tym, jak inna osoba narzekała na koszty prądu komputera, który pobiera — ostrożnie licząc — 60 do 80 watów. I przypominam: on nie wykonuje inferencji. Koduje. Przez większość czasu użyje jednego–dwóch wątków.

Wskoczmy na mojego mocno przewymiarowanego serwera. Na Alvinie mam teraz sześć wątków. Rzut oka na monitor zasobów… no tak, nie widać, bo zasłania mnie moja głowa. To maszyna z co najmniej sześcioma wątkami. Ma trzydzieści dwa rdzenie, bo kupiłem ją w dobrej promocji. Może zauważyliście, że prawie ich nie używa — użycie zaokrągla się do zera. Jeszcze raz: nie potrzebujesz dużo. Potrzebujesz „wystarczająco”.

Niestety tamten box, który wcześniej pokazywałem, podrożał, bo mój tweet wyprzedał stan magazynowy. Coś jeszcze da się upolować. Ale mocno odradzam Maca do tej roli — macOS do pracy równoległej jest słaby. Jeśli patrzysz na te liczby i mówisz: „coś tu się nie zgadza, mam trzy agentów i laptop się grzeje” — masz rację, twój MacBook się grzeje, bo jego system plików i jeszcze gorsza polityka bezpieczeństwa mocno gardłują, ile możesz odpalić naraz. Przejdź na prawdziwy system, jak Linux, a te problemy znikną. Nie potrzebujesz dużo — i stawiam mój tyłek, że jeśli znajdziesz u mamy albo wujka starego komputera z 4–8 GB RAM i przyzwoitym procesorem, wgrasz Ubuntu i podepniesz go gdzieś do routera, to od razu będziesz mieć lepsze doświadczenie niż praca deweloperska na Macu.

I jeśli nie mieszkasz w San Francisco… a, bądźmy szczerzy: jeśli mieszkasz w San Francisco, to miej nadzieję, że stać cię na moc obliczeniową; jeśli nie — uciekaj, to miasto jest za drogie. Wszędzie indziej portal z ogłoszeniami lokalnymi będzie twoim przyjacielem i założę się, że upolujesz zaskakująco dobrą ofertę. Każdy stary laptop z jakimkolwiek prawdziwym RAM-em da ci radę.

Gdy raz to zmienisz, przestajesz być wąskim gardłem w dotychczasowy sposób. Oczywiście pojawią się krawędzie: jeśli agenci puszczają integrację ciągłą lokalnie, a to projekt w Rust, który przy kompilacji wysyca wszystkie rdzenie — będziesz miał problem. Ale jesteś inżynierem i masz tokeny. Spal mózg i tokeny, żeby problem rozwiązać. Może przeniesiesz integrację wyłącznie do GitHuba, albo użyjesz jednego z naszych partnerów. Może integracja będzie na innym serwerze. Może ustawisz kolejkę, żeby zadania odpalały się kolejno, a nie pięć kompilacji Rusta zabijało maszynę naraz. Jesteście inżynierami — dacie radę. Nie będę podawał gotowych rozwiązań, bo wasze problemy będą inne od moich. Podobno udało mi się przesunąć Marię na narzędzie partnerskie do integracji, żeby wykonywała ją przez linię komend zamiast na własnych maszynach — była trochę ciasna RAM-owo, a teraz jest znacznie mniej ciasna. I tak powstają wpisy jak ten od Stephena, który Maria udostępniła: „Prośba: możecie zrobić T3 Code mniej produktywnym, żeby Theo spalał mniej tokenów?”. W tym miejscu chcesz być.

Zabawa wróciła

I ostatnia rzecz, w którą chcę się w tej części wczuć: to jest niesamowicie fajne. Wiem, że wielu inżynierów czuło, że to, co kochali, umarło — że wszystko zmieniło się za bardzo i inżynieria przestała bawić: wysyłasz prompt, siedzisz i patrzysz, jak narasta stos błędów, wściekasz się, że kod nie działa i że sam napisałbyś szybciej. Nadal mam to doświadczenie! Z jedną różnicą: nie oglądam wątku. Idę robić coś innego. Potem coś innego i jeszcze coś. Może odpalam trzy wątki i idę na kolację ze znajomymi. Może siedem, stojąc w poczekalni przed grą. Może jadę na deskorolce, a na przerwie, kiedy odpoczywam, wyciągam telefon, sprawdzam dwa wątki i odpycham je do dalszej roboty.

Sama zabawa nie tkwi w tych momentach — wyjaśnię. Nie w tym, że sprawdzam telefon i wysyłam prompty. Zabawa tkwi w nowego rodzaju problemie inżynierskim. Teraz mogę usprawiedliwić spędzanie czasu na mikrooptymalizacji tego, jak i kiedy odpalam integrację ciągłą. Więcej myślę o swoich rdzeniach i o tym, jak są wykorzystywane. Więcej myślę o tym, jak pracować nad tą samą rzeczą osiem razy na jednej maszynie i potem mniej myśleć. I uwielbiam to. To jest prawdziwa frajda. Mam nadzieję, że ten film zainspiruje odrobinę tej radości także u was, bo to mój prawdziwy cel. Ten cały chaos zrobił z inżynierii największą zabawę, jaką kiedykolwiek miałem. Jeśli jeszcze się nie bawisz — mam nadzieję, że to cię tam zaprowadzi. I może, po prostu może, będziesz miał powód odpalić parę kont więcej i spalić parę tokenów więcej. A jeśli zechcesz parę z tych tokenów skierować do nas, żeby wprowadzić realne ulepszenia w T3 Code — pewnie je zignorujemy, ale możemy scalić. Zastanów się.

A, tak — miałem taką wymianę wiadomości z Marią. Mogłbym przewinąć i znaleźć, ale nie chcę publicznie przewijać naszych prywatnych rozmów. Uruchomiłem jej pracę zdalną i wzięła Linuxa u siebie. Pisze do mnie wielkimi literami: „Praca zdalna to najlepsze. To jest takie fajne!”. Na co ja: „Przykro mi. Zaraz spalisz tak dużo tokenów…”.

I jeśli miałeś problem z dobijaniem do limitów — szczerze mam nadzieję, że już nie będziesz miał, bo to jest takie, takie fajne. Chyba powiedziałem wszystko. Idę odpalić parę wątków i nalać sobie kolejnego drinka. Bawcie się dobrze w nowym świecie maksowania agentów i wyciągnijcie z tych tokenów, ile się da, dopóki trwają dotacje — jeśli w ogóle się skończą. Dajcie znać, jeśli chcecie film o tym, jak to wszystko potoczy się w dłuższej perspektywie, bo mam mnóstwo opinii. Ale nie o tym był ten materiał. Ten był o tym, żeby naprawdę ich używać. Mam nadzieję, że pomogło. Dajcie znać i do następnego. Cześć, nerdzi.