CLAUDE CODE MARKETING FULL COURSE (6 HOURS)

2026-08-08 Nick Saraev AI zagraniczne tutorial waga 4/5 72 min czytania

Kompletny warsztat automatyzacji marketingu w Claude Code: kreacje, personalizacja copy, speed to lead, dashboard i follow-upy — wszystko w schemacie prompt → skill → pętla → rutyna.

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

O czym jest ten film

  1. Sześciogodzinny kurs od zera: instalacja i pełny przegląd interfejsu Claude Code, konto, tryby uprawnień, modele, limity i okno kontekstu.
  2. Autorska drabina automatyzacji: prompt → skill (umiejętność) → loop (pętla lokalna) → routine (rutyna w chmurze), stosowana konsekwentnie do każdego budowanego systemu.
  3. Framework RACE (Reach, Acquire, Close, Expand) jako mapa tego, co w firmie warto automatyzować, oraz myślenie wąskim gardłem jako filtr priorytetów.
  4. Budowa generatora kreacji reklamowych: najpierw proceduralnie (HTML/CSS, „kompozytowanie”), potem przez model obrazu (GPT image 2), potem wideo UGC (Higgsfield, Gemini Omni Flash, Sea Dance, Kling).
  5. Personalizacja copy przez „miękkie zmienne” (fuzzy variables) w newsletterze na platformie Kit oraz w cold mailingu na Instantly.
  6. Automatyczne pozyskiwanie leadów: sterowanie scraperem przez MCP (Apify) plus autoweryfikacja jakości listy względem ICP.
  7. System speed to lead: nasłuch skrzynki, natychmiastowa personalizowana odpowiedź mailem i SMS-em, rutyna uruchamiana przez API zamiast harmonogramu.
  8. Budowa własnego dashboardu marketingowego na dziesiątkach tysięcy wierszy danych, z pięcioma równolegle generowanymi wariantami designu i publikacją na Netlify.
  9. Automatyzacja follow-upów z CRM (ClickUp): progi dni zaległości, pula szablonów, wykrywanie próśb o zaprzestanie kontaktu.
  10. Utrzymanie systemów: przechowywanie poświadczeń, „samoleczenie” (self-healing), logowanie błędów do kanału na Slacku oraz reguła „skuteczność ponad wydajność”.

Redakcyjne tłumaczenie

Wprowadzenie

Witam w kursie „od zera do jedynki” poświęconym wykorzystaniu Claude Code w marketingu. Pod koniec tego materiału będziecie wiedzieli, jak używać nowoczesnych narzędzi AI, żeby zautomatyzować praktycznie całą funkcję marketingową — niezależnie od tego, czy prowadzicie własną firmę, czy pracujecie w cudzej.

Nazywam się Nick. Prowadzę biznes marketingowy, który w zeszłym miesiącu zrobił ponad pół miliona dolarów przychodu, w ogromnej mierze dzięki Claude Code. Z AI pracuję od siedmiu lat — od czasów, gdy najmądrzejszym modelem był GPT-2. Szkoliłem duże zespoły, między innymi ekipę MrBeasta. Wiem więc, jak przeprowadzić kogoś od stanu „nigdy nie użyłem żadnego narzędzia AI” do generowania realnych zwrotów w działającym biznesie.

Nie potrzebujecie doświadczenia programistycznego ani wcześniejszego kontaktu z AI. Nie mam dyplomu z informatyki. Wszystkiego, czego was tu nauczę, nauczyłem się z darmowych filmów na YouTubie — dokładnie takich jak ten. Nie przeskakujcie między rozdziałami. Idźcie po kolei, a na końcu będziecie mieli komplet.

Kurs jest skupiony na wdrożeniach, nie na teorii. Najpierw pokażę, jak pobrać, zainstalować i skonfigurować Claude Code — odinstalowałem go ze swojego komputera, żeby przejść z wami każdy krok, łącznie z zakładaniem konta i objaśnieniem, co robi każdy przycisk w interfejsie. Potem omówię pięć funkcji marketingowych, które będziemy automatyzować, i framework, którego użyję. Następnie wyjaśnię różnicę między promptami, skillami, pętlami i rutynami Claude — bo każdą automatyzację będziemy budować na tych czterech poziomach. Prompt to poziom najprostszy, rutyna — najbardziej zaawansowany. Prompt wymaga, żebyście siedzieli przy komputerze; rutyna to w praktyce zaplanowana pętla, która działa w chmurze bez was.

Potem zaczniemy budować. Najpierw góra lejka: automatyzacja generowania kreacji — reklam i contentu organicznego, w formie obrazu, wideo, a nawet audio. Następnie personalizacja copy: newslettery, maile wychodzące, czyli branie szablonu i automatyczne uzupełnianie „miękkich” zmiennych, które Claude sam znajduje w internecie. W środku lejka pokażę systemy speed to lead do umawiania spotkań — pozwalają wycisnąć znacznie więcej z budżetu reklamowego i wzrostu organicznego. Potem zbieranie danych, tracking i dashboardy: budowa własnej platformy analitycznej, interpretacja danych przez Claude i wystawienie wszystkiego na dashboard dla was albo klientów. Na koniec dół lejka: automatyzacja wysokiej jakości follow-upów — maile, SMS-y, powiadomienia — robione tak, żeby wyglądały bardzo ludzko, mimo że są w pełni automatyczne.

Na sam koniec omówię utrzymanie i rozwijanie tych systemów w czasie oraz zestaw zaawansowanych wskazówek, których nauczyłem się na własnej skórze, pracując z dużymi firmami i przedsiębiorstwami wartymi miliardy dolarów.

Konto i instalacja

Pierwszy krok: załóżcie konto na claude.com. Klikacie „kontynuuj przez Google” albo „kontynuuj przez e-mail”. Interfejs może wyglądać u was nieco inaczej — Anthropic testuje sporo wariantów. Po zalogowaniu przechodzicie krótki onboarding: data urodzenia, zastosowanie (jeśli jesteście sami, wybierzcie „użytek osobisty”).

Za Claude Code trzeba zapłacić — miejmy to jasne. To transakcja finansowa. W moim przypadku inwestuję 24 dolary kanadyjskie miesięcznie i odzyskuję znacznie więcej. Jako ktoś, kto prowadzi biznes robiący pół miliona miesięcznie, powiem wprost: to zdecydowanie moja inwestycja numer jeden. ROI z samej subskrypcji Claude Code szacuję na absurdalne kilka tysięcy procent. Claude można używać za darmo, ale bez części „code” — a to właśnie ona jest fundamentem szybkiej automatyzacji na wysokim poziomie. Jeśli nie macie teraz środków, obejrzyjcie kurs i wróćcie do budowania, gdy będziecie mogli zapłacić.

Po opłaceniu pobieracie aplikację zgodnie ze swoim systemem. Ja jestem na macOS — Chrome często blokuje pobieranie, więc trzeba kliknąć „pobierz niezweryfikowany plik”, a potem przeciągnąć aplikację do folderu Applications. Na Windowsie przechodzicie standardowy instalator. Uruchamiacie Claude, logujecie się kodem z maila i jesteście w środku.

Przewodnik po interfejsie

W interfejsie dzieje się bardzo dużo. Nie omówię każdego przycisku co do jednego, ale przejdę przez to, co ważne — z zastrzeżeniem, że Anthropic ciągle testuje nowe elementy i część z nich jest krótkowieczna.

W lewym górnym rogu macie przycisk otwierania i zamykania panelu bocznego oraz wyszukiwarkę czatów i projektów, która przeszukuje wszystkie wasze rozmowy. To naprawdę użyteczne. Dalej jest przełącznik „home” kontra „code”. To praktycznie dwa produkty: prostszy Claude i Claude Code. Nas interesuje wyłącznie ten drugi.

Po wejściu w „code” zobaczycie podsumowanie aktywności: liczbę sesji, wiadomości i tokenów, rozbicie na 7 dni, 30 dni i całość, a także statystyki użycia poszczególnych modeli. U mnie widać, że zużyłem 241 razy więcej tokenów niż liczy sobie „Duma i uprzedzenie”.

Artefakty. Artefakt to wizualny obiekt, który Claude może dla was stworzyć. Poprosiłem o samodzielną stronę WWW o mnie — Claude dopytał o cel strony (portfolio z naciskiem na kanał YouTube i agencję automatyzacji), a potem w kilkanaście sekund zebrał publicznie dostępne informacje i wygenerował całkiem porządną stronę. Warto zauważyć dwie rzeczy. Po pierwsze, przy pisaniu odpowiedzi Claude podpowiadał autouzupełnienie — wystarczy Tab, żeby przyjąć podpowiedź. To pozwala modelowi prowadzić rozmowę; nie zawsze jest to dobry pomysł, ale w jakichś 30–40 procentach przypadków trafia w to, co chciałem powiedzieć. Po drugie, gotowy artefakt można otworzyć w przeglądarce i udostępnić linkiem — także osobom spoza waszej organizacji. W praktyce oznacza to, że możecie hostować strony u Anthropica. Dla dashboardów i narzędzi wewnętrznych dla klientów to rozwiązuje problem hostingu całkowicie.

Customize. Pod tym przyciskiem kryje się zakładka skills, czyli prawdopodobnie najważniejsza część tego kursu. Skille to jakby programy uruchamiane na pracy umysłowej. Anthropic dostarcza kilka gotowych, na przykład „morning” — instrukcję, która renderuje poranny brief jako stylizowany artefakt HTML i uruchamia się dopiero wtedy, gdy użytkownik jawnie o to poprosi albo wpisze /morning. Zamiast za każdym razem układać prompt od nowa, wywołujecie skilla jednym poleceniem, a on wstrzykuje do Claude długi, dopracowany zestaw instrukcji.

Dlatego skille siedzą pod „customize”: to sposób na dostosowanie waszej instancji Claude Code. Później w kursie zbuduję razem z wami skilla do kreacji reklamowych, który zautomatyzuje produkcję wariantów reklam do testów. Analogicznie możecie zrobić skilla do dashboardu, który raz dziennie ściąga dane z Google Analytics API, dużego arkusza i oprogramowania analitycznego, a potem zasila nimi dashboard.

Konektory. To sposób podpinania aplikacji do Claude: Gmail, Google Drive, Slack. W trakcie kursu będziemy z nich intensywnie korzystać. Mam podpięte nawet Spotify — Claude widzi funkcje typu „pobierz aktualny utwór”, „ustaw głośność” i może je wywoływać.

Pluginy. Zależą od tego, co chcecie robić. Anthropic i partnerzy przygotowali sporo gotowych: finansowy (księgowania, uzgadnianie sprawozdań), prawny (przegląd umów, triaż NDA, compliance), badawczy (narzędzia przedkliniczne), do modernizacji starego kodu i wiele innych. Część zmienia sposób, w jaki Claude wygląda i pisze, część dokłada ustrukturyzowane działania podobne do skilli.

Pamięć. To po prostu to, co Claude o was wie. Kiedyś prosiłem o wyliczenie BMI, a Claude nie znał mojego wzrostu — powiedziałem, że mam 188 cm, i utworzył profil pamięci z podstawowymi faktami. Możecie tam trzymać informacje o karierze, kanałach marketingowych, priorytetach firmy.

Rutyny. Ukryte pod „more”. To szablonowe skille uruchamiane według harmonogramu, przez API albo webhook. Budujecie skilla, a potem każecie mu odpalać się codziennie o 5:30 rano. To ostatni szczebel automatyzacji — nie rozmawiamy już z Claude, nie uruchamiamy skilla ręcznie, nie zapętlamy go lokalnie. Rutyna działa w chmurze, poza waszym komputerem. Tu odblokowuje się w pełni zautomatyzowany biznes — i po to zwykle ludzie do mnie przychodzą.

Środowiska. Przełącznik pod polem czatu decyduje, gdzie kod się wykonuje: lokalnie na waszym komputerze, w chmurze (na maszynie Anthropica), przez zdalne sterowanie innym waszym komputerem albo przez SSH. Będziemy używać głównie „local” i „cloud”. W ustawieniach środowiska (ikona koła zębatego) trzymacie zmienne środowiskowe — mimo groźnie wyglądającej składni typu NODE_ENV=production to po prostu loginy, hasła i klucze API. Przyda się to, gdy będziemy podłączać na przykład API reklam Meta.

Zaletą środowisk chmurowych w większych zespołach jest standaryzacja. Mój komputer działa inaczej niż wasz, więc coś, co u mnie działa, u kogoś innego może nie zadziałać. Wspólne środowisko chmurowe — te same zmienne, te same skrypty startowe — usuwa ten problem.

Tryby uprawnień. W lewym dolnym rogu wybieracie tryb. „Manual” pyta o zgodę przed każdą czynnością zbliżoną do autonomii — dobre przy bardzo wrażliwych projektach, ale szybko staje się udręką. „Accept edits” pozwala edytować istniejące pliki, ale nie tworzyć ani nie kasować nowych. „Plan” w ogóle nie wprowadza zmian, tylko buduje szczegółowy plan. „Auto” samo podejmuje większość decyzji o uprawnieniach i pyta tylko przy rzeczach potencjalnie groźnych — jeśli grzebiecie w reklamach, praktycznie nigdy nie zobaczycie okienka. „Bypass permissions” to tryb pełnego zaufania: Claude nie pyta o nic. Uwielbiam go, ale nie pracuję na rzeczach wrażliwych — żadnego cyberbezpieczeństwa, żadnych krytycznych poświadczeń. Przy zwykłych zadaniach marketingowych zwykle jestem w trybie auto albo bypass. Włączenie bypass wymaga jednorazowego potwierdzenia i zmienia wygląd ekranu na ostrzegawczy — nie róbcie tego, jeśli nie jesteście z tym w porządku.

Pliki, foldery i komendy ukośnikowe. Do rozmowy można wrzucić dowolny plik, zdjęcie albo cały folder — Claude przejdzie przez jego zawartość i zbuduje sobie kontekst. Po wpisaniu ukośnika zobaczycie ogromną listę komend. Kilka wartych zapamiętania:

  • /btw — otwiera boczny czat obok głównej rozmowy. Możecie zadać pytanie, nie przerywając głównego wątku; boczny czat ma pełny kontekst rozmowy.
  • Escape albo przycisk pauzy — zatrzymuje pracę. Przydaje się, bo Claude czasem wpada w pętlę, otwierając to samo w kółko.
  • /usage — pokazuje plan, limity i to, jak daleko w nie weszliście. Anthropic daje pięciogodzinne okno z określonym budżetem; po osiągnięciu 100 procent czekacie na reset. Do tego dochodzi limit tygodniowy, dający dostęp do wszystkich modeli. Zobaczycie też koszt sesji i rozbicie tokenów — u mnie jeden skill zjadł 67 procent zużycia w danej sesji.
  • /loop — definiuje interwał. Ustawiłem minutową pętlę z poleceniem „mów: cześć, Nick” — i faktycznie co minutę dostawałem tę wiadomość. Aktualnie obowiązuje minutowa podłoga. To banalny przykład, ale w ten sam sposób można zapętlić skilla /morning, monitorowanie stron pod SEO albo — przy dużej kampanii flash sale — sprawdzanie co pięć minut, ilu przybyło klientów, i automatyczne nadawanie im dostępu do zasobu. Żeby zatrzymać, wystarczy powiedzieć „zatrzymaj pętlę”.

