Gemini Agentic Video Mode: Projekt schematu i odchylenia czasowych znaczników
Testy modełów wideo agentywnego i statycznego Gemini w chińskim filmie fabularnym: w jaki sposób projekt schematu wpływa na dokładność zapisów czasowych, odchylenia, cytaty oraz zakresy czasowe.
Źródła: Unlocking Gemini's Agentic Video Mode: Schema Design, Timestamp Drift, and Jay Chou's Secret
Google niedawno wprowadził funkcję rozumienia wideo typu „agentic” dla Gemini, co stanowi doskonały pretekst do przeprowadzenia praktycznych eksperymentów przy użyciu trudnego przypadku testowego: pełnometrażowego filmu w języku chińskim Secret (2007) w reżyserii Jay Chou. Eksperymenty koncentrują się na jednym pytaniu: jeśli zapytamy model o momenty w filmie, w których pojawiają się kluczowe idee, na jak dokładne są informacje o czasie, i w jakim stopniu sposób projektowania schematu wyników wpływa na rezultat?
Będziesz potrzebował GOOGLE_API_KEY, który AI Studio udostępnia w ramach przyzwoitego darmowego pakietu. Szczegóły konfiguracji znajdują się w załączniku na końcu.
Dlaczego chiński film jest dobrym testem
Pomysł narodził się z narzędzia edukacyjnego, stworzonego po to, by pomagać studentom w opracowywaniu zadanych materiałów, chociaż ciekawi dorośli również mogli z niego skorzystać, napotykając nieznane trudności. Gdy zauważono, że model Gemini Flash Lite potrafi zarówno podsumowywać teksty w języku chińskim, jak i odpowiadać w tym języku, rozszerzenie zastosowania z edukacji na rozrywkę wydawało się naturalne. Film był doskonałym kandydatem, ponieważ jest to romans z dużą ilością scen na pianinie, z niezapomnianą muzyką podkładową oraz główną aktorką, która sprawia, że nawet ciche chwile są imponujące.
Uwaga o spoilerze: to, co następuje, ujawnia główną tajemnicę filmu. Źródłem wideo do testów jest analiza filmu na YouTube, która opowiada historię do około 16:23, po czym narrator przechodzi do analizy tego, jak fabuła została inspirowana własnym życiem Jay Chou. Sam film nadal warto obejrzeć ze względu na muzykę i subtelne wyrazy twarzy głównej aktorki, a na Bilibili dostępne są co najmniej dwie wersje tego filmu.
To, co sprawia, że ten test jest naprawdę trudny, to język. Język chiński ma znacznie mniej automatycznie generowanych transkrypcji w porównaniu z filmami w języku angielskim, więc model od samego początku ma ograniczenia i musi pokazać, na co go stać bez takiej pomocy. Nie trzeba umieć czytać po chińsku, aby nadążyć za narracją, choć pomaga to lepiej zrozumieć wyniki.
Dlaczego odchylenia w czasowaniach są ważne
Zarówno w celach edukacyjnych, jak i rozrywkowych istnieje powszechna potrzeba lokalizacji danych czasowych – możliwości przechodzenia bezpośrednio do kluczowych momentów. Studenci korzystają z tego, aby ponownie przejrzeć wyjaśnienie danego pojęcia, a widzowie – aby znaleźć ukryte elementy i ponownie cieszyć się dobrze opowiedzianą historią.
Problemy z postępującą zmiennością danych czasowych w transkrypcjach dźwiękowych Gemini były szeroko omawiane na forum deweloperów Google. Skutecznym rozwiązaniem jest użycie starszego modelu, który nie opiera się na technologii LLM, ale to raczej nie stanowi interesującego eksperymentu; dlatego istniała nadzieja, że tryb agencyjny zapewni lepsze wyniki.
Wersja krótka: nadal występują odchylenia. W około 95% przypadków błąd pozostaje w granicach jednej sekundy, ale w niektórych przypadkach odchylenia sięgają 10 do 20 sekund. Co ciekawe, odchylenia te występują głównie w tych samych miejscach, co jest na tyle dobre, że zwykłe użycie nie będzie irytować nikogo. Programiści mogą również później wyfiltrować nieprawidłowe daty czasowe poprzez porównanie z transkrypcją oznaczoną czasowo w określonym oknie czasowym, o ile taka transkrypcja jest dostępna.
Projektowanie schematów jest lepsze od projektowania promptów
Schematy modeli LLM zazwyczaj są zapisywane w formacie JSON Schema. Biblioteki takie jak Pydantic w Pythonie lub Zod w TypeScript umożliwiają ich definiowanie na poziomie aplikacji i automatyczne przekształcanie w JSON Schema przed włączeniem do promptu. Już na podstawie nazw i typów zmiennych można zazwyczaj przewidzieć, co model zwróci.
Pogląd eksperymentatora jest bezpośredni: dziwne jest to, że inżynieria promptów cieszy się tak dużym zainteresowaniem, podczas gdy to właśnie inżynieria schematów stanowi źródło prawdziwej mocy. Schemat koduje niemal całe zachowanie modelu. Nawet przy przeciętnym promptzie model może wywnioskować, czego oczekujesz, na podstawie struktury i nazw pól, natomiast przy słabym schemacie musisz polegać wyłącznie na sobie i mieć nadzieję, że genialny prompt ci pomoże.
Istnieje podobieństwo do modelowania danych w inżynierii danych, z tą różnicą, że schematy wyjściowe LLM przypominają bardziej projektowanie NoSQL, takie jak MongoDB, niż modelowanie relacyjne, takie jak Postgres. Jedna interesująca decyzja dotyczy struktur rekurencyjnych: można je zapisać jako płaskie tabele samoreferencyjne, z polami child_id i parent_id, które umożliwiają nieskończone łączenie się. Usługodawcy różnią się co do tego, czy w ogóle pozwalają na rekurencyjne JSON Schema, więc ta decyzja może zostać ci narzucona.
Czytanie schematu
Podobnie jak w modelowaniu danych, istotna jest kardynalność. Jeden film zawiera wiele koncepcji, przedstawionych w postaci tablicy. W edukacji temat ma warunki wstępne, zastosowania, rozwinięcia, założenia i ograniczenia. W filmie występują wydarzenia, rozwój postaci, kulminacja i rozwiązanie.
Jedna koncepcja ma wiele danych o czasie. W nauczaniu dzieje się tak, gdy kilka koncepcji jest porównywanych w celu rozwijania myślenia wyższego rzędu po przedstawieniu każdej z nich. W filmie ma to miejsce, gdy reżyserzy używają retrospekcji lub opowiadają historię w nieskończonej kolejności.
Wpisy z danymi o czasie zawierają kilka właściwości:
secondswskazuje, w którym momencie coś się dzieje.descriptionwyjaśnia, co oznacza dany fragment, co może pomóc przy żartach lub reinterpretacji scenariusza.quoteto fragment tekstu wygenerowany dosłownie za pomocą funkcji mowy do tekstu.visualwskazuje, czy dany moment można przedstawić wizualnie.visualDescriptionto opis tego, co jest widoczne na ekranie w tym momencie.
Istnieją również punkty kontrolne, z których każdy zawiera conceptLabel, question oraz answer. W edukacji służą one do sprawdzenia zrozumienia ucznia. W rozrywce zachęcają publiczność do przemyślenia rzeczy, których nie zauważono przy pierwszym oglądaniu, lub do ponownego przeanalizowania wydarzeń z innej perspektywy. Model okazał się na tyle sprytny, że użył dokładnie tego samego tekstu dla conceptLabel oraz odpowiadającego mu label w sekcji concepts – co jest małym, lecz wymownym znakiem spójności wewnętrznej.
Co zostało zmienione
Typowy czas wykonywania wynosił około 20 sekund. Niektóre próby zakończyły się w 9 sekund, prawdopodobnie dlatego, że Google zapamiętał zapytanie i ponownie wykorzystał uzyskane wyniki. Jedna próba trwała 50 sekund tuż po zmianie zapytania, najprawdopodobniej zanim powstało jakiekolwiek cache.
Tryb przetwarzania – agentywny w porównaniu z statycznym – sam w sobie nie sprawił większej różnicy, a większość dat i godzin wykonywania mieściła się w granicach jednej sekundy w obu przypadkach. Próby agentywne czasami trwały nawet dwa razy dłużej (około 40 sekund), a czasami krócej. Czas wykonywania skryptu rzeczywiście wpływał na jakość: dłuższe próby znajdowały więcej dat i godzin dla danego tematu oraz generowały dłuższe opisy i cytaty.
Zapytanie zawierało instrukcję znalezienia co najmniej trzech dat czasowych na każdą etykietę koncepcji. Bez niej model często znajdował tylko jedną datę na koncepcję. Dzięki niej daty czasowe wydawały się nieco dokładniejsze, a hipoteza robocza głosi, że zwiększenie gęstości wyszukiwania miało pośredni wpływ na precyzję. Warto zmieniać liczbę trzy, aby zobaczyć, co się stanie.
Dodatkowy wniosek prosił model o znalezienie momentu, w którym wypowiedziano określoną chińską frazę – kulminację filmu, w której ogromna żelazna kula leci w kierunku głównego bohatera. To zmusza model do porównywania dźwięku z dokładną frazą oraz do określenia, kiedy ona wystąpiła.
Pierwszy etap: wolontariusze statyczni dodają dodatkowe pola, agenci je pomijają
Podczas pierwszej próby tryb statyczny miał tendencję do dodawania kluczy visual i visualDescription, których schemat w ogóle nie wymagał. Robił to w niespójny sposób – dodawał je dla niektórych dat czasowych, a pomijał dla innych w ramach jednego procesu. visualDescription jest przydatny dla dostępności oraz do wypełniania baz danych wyszukiwawczych, ponieważ kluczowe momenty można było znaleźć poprzez wygenerowany opis, i był dokładny we wszystkich sprawdzonych przykładach.
Tylko quote zawsze znajdował się w oryginalnym tekście chińskim. Wszystkie pozostałe klucze mogły pojawiać się w wersji chińskiej lub w tłumaczeniu na angielski, w sposób nieprzewidywalny w zależności od procesu, czy to z użyciem agenta, czy trybu statycznego. W obu trybach daty czasowe były uporządkowane w sposób przejrzysty w obrębie poszczególnych koncepcji oraz pomiędzy nimi, co ułatwiało ręczną weryfikację.
Tryb agencyjny generował dłuższe opisy, co było widoczne również podczas drugiej próby. Po raz pierwszy pojawiła się również scena, która powracała wielokrotnie: tryb agencyjny oznaczył ją jako 10:41, choć w rzeczywistości występuje ona o godzinie 10:50 w filmie. Gdyby w tym wyniku znajdował się element visualDescription, pokazałby on, czy model rzeczywiście patrzył na 10:41, czy na 10:50.
description wersji statycznej dla jednej pozycji jedynie powtarzał jej nazwę ("Time Travel Mechanics"), dodając niewiele informacji, chociaż późniejsze wersje wykazywały bardziej znaczące różnice. Z pozytywnej strony wersja statyczna doskonale rozpoznała stary zeszyt do gry na pianinie oraz bohaterkę zamykającą oczy w elemencie visualDescription, a nawet poprawnie zidentyfikowała postać. Tryb agencyjny po prostu zignorował te opcjonalne elementy wizualne.
Druga próba: wersja statyczna trafnie określiła moment o godzinie 10:50
Static ponownie dodał opcjonalne klucze wizualne, natomiast agentic znowu ich nie dodał. Static poprawnie zidentyfikował moment 10:50, który w pierwszej próbie agentic został błędnie oznaczony, mimo że ta próba zawierała prawidłowy tekst. Static określił visualDescription tego momentu jako „scenę retrospekcji”, co rodzi pytanie: skąd Gemini wiedziało, że to retrospekcja, a nie teraźniejszość?
Godziny były uporządkowane w ramach każdej etykiety w obu trybach. Pomiędzy etykietami static przedstawił analizę narratora, natomiast agentic umieszczał w różnych miejscach takie daty jak 10:41, 17:00, 15:00 i 17:51.
Pierwszy komentarz Statica o godzinie 16:31 używał chińskich nawiasów tytułowych, które również pojawiły się na ekranie, co wskazuje, że model wykorzystał tamto zdjęcie zamiast polegać wyłącznie na dźwięku. Static, jak poprzednio, ograniczał się do krótszych komentarzy. Agentic rozciągał swoje komentarze, aż środek był przerywany elipsą; jego komentarz z godziny 15:00 obejmuje w rzeczywistości okres od 15:01 do 15:38, a komentarz z godziny 17:51 – od 17:54 do 19:56.
Ten ostatni okres jest uderzający, ponieważ czas od 17:54 do 19:56 obejmuje pełny opis czterech zakończeń filmu. To rodzi pytanie: a co, gdyby polecenie dotyczyło również daty końca? To pytanie motywuje kolejną zmianę schematu.
Trzecia próba: dodawanie przedziałów czasowych
Pole seconds było początkowo ciągiem znaków, więc trzeba je było przerobić. Istnieją dwie opcje. Pierwszą jest tablica:
"seconds": {
"type": "array",
"description": "The start and end time range in HH:MM:SS or ISO format, structured as [start_time, end_time].",
"prefixItems": [
{
"type": "string",
"description": "Start time (e.g., '00:01:15' or ISO 8601 string)"
},
{
"type": "string",
"description": "End time (e.g., '00:02:30' or ISO 8601 string)"
}
],
"minItems": 2,
"maxItems": 2
}
Drugi to obiekt:
"seconds": {
"type": "object",
"properties": {
"start_time": {"type": "string"},
"end_time": {"type": "string"}
},
"required": ["start_time", "end_time"]
}
Tablica wykorzystuje mniej tokenów, ale wymaga niezgrabnych granic min i max, aby uniknąć błędów w logice od początku do końca, i została użyta w poniższych eksperymentach. Obiekt oferuje jaśniejsze klucze i wymaga nieco więcej kodu do odczytania, ale toleruje dodatkowe klucze, więc poza eksperymentami jest rekomendowanym wyborem.
Cytat to nie tylko dźwięk
W trybie agencyjnym jeden przedział trwał od 6:20 do 6:42, chociaż cytat faktycznie rozpoczął się o 6:30. description odpowiadał słowo w słowo dźwiękowi począwszy od 6:20, przez osiem słów, zanim przełączył się na własną parafrazę. Wygląda to tak, jakby zadanie tworzenia cytatu zostało podzielone pomiędzy quote a description.
W innym przedziale czasowym, od 8:13 do 9:00, cytat (mniej więcej „spojrzenia skierowane na siebie”) rozpoczął się o 8:21, podczas gdy opis mówił „powróć ponownie”, a główna bohaterka rzeczywiście pojawia się około 8:13. To potwierdza, że przedziały czasowe są kształtowane przez coś więcej niż tylko dźwięk. Cytat zakończył się o 8:55, pięć sekund przed końcem przedziału, bez oczywistego powodu.
Wynika z tego, że przy analizie wideo dźwięk powinien dokładnie odpowiadać temu, co jest na ekranie, w przeciwnym razie lokalizacja zapisanych czasów staje się niejasna. Jednak nie ma żadnego oczywistego mechanizmu, który decyduje, którą modalność model multimodalny będzie bardziej uwzględniał przy generowaniu zapisu czasowego. To prawdziwa możliwość badawcza, a czystsze eksperymenty (pełny dźwięk i wideo w porównaniu z wideo z zaciemnionym obrazem oraz wideo z wyciszonym dźwiękiem) pomogłyby to wyizolować.
Dwa nowe sposoby awarii
Trzecie pokazanie tej powtarzającej się sceny ujawniło nowy błąd. W trybie statycznym przedział od 14:49 do 15:02 zawierał cytat, który w rzeczywistości pochodzi z 10:49 – co stanowi błąd trwający cztery minuty. To ten sam moment o godzinie 10:50, który w drugim przetworzeniu został poprawnie zidentyfikowany przez system statyczny, natomiast w pierwszym został błędnie oznaczony jako 10:41.
Zatem jeden rzeczywisty moment, sprawdzany trzy razy w dwóch wersjach schematu, najpierw był błędny o dziewięć sekund, potem dokładny, a następnie o cztery minuty. Gdyby odchylenia były jedynie cechą szczególnie trudnych scen, oczekiwałoby się spójnych błędów, a nie najpierw błędu, potem sukcesu, a następnie jeszcze gorszego błędu.
Drugi błąd: cytat statyczny z przedziału od 15:07 do 15:17 (mniej więcej „on zamierza znaleźć Xiaoyu”) w ogóle nie występuje w nagraniu audio. Wydaje się, że model samodzielnie streszczował treść zamiast ją transkrybować.
System statyczny wygrywa w teście „igły w stogu siana”
Aby sprawdzić, czy da się odnaleźć konkretny fragment, zapytanie zostało rozszerzone o informację o kulce żelaznej. Przed wprowadzeniem schematu przedziału czasowego narzędzie static znalazło moment 15:22, a narzędzie agentic – 15:00. Po jego wprowadzeniu narzędzie static odnalazło dokładny moment, czyli 15:21, a nawet poszukało dalej do 15:26, dokładnie w momencie, gdy kula uderza w budynek i hałas ustaje. Narzędzie agentic radziło sobie gorzej, wskazując przedział od 15:00 do 15:37, który był zbyt szeroki. W praktyce nawet trzy sekundy błędu mogą wystawić na próbę cierpliwość odbiorcy.
Co sugerują te testy
Narzędzie static radzi sobie lepiej z odnajdywaniem konkretnych momentów, natomiast narzędzie agentic lepiej podsumowuje idee rozwijające się w dłuższym czasie. Rozsądny wniosek nie polega na wyborze zwycięzcy. Należy wybierać narzędzie w zależności od zadania i długości materiału: static do precyzyjnego wyszukiwania lub krótkich klipów, gdzie różnice w kosztach prawie nie mają znaczenia, a agentic do syntezowania treści, takich jak 90-minutowa prelekcja, gdzie oszczędności wynikające z jego działania zaczynają mieć znaczenie.
Sądząc po eksperymencie z wyszukiwaniem, przejście od daty czasowej na zakres czasowy nie zmieniło punktu wyjścia, dlatego rozsądnie jest zawsze pobierać również czas zakończenia, co daje aplikacji znacznie większe możliwości w projektowaniu interfejsu użytkownika. To trochę jak stosowanie wektorowych embeddingów w systemie wyszukiwania bez faktycznego umieszczania żadnych danych.
Zakresy czasowe mogą być wpływane przez różne rodzaje danych, a nawet w obrębie tekstu przez kilka kluczowych elementów, jak pokazuje wzorzec przenoszenia cytatów. Być może schemat powinien być prostszy, aby model nie był zdezorientowany, albo związek pomiędzy polami pochodnymi a polami współistniejącymi powinien być wyraźnie określony – na przykład poprzez nakazanie, że description musi pochodzić z quote, lub poprzez ustalenie, czy koncepcje są niezależne, czy muszą wyjaśniać wzajemne przyczynowo-skutkowe związki.
Jeszcze jeden wzorzec zasługuje na wzmiankę. Po zapytaniu o określony zakres czasowy system statyczny przestał w ogóle generować pola visual oraz visualDescription. Jedną z hipotez jest to, że model skupił się na wymaganych polach i odrzucił opcjonalne klucze pod obciążeniem. Uczynienie ich obowiązkowymi mogłoby to naprawić, choć być może kosztem jakości w innych obszarach, ponieważ pozostałoby mniej zasobów na ich obsługę. Przypomina to sytuację, gdy narzędzie do generowania slajdów potrafi stworzyć doskonałe slajdy przy jednej próbie, a przy następnej wraca do prostego projektu w stylu kreskówki, jakby potrzebowało odpoczynku.
Gdzie to może doprowadzić
Nauka języków. W niektórych niepublikowanych eksperymentach prośba o wyświetlenie tekstu po angielsku i chińsku obok siebie na tej samej linii działała nawet bez takiego żądania.
Tworzenie filmów. Znaczniki czasowe i przedziały umożliwiają narzędziom takim jak ffmpeg cięcie i edycję w taki sposób, aby najważniejsze koncepcje pojawiły się najpierw. W tym przypadku modele LLM generują straty, dlatego aby zachować całą treść i usunąć jedynie elementy wypełniające pauzy, lepszym rozwiązaniem są bardziej specjalistyczne narzędzia do konwersji mowy na tekst, takie jak Descript, czy nowszy model transkrypcji Gemini od Google.
Co umożliwia dokładna lokalizacja:
- Nawigacja bezpośrednio do konkretnej chwili. Znaczniki czasowe działają jako punkty odniesienia, które przekształcają liniowy film w zasób z indeksem i możliwością wyszukiwania, zastępując w ten sposób ręczne przewijanie.
- Automaticzne tworzenie zestawień najważniejszych momentów. Dzięki możliwości szybkiego znalezienia konkretnych chwil bez konieczności ręcznego przeglądania, twórcy mogą łączyć sceny z różnych filmów, a nauczyciele mogą tworzyć interaktywne lekcje z wykorzystaniem znaczników czasowych.
Rozważanie zarówno węzłów, jak i krawędzi
W obecnym projekcie większość informacji jest gęsto skupiona w węzłach. W jaki sposób można by zaprojektować krawędzie, aby jeszcze bardziej poprawić doświadczenie użytkownika? Czy niektóre informacje powinny przenieść się z węzłów na krawędzie, czy istnieją inne sposoby reprezentacji wiedzy poza grafem węzłów i krawędzi? Można zastosować techniki z książki Learn Like a Polymath: relacja część-całość, przyczyna-skutek, rzecz-funkcja, problem-rozwiązanie, fakt-opinia oraz przykład-rodzaj. Sztuczne inteligencje językowe prawdopodobnie już potrafią tworzyć takie analogie, a sekret polega na zadawaniu właściwych pytań we właściwym momencie i prezentowaniu odpowiedzi w odpowiedni sposób.
Jedna z odpowiedzi już istnieje w aplikacji do nauki opartej wyłącznie na tekście, która tworzy żywą mapę koncepcyjną podczas rozmowy. Tam agent sam generuje krawędzie. Zadaj pytanie o śpiew, a potem o technikę wokalną – agent połączy je w powiązane węzły bez konieczności podawania relacji, przy czym kody kolorystyczne określające główny temat, abstrakcję, powiązania i szczegóły służą jako informacje o krawędziach. Atrybut checkpoints w tym schemacie ma również swoje żywe odpowiedniki, które wskazują na nierozwiązane pytania i możliwe błędne wyobrażenia podczas rozmowy, które są następnie rozwiązywane po wykazaniu zrozumienia.
Eksperymenty do przeprowadzenia
Są one na tyle konkretne, że każdy może je wypróbować oraz dowiedzieć się, co mogą ujawnić.
Ablacja konfliktu modalności. Uruchom ten sam film na cztery sposoby: z pełnym dźwiękiem, z filmem i napisami; z pełnym dźwiękiem i filmem bez napisów, włączając te już wgrane w obraz; z filmem zaciemnionym, więc tylko dźwięk; oraz z filmem z wyciszonym dźwiękiem, więc tylko obraz. Jeśli rozbieżności znikną w wersji z tylko dźwiękiem, oznacza to, że dźwięk ma przewagę, a wgrane napisy psuły wynik. Jeśli rozbieżności utrzymają się w wersji z tylko dźwiękiem, ale zmienią charakter w wersji z tylko obrazem, to jest to silniejszy dowód na to, że znaczniki czasowe są rzeczywiście multimodalne, a nie po prostu dźwiękiem z szumem wizualnym.
Caching i temperatura a powtarzalność. Czy połączenie cacheowania promptów z temperaturą zero zapewni identyczne wyniki przy każdym uruchomieniu? Jeśli odchylenia znikną przy zerowej temperaturze, model utrzymuje jedną stabilną, choć nieidealną, wizję tego, gdzie znajduje się dany moment, a odchylenia między uruchomieniami to głównie szum wynikający z próbkowania. Jeśli odchylenia utrzymają się przy zerowej temperaturze, to w ogóle nie ma stabilnego wewnętrznego zapisu czasu dla tego momentu.
Czy odchylenia zależą od treści czy pozycji? Jeśli zależą one od cech samego momentu, takich jak szybkie cięcia, mówienie jedno nad drugim lub głośna muzyka, to niezależnie od tego, gdzie się on znajduje, jest to awaria niezależna od tłumaczenia, która towarzyszy treści. Jeśli sytuacja pogarsza się w dłuższym filmie, chodzi o coś innego, być może związanego z zjawiskiem „zagubienia się w środku”, czyli spadkiem wydajności LLM przy informacjach ukrytych w środku kontekstu.
Łączenie rekordów pomiędzy segmentami schematu. Czy model potrafi rozpoznać, że dwa etykiety koncepcji, utworzone w oddzielnych wywołaniach lub oddzielone długim kontekstem, odnoszą się do tej samej koncepcji z rzeczywistości? To klasyczny problem łączenia rekordów lub rozwiązywania problemu jednostek, podobny do rozwiązywania problemu coreferencji, gdy występuje w ramach jednej generacji. Działało to kiedyś, gdy model używał identycznego tekstu dla conceptLabel i label, ale otwartym pytaniem pozostaje, czy spójność zachowuje się w przypadku niezależnych wywołań.
Ugruntowanie międzyjęzykowe. Ocenić, na ile wiernie Gemini przekształca mówiony chiński na pola schematu w języku angielskim, zachowując przy tym dokładność czasową.
Mierz, a nie oceniaj gołym okiem. Prosta tabela przedstawiająca daty sprawdzeń, średnią odchylenie, procent wartości w przedziale jednej sekundy oraz najgorsze wartości odstające we wszystkich sześciu próbach przekształciłaby obserwacje z „zauważonych” na „zmierzone”, a surowe wyniki już istnieją.
Sprawdź, czy wymagana visualDescription poprawia jakość. Wydaje się, że model odrzucał opcjonalne pola w miarę wzrostu złożoności schematu.
Wykłady, filmy i pamięć
Wykład i film wymagają od widza czegoś innego. Wykład potrzebuje uwagi, a film – emocji. Postacie w historii nie są rozwiązanymi problemami jak koncepcje w podręczniku; są przedstawiane jako prawdziwi ludzie, których motywacje podlegają interpretacji. Często nie ma prawidłowej odpowiedzi ani nawet prostego rozwiązania, tylko kompromisy oraz wysiłek potrzebny do uratowania tego, co można z żałosnej sytuacji, lekcja życiowa, która wykracza daleko poza jeden konkretny temat.
Neurolog Oliver Sacks opisał pacjenta o imieniu Clive Wearing, u którego amnezja uniemożliwiała mu przechowywanie wspomnień dłużej niż kilka sekund, z wyjątkiem muzyki, którą nadal potrafił wykonywać, odczytywać i w pełni przywoływać. Sacks ujął to w ten sposób: moc muzyki musi pojawić się niespodziewanie i spontanicznie, jako błogosławieństwo.
To jest bliskie temu, czym może się dla nas stać LLM: nie zastąpi pamięci, ale pomoże w radzeniu sobie z jej już obecnymi wadami, przywracając nam chwile, które miały znaczenie, i uporządkowując je w spójną całość, gdy jesteśmy zdezorientowani i przytłoczeni.
Współpraca ta może odbywać się również w obie strony. Schematy można udoskonalić, aby wydobyć z LLM maksimum korzyści, a z kolei LLM mogą przekształcić nasze sposoby postrzegania świata i umiejętności, pomagając nam krytycznie myśleć na dany temat, a także rozwijać empatię i umiejętności społeczne poprzez zrozumienie, dlaczego dana postać zachowuje się w określony sposób, eksplorowanie „a co, jeśli…” oraz naukę opowiadania doskonałych historii. Bohaterka filmu miała zapewne cztery możliwe zakończenia, a LLM mogłoby w podobny sposób dostarczyć nam dostęp do wielu źródeł wiedzy, umożliwiając przyspieszanie, zwalnianie, cofanie i wybieranie odpowiedniej ścieżki.
Kolejnym kierunkiem badań jest agent, który ogląda wykład razem z użytkownikiem, zatrzymuje się na żądanie i udziela odpowiedzi opartej na dokładnym momencie zatrzymania. To ten sam problem lokalizacji według zapisu czasowego, który był testowany tutaj, tylko w formie transmisji na żywo i w trudniejszej wersji. Jeśli tryb agenta nadal popełnia błędy o kilka minut w przypadku skończonego, kontrolowanego filmu, wersja transmisji na żywo musiałaby zmierzyć się z znacznie trudniejszą formą tego samego problemu. Te eksperymenty stanowią wstępne podstawy dla tej koncepcji, a nie opis gotowego produktu.
Dodatek: konfiguracja i powtórzenie eksperymentów
Pobierz GOOGLE_API_KEY z AI Studio, a następnie wyeksportuj go w swoim shellu:
export GOOGLE_API_KEY=<your key>
Aby uniknąć jego eksportowania po każdym restartowaniu terminala, umieść klucz w pliku .env i dodaj to do skryptu:
from dotenv import load_dotenv
load_dotenv()
Frustracje związane z API
Nieznajomość funkcji client.models.generate_content() była jedną z przyczyn problemów, a strona przedstawiająca produkt Google pokazywała kod wykorzystujący nowsze Interactions API (client.interactions.create()), co sugerowało, że funkcje związane z wideo nie są obsługiwane w starszym API generate_content, dopóki dokumentacja nie potwierdziła inaczej. Nie było również jasne, w jaki sposób, a nawet czy w ogóle, można określić pewne parametry, takie jak streszczenia procesów myślowych. Do tego doszły jeszcze zmiany w Interactions API w maju 2026 roku, błędne odpowiedzi z własnego czatu internetowego Gemini oraz konieczność godzin prób i błędów, aby zacząć korzystać z tej funkcji.
Puste streszczenia procesów myślowych
Nie jest jasne, czy błąd wystąpił w kodzie służącym do analizy, czy też zadanie było po prostu zbyt proste, ale w ogóle nie było żadnego streszczenia procesu myślowego – plik z wynikami zawsze zawierał pustą listę.
Podobne artykuły
- Jak obniżyć koszty tokenów agenta: cacheowanie, routowanie i higiena kontekstu — Praktyczne sposoby na zmniejszenie rachunków za agenty LLM: cacheowanie promptów i treści semantycznych, narzędzia ładowane w razie potrzeby, routowanie modeli i ich łańcuchy, podagenci oraz czystszy kontekst.
- Czterowarstwowy projekt pamięci dla agentów AI z informacjami o pochodzeniu — Podział pamięci na krótkoterminową i długoterminową, cztery warstwy (bufor, epizodyczna, semantyczna, proceduralna), opcje przechowywania, zapisy asynchroniczne oraz metody ochrony przed zatruwaniem pamięci.