Jak zbudowałam w ChatGPT automatyczny monitoring YouTube i dlaczego nie wystarczył jeden prompt?

Chciałam przestać oglądać godzinne filmy tylko po to, żeby znaleźć w nich trzy użyteczne informacje. Cel wydawał się prosty: raz w tygodniu ChatGPT ma sprawdzić pięć wybranych kanałów YouTube i przygotować raport zawierający:

  • co naprawdę jest nowe i ciekawe;
  • co można zastosować w biznesie;
  • co przyda się w doradzaniu innym firmom;
  • które twierdzenia wymagają niezależnej weryfikacji;
  • dokładne znaczniki czasu;
  • jasny werdykt: obejrzeć, przeczytać streszczenie czy pominąć.

Gotowy raport ma pojawiać się w każdą środę rano.

Brzmi jak zadanie na jeden prompt. W praktyce stworzenie działającej automatyzacji wymagało połączenia skilla w ChatGPT, własnej wtyczki MCP, YouTube Data API, Gemini API, Google Cloud Run, Secret Managera i zadania cyklicznego. Po drodze pojawiły się problemy z logowaniem, limitami API, timeoutami oraz najważniejsze – z modelem, który twierdził, że przeanalizował cały film, chociaż dotarł tylko do jego części.

Poniżej opisuję cały proces bez udawania, że był prosty.

Najpierw wybierz właściwy wariant

Nie każdy potrzebuje własnej integracji.

Wariant prosty: pojedyncze filmy

Jeżeli chcesz od czasu do czasu streścić konkretny materiał, zacznij od podania linku w ChatGPT i dokładnego określenia formatu odpowiedzi. Możesz też utworzyć skill watch, który zapamięta sposób analizy.

Nie potrzebujesz wtedy Google Cloud, własnego API ani wtyczki. Musisz jednak zaakceptować, że dostęp do pełnej treści filmu lub transkrypcji nie zawsze będzie możliwy. ChatGPT powinien wtedy wyraźnie oznaczyć analizę jako częściową.

Wariant pełny: monitoring kanałów i raport w każdą środę

Własna integracja ma sens, jeżeli system ma:

  • samodzielnie sprawdzać określone kanały;
  • wykrywać wyłącznie nowe publikacje;
  • analizować długie filmy w całości;
  • działać według stałego formatu;
  • uruchamiać się automatycznie w wybranym dniu.

To właśnie ten wariant zbudowałam.

Czego potrzebujesz?

Po stronie ChatGPT

Potrzebujesz konta, na którym są dostępne:

  • ChatGPT Work;
  • Skills;
  • Plugins;
  • Developer mode;
  • Scheduled tasks.

W moim przypadku wystarczyło konto ChatGPT Plus, ale nie oznacza to, że każdy użytkownik Plus zobaczy identyczne funkcje. Dostępność może zależeć od wdrożenia funkcji, regionu oraz ustawień workspace. Najlepiej sprawdzić, czy w ChatGPT widzisz sekcje SkillsPlugins i Scheduled, a w ustawieniach bezpieczeństwa opcję Developer mode.

OpenAI rozróżnia te elementy bardzo konkretnie:

  • skill przechowuje sposób wykonania zadania i format wyniku;
  • plugin lub serwer MCP daje ChatGPT dostęp do zewnętrznych narzędzi i danych;
  • scheduled task określa, kiedy zadanie ma się uruchamiać.

Sam skill nie pobiera automatycznie danych z YouTube. Jest instrukcją, a nie połączeniem z API.

Po stronie Google

Potrzebujesz:

  • konta Google;
  • projektu w Google Cloud;
  • włączonego YouTube Data API v3;
  • klucza YouTube API;
  • klucza Gemini API;
  • Secret Managera do bezpiecznego przechowywania kluczy;
  • Cloud Run do uruchomienia konektora;
  • Cloud Shell do wklejania i uruchamiania kodu.

Nie trzeba instalować programu na komputerze. Całość można wykonać w przeglądarce. Google może jednak wymagać podpięcia rozliczeń, a Cloud Run, Secret Manager i Gemini mogą generować koszty po przekroczeniu darmowych limitów lub środków promocyjnych.

YouTube Data API wymaga projektu Google, włączonej usługi i danych uwierzytelniających. Dla publicznych danych kanałów wystarczy klucz API; OAuth jest potrzebny dopiero do prywatnych danych użytkownika.

Jak działa całe rozwiązanie