Mikrofon. Wbudowana transkrypcja głosowa: przytrzymujecie Command+D i mówicie. W praktyce prawie zawsze promptuję głosem — nie dlatego, że jestem lepszym mówcą niż piszącym (większość ludzi pisze lepiej), tylko dlatego, że dyktując, generuje się znacznie więcej treści w krótszym czasie. Przeciętny człowiek mówi trzy–cztery razy szybciej, niż pisze na klawiaturze. To wygodny sposób na wyrzucenie z głowy wszystkiego, co macie do przekazania.

Model i wysiłek. Do wyboru są Fable 5 (wymaga kredytów), Opus 5, Sonnet 5, Haiku 4.5 i kilka starszych. Przez większość kursu używam Sonnet 5, bo jest wystarczająco bystry, a nie rozwiązuję równań kosmosu. Obok jest suwak „effort”, czyli deklaracja, jak mocno Claude ma się przyłożyć. Przy niskim wysiłku model odpowiada niemal natychmiast i zgaduje; przy maksymalnym sprawdza wszystko po wielekroć, zużywa dużo więcej tokenów, ale prawdopodobieństwo dobrej odpowiedzi rośnie. Różnica w czasie jest ogromna — od dwóch sekund do pięciu minut. Ja domyślnie trzymam się poziomu średniego lub wysokiego; Sonnet na „high” pracuje szybko i daje przyzwoite wyniki.

Okno kontekstu. W prawym dolnym rogu widzicie, co zjada wasze tokeny: wiadomości, narzędzia systemowe, prompt systemowy, narzędzia MCP, skille, pliki pamięci. Claude może przechować w głowie tylko określoną ilość informacji, mierzoną w tokenach. Token jest bardzo podobny do słowa i pewnie niedługo będziemy je po prostu tak nazywać. Sonnet 5 mieści 967 tysięcy tokenów; przy 112 tysiącach jesteśmy na 12 procentach. Po wyczerpaniu okna Claude kompaktuje kontekst, czyli przepisuje go w skróconej formie i umieszcza na górze — dzięki temu rozmowa może trwać, a rachunek jest niższy.

To prowadzi do kwestii rozliczeń: im dłuższy kontekst, tym szybciej wypalacie limit. Moja rekomendacja — nie doprowadzajcie wątku do pełnych 967 tysięcy. Lubię pracować w przedziale od zera do jakichś 500 tysięcy. To też mój optymalny punkt jakościowy: powyżej tego Claude zaczyna gorzej sobie radzić, bo ma do żonglowania zbyt wieloma instrukcjami.

Reszta paska. W prawym górnym rogu możecie uruchomić terminal (czasem Claude sam go potrzebuje), sprawdzić diff, czyli zmiany w kodzie, oraz otworzyć wbudowaną przeglądarkę — bardzo wartościową, bo pozwala automatyzować działania w sieci. Jest też symulator iOS, więc można budować aplikacje na iPhone’a. Rozmowy da się zmieniać nazwą, podglądać ich pełny transkrypt (łącznie z tokiem rozumowania), generować podsumowanie, forkować, archiwizować i usuwać.

I to praktycznie cały interfejs. Aplikacja nie zawsze tak wyglądała — zespół Anthropica dołożył ogromną wartość w jakieś trzy–cztery miesiące i pewnie u was będzie wyglądać nieco inaczej.

CLI, czyli inny sposób dojścia do tego samego

Krok opcjonalny: konfiguracja CLI, czyli interfejsu wiersza poleceń. To po prostu inny kanał komunikacji z Claude Code. Analogia: tę samą stronę internetową otwieracie przez Chrome, Safari albo Firefoksa. Tak samo do Claude Code docieracie przez aplikację desktopową, terminal, VS Code albo coś jeszcze.

W terminalu (używam Ghostty) wpisuję claude --verbose — lubię tryb szczegółowy, bo widzę, co model myśli. Interfejs wygląda inaczej, ale to dokładnie ten sam produkt, tylko dostępny innym kanałem. Ukośnik też działa i pokazuje dostępne skille. To mój preferowany sposób pracy, bo przez ostatnie 6–12 miesięcy dużo programowałem i przywykłem do terminala. Ale aplikacja desktopowa jest bardzo mocnym kandydatem i dla uproszczenia będę jej używał, gdzie się da. To jak z samochodem: ta sama moc silnika, ale inna karoseria prowadzi się inaczej.

Model biznesu i framework RACE

Robimy to nie po to, żeby zbudować ładne portfolio, tylko żeby osiągnąć wynik ekonomiczny. Większość firm — a im dłużej o tym myślę, tym bardziej sądzę, że wszystkie — działa jak ten sam potok. Zaczynacie od marketingu, czyli sprawiania, żeby obcy ludzie was zauważyli. Potem następuje wydarzenie transformujące sprzedażowo, które zamienia zainteresowanie w pieniądze. Dalej jest realizacja, czyli dostarczenie tego, co obiecaliście. Na końcu koło administracyjne, które utrzymuje maszynę w ruchu. W e-commerce jest tak samo: ktoś zauważa produkt, kupuje, dostaje przesyłkę, a administracja pilnuje zakupów, zapasów, rekrutacji, relacji z dostawcami i logistyki.

Nas interesują marketing i sprzedaż, przy czym marketing jest głównym tematem. Framework, którego użyję, nazywa się RACE: Reach, Acquire, Close, Expand — dotrzeć, pozyskać, domknąć, poszerzyć. Granica między marketingiem a sprzedażą biegnie między „acquire” a „close”. Nasz kurs dotyczy dwóch pierwszych liter: jak zdobyć zasięg (wyświetlenia, odsłony) i jak zamienić te wyświetlenia w intencję (umówione spotkania, wypełnione formularze, zapisy do newslettera, opt-iny).

Wracam do RACE bardzo często. Gdy ktoś chce pracować z LeftClick, moją agencją automatyzacji, zwykle mówi: „chcę zautomatyzować szalony proces administracyjny”. A ja na to: może zacznijmy od RACE, a resztą zajmiemy się później. Wyniki są nieporównanie lepsze. Ludzie skupiają się na przychodzie i wzroście dużo rzadziej, niż powinni.

Konkretnie: pod „reach” zbudujemy trzy rzeczy. Kreację — generowanie obrazów, wideo i audio przez AI, sterowane przez Claude, głównie pod reklamę, ale też pod organiczny zasięg marki. To pokrętło można wykręcić maksymalnie w górę bardzo łatwo. Tego samego systemu użyłem w firmie robiącej ponad miliard dolarów rocznie, żeby radykalnie zwiększyć liczbę materiałów i reklam trafiających na górę lejka. Drugą rzeczą jest copy — personalizacja treści w miksie marketingowym, choćby w newsletterach, gdzie mało kto pociąga za tę dźwignię. Zamiast „moja oferta robi X, Y, Z” możecie napisać: „cześć Nick, wysyłam to, bo w zeszłym miesiącu pisałeś na LinkedInie o X, Y, Z”. To działa naprawdę dobrze i zaciera granicę z bezpośrednim outreachem. Marketing to nie tylko inbound — bywa też outbound, gdzie aktywnie szukacie klientów. Tu mam sporo własnego doświadczenia, bo kiedyś zdobywałem leady, chodząc od drzwi do drzwi, otwierając je i ściskając dłoń właścicielowi.

Po stronie „acquire” są kolejne dźwignie. Pierwsza to speed to lead, czyli kapitalizowanie na zainteresowaniu. Między zasięgiem a pozyskaniem jest moment opt-inu — i zdziwilibyście się, ile setek milionów dolarów ginie właśnie tam. Jeśli zbudujecie system, w którym Claude podejmuje rozmowę w ciągu 30 sekund od wypełnienia formularza, potraficie zrobić firmie 300–400 procent. Czapka, którą noszę, reprezentuje spółkę zajmującą się wyłącznie tym. Firma z branży usług domowych robiła około 3 milionów dolarów miesięcznie — po wdrożeniu najlepszego systemu speed to lead doszła do 9 milionów miesięcznie. To 300 procent wzrostu z optymalizacji jednej z sześciu dźwigni.

Druga to procent umówień. Poprawia go speed to lead, ale też upraszczanie formularzy. Jeśli macie w formularzu dziesięć pytań i zejdziecie do trzech–czterech, procent umówień wyraźnie wzrośnie — kosztem kwalifikacji. Tyle że Claude Code potrafi teraz samodzielnie zbadać potencjalnego klienta, więc tyle informacji po prostu nie potrzebujecie.

Trzecia to follow-upy, czyli nurturing. Możemy zlecić Claude prowadzenie autonomicznych, mocno spersonalizowanych kontaktów, po których ludzie czują się traktowani jak ludzie, a nie jak znaki dolara. To zabawne, bo używamy AI, a efektem jest większe poczucie osobistego kontaktu. Jednym z powodów, dla których firmy były zmuszone traktować ludzi jak znaki dolara — nie personalizując outreachu, rozliczeń, komunikacji ani szablonów faktur — był po prostu brak rąk do pracy. AI daje nam te ręce.

Myślenie wąskim gardłem

Zanim cokolwiek zbudujemy, musicie zrozumieć myślenie ograniczeniami. W firmach, z którymi pracujecie, jedne obszary są przepełnione mocą, a inne rozpaczliwie słabe. Potok zawsze jest ograniczony najwęższym krokiem.

Klasyczny przykład: fabryka. Codziennie dostaję 100 jednostek surowca. Krok A ma przepustowość 100 jednostek dziennie, krok B — 10. Jaka jest dzienna produkcja fabryki? Dziesięć jednostek. Jeśli podwoicie A do 200, nie zmieni się nic, bo wąskim gardłem wciąż jest dziesiątka. Jeśli podniesiecie B z 10 do 20, produkcja całej fabryki rośnie.

To samo dotyczy marketingu. Wyobraźmy sobie firmę z ogromną mocą w kreacji i w pozyskiwaniu leadów, ale słabą w umawianiu spotkań. Poprawianie kreacji czy follow-upów nic nie da. I to jest wyzwalające: możemy zainwestować zero pracy w kreację, leady i follow-upy, a poprawiając samo umawianie z 10 do 20 jednostek, podwajamy biznes.

Mówię o tym, bo ludzie rzucają się na automatyzowanie wszystkiego naraz. Brzmi to atrakcyjnie, ale zarobicie znacznie więcej, jeśli poświęcicie chwilę na zlokalizowanie wąskiego gardła i zbudujecie system, który je poszerza. Wszystkie systemy, które za chwilę pokażę, traktujcie jako rozwiązania konkretnych wąskich gardeł — nie wciskajcie ich firmom, w których dany etap nie jest ograniczeniem, bo nie zobaczycie zwrotu.

Cztery poziomy automatyzacji

Każdy system będziemy budować w tej samej kolejności.

Prompt. Pierwszy szczebel. To trochę jak samochód z Flintstonów, który napędza się własnymi nogami. Za każdym razem musicie siedzieć za kierownicą i prosić AI o kolejny krok. Jest wolno — ale jak inaczej wykonać proces po raz pierwszy?

Skill. Zapisany, znacznie wydajniejszy zestaw instrukcji do wielokrotnego użycia, wywoływany komendą ukośnikową. Skille mogą być bardzo granularne, a gdy zbierzecie ich dużo, możecie zbudować meta-skilla, który uruchamia je po kolei. Mam zestaw skilli obsługujących mój kanał YouTube — generowanie kandydatów na tytuły, miniatur, opisów, publikację, dobór słów kluczowych, dodawanie kart końcowych. Wcześniej każda publikacja kosztowała mnie dodatkową godzinę albo dwie. Potem zbudowałem skille nadrzędne, które uruchamiają wszystkie po kolei — i w ten sposób połączone drobne zadania zastąpiły całe role.

Pętla. Skill, który uruchamia się sam, bez waszego udziału. Zamiast odpalać meta-skilla po każdej sesji nagraniowej, ustawiacie pętlę, która robi to codziennie o dwunastej. Możecie też codziennie o piątej rano zescrapować reklamy konkurencji, żeby po wejściu do biura mieć gotową listę i decydować tylko, które podkraść.

Rutyna. Problem pętli polega na tym, że działają na waszym komputerze. Trudno je udostępnić reszcie organizacji i są kruche — zmiana logowania, wtyczek, skilli czy serwerów MCP potrafi je zepsuć. Jeśli coś ma stać się infrastrukturą instytucjonalną, musi wyjść z waszego komputera. Rutyny działają w środowiskach chmurowych: płacicie Anthropicowi albo innemu dostawcy zwykle bardzo niewiele (to w gruncie rzeczy koszt tokenów), a dostajecie deliverable wart wielokrotnie więcej. Może to najprostsze ROI waszego życia: wydajecie dolara w tokenach, dostajecie sto w efektach. Rutyna jest w pełni samoobsługowa, potrzebuje tylko wyzwalacza — harmonogramu, API albo webhooka.

Prosta reguła: w momencie, w którym łapiecie się na powtarzaniu tego samego polecenia drugi raz, zamieniajcie prompt w skilla. Nie wszystko da się w ten sposób przerobić — część rzeczy naprawdę wymaga człowieka za kierownicą (i dzięki Bogu, bo inaczej bylibyśmy zbędni już jutro). Ale sam test jest tani. Tak najszybciej wskażecie zadania, do których nie jesteście potrzebni, i wspiąć się na wyższy poziom abstrakcji: zamiast wszystko robić, nadzorujecie flotę agentów wykonujących wartościową ekonomicznie pracę.

Podsumowując: prompt uruchamiacie wy, pisząc. Skilla uruchamiacie wy, klikając „uruchom”. Pętla to zegar na waszym komputerze i działa, dopóki laptop jest włączony. Rutyna działa niezależnie od tego, czy laptop jest włączony. Prompty są świetne do eksperymentów, skille do powtarzalnych zadań, przy których nadal chcecie być w pętli decyzyjnej, pętle do monitoringu i automatycznego zbierania zasobów, a rutyny do codziennej produkcji.

Build 1: generator kreacji proceduralnych

Zacznijmy od obalenia mitu, że wystarczy powiedzieć „zrób mi świetne reklamy”. Model zacznie zadawać pytania zawężające, ale nawet gdy na nie odpowiecie, zaprowadzi was na manowce, brzmiąc przy tym bardzo kompetentnie.

Potrzebujecie własnego procesu tworzenia reklam. Idealnie już go macie — nie wymyślamy go dzisiaj, tylko go automatyzujemy, ewentualnie przestawiając parę kroków, żeby lepiej się do tego nadawał. Nie przychodźcie do AI bez procesu. Rozrysujcie go sami, bo jeśli AI wybiera proces, wykonuje go i jeszcze ocenia wyniki, mnożycie prawdopodobieństwa. Trzy kroki o skuteczności 0,8 dają nie 0,8, tylko 0,512 — czyli 51 procent. Chcecie minimalizować liczbę kroków, w których jakość wyniku kontroluje ktoś inny. Wy wybieracie proces, wy oceniacie wyniki, AI wykonuje część środkową. Tak z 51 procent robi się 80.

