Mój automat do produkcji animacji przy pierwszym uruchomieniu nie generuje ani jednego obrazu. Staje i czeka, aż ktoś ręcznie napisze prompty, czyli polecenia, z których AI tworzy obrazy i wideo. Zrobiłem tak celowo, bo właśnie w promptach zapada decyzja, jak film ma wyglądać.
Ten automat to pipeline, czyli taśma produkcyjna: z jednej strony wchodzą materiały źródłowe, z drugiej wychodzi gotowy pakiet dla montażysty. Pierwsze uruchomienie tworzy plik ze stanem pracy, w którym wszystkie pola na prompty są puste, i kończy się komunikatem:
Blokada: brakuje promptow
Dopiero gdy ktoś – ja albo agent AI, z którym pracuję w danej sesji – wypełni te pola ręcznie, ponowne uruchomienie rusza dalej i generuje obrazy oraz wideo.
Ludzie, którym to pokazuję, zwykle pytają, kiedy to dokończę.
01 To jest skończone
Mógłbym wygenerować te prompty automatycznie, zwykłym kodem w Pythonie, czyli języku programowania, w którym działa automat. Dobudowanie funkcji, która bierze scenę ze scenariusza i robi z niej opis obrazu, to godzina roboty.
Zrobiłem to. Potem to wyrzuciłem.
Powód jest prosty: prompt jest miejscem, w którym podejmuje się decyzję artystyczną, a nie miejscem, w którym wykonuje się czynność. Prompt wygenerowany z opisu sceny jest zawsze poprawny i zawsze nijaki. Model AI dostaje uśrednioną wersję intencji i zwraca uśredniony obraz.
Gdy prompt pisze człowiek, w kadrze pojawiają się rzeczy, których nie było w scenariuszu. Scenariusz opisuje, co się dzieje, a nie jak to ma wyglądać.
02 Gdzie przebiega granica
W tym samym pipelinie zautomatyzowane jest praktycznie wszystko inne:
- pobieranie i segregowanie materiałów źródłowych;
- transkrypcja, czyli spisanie mowy, i analiza wideo;
- generowanie scenariusza;
- sprawdzanie faktów w wyszukiwarce, z automatyczną poprawką fałszywych twierdzeń;
- upraszczanie treści do poziomu, który zrozumie pięciolatek;
- render, czyli składanie gotowego filmu, opisy pod każdą platformę, tagi i komplet plików dla montażysty.
Dziewięć etapów, z których osiem nie wymaga ode mnie niczego.
Automatyzuję czynności. Nie automatyzuję decyzji o tym, jak coś ma wyglądać.
03 Dlaczego blokada, a nie ostrzeżenie
Bo ostrzeżenie się ignoruje.
Gdyby pipeline generował domyślne prompty i tylko sugerował ich poprawienie, poprawiałbym je w pierwszym tygodniu, a potem nigdy. Znam siebie. Blokada, która kończy proces, nie zostawia tej furtki.
To ta sama zasada co kontrola przed startem, którą mam w każdym pipelinie: zatrzymaj się z czytelnym komunikatem, zamiast produkować coś, co technicznie się udało.
04 Wniosek
Najlepsze narzędzia AI, jakie zbudowałem, to nie te, które robią najwięcej same. To te, które wiedzą, w którym momencie przestać i oddać robotę człowiekowi.
Pytanie „co jeszcze mogę zautomatyzować” jest łatwe. Trudne jest pytanie, czego nie powinienem.
05 Co z tego wynika dla Ciebie
- Automatyzuj czynności, nie gust. Pobieranie, spisywanie i sprawdzanie oddasz maszynie bez straty. Decyzję, jak coś ma wyglądać, zostaw sobie.
- Postaw blokadę zamiast przypomnienia. Ostrzeżenie zignorujesz po tygodniu. Proces, który bez Twojej decyzji staje, nie zostawia furtki.
- Zaplanuj, gdzie automat ma się zatrzymać. To ważniejsze pytanie niż to, co jeszcze zautomatyzować.
06 Dla technicznych
- Blokada. Pierwszy przebieg zapisuje plik stanu z pustymi polami promptów i kończy się komunikatem
Blokada: brakuje promptow. - Wznawialność. Stan leży w JSON-ie i zapisuje się po każdym wygenerowanym assecie, więc przerwany przebieg nie zaczyna od zera.
- Pre-flight check w każdym pipelinie: stop z czytelnym komunikatem zamiast wyniku, który tylko technicznie się udał.
