AI Prompt Engineering · Урок

Аудио, текст и изображение вместе

Согласование нескольких входных данных

Урок 3 из 413 шагов

«Аудио, текст и изображение вместе» — бесплатный урок AI Prompt Engineering на CoddyKit. Это урок 3 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения AI Prompt Engineering, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс AI Prompt Engineering содержит 4 уроков всего.

Три канала, один контекст

Согласование аудио, текста и зрения означает объединение трёх входных потоков в единый связный контекст. У каждой модальности свои стоимость в токенах, профиль точности и характерные сбои, однако модель объединяет их в едином пространстве внимания.

  • Аудио: временное, упорядоченное, теряющее данные при сжатии.
  • Зрение: пространственное, ограниченное бюджетом фрагментов, хрупкое к мелким деталям.
  • Текст: точный и дешёвый, но способный подавлять остальные каналы.

Искусство состоит в том, чтобы выстроить их последовательность так, чтобы каждый усиливал остальные, а не заглушал их.

Роли модальностей, а не смешение

Назначьте каждому входу явную роль в запросе. Неясность относительно авторитетности каналов приводит к непоследовательным ответам при разных запусках.

  • Визуальный канал = источник истины для того, что показано.
  • Транскрипция аудио = то, что об этом сказано.
  • Текстовая инструкция = контракт задачи и правила приоритета.

Заранее укажите роли, чтобы модель знала, какому источнику доверять при конфликте.

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.'
)

Согласование аудио с кадрами

Аудио и изображение должны быть согласованы по времени, иначе модель сопоставит неправильные слова с неправильным изображением. Предоставьте явное согласование: добавьте временные метки к транскрипции и кадрам, а затем позвольте модели объединить их по времени.

Без метаданных согласования модель угадывает соответствие — это допустимо для нестрогих задач, но недопустимо для синхронного анализа.

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.'}
  ]
}

Предварительная транскрипция или исходное аудио

Вы можете передать исходное аудио модели, работающей с аудио напрямую, либо предварительно выполнить транскрипцию с помощью отдельного этапа ASR и передать текст. У каждого подхода есть свои компромиссы.

  • Исходное аудио: сохраняет просодию, интонацию и перекрывающуюся речь, но расходует больше токенов и сложнее поддаётся привязке к источнику.
  • Предварительно транскрибированный текст: дёшев, допускает цитирование по временной метке, но отбрасывает нелексические признаки (сарказм, срочность).

Выбирайте подход по задаче: эмоции и намерение → исходное аудио; извлечение фактов → транскрипция.

Порядок чередования

Последовательность, в которой появляются каналы, формирует направление внимания. Надёжный вариант по умолчанию для задач анализа:

  1. Контракт задачи и роли (текст).
  2. Визуальные свидетельства (кадры), каждое с подписью и временной меткой.
  3. Транскрипция аудио с временными метками.
  4. Конкретный вопрос (текст) со ссылками на подписи и временные метки.

Размещение вопроса в конце позволяет модели направить внимание на всё уже закодированное.

Распределение бюджета токенов

Три канала конкурируют за одно контекстное окно. Компьютерное зрение требует больше всего ресурсов; несжатое аудио занимает второе место по затратам. Распределите приоритеты перед отправкой:

  • Выбирайте частоту выборки кадров в соответствии с задачей — не обрабатывайте каждый кадр.
  • Обрезайте кадры до области действия.
  • Разбивайте аудио на релевантные фрагменты; удаляйте тишину.

Направляйте бюджет туда, где находится ответ.

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

Перекрёстное подтверждение между модальностями

Самая большая польза от запросов с несколькими входами — это подтверждение: когда один и тот же факт можно независимо вывести из двух каналов, совпадение служит веским доказательством, а расхождение — тревожным сигналом.

Попросите модель вывести каждый ключевой факт отдельно для каждого канала и сообщить, совпадают ли результаты, вместо того чтобы сводить всё к одному объединённому ответу, скрывающему, какому источнику она доверилась.

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