Warto też przyjąć, że stuprocentowej skuteczności nie osiągniecie. AI pozwala oddać znacznie więcej strzałów na bramkę, a wy używacie własnego rozumu do wybrania trafionych. Nie celujemy w generator, który zawsze wypluwa idealną reklamę. Celujemy w taki, który wypluwa dziesiątki, setki i tysiące, a wy je przeglądacie i uruchamiacie.

Proces wygląda tak: zapisujemy wysoko konwertujące formaty reklam jako szablony, podajemy zmienną (nisza, oferta, kąt), Claude generuje kombinacje formatu i zmiennej, a my przeglądamy, wybieramy i publikujemy. I znowu: to ma sens tylko wtedy, gdy wąskim gardłem jest kreacja. Wiele firm ma mnóstwo pomysłów i możliwości dystrybucji, ale nie potrafi wyprodukować materiałów. Wtedy ten system realnie poprawia biznes.

Nie mam własnych sprawdzonych formatów reklamowych — nie jestem zawodowym reklamodawcą, prowadziłem kiedyś firmę PPC, która wyszła co najwyżej na 200 tysięcy rocznie. Otwieram więc bibliotekę reklam Facebooka i wybieram Stripe’a, bo ich formaty wyglądają porządnie: wysokiej jakości gradientowe tło w kolorach marki, mały wordmark, krótki, korzyściowy nagłówek i pojedyncze CTA. Zrzucam trzy reklamy do folderu „ad formats for Claude”.

Jako zmienną biorę Maker School, mój program automatyzacji AI, który gwarantuje pozyskanie pierwszego klienta w 90 dni albo zwrot pieniędzy. Wrzucam do Claude folder z formatami i dyktuję pełny brief: czym jest produkt, jak wygląda codzienne coaching i materiały wideo, że jest społeczność i około 21 tysięcy dolarów zniżek i zasobów przy zapisie. Zaznaczam, że nie możemy używać logo Stripe’a i że chcę bardzo podobny styl, ale z własną grafiką u góry.

Claude rozkłada wzorzec na czynniki: jasny abstrakcyjny gradient, falisty kształt, pogrubiony krótki nagłówek korzyściowy, mały wordmark, jedno CTA, wysoki kontrast — „bardzo dobrze budowalne”. Sam z siebie pyta, czy mam plik z logo, czy ma złożyć napis „Maker School” czystą bezszeryfową. Podaję nisze (ludzie chcący rzucić etat, freelancerzy i właściciele agencji dokładający usługi AI, marketerzy, byli korporacyjni specjaliści) i oferty.

Ważna uwaga: Claude nie potrafi sam generować obrazów. Budujemy więc szablony — zestaw reguł, dzięki którym Claude generuje grafiki na żądanie tanimi, klasycznymi narzędziami do obróbki obrazu, w rodzaju ImageMagicka. To nie będzie od razu najwyższa jakość, ale będzie powtarzalne, a przede wszystkim niemal darmowe. Modele generatywne kosztują — jeśli jedna reklama to 2 dolary, a chcę ich sto, płacę 200 dolarów za każdy przebieg. Dla firmy robiącej 10 tysięcy dziennie to nic, ale dla większości oglądających to realna kwota.

Pierwszy wynik trafia w jakieś 70 procent: własny gradient, przyzwoity odstęp fontu, przycisk „start now”, ale spacing wymaga poprawy. Proszę więc o rzecz kluczową: o zbudowanie strony z suwakami, na której sam wyreguluję ustawienia, zanim je utrwalimy. Claude buduje potok filtrów SVG, żeby odtworzyć płynne, siatkowe tło, które Stripe najpewniej wygenerował własnym modelem obrazu, i otwiera przeglądarkę z narzędziem strojącym.

Warto zauważyć, że dziś Claude samodzielnie obsługuje mnóstwo błędów i debugowania — podaje własne wyjścia jako wejście do kolejnego kroku i stopniowo zbliża się do celu. Kiedyś trzeba było robić to samemu. Dochodzimy do trzech minut pracy; zdarzają mi się prompty, które realnie zajmują 15–20 minut, więc odpalam zadanie, odchodzę albo uruchamiam kilka naraz i wracam, gdy ikonka zmieni kolor.

W tunerze zmieniam kąt gradientu, wielkość wordmarku, odstępy między blokami, wysokość linii i tekst CTA („join now” zamiast „start now”). Proszę też o dodanie ziarna, bo szum wygląda po prostu czyściej — dostaję kontrolę nad wielkością ziarna, trybem mieszania (zostaję przy „overlay”, bo „multiply” jest za mocne) i ziarnem losowości. Proszę o dwadzieścia wysokiej klasy krojów pisma, bo domyślny font zlewa się z resztą projektu. Wybieram Red Hat Display, zacieśniam światło międzyliterowe, dodaję kropkę na końcu i powiększam całość — jeden ze znajomych powiedział mi kiedyś, że jednym z największych problemów reklam jest to, że ludzie ich po prostu nie widzą.

Eksportuję ustawienia do JSON-a, wklejam do Claude i proszę o 50 reklam z różnymi CTA i wyglądem, a potem o zamianę tego w artefakt i zasób wielokrotnego użytku, żeby każdy z zespołu mógł generować reklamy na skalę. Pod maską Claude tworzy skrypt, który iteruje po wszystkich proceduralnych kombinacjach. Dostaję pięćdziesiąt sztuk z opisanymi kątami komunikacji: „zdobądź pierwszego klienta AI w 90 dni albo za darmo”, „dołóż usługi AI”, „21 tysięcy w narzędziach gratis”, „jestem w twojej skrzynce codziennie, aż zdobędziesz klienta”. Zauważam, że kąt gradientu się nie zmienia, więc proszę o wariację i o szybki sposób zaznaczania zwycięzców z możliwością pobrania.

Idea nie polega na budowaniu systemów podkradających cudze szablony i klonujących je bez opamiętania. Chodzi o to, żeby inspirować się zwycięskimi formatami — najlepiej własnymi, tymi, które wam już zadziałały — i błyskawicznie generować ich warianty.

Od promptu do skilla, pętli i rutyny

Skill już się pojawił na liście komend jako „maker school ads”. W pliku SKILL.md widać, co Claude zapisał: „generuj minimalistyczne kreacje w stylu Stripe z organicznym gradientowym nagłówkiem, pogrubionym tytułem i CTA dla Maker School, programu Nicka. Używaj zawsze, gdy ktoś prosi o kreacje, warianty reklam, copy z wizualami albo o uruchomienie potoku kreatywnego lub paczki reklam”. Cała rozproszona rozmowa została skodyfikowana w zestaw instrukcji.

Otwieram nowy czat bez żadnego kontekstu, uruchamiam skilla i proszę o dziesięć reklam — ale nie dla Maker School, tylko dla Clarvo, mojego startupu z dialerem. Każę mu samodzielnie zbadać clarvo.io. Skill znajduje informacje, aplikuje je i generuje arkusz kontaktowy: „dzwoń do leadów w kilka sekund”, „osiągnij 85 procent odbieralności”, „dzwoń do każdego leada, póki jest jeszcze ciepły”. Ten sam zestaw instrukcji, inny produkt.

Zamiana w pętlę: proszę o uruchamianie codziennie o 5:59, żeby specjalista od kreacji, wchodząc o szóstej, miał gotową pulę do przejrzenia. Claude dopytuje o wielkość paczki (20), pulę copy (generujemy nowe za każdym razem), lokalizację wyjścia (lokalnie) i czyszczenie starych paczek (na razie nie). W trakcie konwersji coś musi się zmienić: skoro nas nie ma, model potrzebuje większej autonomii. Zamiast iterować po stałym zestawie tekstów, przy każdym uruchomieniu sam przepuszcza przez siebie dotychczasowe reklamy i tworzy nowe, zmienne w czasie. Robi próbny render, sprawdza wbudowanego skilla „schedule”, a potem zakłada zadanie w cronie. (Informacja dodatkowa: cron to standardowy uniksowy harmonogram zadań uruchamiający polecenia o określonych porach).

To jednak wciąż mój komputer. Żeby przejść do rutyny, dyktuję: zamiast generować lokalnie o 5:59, chcę generować do folderu na Dysku Google, udostępnionego linkiem członkom zespołu. Claude proponuje zmianę architektury: wyłączenie wersji lokalnej, założenie prywatnego repozytorium GitHub (Informacja dodatkowa: repozytorium to miejsce w sieci na kod, dzięki czemu może się on wykonywać bez waszego udziału), ustalenie strefy czasowej i struktury datowanych podfolderów.

Podłączam konektor Dysku Google przez ustawienia i wracam. Claude tworzy folder „Maker School Ads”, ale zgłasza, że konektor nie potrafi zmienić ustawień udostępniania — robię to raz, ręcznie, ustawiając „każdy z linkiem może przeglądać”. Potem trzeba jeszcze podpiąć Dysk w samej rutynie chmurowej, bo dotąd był podpięty tylko lokalnie. Rutyna „Maker School daily ad batch” powstaje i od razu odpala testowy przebieg. W panelu widać jej instrukcje, konektory i repozytorium; po kliknięciu w bieg widać, że dosłownie toczy się tam czat z Claude — tylko nie na moim komputerze. Ilekroć widzicie ikonkę chmury, wiecie, że coś dzieje się poza wami. Po chwili w datowanym podfolderze na Dysku zaczynają pojawiać się gotowe reklamy.

Build 2: kreacje z modeli obrazu

Do tej pory Claude generował nasze materiały, sterując narzędziami do kompozycji — czymś w rodzaju Photoshopa, Canvy czy Painta. Zakodował zestaw instrukcji i sterował nimi, aż dostaliśmy wyniki. Każdy piksel był twardo określony. To działa, ale daleko nie zajedziemy.

Wersja druga polega na tym, że Claude steruje bezpośrednimi modelami obrazu i wideo. Różnica jest zasadnicza. Photoshop komponuje elementy, którymi wy sterujecie. GPT Image 2 wytwarza piksele wprost — zamieniacie tekst na macierz pikseli. Tak samo Premiere Pro to narzędzie do montażu wideo, a Sea Dance 2.5 to model generatywny, który zna reguły fizyki, spójność postaci, cienie i oświetlenie.

Pokazuję przykłady wygenerowane w Higgsfieldzie: fotografia produktowa matowego szklanego słoika z niebieską maską glinkową „Midnight Clay”, obrazy w stylu malarskim, astrolabia, meduzy, kreskówki, futurystyczny budynek z dronami, animowane wideo z przyjacielem pijącym kawę we Włoszech. Każdy piksel wygenerowany od zera.

Kluczowa uwaga praktyczna: przy narzędziach kompozycyjnych, gdy raz zbudujecie szablon, macie mniej więcej 80 procent szans, że wynik będzie „w porządku” — czyli elementy są na miejscu, nie ma dziwnych artefaktów, cienie mają sens. Przy generowaniu bezpośrednim to raczej 25 procent. Stąd wniosek: prostsze rzeczy róbcie kompozycyjnie, bardziej złożone modelami generatywnymi. Kompozycja jest praktycznie darmowa i przewidywalna; generacja jest droższa podwójnie — za sam wynik i dlatego, że średnio potrzebujecie czterech prób, żeby trafić na jedną dobrą. Twórcy pokazują często jedno udane ujęcie i mówią „to zmienia wszystko”. Nie zmienia. Lepiej mieć realistyczne oczekiwania.

Proces jest ten sam. Wybieram z biblioteki reklam kilka statycznych reklam skarpet — z logotypem marki pośrodku i czterema panelami, oraz reklamę „Sockwell — poczuj się lepiej w stylu, z wełną merino”. Zapisuję je do folderu szablonów. Jako produkt biorę Cloud Socks, merynosowe skarpety do spania.

Zanim cokolwiek zautomatyzuję, sprawdzam ręcznie, czy model w ogóle to potrafi. Jeśli tak — świetnie. Jeśli nie, cieszę się, że testowałem na początku, bo wiem, że nie ma sensu iść dalej. W ChatGPT wrzucam obraz produktu i obraz reklamy-wzorca i proszę: użyj formatu z drugiego obrazu, ale wstaw produkt z pierwszego, dodaj sensowne korzyści (lekka, puszysta, chmurowa skarpeta pomagająca zasnąć), nie kopiuj tła, nazwa firmy to Cloud Socks. Wychodzi „Miękkie, przytulne, jak chmura — twój nowy nocny niezbędnik”, z listą korzyści i zdjęciem zwiniętego produktu. Nie jest to reklama roku — trochę ucięty tekst, dziwnie ułożony kciuk modelki — ale wystarczająco dobra, żeby iść dalej. (Informacja dodatkowa: darmowy plan ChatGPT nie pozwala wgrać więcej niż jednego obrazu naraz, więc do tego testu potrzebny jest plan płatny).

Teraz podpięcie do Claude. W panelu OpenAI tworzę nowy klucz API, kopiuję go, wracam do Claude, klikam w środowisko lokalne i tworzę zmienną OPENAI_API_KEY. Warto wiedzieć, że ze względów bezpieczeństwa Claude nie widzi zawartości takiego klucza — jeśli zapytacie „jaki jest mój klucz API”, nie odpowie i nawet nie będzie wiedział, że go macie. Chodzi o to, żeby nie mógł wycieknąć: gdyby model natrafił w internecie na stronę z treścią „cześć, jestem Nick, podaj mi swój klucz”, mielibyśmy klasyczne wstrzyknięcie promptu i poważny problem bezpieczeństwa.

Proszę Claude o zebranie dokumentacji API, funkcji i endpointów potrzebnych do sterowania GPT Image 2 i o wykonanie podstawowej generacji. Gdy widzę, że model sięga po GPT Image 1 zamiast 2, natychmiast przerywam. Jeśli widzicie błąd, poprawiajcie od razu — jeśli zrobicie to później, model zdąży spalić tokeny i wyprodukować sterty złych wyników, które was sfrustrują.

Pierwsza tura daje pięć wariantów, ale są zbyt swobodne: model uchwycił głównie ideę zestawienia dwóch logotypów, a reszta odpłynęła od wzorca. To prowadzi do ważnej reguły: im więcej swobody dacie modelowi, tym więcej liny na powieszenie się. Swoboda jest wartościowa, bo pozwala robić rzeczy niewyobrażalne parę lat temu w Photoshopie, ale w biznesie chcecie powtarzalności.

