0Pricing
AI Prompt Engineering · Lekcja

Wspólne użycie dźwięku, tekstu i obrazu

Koordynowanie wielu danych wejściowych

Wspólne użycie dźwięku, tekstu i obrazu to bezpłatna lekcja AI Prompt Engineering na CoddyKit. To lekcja 3 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej AI Prompt Engineering, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Trzy kanały, jeden kontekst

Koordynowanie dźwięku, tekstu i wizji oznacza zorganizowanie trzech strumieni wejściowych w jeden spójny kontekst. Każda modalność ma inny koszt tokenów, charakterystykę wierności i tryby błędów — model łączy je jednak we wspólnej przestrzeni uwagi.

  • Dźwięk: czasowy, uporządkowany, stratny po kompresji.
  • Wizja: przestrzenna, ograniczona budżetem kafelków, podatna na utratę szczegółów.
  • Tekst: precyzyjny i tani, ale zdolny do nadpisania pozostałych modalności.

Sztuka polega na ułożeniu ich w takiej kolejności, aby każda wzmacniała pozostałe, zamiast je zagłuszać.

Role modalności, nie mieszanka modalności

Każdemu wejściu należy przypisać w prompcie jawną rolę. Niejednoznaczność co do tego, który kanał jest nadrzędny, prowadzi do niespójnych odpowiedzi w kolejnych uruchomieniach.

  • Wizja = prawda źródłowa o tym, co jest pokazane.
  • Transkrypcja dźwięku = to, co zostało o tym powiedziane.
  • Instrukcja tekstowa = kontrakt zadania i reguły priorytetu.

Role należy określić na początku, aby model wiedział, które źródło ma pierwszeństwo w razie konfliktu.

header = (
  'INPUTS: (1) a video frame [authoritative for visible state], '
  '(2) an audio transcript [authoritative for spoken intent], '
  '(3) this instruction [defines the task]. '
  'On conflict, prefer the frame for state and the transcript for intent.'
)

Dopasowywanie dźwięku do klatek

Dźwięk i wizja muszą być wyrównane w czasie, w przeciwnym razie model powiąże niewłaściwe słowa z niewłaściwym obrazem. Należy dostarczyć jawne wyrównanie: oznaczyć transkrypcję znacznikami czasu i oznaczyć nimi klatki, a następnie pozwolić modelowi połączyć je na podstawie czasu.

Bez metadanych wyrównania model zgaduje mapowanie — wystarczające w przypadku luźnych zadań, ale krytyczne dla analizy zsynchronizowanej.

payload = {
  'frames': [{'t': 0.0, 'image': f0}, {'t': 2.5, 'image': f1}],
  'transcript': [
    {'start': 0.0, 'end': 2.4, 'text': 'Now I tighten the bolt.'},
    {'start': 2.5, 'end': 5.0, 'text': 'It is fully seated.'}
  ]
}

Wstępna transkrypcja a surowy dźwięk

Surowy dźwięk można przekazać do natywnego modelu dźwiękowego albo wcześniej dokonać transkrypcji za pomocą dedykowanego kroku ASR i przekazać tekst. Każde podejście wiąże się z kompromisami.

  • Surowy dźwięk: zachowuje prozodię, ton i nakładające się wypowiedzi, ale kosztuje więcej tokenów i trudniej go ugruntować.
  • Wstępnie transkrybowany: tani i możliwy do cytowania za pomocą znaczników czasu, ale pozbawiony niewerbalnych wskazówek (sarkazmu, pilności).

Wybór zależy od zadania: emocje/intencja -> surowy dźwięk; ekstrakcja faktów -> transkrypcja.

Kolejność przeplatania

Kolejność, w której pojawiają się kanały, kształtuje uwagę. Solidne ustawienie domyślne dla zadań analitycznych:

  1. Kontrakt zadania i role (tekst).
  2. Dane wizualne (klatki), każda z etykietą i znacznikiem czasu.
  3. Transkrypcja dźwięku ze znacznikami czasu.
  4. Konkretne pytanie (tekst), odwołujące się do etykiet i czasu.

Umieszczenie pytania na końcu pozwala modelowi uwzględnić wszystko, co zostało już zakodowane.

Priorytetyzacja budżetu tokenów

Trzy kanały konkurują o jedno okno kontekstu. Wizja dominuje pod względem kosztu; nieskompresowany dźwięk zajmuje drugie miejsce. Przed wysłaniem należy ustalić priorytety:

  • Próbkować klatki z częstotliwością wymaganą przez zadanie — nie każdą klatkę.
  • Przycinać klatki do obszaru, w którym odbywa się działanie.
  • Dzielić dźwięk na istotne fragmenty i usuwać ciszę.

Budżet należy wykorzystywać tam, gdzie znajduje się odpowiedź.

def select_frames(frames, fps_target, src_fps):
    step = max(1, round(src_fps / fps_target))
    return frames[::step]

Wzajemne potwierdzanie między modalnościami

Największą korzyścią z promptowania z wieloma wejściami jest wzajemne potwierdzanie: gdy ten sam fakt można niezależnie wyprowadzić z dwóch kanałów, zgodność stanowi mocny dowód, a rozbieżność jest sygnałem ostrzegawczym.