Обработка отсутствующих или ухудшившихся каналов

Реальные входные данные могут ухудшаться: приглушённая запись, размытый кадр, обрезанная транскрипция. Объясните модели, как действовать при неполных доказательствах, вместо того чтобы позволять ей выдумывать содержимое отсутствующего канала.

  • 'Если аудио неразборчиво на каком-либо фрагменте, пометьте его как [INAUDIBLE].'
  • 'Если кадр слишком размыт, чтобы его прочитать, верните НЕ_ЧИТАЕМО для этого поля.'

Корректная работа при ухудшении данных лучше незаметного выдумывания.

Сопоставление говорящего и объекта

Сложные мультимодальные задачи требуют связать того, кто говорит (диаризация аудио), с тем, кто виден (компьютерное зрение). Явно задайте это сопоставление: попросите модель связать метки говорящих с людьми в кадре по времени и видимым признакам, таким как движение губ или жесты.

Требуйте обосновывать каждое сопоставление и временной меткой, и визуальным признаком.

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

Вывод: объединённый, но отслеживаемый ответ

Итоговый ответ должен быть объединённым для удобства чтения, но при этом сохранять возможность отследить данные по каждому каналу. Верните структурированный объект: синтезированный вывод и подтверждающие данные из каждой модальности с временной меткой или ограничивающей рамкой.

Это позволяет людям принять удобное резюме и при этом проверить любую отдельную формулировку, вернувшись к исходному каналу.

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}
  ]
}

Контрольный список оркестрации

Перед любым вызовом с тремя модальностями проверьте:

  • Роли и приоритеты указаны.
  • Кадры и транскрипция снабжены временными метками и синхронизированы.
  • Каналы распределены по приоритетам так, чтобы уложиться в бюджет.
  • Запрошены подтверждение и пометка расхождений.
  • Маркеры ухудшения данных определены (INAUDIBLE, НЕ_ЧИТАЕМО).
  • Вывод объединён, но доказательства отслеживаются.

Каждый пункт устраняет определённый сценарий сбоя при объединении нескольких входов.

Быстрая проверка

Вы анализируете обучающее видео и хотите определить, соответствует ли произнесённое рассказчиком утверждение действию на экране на каждом шаге.

Итоги: координация нескольких входов

Трёхмодальные запросы работают, когда Вы явно назначаете роли и приоритеты каналов, синхронизируете аудио и кадры по временным меткам, распределяете приоритеты каналов в соответствии с бюджетом и запрашиваете подтверждение для каждого канала с маркерами ухудшения данных для отсутствующих доказательств. Выбирайте необработанное аудио или предварительную транскрипцию в зависимости от важности просодии. Предоставляйте объединённое резюме, в котором каждое утверждение всё ещё можно отследить до рамки или временной метки: его удобно читать и можно проверять.

Можно начать бесплатно

Изучай AI Prompt Engineering с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
53
Уроки
199

Часто задаваемые вопросы

Урок «Аудио, текст и изображение вместе» бесплатный?

Да — полный текст урока «Аудио, текст и изображение вместе» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс AI Prompt Engineering, подпишись на CoddyKit PRO. Курс AI Prompt Engineering содержит 4 уроков всего.

Чему я научусь в уроке «Аудио, текст и изображение вместе»?

Согласование нескольких входных данных Ты практикуешь AI Prompt Engineering с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать AI Prompt Engineering?

Предыдущий опыт не требуется. AI Prompt Engineering на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 3 из 4.

Сколько времени занимает урок «Аудио, текст и изображение вместе»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке AI Prompt Engineering?

Да. Каждый урок AI Prompt Engineering включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Объединение текста и изображений
  2. Привязка между модальностями
  3. Аудио, текст и изображение вместе
  4. Управление мультимодальным выводом
← Назад к AI Prompt Engineering