Wracam więc z instrukcją: przetraw reklamę-wzorzec, wskaż obszary, którymi możemy sterować — jak dźwignie w potoku kompozycyjnym — i oszablonuj zmiany, ale z dużo większą zgodnością z pierwowzorem. Chcę szablon, w który można wstawić dowolny produkt i z 80-procentową pewnością dostać coś sensownego. Claude rozkłada układ na pasy: pas z logotypem w górnych 0–20 procentach wysokości, przestrzeń przejściowa, pas produktowy, sekcja dolna. Pyta, czy dołożyć nakładkę kompozycyjną — odradzam, bo mieszanie proceduralnej kompozycji z generowaniem piksel po pikselu to zły pomysł. Sam model przyznaje, że skłania się ku czystemu szablonowi promptowemu, bo tekst i obraz są największym źródłem wariancji, a na tę warstwę mamy już sprawdzony potok kompozycyjny.

Kolejne generacje są znacznie bliżej celu: stopy w skarpetach oparte na kanapie, różne odcienie skóry, czytelna tekstura, kolaż pokazujący produkt z kilku stron. Proszę o zamianę tego w interfejs HTML z checkboxami, jak wcześniej, i o co najmniej pięć wariantów na szablon, z wyraźnie różnymi instrukcjami — ciepłe i chłodne, wnętrza i plenery — żeby osoba z gustem, dyrektor kreatywny, mogła tylko wybierać zwycięzców. Przy trzech szablonach daje to piętnaście wariantów. Powstaje kolejna mini-aplikacja wewnętrzna, w której zaznacza się zwycięzców i pobiera je hurtem.

Potem to samo co poprzednio: zamiana w skilla, potem w pętlę odpalaną o 5:59, potem w rutynę. Przy rutynie dochodzi jeden krok — środowisko chmurowe też musi mieć klucz API. Tworzę nowy klucz, wchodzę w zakładkę rutyn, otwieram domyślne środowisko chmurowe i zapisuję tam OPENAI_API_KEY w formacie zmiennych środowiskowych. Domyślne środowisko stosuje się do wszystkich nowych sesji. Przyznam, że Anthropic nie zrobił tej funkcji tak przystępnie, jak mógłby.

Build 3: reklamy wideo UGC

Wideo trzeba potraktować inaczej. Higgsfield, na którym pracuję, jest agregatorem modeli — łączy modele wideo, obrazu, a nawet tekstu w jednym miejscu, więc potrzebujecie jednego klucza. W środowisku, w którym modeli i platform jest więcej, niż ktokolwiek jest w stanie ogarnąć, wartością samą w sobie staje się ich uporządkowanie. Nie jestem z nimi powiązany, ale lubię ten produkt, a Claude Code świetnie nim steruje, bo mają prosty serwer MCP. (Informacja dodatkowa: MCP, czyli Model Context Protocol, to standard podpinania zewnętrznych narzędzi do modelu — w praktyce „skille hostowane przez innych”).

Podstawowa wiedza: w wideo jest znacznie więcej klatek, więc znacznie więcej okazji do wpadki. To, co wygenerujecie, nie będzie idealne. Najlepiej sprawdzają się formaty w stylu UGC — testimoniale i recenzje produktów.

Zawsze robię proces najpierw ręcznie, bo bez tego nie rozumie się dostępnych opcji. Najpierw obraz: biorę zdjęcie influencerki z Pinteresta i proszę o wygenerowanie kobiety mającej wszystkie jej cechy, ale ostatecznie innej — inne włosy, wnętrze zamiast plenerze. Generuję w 2K, bo wysokiej jakości klatka wejściowa jest lepszą bazą dla wideo. Potem używam wyniku jako referencji i proszę, żeby trzymała mój produkt w łazience, entuzjastycznie, ale bez przesady. Skoro pierwsza tura wypadła dobrze, generuję pojedynczo, bez zapasu wariantów.

Równolegle wrzucam Claude zdjęcie produktu i proszę o trzy skrypty w stylu prawdziwej influencerki, około 30 sekund: „muszę o tym powiedzieć, bo siedzę na tym od dwóch tygodni i mam do siebie żal, że nie spróbowałam wcześniej. To Midnight Clay Overnight Mask. Mam cerę mieszaną, tłustą w strefie T i łuszczącą się poza nią…”. Trochę to podkręcam ręcznie.

Klatkę zamieniam w wideo. Testuję kilka modeli — Kling, Kling Turbo, Sea Dance 2.0 — z włączonym dźwiękiem, po dziesięć generacji. Pierwszy test potwierdza, że słychać dźwięk, usta się ruszają, jest nawet najazd kamery. Na taką rundę testową spodziewajcie się wydatku rzędu 10–20 dolarów; chodzi o zbudowanie potoku wielokrotnego użytku. Kluczowe okazuje się dopasowanie długości: przy limicie 10 sekund skrypt musi być krótki. Liczę znaki w liczniku słów — 146 znaków mieści się swobodnie, więc ustalam limit na 27–30 słów.

Dyktuję pełny proces do Claude: podam obraz produktu, użyj podanego obrazu influencerki do wygenerowania klatki startowej z produktem w sensownym otoczeniu, wygeneruj dziesięć kandydatów na skrypt poniżej 35 słów, pokaż mi klatkę i skrypty do weryfikacji. Do sterowania Higgsfieldem instaluję jego CLI globalnie i loguję się przez przeglądarkę — to znacznie prostsze niż ręczne przenoszenie kluczy API do środowiska. Gdziekolwiek jest opcja CLI, gorąco ją polecam.

Przy okazji burza mózgów: zamiast jednej kobiety możecie mieć dwadzieścia albo trzydzieści osób — kobiety i mężczyzn, różne geografie, wieki, persony. Mnożycie to przez lokalizacje i przez skrypty. Dziesięć influencerów razy dziesięć scenerii razy dziesięć skryptów to tysiąc możliwych wariantów. Ponieważ obejrzenie wszystkiego jest nieznośne, można dołożyć automatyczną kontrolę: rozbić każde dziesięciosekundowe wideo na sekundowe klatki, zrzucić je i podać modelowi z pytaniem, czy coś jest zdeformowane albo bezsensowne — jeśli tak, wyrzucić z puli. Zostaje wtedy jakieś 250–500 klipów, czyli 40–80 minut oglądania dla człowieka. Jeśli ta osoba wybierze dwadzieścia najlepszych, w praktyce zastąpiliście cały dział kreacji za ułamek kosztów.

Generacje odpalane są równolegle — trzy zadania naraz w kolejce, potem zebrane i pokazane do weryfikacji. Widać typowe problemy: gdy skrypt jest krótszy niż długość klipu, model dopowiada i powtarza kwestie; w jednym ujęciu produkt znika i pojawia się w dłoniach. Właśnie po to potrzebna jest kontrola jakości. Poprawiam więc regułę: mniej niż 22 słowa to 8 sekund, więcej — 10 sekund.

Testuję skilla na krzyżu: dwie osoby (kobieta i mężczyzna) razy dwa produkty (maska glinkowa i olejek rozmarynowy do skóry głowy), po trzy kandydatury każde. Model początkowo chce wygenerować dziewięć wideo na osobę, co kosztowałoby fortunę — koryguję do trzech. Napotyka też limit współbieżności: platforma przyjmuje maksymalnie osiem zadań naraz, a on odpalał dwanaście, więc sam aktualizuje skilla, ograniczając się do trzech równoległych i powtarzając nieudane pary pojedynczo.

Efekty są nierówne, ale użyteczne. Materiały z kobietą wychodzą lepiej; przy mężczyznach jakość spada wyraźnie — podejrzewam, że po prostu jest mniej danych treningowych. Za to jedno z ujęć z mężczyzną trafia idealnie w timing. Widać też pożądaną kreatywność: różne kadry, ujęcia produktu, jedna wersja pokazuje aplikację maski.

Można to poprawiać dalej: podłożyć ścieżkę dźwiękową, dodać ziarno, żeby ująć charakterystycznej „aihowatości” (skóra bywa zbyt gładka, aż nienaturalnie realna), dołożyć automatyczne sprawdzanie czytelności napisu na opakowaniu i sensowności postaci, wycinać trzy pierwsze klatki, jeśli klatka startowa się psuje, albo instruować, żeby postać po skończeniu kwestii po prostu uśmiechnęła się i pomachała.

Na końcu ta sama ścieżka: skill, pętla, rutyna. Higgsfielda podpinam jako własny konektor przez adres z zakładki MCP i CLI, autoryzuję i tworzę rutynę chmurową. Kroki rutyny brzmią: wylistuj pliki w folderze zasobów na Dysku, ustal, które są nowe od ostatniego przebiegu, zbuduj krzyż influencerów i produktów (dwa razy dwa daje cztery pary), dla każdej pary wygeneruj klatkę bohaterską, napisz dziesięciu kandydatów na skrypt, wybierz najlepszych, ustal długość wideo z liczby słów, wygeneruj trzy kandydatury wideo i wgraj całość na Dysk. To działa za grosze dziennie — droższe są same kredyty na generacje, ale i tak nieporównanie taniej niż studio produkcyjne szukające influencerów.

Pierwszą automatyzację przeszedłem tak szczegółowo, żebyście zobaczyli cały proces produkcyjny. Kolejne będą szybsze, bo mechanika prompt → skill → pętla → rutyna jest już znana.

Build 4: personalizacja copy w newsletterze

Schodzimy o szczebel niżej, wciąż w górze lejka: generowanie spersonalizowanego copy. Pokażę to na dwóch aktywach — kampanii newsletterowej, gdzie AI wypełnia zmienne, i kampanii cold mailowej, gdzie AI dorabia icebreakery.

Newslettery cierpią na jeden podstawowy problem: jedyną realną daną personalizacyjną jest imię. Czasem nawet tego nie ma, tylko „cześć”. A gdybym powiedział, że możecie od razu poprawić skuteczność takich kampanii o kilka procent prostą personalizacją AI? Koszt tokenów jest nieporównanie niższy niż to, co tracicie, tego nie robiąc.

Pokazuję to na własnych danych. Używam platformy Kit — nie jestem z nimi powiązany, to jedna z wielu opcji. Mam tam prawie 38 100 osób, listę budujemy od jakichś sześciu miesięcy, głównie przez LinkedIn i Instagram: publikuję filmy z narzędziami AI, zachęcam do komentowania hasła, bot odpowiada wiadomością prywatną i wymieniamy zasób na adres e-mail. Zaraz po zapisie wychodzi powitalny mail Maker School: „Cześć, witaj w Maker School. To nie będzie jeden z tych rozdętych, sztywnych maili onboardingowych. Tylko konkrety…”. Klasyk — i kompletnie nieszablonowany. Pokazuję to na prawdziwym biznesie, bo mnie samego irytują kursy z wyizolowanymi, wyselekcjonowanymi zadaniami. Tym produktem zrobiliśmy w zeszłym miesiącu jakieś 280 tysięcy dolarów, z bardzo szczupłym zespołem, głównie dzięki treściom i marketingowi.

Kluczowe rozróżnienie brzmi: zmienne twarde kontra miękkie. Twarde to imię, firma, miasto — kopiowane wprost z danych. To, co widzicie w większości kampanii. Są produktem ubocznym tego, jak trudno było logistycznie tworzyć spersonalizowane maile na skalę. Zmienne miękkie powstają, gdy przepuścicie dane twarde przez AI: zamiast dosłownego „hobby: ceramika, kino niezależne” dostajecie „Cześć Piotrze, widzę, że jeździsz na snowboardzie i latasz dronem — mieszkam kilka minut od sporej góry i sam często jeżdżę”.

Docelowy mail wygląda tak. Zamiast samego „Cześć” — „Cześć Nick”. Usuwam półpauzy, bo wyglądają zbyt „AI-owo”. Dalej: „Bardzo się cieszę, że jesteś z nami, zwłaszcza że {krótkiPrawdopodobnyPowódZapisu}”. To zmienna miękka, zapisana w notacji camelCase — pierwsza litera mała, kolejne wyrazy z wielkiej. Zapisuję ją długo i opisowo, bo ten opis jest instrukcją dla modelu, nie dla mnie. Po podstawieniu wychodzi „zwłaszcza że wspominałeś o problemach z pozyskiwaniem leadów”. Podobnie dalej: „szczególnie przydatne w twoim przypadku, bo {krótkiPowódPrzydatności}” i „wiem, że dużym wyzwaniem jest dla ciebie {sparafrazowaneWyzwanie}”.

Prompt, którym to robię, jest bardzo konkretny. Wskazuję arkusz z leadami i jego kolumny (imię, nazwisko, e-mail, nazwa firmy, stanowisko, miasto, hobby, powód zapisu, ulubione narzędzie, największe wyzwanie), tłumaczę kontekst szablonu i zmiennych scalających, opisuję ton (swobodny, bezpośredni, bez waty, pierwsza osoba). Zadanie: zrób to w jednym kroku, bez zatrzymywania się na pytania. Przeczytaj każdy wiersz źródłowego arkusza, korzystając z narzędzia Drive lub Sheets — nie zgaduj i nie próbkuj. Dla każdego wiersza napisz trzy nowe wartości specyficzne dla tej osoby, nie pobierane ze wspólnej tabeli. Nawet gdy dwa wiersze mają ten sam tekst, wygenerowane copy ma brzmieć inaczej, bo wolno ci korzystać z pozostałych pól. Zmieniaj konstrukcje zdań i dobór słów, unikaj wpadania w kilka powtarzalnych szablonów. Nie modyfikuj oryginalnego arkusza — utwórz nowy przez Drive, zatytułuj tak i tak, zachowaj wszystkie oryginalne kolumny i dopisz trzy nowe na końcu w tej kolejności. Przed wgraniem zwaliduj wszystko i podaj mi link.

Drobna uwaga techniczna: Claude ma dostęp do Dysku, ale nie do edycji arkuszy. Może natomiast utworzyć nowy plik przez Dysk — dlatego wybrałem taki wariant, żeby nie prowadzić was przez autoryzację Google Sheets, która potrafi być udręką.

Pierwsze wyniki są przyzwoite, ale za długie: „próbujesz przepchnąć North Partners powyżej sufitu 20 tysięcy i stawiasz na automatyzację jako dźwignię”. Zauważam też, że parafraza wyzwania zaczyna się od imienia („największym wyzwaniem Marcusa jest…”), co nie wkleja się w zdanie z szablonu. Wracam z korektą: krótki powód zapisu i powód przydatności około dziesięciu słów, parafraza wyzwania około pięciu, a przede wszystkim napisz ją tak, żeby dała się wstawić w konkretne zdanie — i wklejam to zdanie.

Poprawione wersje są dużo lepsze: „pchasz North Partners powyżej 20 tysięcy miesięcznie”, „chcesz, żeby lead gen dla LuminOps działał, gdy śpisz”, „byłeś ciekaw, jak Claude może wyostrzyć twoje cold maile”, „twoim największym wyzwaniem jest nadążanie za tempem zmian w AI”. Im mniejszy udział słów wygenerowanych przez AI w całym mailu, tym mniejsze prawdopodobieństwo, że ktoś się zorientuje. To zresztą zasadnicza różnica wobec pisania całych maili przez AI — takie zwykle są słabe. Tutaj człowiek pisze cały mail według sprawdzonych praktyk, a AI wstawia tylko kilka fragmentów. Pojedynczy szablon staje się tysiącem prywatnych listów.