Proces wygląda tak:

  1. Zadanie cykliczne uruchamia się w środę rano.
  2. Skill watch określa zasady selekcji i format raportu.
  3. Wtyczka pyta YouTube Data API o publikacje z ostatnich siedmiu dni.
  4. ChatGPT wybiera materiały o największej wartości biznesowej.
  5. Gemini analizuje treść wybranych filmów.
  6. Dłuższe filmy są dzielone na fragmenty po maksymalnie 10 minut.
  7. Fragmenty są analizowane kolejno, nigdy równolegle.
  8. Werdykt powstaje dopiero wtedy, gdy wszystkie fragmenty zostały poprawnie przetworzone.
  9. Ważne liczby i twierdzenia są sprawdzane w niezależnych źródłach pierwotnych.
  10. Gotowy raport pojawia się w sekcji Scheduled.

YouTube Data API służy tutaj do wykrywania filmów i pobierania metadanych: tytułu, kanału, daty publikacji, identyfikatora i długości. Nie zapewnia swobodnego pobierania pełnych napisów z dowolnego cudzego filmu. Treść publicznego filmu analizuje Gemini.

Krok 1. Utwórz skill watch

W ChatGPT wpisz:

@skill-creator Utwórz osobisty skill o nazwie watch.

Skill ma analizować pojedyncze filmy YouTube oraz przygotowywać cotygodniowy
briefing z wybranych kanałów. Dla każdego filmu ma podawać:
1. link, kanał, datę publikacji i rzeczywistą długość;
2. co jest naprawdę nowe i ciekawe;
3. zastosowania we własnym biznesie;
4. zastosowania przy doradzaniu innym firmom;
5. twierdzenia liczbowe, prawne, finansowe i zaskakujące wymagające
   niezależnej weryfikacji;
6. prawdziwe linkowane znaczniki czasu;
7. werdykt: Warto obejrzeć / Streszczenie wystarczy / Można pominąć.

Nie wolno wnioskować o treści filmu z samego tytułu, miniatury ani opisu.
Jeżeli pełna treść lub transkrypcja nie jest dostępna, skill ma oznaczyć
analizę jako częściową i nie wydawać ostatecznego werdyktu.
Raport ma być po polsku.

To tworzy metodę pracy. Nadal nie tworzy połączenia z YouTube.

Krok 2. Poproś ChatGPT o zbudowanie integracji

Najlepiej od początku przekazać pełne wymagania. Taki prompt ograniczy liczbę nieporozumień:

Chcę zbudować w ChatGPT cotygodniowy monitoring pięciu publicznych kanałów
YouTube. Raport ma pojawiać się w środę rano i korzystać ze skilla @watch.

Kanały:
- [URL KANAŁU 1]
- [URL KANAŁU 2]
- [URL KANAŁU 3]
- [URL KANAŁU 4]
- [URL KANAŁU 5]

Zbuduj połączenie przez YouTube Data API v3 i Gemini API. YouTube API ma
służyć tylko do wykrywania nowych filmów i pobierania metadanych. Gemini ma
analizować obraz i dźwięk publicznych filmów.

Wymagania techniczne:
- utwórz serwer MCP działający na Google Cloud Run;
- przechowuj klucze wyłącznie w Google Secret Manager;
- nie zapisuj kluczy w kodzie, promptach ani logach;
- udostępnij działania: list_configured_channels, list_recent_uploads,
  analyze_video i analyze_video_segment;
- filmy dłuższe niż 10 minut dziel na kolejne segmenty;
- używaj start_seconds i end_seconds dla każdego segmentu;
- segmenty wywołuj kolejno, nie równolegle;
- nie wydawaj werdyktu, jeżeli choć jeden segment nie został przeanalizowany;
- nie traktuj deklaracji modelu „cały film” jako dowodu kompletności;
- przed utworzeniem automatyzacji wykonaj pełny test na krótkim i ponad
  godzinnym filmie.

Prowadź mnie po jednym kroku. Po każdym kroku poczekaj na mój wynik lub
zrzut ekranu. Nie każ mi wklejać kluczy API do czatu.

Ten ostatni punkt jest bardzo ważny. ChatGPT może napisać kod i przygotować polecenia, ale użytkownik powinien sam tworzyć oraz zapisywać klucze w Google Cloud.

Krok 3. Skonfiguruj Google Cloud

W Google Cloud należy:

  1. Utworzyć nowy projekt, np. yt-watch.
  2. Włączyć YouTube Data API v3.
  3. Utworzyć klucz API ograniczony do YouTube Data API v3.
  4. Utworzyć klucz Gemini API.
  5. Zapisać oba klucze w Secret Managerze, np. jako:
    • youtube-api-key;
    • gemini-api-key.
  6. Otworzyć Cloud Shell.
  7. Utworzyć katalog aplikacji i pliki przygotowane przez ChatGPT.
  8. Sprawdzić składnię kodu.
  9. Wdrożyć aplikację na Cloud Run.