Należy polecić modelowi wyprowadzenie każdego kluczowego faktu osobno dla każdego kanału i zgłoszenie zgodności, zamiast sprowadzać wszystko do jednej scalonej odpowiedzi, która ukrywa, któremu źródłu model zaufał.

ask = (
  'For each claim report: from_vision, from_audio, agree(bool). '
  'If only one channel supports it, say which and lower confidence.'
)

Obsługa brakujących lub pogorszonych kanałów

Rzeczywiste dane wejściowe ulegają pogorszeniu: nagranie może być stłumione, klatka rozmyta, a transkrypcja ucięta. Należy określić modelowi, jak postępować przy częściowych dowodach, zamiast pozwalać mu konfabulować brakujący kanał.

  • 'Jeśli dźwięk jest niezrozumiały w danym fragmencie, oznacz go jako [INAUDIBLE].'
  • 'Jeśli klatka jest zbyt rozmyta, aby można było ją odczytać, zwróć NOT_LEGIBLE dla tego pola.'

Kontrolowana degradacja jest lepsza od cichego zmyślania.

Koreferencja mówcy i obiektu

Trudne zadania multimodalne wymagają powiązania tego, kto mówi (diaryzacja mówców) z tym, kto jest widoczny (wizja). Należy jawnie określić tę koreferencję: poprosić model o powiązanie etykiet mówców z osobami widocznymi w kadrze na podstawie synchronizacji czasowej i wskazówek wizualnych, takich jak ruch warg lub gesty.

Należy wymusić uzasadnienie każdego powiązania zarówno znacznikiem czasu, jak i wskazówką wizualną.

binding = {
  'speaker': 'S1', 'person_box': [0.1,0.2,0.4,0.9],
  'evidence': 'lips move during 3.2-4.1s; gestures while speaking'
}

Wynik: scalona, ale możliwa do prześledzenia odpowiedź

Odpowiedź końcowa powinna być scalona dla czytelności, a jednocześnie zachowywać możliwość prześledzenia źródła dla każdego kanału. Należy zwrócić ustrukturyzowany obiekt: syntetyczny wniosek oraz dowody z każdej modalności wraz ze znacznikiem czasu lub ramką.

Dzięki temu można korzystać z wygodnego podsumowania, a jednocześnie kontrolować dowolne pojedyncze twierdzenie, cofając się do jego źródłowego kanału.

out = {
  'summary': 'The technician seated the bolt correctly.',
  'evidence': [
    {'modality': 'vision', 'box': [0.3,0.4,0.6,0.7], 't': 2.5},
    {'modality': 'audio', 'quote': 'It is fully seated.', 't': 3.0}
  ]
}

Lista kontrolna orkiestracji

Przed każdym wywołaniem trójmodalnym należy sprawdzić:

  • Role i kolejność ważności zostały określone.
  • Klatki i transkrypcja mają znaczniki czasu i są zsynchronizowane.
  • Ustalono priorytety kanałów, aby zmieścić się w budżecie.
  • Zażądano wzajemnego potwierdzania i oznaczania rozbieżności.
  • Zdefiniowano tokeny degradacji (INAUDIBLE, NOT_LEGIBLE).
  • Wynik jest scalony, ale zachowuje ścieżkę dowodową.

Każdy punkt eliminuje konkretny tryb awarii scalania wielu wejść.

Szybki test

Analizują Państwo film instruktażowy i muszą ustalić, czy wypowiadane przez narratora twierdzenie odpowiada działaniu widocznemu na ekranie na każdym etapie.

Podsumowanie: koordynowanie wielu wejść

Promptowanie trójmodalne działa skutecznie, gdy role i kolejność ważności kanałów są jawnie określone, dźwięk i klatki są wyrównane według znaczników czasu, każdy kanał jest odpowiednio priorytetyzowany, aby zmieścić się w budżecie, a dla każdego kanału wymagane jest wzajemne potwierdzanie z użyciem tokenów degradacji dla brakujących dowodów. O wyborze surowego dźwięku lub wcześniejszej transkrypcji decyduje to, czy istotna jest prozodia. Należy dostarczyć scalone podsumowanie, które nadal pozwala prześledzić każde twierdzenie do ramki lub znacznika czasu — łatwe do odczytania i możliwe do skontrolowania.

Często zadawane pytania

Czy lekcja „Wspólne użycie dźwięku, tekstu i obrazu” jest bezpłatna?

Tak — pełny tekst „Wspólne użycie dźwięku, tekstu i obrazu” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu AI Prompt Engineering, przejdź na CoddyKit PRO. Kurs AI Prompt Engineering zawiera 4 lekcji w sumie.

Co nauczysz się w „Wspólne użycie dźwięku, tekstu i obrazu”?

Koordynowanie wielu danych wejściowych Ćwiczysz AI Prompt Engineering z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć AI Prompt Engineering?

Nie wymagamy żadnego doświadczenia. AI Prompt Engineering w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 3 z 4.

Ile czasu zajmuje lekcja „Wspólne użycie dźwięku, tekstu i obrazu”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji AI Prompt Engineering?

Tak. Każda lekcja AI Prompt Engineering zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Łączenie tekstu i obrazów
  2. Ugruntowanie między modalnościami
  3. Wspólne użycie dźwięku, tekstu i obrazu
  4. Kontrola danych wyjściowych multimodalnych
← Powrót do AI Prompt Engineering