Wgrywam listę do Kita. Trzeba tam dodać pola niestandardowe — w Mailchimpie prawdopodobnie jest podobnie. Przy podglądzie zmienne początkowo się nie zaciągają: okazuje się, że składnia jest inna, ze spacją i małymi literami. Po korekcie podgląd dla Marcusa brzmi: „Cześć Marcus, witaj w Maker School. Bardzo się cieszę, że jesteś z nami, zwłaszcza że pchasz North Partners powyżej 20 tysięcy miesięcznie dzięki automatyzacji. […] Szczególnie przydatne w twoim przypadku, bo budujemy powtarzalne systemy outboundowe naprawiające nierówny napływ leadów. […] Wiem, że dużym wyzwaniem jest dla ciebie zdobywanie stałych leadów co miesiąc”. Test na drugim kontakcie wypada równie dobrze.

Systematyzacja: podpinam API Kita, żeby skill raz dziennie pobierał nowych subskrybentów z ostatnich 24 godzin, wzbogacał ich o trzy pola i dodawał do kampanii powitalnej. Pytam Claude o wykonalność. Model proponuje schemat z tagiem „maker school welcome pending”: oznacza nowych subskrybentów, filtruje broadcast po tym tagu, ustawia wysyłkę na „teraz”, a po wysłaniu zdejmuje tag — co ładnie zabezpiecza przed podwójną wysyłką. Sprawdzam MCP Kita, ale nie pokrywa tego, czego potrzebuję, więc idziemy przez klucz API. Ważne: przy podejściu z kluczem trzeba najpierw odłączyć konektor Kita, żeby nie mieszał się w przepływie.

Podkreślę rzecz metodologiczną. Zawsze najpierw sprawdzajcie, czy w ogóle da się zrobić to, co chcecie. Zacznijcie od końca, wykonajcie rzecz, a dopiero potem cofajcie się i systematyzujcie. Dokładnie tak robimy w tym kursie za każdym razem: prompt, skill, pętla, rutyna, a na każdym etapie weryfikacja. Chodzi o to, żeby nie wpaść w sytuację, w której miałem wielkie plany, zbudowałem wspaniały system, a wyniki są kiepskie — bo zacząłem od początku, nie od końca. Jeśli nie potraficie uzyskać pożądanego wyniku, nie ma sensu tego automatyzować, bo zautomatyzujecie kiepski proces.

Build 5: cold outreach

Między newsletterem a cold outreachem jest tylko jedna istotna różnica: skąd biorą się dane. Tam ludzie zapisywali się sami. Tu scrapujemy z LinkedIn Sales Navigatora albo z baz w rodzaju Vein, Airscale, Apify. Dostajecie surowe wiersze, Claude czyta każdy i pisze miękkie zmienne, a potem wstawiacie je w szablon — tylko platforma jest inna. Zamiast Kita używam Instantly, narzędzia do wysyłki do zimnej publiczności.

Kiedyś robiłem to intensywnie: chodziłem od drzwi do drzwi, potem dzwoniłem, potem wysyłałem cold maile i wiadomości na X i Instagramie. Stopień personalizacji był absolutnie najważniejszą zmienną decydującą o odpowiedziach. Sto całkowicie szablonowych wiadomości dawało 1–2 procent odpowiedzi. Gdy pisałem „cześć Nick, uwielbiam twój ostatni film” albo „jestem fanem twojego biznesu i chcę ci pomóc z tym konkretnie, bo pasuje do tego, na czym się teraz skupiasz” — dochodziłem do 5 procent. To 200–250 procent przychodu, bo każdy zarobiony dolar zależał od cold outreachu. Moje najlepsze copy dało ponad 20 procent odpowiedzi, przy leadach z konferencji, na którą sam jechałem — czyli co czwarta osoba odpisywała „jasne, pogadajmy”. Miałem też kampanie na 2–4 procent i nadal zarobiłem na nich setki tysięcy. Da się zarabiać nawet przy słabych wskaźnikach, jeśli tylko mądrze podchodzicie do miękkich zmiennych.

Leady biorę z Apify, ze scrapera „Pipeline Labs Lead Finder with emails”, korzystającego z Apollo i ZoomInfo. Filtry to stanowisko, poziom w hierarchii, status adresu e-mail (wysokiej jakości, dostarczalny), obecność numeru telefonu. Płacicie od 1,50 do 1,80 dolara za tysiąc leadów. Zescrapowana lista zawiera przychód roczny, miasto i kraj firmy, jej opis, domenę, branżę, adresy LinkedIn, specjalizacje, stan, pełne imiona i nazwiska, funkcje, miasta i technologie używane w firmie. Naprawdę nie da się z tego nie zrobić czegoś, co sprawi, że odbiorca uniesie brew i pomyśli „czy ja tego gościa znam?”.

Szablon maila piszę na żywo, świadomie prosto: „Cześć Nick, widziałem, że lubisz labradory — sam mam jednego i chciałem się przywitać. Prowadzę B2B outbound dla agencji robiących 5 milionów rocznie i więcej. Pracujemy z Meta i właśnie pomogliśmy domknąć 500 tysięcy w ostatnie 45 dni. Szczerze: zrobiłem research i wydaje mi się, że jesteście blisko tej liczby. Jeśli tak, wysłuchaj mnie. Chcę zagwarantować ci dodatkowe 20 umówionych spotkań miesięcznie z kwalifikowanymi dostawcami MSP. To pewnie kolejny milion do dwóch rocznie, jeśli dobrze rozegramy. Kosztowałoby cię to zero z góry i całą robotę zrobiłbym sam. Jeśli nie trafiłbym w tę liczbę, byłoby za darmo. Poza tym zarabiam głównie na prowizji. Jesteś na to otwarty?”.

Czy to wygra nagrodę? Nie, ale jest dużo lepsze niż obecny standard. Obecnie działa język pisany małymi literami, bardzo swobodny. Powód jest prosty: ludzie przywykli do spamu AI, w którym słownictwo jest idealne, gramatyka bez zarzutu, a półpauzy wszędzie. Kiedy widzą coś celowo lub przypadkowo niedoskonałego, myślą: to chyba człowiek. Może kiepsko pisze, ale człowiek. I czytają dalej.

Podwójna zmienna „to, co macie wspólnego” jest tu najważniejsza. W danych są technologie („widzę, że używacie Google Ads”), lokalizacje („jesteście w Chicago, spędziłem tam trochę czasu”) — cokolwiek, byle prawdziwe i trafne. Dajcie AI duży blok informacji o waszym życiu i pozwólcie mu szukać dopasowań.

Testuję na pięciu leadach. Claude od razu zgłasza uzasadnioną uwagę: liczbowe obietnice w szablonie to typ treści, przez który konta outboundowe bywają zawieszane, a przy niepotwierdzonych liczbach wchodzi się w obszar wprowadzania w błąd. Oczywiście — nie wolno wyciągać liczb z powietrza. Musicie mieć realne case studies i udokumentowane wyniki. Wyniki personalizacji brzmią przekonująco: „Cześć Luke, widzę, że prowadzisz performance marketing z Tampy. Sam sporo czasu spędziłem na scenie agencyjnej Florydy…”, a kwalifikacja prospektów jest zmienna zależnie od firmy: „zachodnie marki wchodzące na rynek chiński”, „marki fintech i wellness szukające SEO i PPC”, „agencje chcące zautomatyzować zarządzanie PPC”.

Potem to samo na całym arkuszu, a następnie skill: wejściem jest lista leadów, wyjściem lista wzbogacona. Przy okazji każę wyciąć nadmiarowe kolumny, zostawiając tylko cztery pola personalizacyjne plus imię, nazwisko, adres, nazwę firmy i wielkość firmy — bo import z rozdmuchanego pliku to udręka.

Ale to mi nie wystarcza. Nie chcę podawać listy leadów — chcę, żeby system sam je zdobył. Podłączam Apify jako własny konektor (adres z konfiguratora MCP w scraperze), podaję role, których szukam: founder, CEO, współzałożyciel, właściciel, współwłaściciel, partner. I tu robię rzecz, którą uważam za sedno dobrej automatyzacji: opisuję Claude, jak sam pracuję. Ustawiam filtry, scrapuję listę, sprawdzam, czy leady pasują do mojego ICP, a jeśli mniej niż 75 procent trafia — powtarzam. (Informacja dodatkowa: ICP, ideal customer profile, to profil idealnego klienta). Instrukcja brzmi więc: zescrapuj sto leadów, sprawdź dwadzieścia z nich pod kątem ICP; jeśli co najmniej piętnaście pasuje, jedziemy dalej, jeśli mniej — powtórz od nowa. Skill uruchomił się czterokrotnie, sam: 9 na 20, potem znowu 9, potem 15, aż w końcu 19 na 20. Odpaliłem go raz, a on zescrapował dużą listę i ją wzbogacił.

Wzbogaconą listę importuję do Instantly, gdzie mam już kampanie dla Clarvo w segmentach: obsługa prawna, rekrutacja, motoryzacja. W podglądzie widać podstawione zmienne: „Widzę, że prowadzisz pełnoserwisową agencję marketingu na Amazonie. Sam sporo czasu spędziłem wśród agencji sprzedawców Amazona i chciałem się przywitać”. Trafiam na drobny błąd — dublujące się „też” — i poprawiam. Jedna z wersji, „skupieni na klientach, nie na kliknięciach”, brzmi trochę AI-owo, ale przed tym nigdy nie uciekniecie w stu procentach.

Czy ma sens zamiana tego w pętlę? To dobry przykład myślenia wąskim gardłem. Szczerze — nie potrzebuję świeżej listy leadów każdego ranka. Mogę odpalić skilla na żądanie i zajmuje to chwilę. Zbudowałem rutynę „Daily Clarvo lead gen” działającą o 5:59 raczej jako demonstrację tego, że da się zamienić w rutynę wszystko, niż dlatego, że akurat to warto.

Build 6: speed to lead

Schodzimy do środka lejka. Problem: wydajecie tysiące, dziesiątki tysięcy dolarów na leady — kupując listy albo, częściej, płacąc za reklamy — a odzyskujecie z tego niewielki ułamek. Powód jest taki, że większość firm nie traktuje leadów z czasem, energią i szacunkiem, na jakie te leady zasługują.

Myślcie o leadzie jako o czymś bezpośrednio wymienialnym na pieniądze. Tylko kurs wymiany jest u większości fatalny. Wydają 10 tysięcy miesięcznie i odzyskują 20 tysięcy — czyli ROAS 2, a więc pół każdego zarobionego dolara idzie na pozyskanie. (Informacja dodatkowa: ROAS, return on ad spend, to stosunek przychodu do wydatków reklamowych). Jeśli traktujecie leady lepiej, odpowiadacie szybciej, dajecie im poczucie personalizacji i najlepsze możliwe doświadczenie jeszcze zanim zapłacą — z jednego znaku dolara robi się plik banknotów.

Właśnie tym zajmuję się w firmie prowadzonej z przyjacielem. Skoro zapłaciliście, powiedzmy, 30 dolarów za spotkanie w kalendarzu, wyciśnijcie z tej osoby maksimum. Odezwijcie się natychmiast. Zadzwońcie w ciągu kilku sekund od wypełnienia formularza. Wyślijcie SMS. Róbcie follow-upy. Budujemy przepływy dzwoniące do leadów natychmiast, inteligentne dyspozycje (jeśli ktoś nie odbierze, kierujemy go tam, gdzie prawdopodobieństwo odebrania w przyszłości jest największe), sensowne zostawianie poczty głosowej, dzwonienie z numerów maksymalizujących odbieralność (bo każdy z nas dostaje dziś stertę spamu), branding numerów, monitoring dla call center i wsparcie AI dla rozmów zaraz po wypełnieniu formularza. Wspomniana firma usług domowych poszła z 3 do 9 milionów miesięcznie po prostu przez traktowanie leadów jak złota.

Sedno speed to lead: jeśli wcześniej średni czas do pierwszego telefonu wynosił dziesięć minut, po wdrożeniu wynosi trzydzieści sekund. Osoba jest wtedy nadal w tym samym stanie umysłu, w którym wypełniała formularz. Im dłużej czeka, tym mniej prawdopodobne, że będzie chciała skorzystać — ilu z nas wypełniało formularz na coś, czego wcale nie potrzebowaliśmy, tylko akurat wtedy tak nam się wydawało?

Anegdota: sześć lat temu mieszkałem z kolegą, Jonno, obaj prowadziliśmy firmy foto-wideo od wesel. Pewnego miesiąca zrobił ponad 20 tysięcy dolarów, a ja byłem wtedy spłukany i jadłem ryż z fasolą. Słuchałem przez ścianę i zastanawiałem się, jak on to robi. Miał na stronie obietnicę: wypełnij formularz, a zadzwonię w ciągu 60 sekund. Ludzie wypełniali, nie wierząc, że naprawdę zadzwoni. On natychmiast wysyłał SMS: „hej, właśnie widziałem twój formularz, dzwonię za chwilę”. Potem maila: „nawiązując do SMS-a sprzed chwili, chciałem się upewnić, że masz wszystko”. I od razu automatycznie łączył połączenie. Bardzo nisko wiszący owoc, a zdziwilibyście się, ile firm tego nie robi.

Budujemy to tak. Najpierw hipotetyczny formularz reklamowy dla firmy instalującej klimatyzację — proszę Claude o artefakt HTML, który faktycznie wyśle mi maila. Do wysyłki potrzeba backendu, więc korzystam z darmowego Formspree; rejestracja zajmuje dwie sekundy. Formularz wygląda porządnie: „Summit Air. Nowa klimatyzacja zainstalowana w 24 godziny. Licencjonowani, ubezpieczeni, lokalni. Wycena stałocenowa, bez presji sprzedażowej. Spodziewaj się SMS-a i maila w ciągu 60 sekund”. Pole „coś jeszcze, co powinniśmy wiedzieć” ustawiam jako obowiązkowe, bo to z niego AI utka odpowiedź.

Przepływ: lead wypełnia formularz, system odpytuje moją skrzynkę i szuka takich maili, a gdy je znajdzie, natychmiast wysyła spersonalizowaną odpowiedź mailem i SMS-em. Na końcu można dołożyć łączenie połączeń.

Rzecz warta uwagi: jeśli zrobicie to za szybko, ludzie uznają, że to fałszywka. Trzeba mieścić się w granicach rozsądku — na przykład trzydzieści sekund. Część osób celowo wstawia literówki albo pisze „hej Piotrek, właśnie wjeżdżam do garażu, zobaczyłem to i zaraz zadzwonię, dasz mi trzy minuty?”, żeby wyglądało realistycznie.

Testuję formularz na sobie — mail przychodzi z polami: źródło, notatki, usługa, dom, adres, kod pocztowy. Podłączam konektor Gmaila (odczyt, tworzenie i wysyłka), a Claude sprawdza skrzynkę, poprawnie parsuje treść i wypisuje listę leadów wraz z liczbą sekund od nadejścia.