Klucz API wyświetla się zwykle tylko podczas konfiguracji. Nie rób zrzutu ekranu z widocznym kluczem i nie wklejaj go do rozmowy. Jeżeli klucz został ujawniony, należy go usunąć lub unieważnić i wygenerować nowy.

Po udanym wdrożeniu Cloud Run pokazuje komunikat, że nowa rewizja obsługuje 100 percent of traffic. To oznacza tylko, że nowa wersja aplikacji otrzymuje cały ruch. Nie oznacza, że Gemini przeanalizował 100% filmu.

Krok 4. Podłącz serwer MCP do ChatGPT

Serwer musi mieć publiczny adres HTTPS zakończony ścieżką /mcp.

W ChatGPT:

  1. Otwórz Settings.
  2. Przejdź do Security and login.
  3. Włącz Developer mode.
  4. Otwórz Plugins.
  5. Kliknij przycisk dodawania nowego połączenia.
  6. Nadaj mu nazwę, np. YT Watch.
  7. Wklej adres:
https://[ADRES-USŁUGI-CLOUD-RUN]/mcp

Po utworzeniu połączenia sprawdź, czy ChatGPT widzi cztery działania:

  • list_configured_channels;
  • list_recent_uploads;
  • analyze_video;
  • analyze_video_segment.

Jeżeli po zmianie kodu nowe działanie nie pojawia się na liście, samo odświeżenie strony może nie wystarczyć. W naszym przypadku trzeba było odłączyć wtyczkę i dodać ją ponownie, aby ChatGPT pobrał aktualny schemat narzędzi.

Krok 5. Przetestuj cały proces przed ustawieniem w środy

Nie wystarczy sprawdzić, czy wtyczka znajduje filmy. Trzeba osobno przetestować:

  • wykrywanie kanałów;
  • listę nowych publikacji;
  • rzeczywistą długość filmu;
  • analizę krótkiego filmu;
  • podział dłuższego filmu;
  • analizę każdego segmentu;
  • pełne pokrycie osi czasu;
  • blokowanie werdyktu przy brakującym segmencie;
  • weryfikację twierdzeń liczbowych;
  • zachowanie przy błędach API.

W naszym teście film trwający 16:02 został podzielony na dwa zakresy:

  • 00:00–10:00;
  • 10:00–16:02.

Następnie przetestowałyśmy film o długości 1:12:53. System utworzył osiem segmentów i przetworzył kolejno wszystkie zakresy od 00:00 do 1:12:53 bez błędów limitu i timeoutu.

Krok 6. Utwórz środowe zadanie

Po pomyślnym teście można poprosić ChatGPT:

Utwórz cotygodniowe zadanie „YT Watch Briefing”, uruchamiane w każdą środę
rano w mojej strefie czasowej.

Użyj skilla @watch oraz wtyczki YT Watch. Pobierz filmy opublikowane w
ostatnich 7 dniach na pięciu skonfigurowanych kanałach. Najpierw wybierz na
podstawie metadanych maksymalnie 5 materiałów o największej wartości dla
ulepszania biznesu i doradzania innym firmom.

Dla każdego wybranego filmu wywołaj analyze_video. Jeśli odpowiedź zawiera
requires_segmented_analysis=true, wywołaj analyze_video_segment osobno dla
KAŻDEGO zakresu zwróconego w polu segments, używając dokładnych wartości
start_seconds i end_seconds. Segmenty uruchamiaj kolejno, nie równolegle.

Końcowe streszczenie i werdykt przygotuj dopiero po poprawnym przetworzeniu
wszystkich segmentów. Jeżeli choć jeden segment się nie powiedzie, oznacz
analizę jako częściową, podaj brakujący zakres i nie wydawaj ostatecznego
werdyktu.

Raport ma zawierać: Najważniejsze w tym tygodniu, link i długość filmu,
konkretne nowości, zastosowanie biznesowe, zastosowanie doradcze, twierdzenia
do niezależnej weryfikacji, prawdziwe linkowane timestampy, werdykt oraz
3–5 rekomendowanych działań. Dodaj również krótką listę pominiętych filmów
z uzasadnieniem. Nie powtarzaj filmów z wcześniejszych raportów.

Raporty z kolejnych uruchomień pojawią się w widoku Scheduled.

Co poszło nie tak

1. Klucz API pojawił się na zrzucie ekranu