Copy piszę sam. Mail: temat „Re: {imię} klimatyzacja”, treść „Cześć {imię}, właśnie widziałem, że wypełniłeś formularz. Rozumiem, że {sparafrazowanaProśba}. Chętnie pomożemy. Ja albo ktoś z zespołu zadzwoni do ciebie w ciągu 5 minut, żeby to ogarnąć. Dzięki, Jonah”. SMS musi być znacznie krótszy — limit to 160 znaków, więc każdy element trzeba przyciąć, licząc się z tym, że ktoś może mieć bardzo długie imię: „Cześć {imię}, mam twoje zgłoszenie. Wiem, że {krótkaParafraza}. Dzwonię w ciągu 5 minut. Jonah”.

Instrukcja dla modelu: parafraza maksymalnie 10–15 słów, im krócej, tym bardziej po ludzku, wysyłaj bardzo swobodnie sformatowane maile, dokładnie według szablonu, nie odchodź od niego.

Do SMS-ów używam usługi Qo (dawniej OpenPhone), bo mam już zweryfikowany numer. Alternatywą jest Twilio, ale tam trzeba przejść rejestrację A2P, co trwa od dwóch dni do dwóch tygodni i bywa odrzucane. (Informacja dodatkowa: A2P to amerykański wymóg rejestracji wysyłki SMS-ów „aplikacja do osoby”, wprowadzony po to, żeby ograniczyć spam telefoniczny). Zasady są identyczne — bierzecie klucz API i podajecie go modelowi. Qo okazuje się dostępne w bibliotece konektorów Claude, więc podpinam je jednym kliknięciem.

Test na leadzie „Dana Whitfield”: „sypialnie na piętrze nigdy się nie chłodzą, cokolwiek ustawimy na termostacie, jednostka ma ze 12 lat”. W skrzynce nadawczej pojawia się: „Cześć Dana, właśnie widziałem, że wypełniłaś formularz. Rozumiem, że klimatyzacja u ciebie w domu wymaga sprawdzenia. Chętnie pomożemy. Zadzwonimy w ciągu 5 minut i to ogarniemy. Dzięki, Jonah”. Chwilę potem przychodzi SMS o tej samej treści w skróconej formie.

I tu ważna decyzja architektoniczna. Rutyny da się uruchamiać nie tylko harmonogramem, ale też przez API. To znaczy, że możemy czekać na wyzwalacz i reagować dopiero na żądanie: ktoś wypełnia formularz, mail ląduje w skrzynce, a rutyna odpala się tylko wtedy. To znacznie wydajniejsze niż odpytywanie co minutę — i nie da się tego zrobić lokalnie, dlatego to domena rutyn. Tworzę rutynę „speed to lead SMS i e-mail” z konektorami Gmail i Qo, dostaję token do wywołania przez POST i podaję go modelowi. Biegi widać na żywo: inicjalizacja sesji, uruchomienie Claude Code, sprawdzenie konektorów, wysyłka.

Można pójść dalej i dodać automatyczne łączenie połączeń: trzeci numer dzwoni jednocześnie do mnie i do leada, obaj słyszymy dzwonek, pierwszy, który odbierze, jest w rozmowie — dzięki temu nie ma opóźnienia po drugiej stronie. Przy ofertach ze średniej i wysokiej półki, które i tak sprzedaje się przez telefon, obecność albo brak takiego systemu robi ogromną różnicę. Uderzacie wtedy w leada mailem, SMS-em i telefonem. Brakuje już tylko śledzenia dyspozycji i follow-upów, czyli wpięcia w CRM — ale to już bardziej sprzedaż niż marketing.

Build 7: dane, tracking i dashboard

Po co dashboard? Żeby zwizualizować dane marketingowe. Pytanie brzmi, jak zrobić go tak, żeby był skuteczny, prosty i nie bolał w oczy. Naiwne podejście to wrzucenie danych do Claude z poleceniem „zwizualizuj” — wychodzi wtedy coś siermiężnego: wydatki reklamowe, sesje, leady, mieszany koszt leada, domknięte transakcje. Problem w tym, że ludzie nie traktują tego jak tego, czym to naprawdę jest: projektu webowego. Dashboard to dziś po prostu HTML, a HTML to język stron internetowych. Zajdziecie znacznie dalej, traktując to jak stronę, a nie jak narzędzie do prezentacji liczb.

Drugi problem to rozproszenie danych: reklamy Meta, Google Analytics 4, Stripe, CRM, platformy mailingowe — wszystko w innym miejscu. Idea zunifikowanego dashboardu polega na podpięciu konektorów do tych platform i zbudowaniu tak zwanego potoku pozyskiwania danych, uruchamianego dziennie, tygodniowo albo miesięcznie. Wychodzimy z rozjechanych raportów w stronę jednego źródła prawdy.

Kiedy prowadziłem agencję marketingową, raporty były naszym głównym deliverable. Raz w miesiącu był dzień raportowy: zbieraliśmy arkusze, składaliśmy ładne dokumenty i wysyłaliśmy klientom. Raporty pełniły funkcję niemal sprzedażową — strojone tak, żeby wyglądały jak najlepiej i żeby klient poczuł, że dostaje świetny zwrot. Import danych z pięciu różnych miejsc był udręką. Dziś nie musi być dnia raportowego: dashboard sam pobiera dane i pokazuje je na bieżąco. Skoro umiecie już budować pętle, rutyny i systemy logujące się do usług bez was, to naprawdę mały krok.

Dodatkowo chcę wpiąć w dashboard funkcję asystenta AI, żeby nie tylko my, ale i klient mógł zadawać pytania o dane bezpośrednio na stronie.

Dane trzymam w plikach CSV, żeby nie pokazywać własnych, częściowo prywatnych statystyk. (Informacja dodatkowa: CSV to plik z wartościami rozdzielonymi przecinkami — w praktyce arkusz w formie tekstowej). Jest tego mnóstwo: wymiary kanałów, klientów i handlowców, fakty o aktywnościach, kreacjach reklamowych, finansach agencji, ścieżkach atrybucji, linkach zwrotnych, tempie wydawania budżetu, śledzeniu połączeń, dane dzienne kanałów, podsumowania klientów, szeregi czasowe. Plik z aktywnościami ma około 50 tysięcy wierszy i wygląda jak dziennik czasu pracy — na jego podstawie da się policzyć, że dany handlowiec zalogował konkretnego dnia 2940 sekund, czyli 49 minut aktywności. Dane z GA4 ważą 6 megabajtów i mają ponad 10 tysięcy wierszy z identyfikatorem klienta, kanałem, krajem, liczbą sesji, sesjami zaangażowanymi, współczynnikiem odrzuceń i stronami na sesję.

Pierwsze polecenie: przejdź przez wszystkie dane, sprawdź, gdzie bazy logicznie się łączą, i zaproponuj kilka kandydatów na strukturę wysokopoziomową — na razie tylko szkielet stron.

Tu wtręt o inteligencji modeli. Przez większość kursu używałem Sonnet 5, modelu poprzedniej generacji, niespecjalnie inteligentnego. Im bardziej wymagające potrzeby, zwłaszcza projektowe, tym mądrzejszego modelu potrzebujecie. Przy dashboardzie przechodzę na Fable 5 z wysokim wysiłkiem, kupując 20 dolarów kredytów. (Informacja dodatkowa: dokupowanie kredytów dotyczy planów niższych; przy planie maksymalnym nie jest potrzebne). Zaznaczam: nie musicie tego robić — ja upycham pięciogodzinny kurs w jeden dzień, więc palę limity znacznie szybciej niż normalny użytkownik.

Fable rozumuje inaczej niż Opus. Stwierdza, że struktura nie jest kwestią preferencji, bo wymuszają ją trzy właściwości zbioru. Po pierwsze, rozkład anomalii wyznacza główną oś: z siedmiu „historii” w danych pięć dotyczy pojedynczych klientów, jedna jest globalna, jedna dotyczy handlowców. Układ według lejka rozsypałby historię każdego klienta na pięć stron; spirala śmierci klienta pokazałaby się jako drobne wahnięcie ruchu gdzieś na jednej z nich. Tylko układ zorientowany na klienta pozwala zobaczyć całą historię na jednym ekranie. Po drugie, luki w pokryciu danych karzą strony globalne — e-commerce istnieje tylko dla 4 z 12 klientów, atrybucja obejmuje 44 procent leadów. Po trzecie, rozbieżności ziarnistości danych określają, czego nie da się umieścić w zakładkach klienta. Rekomendacja: przegląd portfela z siatką i kanałem alertów, potem strony per klient z wydajnością, ruchem, pipeline’em, widocznością w wyszukiwarce i częścią handlową, potem kanały, zespoły sprzedażowe i sygnały.

Gotowy szkielet jest bardzo szczegółowy i wyraźnie lepszy od tego, co dał słabszy model. Można wejść w konkretnego klienta, zobaczyć leady dziennie, załamanie ruchu i wykrywanie anomalii progiem SQL na oknie zaangażowania: „załamanie napływu leadów u klienta CL10 w tygodniu 9 marca 2026 — normalnie 57 leadów, teraz 3”. Obok skok współczynnika konwersji z 1,65 do 2,23 procent. Na dole statystyki handlowców: ktoś ze skutecznością 15,6 procent przy średniej zespołu 24,2 procent — czyli sygnał, że trzeba coś z tym zrobić.

Ta sesja kosztowała 18 dolarów kanadyjskich, około 13 amerykańskich. To niebanalna kwota, ale mamy architekturę na dziesiątkach tysięcy wierszy i dwudziestu klientach. Teraz przełączam się na Opus 5 na wysokim wysiłku, bo dalsze warianty rozliczają się w ramach limitu, a nie kredytów, i proszę o pięć bardzo różnych wariantów wizualnych, generowanych przez pięciu podagentów pracujących równolegle, z naciskiem na czytelność, użyteczność i realny UX.

Warto zatrzymać się przy zrównoleglaniu. Dotąd pracowaliśmy liniowo: krok 1, potem 2, potem 3, potem 4 — każdy po pięć minut, razem dwadzieścia. Proces zrównoleglalny to taki, w którym można powołać wielu agentów pracujących na tym samym zasobie, ale których działania są niezależne i nie wpływają na siebie. Wtedy z kroku pierwszego rozgałęziacie się na cztery naraz, a potem scalacie — dziesięć minut zamiast dwudziestu. Plusy: znacznie szybciej i szerzej przeszukujecie przestrzeń rozwiązań. Minusy: jest drogo, a każdy z procesów musi być z natury niemonitorowany, więc ryzyko porażki jest wyższe. Ale to w porządku — skoro robimy pięć podejść, wystarczy, że jedno okaże się wystarczająco dobre.

Powstaje pięć podagentów: wariant edytorski, terminalowy, szwajcarski, gęsty operacyjny i ciepły „druk”. W briefie znalazło się wymaganie, żeby każdy wariant znajdował te same siedem anomalii. Po prawej stronie mam monitor pokazujący wszystkich pracujących agentów, ich transkrypty i narzędzia — w każdy z nich mogę w każdej chwili zajrzeć. To nie dzieje się natychmiast; pięć minut było ilustracją, nie obietnicą.

Wyniki są bardzo dobre. Wariant „dense ops” wygląda znacznie lepiej w trybie jasnym: po lewej przegląd, pod spodem kanały z wkładem w wyniki wszystkich klientów, sprzedaż (skuteczność zespołu, domknięte transakcje, przychód, średni cykl sprzedaży) i sygnały pojawiające się przy każdym istotnym wzroście albo spadku. Dalej strony poszczególnych klientów z wydajnością, ruchem, pipeline’em, wynikami handlowców i wyszukiwaniem. To pełnoprawny produkt. Znam firmę robiącą 20–30 milionów rocznie, która wyświetla taki dashboard na telewizorach w formie pokazu slajdów, żeby odpowiedzialni handlowcy stale mieli metryki przed oczami. Wariant terminalowy ma świetną kolorystykę i pozwala przechodzić między sekcjami klawiszami 1–6, co jest wygodne podczas prezentacji. Trzeci jest bardziej efektowny, w duchu portfolio.

Publikacja: używam Netlify, które pozwala wystawiać statyczne strony praktycznie za darmo. Dodaję ich zdalny serwer MCP jako własny konektor (bez fragmentu z npx — sam adres), autoryzuję i proszę: wrzuć wariant V3 na Netlify i zabezpiecz hasłem. Gotowa aplikacja ma tryb jasny i ciemny. Łatwo wyobrazić sobie bramkowanie per klient parametrem w adresie i osobnymi hasłami. W praktyce odtworzyliśmy komercyjne oprogramowanie do raportowania marketingowego za jakieś 15 dolarów w tokenach — tyle że z dużo większą ilością danych, niż takie narzędzia w ogóle przyjmują. Jest wskaźnik kondycji klienta, lejek z miejscem wypadania, filtrowanie po koszcie leada i widoczny skok CPL ze średnio stu dolarów do tysiąca stu. Klikam w sygnały i widzę: CL10, tydzień 9 marca, stan krytyczny, 3 leady zamiast zwykłych 58.

Zachęcam, żebyście mieli coś takiego przynajmniej dla własnych firm. Wraz z potokiem pozyskiwania danych da się to złożyć w jakieś trzydzieści minut — a ja pracowałem na tanich modelach i z limitami na karku. We własnych firmach traktuję tokeny jak koszt prowadzenia biznesu; w jednym miesiącu wydałem na nie 14–15 tysięcy dolarów i chętnie odpalam wiele podagentów Fable 5 naraz, korzystając z trybu szybkiego, który daje mniej więcej dwukrotne przyspieszenie.

Build 8: automatyczne follow-upy

Ostatni budowany system: wysokiej jakości follow-upy mailem i SMS-em, tym razem sterowane harmonogramem, nie zdarzeniem.

Sprzedaż i marketing zwykle pracują w CRM-ie, czyli systemie zarządzania relacjami z klientami, gdzie zebrane są leady wraz z historią rozmów. Zbudowałem prosty CRM w ClickUpie, dość zbliżony do mojego prawdziwego: nazwa firmy, kwota transakcji, kontakt, data wystawienia faktury, liczba dni zaległości, termin płatności, data zapłaty, usługi. To w istocie ulepszony arkusz — możecie użyć Notion, Asany, Pipedrive’a, czego chcecie. Klienci są rozbici na etapy: aktywni oraz ci, do których faktura poszła i czekamy na płatność.

Problem: po jakimś czasie robi się z tego bałagan. Mnóstwo osób, różne terminy, różne kwoty. Rzeczywistość jest taka, że prawie nikt nie pilnuje follow-upów tak solidnie, jak powinien — ani przy fakturach, ani przy prospektach, ani nawet przy prostym „czy będziesz na umówionym spotkaniu?”. Samo solidne domykanie follow-upów potrafi dodać 20–30 procent przychodu organizacji.

Można to zestawić ze speed to lead. Wcześniej z dziesięciu leadów na rozmowę wchodziło trzech, czyli 30 procent; po wdrożeniu — sześciu. System follow-upowy działa analogicznie: z dziesięciu potencjalnych klientów podpisywało dwóch, teraz trzech. Pierwsze to 200 procent poprawy, drugie 150 — złożone dają 300 procent. Firma robiąca 250 tysięcy miesięcznie idzie do 750 tysięcy, czyli wytwarzacie pół miliona miesięcznie wartości ekonomicznej. Nawet 10 procent tego to 50 tysięcy miesięcznie.