To był błąd bezpieczeństwa. Klucz został usunięty i wygenerowany ponownie. Najważniejsza zasada: kluczy nie przekazujemy ChatGPT i nie zapisujemy w kodzie. Umieszczamy je w Secret Managerze.

2. Cloud Shell zgubił aktywne konto

Wdrożenie zakończyło się komunikatem o braku aktywnego konta. Trzeba było ponownie wybrać konto Google i projekt. W innej sesji Cloud Shell potrzebne było również ponowne uwierzytelnienie.

3. Pierwsze wdrożenie Cloud Run się nie udało

Pojawił się problem z odświeżeniem tokenów uwierzytelniających. Dopiero po ponownym zalogowaniu i wybraniu właściwego projektu usługa została wdrożona.

4. Model twierdził, że przeanalizował cały film

To był najpoważniejszy błąd. Film trwał 1:12:53, ale pierwsza analiza kończyła się znacznie wcześniej. Gemini mimo to deklarował pełną analizę. Sam prompt „nie zgaduj” nie wystarczył.

Dodany mechanizm porównywał długość filmu z timestampami, ale początkowo również zawiódł: uznał czas wpisany przez model w nagłówku za dowód faktycznego pokrycia. Trzeba było oddzielić deklarowany zakres od rzeczywistych timestampów w sekcji merytorycznej.

5. Markdown zepsuł parser

Gemini raz zapisał nagłówek jako zwykły tekst, a innym razem pogrubił go gwiazdkami. Parser nie rozpoznał pogrubionej wersji i zwrócił 0%. To nie wpłynęło na bezpieczeństwo – werdykt pozostał zablokowany ale wymagało kolejnej poprawki.

6. Pojawiły się błędy 429 i 504

429 oznaczał przekroczenie limitu Gemini, a 504 – że pojedyncza operacja trwała zbyt długo dla połączenia z ChatGPT. Próba wysłania całego ponadgodzinnego filmu jednym zapytaniem okazała się nieodporna na limity.

Rozwiązaniem było użycie obsługiwanych przez Gemini zakresów początku i końca filmu oraz analiza maksymalnie 10-minutowych segmentów. Segmenty są uruchamiane kolejno, co ogranicza rozmiar pojedynczego zapytania i ryzyko przekroczenia limitu minutowego.

7. ChatGPT pamiętał starą listę działań wtyczki

Po dodaniu analyze_video_segment kod w Cloud Run działał, ale bieżący czat nadal widział tylko wcześniejsze trzy działania. Trzeba było odłączyć i ponownie dodać wtyczkę.

8. Samo działanie techniczne nie gwarantuje prawdy

W materiale WiseTools pojawiła się liczba 9,3 godziny tygodniowo tracone na poszukiwanie informacji, przypisana McKinsey. Oficjalny raport McKinsey potwierdza skalę problemu, ale nie tę dokładną uniwersalną liczbę w przedstawionym kontekście. Dlatego raport musi oddzielać wypowiedź autora od niezależnie potwierdzonego faktu.

Czy warto to robić?

Do sporadycznego streszczania filmów – nie. Wystarczy dobry prompt lub skill watch.

Do powtarzalnego monitoringu kilku kanałów – tak, ale dopiero wtedy, gdy raport rzeczywiście oszczędza czas i działa bez ręcznego poprawiania wyników. Największą wartością własnej integracji nie jest samo streszczenie. Jest nią kontrola procesu:

  • stała lista kanałów;
  • wykrywanie nowych publikacji;
  • selekcja materiałów według wartości biznesowej;
  • analiza pełnej osi czasu;
  • blokada werdyktu przy brakujących danych;
  • niezależna weryfikacja ważnych twierdzeń;
  • automatyczna dostawa raportu.

Trzeba jednak uczciwie powiedzieć, że nie jest to konfiguracja „na pięć minut”. W naszym przypadku pierwsze uruchomienie i późniejsze naprawy zajęły kilka godzin. ChatGPT wykonał większość pracy technicznej i prowadził krok po kroku, ale nadal potrzebna była obecność użytkownika: logowanie, tworzenie kluczy, wklejanie komend, kontrola komunikatów oraz zauważenie, że wynik nie odpowiada rzeczywistej długości filmu.

Najważniejsza lekcja brzmi więc inaczej niż „AI zrobi wszystko za mnie”: AI może zbudować bardzo użyteczną automatyzację, ale trzeba testować nie tylko to, czy system zwraca odpowiedź. Trzeba sprawdzać, czy ta odpowiedź jest kompletna i prawdziwa.

Oficjalne materiały

Podobne wpisy

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Wymagane pola są oznaczone *