Mechanika: odpytujemy CRM, czytamy historię korespondencji z prospektem, sprawdzamy warunki wyzwalające (czy ta osoba potrzebuje szturchnięcia, czy przekazała nam potrzebne informacje, co pozostaje otwarte), wybieramy szablon z wcześniej przygotowanej biblioteki i wysyłamy. Codziennie od nowa. Użycie biblioteki szablonów zamiast pisania „na żywca” przez AI daje wyższą jakość i lepsze dopasowanie do waszego tonu, a katastrofalnych wpadek jest znacznie mniej. Kadencję ustalacie sami: brak odpowiedzi 7 dni po ofercie, zignorowane pytanie, prośba „odezwij się za miesiąc” w momencie, gdy ten miesiąc mija, albo sygnał ciepła — kilkakrotne otwarcie ostatniego maila.

Zaczynam od sprawdzenia biblioteki konektorów: wpisuję ClickUp i okazuje się, że gotowy konektor istnieje, więc podłączam go jednym kliknięciem i wskazuję konkretną listę w przestrzeni „operations”. Jak zawsze zaczynam od końca: proszę o wyciągnięcie wszystkich rekordów z siedmioma dniami zaległości. Dostaję trzy pozycje, a potem sprawdzam, czy da się pobrać adresy e-mail — wszystkie kontakty przekierowałem na własną skrzynkę do celów demonstracyjnych.

Próba wysyłki się nie udaje. Pytam wprost, czy konektor Gmaila naprawdę nie ma narzędzia wysyłki, i każę to sprawdzić zamiast opierać się na nazwach narzędzi. Model weryfikuje i potwierdza: są tworzenie i aktualizacja wersji roboczej, nie ma wysyłki wiadomości ani wersji roboczej. Pytanie nie brzmi „czy natrafię na błąd”, tylko „kiedy”. Pytam więc o opcje i wybieram Gmail API z własnym klientem OAuth. Model buduje krótki potok, pisze skrypt uwierzytelniający, daje mi link do zalogowania w Google Cloud Console i wysyła wiadomość testową na mój adres. Działa.

Poprawiam copy: „napisz dziesięć prostych wiadomości do check-inów, bardzo lekkim językiem, żadnego nacisku, delikatne szturchnięcia mieszczące się w jednej linijce”. Tematy proste: „{imię}”, „faktura {imię}”, „jak leci”. To nie są nachalne follow-upy — skoro mają lecieć automatycznie w pętli, lepiej być milszym niż ostrzejszym. Wyrzucam półpauzy, każę nie wspominać numeru faktury i podpisywać wszystko „dzięki – Nick”.

Pełna instrukcja przepływu brzmi: raz dziennie odpytaj ClickUpa, ustal, kto ma 1, 2, 3, 7, 14, 21, 28, 56 albo 84 dni zaległości, dla każdej trafionej osoby wyślij szablon z podstawionymi prawdziwymi danymi (do Eriki piszemy „Cześć Erika”, nie „Cześć {imię}”), nigdy nie wysyłaj dwa razy z rzędu tego samego szablonu, a przed wysyłką przejrzyj całą historię korespondencji z tą osobą, żeby nie powtórzyć wiadomości. Dokładam też warunek wyjścia: jeśli prospekt wyraźnie prosi, żeby przestać, oznacz to w zadaniu ClickUp i nie wysyłaj maila.

Model wykonuje pełny bieg i narracyjnie opisuje, co robi: sprawdza dostępne pola do oznaczania (notatki i etap chase z opcją „zamknięte”), dopasowuje rekordy z siedmioma dniami, przeszukuje Gmaila, wybiera szablon numer trzy (pamiętając, że jeden i dwa poszły wcześniej), przeprowadza test ścieżki rezygnacji na spreparowanej odpowiedzi „przestańcie do mnie pisać, kwestionujemy tę fakturę przez prawnika”, ustawia etap na zamknięty i dopisuje komentarz do śladu audytowego. W pewnym momencie próbuje ograniczyć się do jednego rekordu — dopytuję, dlaczego jeden, skoro były trzy, i każę uruchomić to naprawdę. Claude często tak robi, żeby oszczędzić tokeny, co samo w sobie jest raczej pozytywnym zachowaniem.

Potem standardowo: skill z prostym, wypunktowanym SOP-em, tak żeby przyszła instancja Claude bez kontekstu naszej rozmowy potrafiła to wykonać niezawodnie; pętla o 5:59; rutyna z konektorem ClickUp w środowisku chmurowym. Na koniec dokładam SMS-y: podpinam konektor Qo i mówię, żeby oprócz maila wysyłał wiadomość na numer pobrany z ClickUpa. Tak łatwo modyfikuje się te przepływy — choć oczywiście przed użyciem na skalę trzeba to przetestować, bo, jak widzieliście, błędy zdarzają się regularnie.

Sposobów na ulepszenie jest sporo: wyższej jakości szturchnięcia, dostarczanie konkretnej wartości w sekwencjach (case studies, materiały), insighty, kontakt przed spotkaniem i po nim, historie klientów, delikatne check-iny przy obiekcjach cenowych. Warto też zauważyć: jeśli ścigacie kogoś dłużej niż 84 dni, macie większy problem niż kadencja follow-upów.

Utrzymanie systemów

Pierwsza rada: załatwcie sobie z góry wszystkie dane logowania i uwierzytelnienia. W praktyce logowanie i autoryzacja to jakieś 70 procent wszystkich zgłoszeń serwisowych, jakie miałem. Typowy scenariusz: usługa się aktualizuje, konektor przestaje działać, klient się wścieka albo uznaje, że system nie działa, dzwoni w środku nocy, a wy w pośpiechu łatacie, przy czym i tak musicie umówić się z klientem, żeby przeprowadzić ponowną autoryzację. To źle wygląda i jest niepotrzebne. Mimo że bezpieczniej jest nie trzymać cudzych poświadczeń, o wiele łatwiej reaguje się z dostępem podstawowym.

Mając poświadczenia, możecie zbudować przepływ debugujący. W środowisku lokalnym (albo w chmurowym, jeśli mówimy o rutynie) zapisujecie nie tylko klucze, ale i loginy oraz hasła, na przykład CLICKUP_USERCLICKUP_PW. Potem dodajecie linijkę: jeśli pojawi się problem z autoryzacją, zaloguj się przy użyciu tych poświadczeń, przejdź do właściwej sekcji i wygeneruj nowy klucz API. Modele mają dziś przeglądarki — Claude sam otwiera okno przeglądarki przy budowie strony i może realnie zalogować się za was do usługi. Jeśli coś ma być długoterminową infrastrukturą biznesową, często trzeba trochę odpuścić i powiedzieć: weź login, zaloguj się i zrób, co trzeba.

Druga rzecz to samoleczenie. Przy każdym innym problemie dajcie modelowi pełną autonomię naprawy i ponownego uruchomienia. Najprościej wyobrazić to sobie jako danie systemowi AI możliwości przepisywania własnych instrukcji: jeśli krok w skillu ciągle zawodzi, zaktualizuj instrukcje skilla i spróbuj ponownie. Wystarczy dopisać na dole skilla, pętli albo rutyny zdanie w rodzaju: „jeśli przy tej samej czynności trafisz na ten sam błąd więcej niż trzy razy, prawdopodobnie coś istotnego zmieniło się w systemie, z którym się komunikujesz. Oceń tę zmianę, zbadaj ją i spróbuj rozwiązać problem — masz pełną autonomię. Po rozwiązaniu zgłoś to i zaktualizuj własny skill, dopisując do dziennika zmian problem i rozwiązanie. Dopisuj kolejne wpisy przy każdej takiej sytuacji, żebyśmy zawsze mieli zapis, co się stało i dlaczego”.

To jedna z tych rzeczy, które można skopiować i wkleić dosłownie wszędzie, uzyskując wyraźnie lepszy system. Nie twierdzę, że to niezawodne — zdarzało mi się dać zbyt szeroki dostęp do samonaprawy i model przez jakiś przypadkowy limit zapytań przebudował się w sposób, który wszystko popsuł. Ale takie przypadki są znacznie rzadsze niż sytuacje, w których model potyka się o chwilowy limit i po prostu się poddaje. Sensem automatyzacji jest to, żeby działała bez rąk. Chcemy eliminować ludzką pracę tam, gdzie się da, żeby przekierować ją tam, gdzie jest bardziej dochodowa i, ostatecznie, bardziej satysfakcjonująca. Po co pleść kosze ręcznie, skoro można zbudować maszynę do plecenia koszy, wejść o poziom wyżej i tę maszynę doglądać? A tu maszyna dodatkowo sama się czyści i naprawia.

Trzecia rzecz to logowanie błędów. Odchodząc od starych narzędzi typu make.com czy n8n, weszliśmy w epokę cichej apokalipsy błędów: rzeczy się psują, a my tego nie widzimy, bo nie mamy prostych kanałów powiadomień. W tamtych narzędziach dostawaliście automatyczne logi błędów, pełną historię zmian, widoczne na diagramie nieudane wykonania i powiadomienia mailowe czy push. Wiedzieliście, że coś się zepsuło, więc naprawialiście to znacznie szybciej. Ponieważ AI rozwija się bardzo szybko i każdy buduje coś trochę innego, nie mamy dziś takiej standardowej obserwowalności.

Minimum, które stosuję: wszystkie rutyny prowadzące mój biznes mają możliwość logowania błędów do dedykowanego kanału błędów. Najważniejsze jest, żeby błąd był widoczny. Jeśli firma pracuje na WhatsAppie, wrzucajcie tam; jeśli na Slacku — na Slacka; jeśli na Discordzie — na Discorda. Zawsze do kanału przeznaczonego wyłącznie na błędy, z komunikatem typu „błąd przy X, próbowano Y, udało się / nie udało”. Wtedy każdy w organizacji ma pełną widoczność procesów.

W praktyce: podpinacie konektor Slacka i dopisujecie na końcu instrukcji zdanie „jeśli wystąpią błędy, wyślij powiadomienie na kanał #errors”. Testuję to na przykładowym komunikacie: „powiadomienie testowe, usługa: invoice chase worker, środowisko: produkcja, treść: cannot read properties of undefined, liczba wystąpień: 1, to wiadomość testowa weryfikująca alerty”. Potem proszę o zebranie wszystkich informacji potrzebnych, żeby nie trzeba było ponownie szukać kanału, i wklejam ten blok dosłownie do rutyny „Maker School daily ad batch”, dodając na potrzeby demonstracji polecenie udawania błędu. Rutyny można uruchamiać ręcznie — robię to i widzę, jak najpierw klonuje repozytorium, potem inicjalizuje sesję. Można też dodać skrypt startowy odpalany przy każdym uruchomieniu. Warto wiedzieć, że rutyna chmurowa działa wolniej niż lokalna sesja Claude Code. Po chwili na Slacku pojawia się błąd: „upload na Dysk zablokowany dla paczki reklam Maker School — hurtowy upload plików PNG i arkusza kontaktowego utknął, konektor Dysku przyjmuje tylko…”.

Dzięki temu mamy obserwowalność i możemy zatrzymać wiele problemów, zanim staną się problemami. Jeśli rutyna odpala się o 5:59, a wyniki są potrzebne komuś o ósmej, macie dwie godziny na naprawę. Bez logowania dowiedzielibyście się dopiero, gdy ta osoba przyjdzie do biura, potem trzeba by debugować i wdrażać poprawkę — i nagle kluczowy deliverable jest opóźniony o pięć czy sześć godzin.

Zaawansowane wnioski

Pierwszy: skuteczność bije wydajność. Widzę mnóstwo ludzi robiących wszystko, żeby być maksymalnie efektywnym — ścinają ułamki procenta w procesach, walczą o setne części sekundy opóźnienia, redukują marże, bo „wydają mniej”. Potem patrzą na wskaźniki i widzą, że wszystko jest znacznie wydajniejsze niż kiedykolwiek — po czym sprawdzają przychód i pytają, czemu jest tak niski. Powód: automatyzujecie procesy, które i tak nie były dla biznesu istotne. Wydajność to robienie rzeczy szybko i tanio. Skuteczność to robienie właściwych rzeczy i alokowanie zasobów tam, gdzie realnie przesuwają wskaźniki organizacji.

Przykład. Zgłosił się do mnie fundusz private equity pracujący z firmami „niebieskich kołnierzyków” — elektrycy, wywóz gruzu, przeprowadzki. W private equity chodzi o umawianie spotkań z właścicielami firm zainteresowanych inwestycją albo sprzedażą. Powiedzieli: spędzamy godzinę tygodniowo na telefonach z właścicielami, robiąc due diligence i budując relacje — chcemy to zautomatyzować agentem głosowym, bo zaoszczędzimy pieniądze. Pomyślałem: bracie, zautomatyzujesz jedną godzinę tygodniowo. To jak ten mem z propozycją wymiany: ty dostajesz godzinę tygodniowo, a w zamian otrzymujesz dewastację swojego biznesu. Jeśli automatyzujecie rdzeń tego, co przynosi wam pieniądze, lepiej zróbcie to naprawdę dobrze. A jeśli jedynym sposobem, w jaki zarabiacie, jest rozmowa z właścicielami firm, to oszczędzanie na tym godziny tygodniowo nie ma najmniejszego sensu. Jeśli nie stać cię na godzinę tygodniowo na najważniejszej rzeczy w firmie, to czy ty w ogóle masz firmę?

Sam robię wiele rzeczy ręcznie i ludzie mnie o to pytają. Nie chodzi o to, że robię ręcznie wszystko — po prostu jedyna praca, którą wykonuję, to praca wymagająca mojej pełnej uwagi. Nagrywanie takich filmów. Rozmowy sprzedażowe ze średnimi i dużymi firmami, gdzie moja obecność realnie zmienia prawdopodobieństwo domknięcia. Stosowanie mojego mięsnego mózgu do prawdziwych problemów w firmie — a nie do księgowości czy scrapowania leadów.

Jeśli więc wprowadzacie AI i automatyzację, unikajcie myślenia o wydajności. Nie patrzcie na koszt ani na szybkość. Pytajcie: co odciąga mnie od bycia skutecznym? Co mogę zautomatyzować, żeby mieć więcej czasu na rzeczy napędzające górną linię biznesu i dolną linię życia?

Co więc automatyzować, a czego nie:

  • Wprowadzanie danych — tak. Zautomatyzowaliśmy wzbogacanie leadów o icebreakery. To rutynowa robota, za którą nikt nie dostanie nagrody, a zajmuje 40–50 minut dziennie. Te minuty idą potem na rozmowy sprzedażowe i relacje z klientami.
  • Pierwsze wersje copy i kreacji — tak. Pokazałem, jak generować tysiące obrazów, wideo i tekstów. Ale nie automatyzujcie produkcji finalnego materiału. AI ma być narzędziem do ideacji i specyfikacji koncepcji; wy wybieracie te, które mają sens, podkręcacie je i publikujecie.
  • Relacje z klientami — nie.
  • Raportowanie — tak. Logowanie się do pięciu platform i przeklejanie danych między arkuszami to praca dla systemu. Ale nie automatyzujcie przekazywania złych wiadomości z tych raportów. Automatyczne wysyłanie klientowi sekcji „sygnały” byłoby fatalnym pomysłem — to jedna z tych rzeczy, na których jako człowiek zarabiacie albo tracicie. Usiądźcie z klientem i porozmawiajcie.
  • Umawianie spotkań — tak, ale ostrożnie. Nie automatyzujcie niczego, przy czym klient, prospekt, ktoś, kto wam płaci, musi poczuć się doceniony. Dobry przepływ umawiania pyta „mamy czas we wtorek albo w środę, pasuje ci czternasta?”, zamiast rzucać linkiem do kalendarza. To po prostu bardziej po ludzku.

Idea jest taka, że automatyzacja ma kupować wam więcej czasu z ludźmi, a nie zastępować czas z ludźmi. Te wszystkie generowane przez AI grafiki w tym kursie oszczędzają mi mnóstwo czasu, dzięki czemu mogę rozmawiać z wami — czyli robić to, w czym dostarczam najwięcej wartości. A teraz zestawcie to z gościem, który dostaje SMS od uśmiechniętego robota, wysłany za dwa centy w tokenach: „cenimy cię”. No nie, nie cenicie. To jest wpisane w sam nośnik i sposób wysłania tej wiadomości. Gdybyście naprawdę cenili, przyszlibyście do kawiarni i usiedli ze mną.

Prosty filtr: zapytajcie, czy klient odczuwa ten proces. Czy jest to pierwsza linia kontaktu? Czy w grę wchodzi relacja? Jeśli nie — spokojnie automatyzujcie. Jeśli tak, możecie automatyzować, ale kontrolujcie jakość ręcznie. Zostawcie ludzki element aż do końcowego filtra, bo to wasz gust ma być zastosowany. „Cześć Piotrek, sprawdzisz tę fakturę?” to raczej logistyka. „Cześć Piotrek, chciałbym umówić się na rozmowę o X, Y i Z, bo sądzę, że mogę realnie wpłynąć na twój wynik” — to zostawcie sobie.

Jestem wielkim zwolennikiem automatyzacji, to w końcu mój model biznesowy. Ale jako ktoś, kto sporo jej wdrożył, widzę, że ludzie automatyzują ogromnie za dużo, i w ostatnim czasie obserwuję tego sporo negatywnych skutków.

Zakończenie

Krótkie podsumowanie drogi. Zaczęliśmy od generowania kreacji: reklamy, materiały organiczne, obrazy i wideo. Najpierw ustandaryzowany przepływ kompozycyjny w HTML w stylu Stripe’a, potem generatory obrazu jak GPT Image 2, potem wideo z Gemini Omni i Sea Dance. Następnie góra lejka od strony copy: personalizacja newsletterów i outreachu, pokazana na produkcie, który realnie prowadzę. Potem środek lejka: speed to lead mailem, SMS-em i głosem — z odpytywaniem skrzynki lokalnie albo z rutyną chmurową odpalaną przez API. Dalej zbieranie danych i tracking oraz dashboard, który możecie hostować dla siebie albo sprzedawać. Na koniec dół lejka: automatyzacja follow-upów.

Dziękuję, że dotrwaliście do końca. Pracowałem do tej pory z wieloma firmami i ten kurs jest próbą sprasowania wszystkiego, co wiem, w kilka godzin. Jeśli materiał był wartościowy, proszę o dwie rzeczy. Po pierwsze, subskrypcję — wkładam w to sporo pracy, a większość oglądających nie jest zasubskrybowana; będę to robił niezależnie od liczby subskrypcji, ale wsparcie pomaga. Po drugie, jeśli rozważacie wykorzystanie tych narzędzi, żeby pomagać innym firmom, sprawdźcie Maker School — mój 90-dniowy program, który gwarantuje jednego klienta albo zwrot pieniędzy, z bardzo szczegółowym programem dzień po dniu i moją obecnością w społeczności siedem dni w tygodniu. Uważam go za najbardziej znaczącą rzecz, jaką zrobiłem. Powodzenia i do dzieła.

10 najważniejszych takeaways — z kontekstem zastosowania

1.Idźcie drabiną prompt → skill → pętla → rutyna, nigdy odwrotnie

Na czym polega: Każdy system buduje się najpierw jako ręczny prompt, potem jako zapisany zestaw instrukcji (skill), potem jako harmonogram na własnym komputerze (pętla), a na końcu jako rutyna w chmurze, niezależna od waszej maszyny. Każdy szczebel weryfikuje poprzedni.

Jak stosować: Zacznijcie od jednorazowego wykonania zadania w rozmowie z modelem. Dopiero gdy wynik jest zadowalający, poproście o skonsolidowanie rozmowy w skilla, przetestujcie go w świeżym czacie bez kontekstu, dopiero potem zapętlajcie i przenoście do chmury. Regułą kciuka jest: gdy powtarzacie to samo polecenie drugi raz, czas na skilla.

Na co uważać: Przejście na wyższy szczebel wymaga zwykle dołożenia autonomii — model, który dotąd dopytywał was o decyzje, o 5:59 rano nie ma kogo zapytać. Trzeba też osobno wnieść poświadczenia do środowiska chmurowego; klucze z lokalnego środowiska tam nie trafiają.

2.Automatyzujcie wąskie gardło, nie wszystko naraz

Na czym polega: Przepustowość całego procesu wyznacza jego najwęższy krok. Poprawa kroku niebędącego wąskim gardłem nie zmienia wyniku firmy o ani jeden procent.

Jak stosować: Zanim cokolwiek zbudujecie, narysujcie lejek i wpiszcie realne pojemności: ile kreacji miesięcznie, ile leadów, ile umówionych spotkań, ile domknięć. Zaadresujcie najwęższy etap i dopiero po jego poszerzeniu szukajcie kolejnego. Ten sam test stosujcie, oferując systemy klientom.

Na co uważać: Wąskie gardło się przesuwa — po poszerzeniu kreacji ograniczeniem może zostać dystrybucja albo obsługa leadów. Nie sprzedawajcie efektownego systemu firmie, która ma problem gdzie indziej, bo nie zobaczy zwrotu i uzna, że automatyzacja nie działa.

3.Zawsze weryfikujcie wykonalność ręcznie, zanim zbudujecie system

Na czym polega: Przed automatyzacją wykonajcie docelowy rezultat ręcznie w narzędziu docelowym i sprawdźcie, czy w ogóle jest osiągalny w akceptowalnej jakości.

Jak stosować: Zanim podłączycie model obrazu do Claude, wygenerujcie jedną reklamę ręcznie w interfejsie. Zanim zbudujecie skilla do newslettera, wykonajcie jedno wzbogacenie i podejrzyjcie mail w docelowej platformie. Zaczynajcie od końca i cofajcie się w stronę systematyzacji.

Na co uważać: Weryfikacja obejmuje też integracje — konektor może nie mieć funkcji, której potrzebujecie (jak w przypadku braku wysyłki maili w konektorze Gmaila). Każcie modelowi realnie sprawdzić dostępne narzędzia, a nie zgadywać po ich nazwach. Bez tego zautomatyzujecie proces, którego wynik i tak jest zły.

4.Rozróżniajcie narzędzia kompozycyjne i generatywne — mają różny koszt i różną trafność

Na czym polega: Kompozycja (HTML, CSS, ImageMagick) daje przewidywalny wynik w około 80 procentach przypadków i kosztuje grosze. Generowanie piksel po pikselu daje wynik użyteczny w mniej więcej 25 procentach i kosztuje realne pieniądze — podwójnie, bo potrzebujecie średnio czterech prób na jedno trafienie.

Jak stosować: Proste, powtarzalne formaty — nagłówek, gradient, logo, CTA — róbcie proceduralnie. Sięgajcie po modele obrazu i wideo tam, gdzie potrzebna jest scena, produkt w kontekście, człowiek. Zakładajcie w budżecie czterokrotność potrzebnej liczby generacji.

Na co uważać: Nie mieszajcie obu podejść w jednej warstwie — nakładanie kompozycji na obraz generowany zwykle wygląda źle. I nie wierzcie w pokazywane w sieci pojedyncze udane generacje; nikt nie publikuje trzech nieudanych, które je poprzedziły.

5.Im więcej swobody dacie modelowi, tym mniej powtarzalny będzie wynik

Na czym polega: Swoboda modelu jest źródłem zarówno kreatywności, jak i rozjazdu. W biznesie chcecie powtarzalności, więc trzeba świadomie ograniczać przestrzeń zmienności.

Jak stosować: Zamiast prosić o „reklamę w stylu tej reklamy”, każcie modelowi rozłożyć wzorzec na pasy i elementy, wskazać, które z nich są dźwigniami do zmiany, a które muszą pozostać stałe. Celujcie w szablon, w który podmieniacie produkt i z 80-procentową pewnością dostajecie sensowny wynik.

Na co uważać: Zbyt mocne ograniczenie daje z kolei nudną jednorodność — w kursie widać, że wszystkie warianty wyszły pionowe, dopóki nie poproszono o wariację kąta. Trzymajcie świadomy zestaw parametrów, które celowo losujecie.

6.Miękkie zmienne biją zmienne twarde, ale mail musi napisać człowiek

Na czym polega: Zamiast wstawiać do szablonu surowe dane (imię, miasto, hobby), przepuszczacie je przez model, który zamienia je w krótkie, naturalnie brzmiące fragmenty zdania.

Jak stosować: Napiszcie cały mail ręcznie, według sprawdzonych praktyk, i zostawcie dwa–trzy miejsca na zmienne miękkie. Nazwy zmiennych piszcie długo i opisowo, bo są instrukcją dla modelu. Wymuście krótkość: około dziesięciu słów na fragment, pięciu na parafrazę wyzwania. Każcie modelowi różnicować konstrukcje zdań między wierszami i korzystać z pozostałych pól.

Na co uważać: Fragment musi gramatycznie wpasować się w zdanie, w które go wklejacie — podajcie modelowi dokładny kontekst docelowy, inaczej dostaniecie tekst zaczynający się od imienia w trzeciej osobie. Sprawdźcie też składnię zmiennych w swojej platformie mailingowej; bywa inna niż zakładacie. Im mniejszy udział słów wygenerowanych przez AI, tym mniejsze ryzyko wykrycia.

7.Speed to lead uruchamiajcie zdarzeniem, nie harmonogramem

Na czym polega: Rutyna chmurowa może być wywoływana przez API albo webhook. Zamiast odpytywać skrzynkę co minutę, wysyłacie żądanie w momencie, gdy formularz zostaje wypełniony.

Jak stosować: Podepnijcie backend formularza, który wyśle maila lub wywoła rutynę, ustawcie rutynę na wyzwalanie przez API, dołóżcie konektory poczty i SMS-a, a resztę wygenerujcie z szablonów z miękkimi zmiennymi. To wydajniejsze i nie wymaga włączonego komputera.

Na co uważać: Nie odpowiadajcie zbyt szybko — reakcja w pięć sekund wygląda sztucznie. Trzydzieści sekund albo krótka zapowiedź w rodzaju „zadzwonię za chwilę” brzmi wiarygodniej. Pilnujcie limitu 160 znaków w SMS-ie, licząc się z długimi imionami, i pamiętajcie o wymogach rejestracyjnych numeru (A2P w Stanach potrafi trwać do dwóch tygodni i bywa odrzucany).

8.Zrównoleglajcie tam, gdzie zadania są od siebie niezależne

Na czym polega: Wielu podagentów pracujących równocześnie nad tym samym zasobem skraca czas z sumy kroków do czasu najdłuższego kroku i pozwala przeszukać znacznie większą przestrzeń rozwiązań.

Jak stosować: Używajcie tego przy zadaniach eksploracyjnych: pięć wariantów designu, wiele podejść do tego samego problemu, generacje kreacji. W jednym briefie zdefiniujcie wspólne wymagania, żeby warianty dało się porównywać (na przykład: każdy wariant musi znajdować te same anomalie).

Na co uważać: To znacznie droższe i szybko wypala limity. Zadania muszą być naprawdę niezależne — inaczej agenci wejdą sobie w drogę. Zwiększa się też ryzyko porażki pojedynczego biegu, ale to akceptowalne, jeśli wystarczy wam jeden dobry wynik z pięciu. Zewnętrzne usługi mają własne limity współbieżności (jak osiem zadań naraz w generatorze wideo).

9.Wbudujcie samoleczenie i widoczne logowanie błędów od pierwszego dnia

Na czym polega: Samoleczenie to instrukcja pozwalająca modelowi po trzech nieudanych próbach zbadać zmianę w zewnętrznym systemie, naprawić ją i zaktualizować własne instrukcje wraz z dziennikiem zmian. Logowanie błędów to kierowanie każdej awarii do dedykowanego kanału tam, gdzie faktycznie pracuje zespół.

Jak stosować: Dopiszcie akapit o samoleczeniu na końcu każdego skilla, pętli i rutyny. Załóżcie kanał #errors na Slacku, WhatsAppie albo Discordzie, podepnijcie konektor i dopiszcie instrukcję raportowania błędu wraz z informacją, co model próbował zrobić i czy się udało. Trzymajcie w środowisku również loginy i hasła, żeby model mógł sam przeprowadzić ponowną autoryzację.

Na co uważać: Zbyt szeroka autonomia naprawcza potrafi zaszkodzić — model bywa, że przebudowuje się przez przypadkowy limit zapytań. Trzymanie cudzych poświadczeń to realne ryzyko bezpieczeństwa i decyzja, którą trzeba uzgodnić z klientem. Nie stosujcie tego przy zadaniach wrażliwych.

10.Skuteczność ponad wydajność — i nie automatyzujcie tego, co klient odczuwa

Na czym polega: Optymalizowanie kosztu i szybkości procesów, które nie napędzają przychodu, daje ładne wskaźniki i płaski wynik. Osobno: część procesów ma wartość właśnie dlatego, że stoi za nimi człowiek.

Jak stosować: Pytajcie nie „co da się zautomatyzować”, tylko „co odciąga mnie od najbardziej wartościowej pracy”. Automatyzujcie wprowadzanie danych, pierwsze wersje copy i kreacji, raportowanie i logistykę. Przed każdą automatyzacją zadajcie test: czy klient odczuwa ten proces? Czy w grę wchodzi relacja? Jeśli nie — automatyzujcie. Jeśli tak — automatyzujcie do etapu przed kontaktem i sprawdzajcie ręcznie.

Na co uważać: Najgorszy błąd to zautomatyzowanie rdzenia tego, co przynosi pieniądze, dla oszczędności godziny tygodniowo. Nie wysyłajcie automatycznie złych wiadomości z raportów ani „doceniających” komunikatów od bota — sam nośnik przeczy treści. Automatyzacja ma kupować wam czas z ludźmi, a nie go zastępować.