—История создания многопрофильной команды продакшена в Edulime Academy—
Я хотел, чтобы изучение корейского языка вызывало такое же привыкание, как просмотр дорам запоем. Чтобы после одной серии хотелось сразу включить следующую. Вместо того чтобы включать видео, потому что это домашнее задание, я хотел, чтобы учащиеся продолжали смотреть из любопытства: что же произойдёт с этими двумя людьми. Следя за историей, они вдруг понимали бы, что могут разобрать диалог, а затем пытались бы произнести его сами. Именно такой учебный опыт я хотел создать в Edulime Academy.
Поэтому с самого начала я включил в команду продакшена, обучавшую корейскому, сценаристов и режиссёров. Сценарист, редактор по изучению корейского языка, рецензент дорам, режиссёр-постановщик и рецензент видео и звука. Эти пять ролей я поручил AI-агентам. Если судить только по ролям, это была практически небольшая продакшен-компания. Никому не нужно было ездить на работу и не требовалось бронировать переговорную. Когда я распределял работу в основном чате Codex, каждый агент возвращал результаты своего задания.
Но в какой-то момент я понял, что моя работа выглядела примерно так: я исправлял реплику с вопросом, почему кто-то пришёл, хотя его никогда не приглашали, искал тарелку, исчезнувшую при смене кадра, и требовал объяснить, почему рот персонажа, сидящего на полу, не двигается. Затем я просил откатить изменения, говоря, что предыдущая версия была лучше, чем только что созданная постановка.
Мне не приходилось рассчитывать трудовые затраты сотрудников, но начали появляться очень конкретные вещи, которые нужно было проверять. Всё — от того, был ли приглашён друг из сценария, до инвентаризации тарелок — стало моей ответственностью. Я пригласил сценариста и режиссёра, но сам переключался между ролями продюсера, зрителя и менеджера по реквизиту.
Фактически создавая сценарии и редактируя видео, я постепенно понял, что можно поручить этой команде продакшена, а что нужно оставить за собой. Даже решение выбросить одну-единственную чашку потребовало больше участников, чем я ожидал. Я хочу разобрать всё: от истории с этой чашкой до причины, по которой я откатил финальную версию к более ранней.
Команда продакшена есть, а телестудии всё ещё нет
Цель Edulime Academy — сделать так, чтобы учащимся хотелось возвращаться и дальше изучать корейский язык. Для достижения этой цели я выбрал формат дорамы. Пока персонажи сталкиваются с повседневными событиями, мы не прерываем историю. После окончания дорамы учащиеся слушают и повторяют выражения, выбранные из настоящего диалога. Они могут начать смотреть, потому что хотят узнать, почему друг не может выбросить чашку, а затем сами произнести по-корейски то, что сказал этот друг.
Мы также создаём короткие рекламные видео, но эта статья посвящена опыту создания дорам и практики говорения в академии. Первая проблема, которую нам пришлось решить во время производства, была очевидной. Набор грамматически правильных предложений не вызывает у зрителей любопытства к следующей серии.
Настоящий экран практики говорения из «Прежде чем её выбросить». Здесь учащиеся снова слушают вопрос, который услышали в дораме, и повторяют его.
Эта цель одновременно объединяет несколько разных задач. Зрителям должно быть интересно, что персонаж сделает дальше, а диалоги на корейском должны звучать естественно. Английские субтитры должны соответствовать исходному смыслу, а если персонаж держит чашку, его рука не должна проходить сквозь неё. Во время практики проблема возникает, если видео переходит к следующему предложению раньше, чем зритель успевает хотя бы открыть рот.
Поэтому я определил в Codex пять специализированных ролей. Широкую просьбу «Сделайте хорошее видео» я разбил на задачи, которые мог проверить каждый из участников.
|
Роль |
Назначенные обязанности |
|---|---|
|
Сценарист |
Написание сюжета и сценария на корейском языке, а также внесение правок по обратной связи |
|
Редактор по изучению корейского языка |
Проверка естественности и речевого стиля диалогов, английских субтитров и выражений для практики |
|
Рецензент дорам |
Проверка действий персонажей, развития событий и причин продолжать просмотр |
|
Режиссёр-постановщик |
Проверка реализуемости производства и сборка озвучки, композиции, иллюстраций и видео |
|
Рецензент видео и звука |
Проверка актёрской игры, визуальных материалов, субтитров и разделов практики в готовом продукте |
Координацию их работы я поручил основному чату. В этом чате я описываю нужное мне направление и просматриваю результаты. Основной чат вызывает необходимых специалистов и точно сообщает им, какие файлы прочитать, что исправить и насколько продвинуться. Он получает результат каждого специалиста, передаёт его следующему ответственному и фиксирует выбранную мной версию.
Пять — это количество ролей. Это не значит, что у меня всегда одновременно работают пять агентов. Нет смысла вызывать рецензента видео при проверке сценария. И наоборот, когда мне нужно было написать два разных сценария, я однажды разделил одну и ту же роль сценариста между двумя агентами. Фактически в одном проекте сценария из пяти серий два сценариста разделили работу между собой.
В файлах проекта с описанием ролей содержатся описания и инструкции для каждой роли. Но написать в файле «режиссёр-постановщик» и добиться того, чтобы работающий агент получил эти инструкции и действовал на их основе, — разные вещи. Во время фактического вызова мне нужно было указать соответствующую роль и границы конкретной задачи. Создание визитной карточки ещё не означало, что передача обязанностей завершена.
Первой задачей было исправить корейский так, чтобы он звучал по-корейски
В первоначальном пилотном сценарии были такие реплики.
«Да, я только проверю время».
«Я тоже быстро осмотрел это место. Но я не могу обо всём позаботиться. Сегодня я пришёл в качестве гостя».
Если разделить эти предложения, их смысл понятен. Но когда я посмотрел, кто и почему произносит их в этой сцене, разговор показался неловким. Я отметил, что это звучит так, будто содержание, придуманное на английском, перенесли на корейский. Я не знаю, на каком языке на самом деле «думала» модель. Я мог подтвердить только получившийся диалог и предшествующие материалы планирования — и то, что результат плохо работал как разговор на корейском языке.
К этому моменту внутренняя проверка уже завершилась выводом, что сценарий готов. Эта проблема возникла несмотря на то, что мы специально назначили роль для проверки корейского языка. Может показаться, что добавление экспертов уменьшит объём необходимой проверки, но нам также пришлось изучить критерии, по которым эксперты одобряли тот или иной материал.
Правки не ограничились заменой нескольких неловких слов. Сначала сценарист написал сцену и диалог на корейском, а редактор по изучению языка прочитал только этот диалог, без перевода на английский. Мы изменили процесс: сначала проверяли, отвечает ли реплика должным образом на просьбу предыдущего собеседника, сказал бы действительно кто-то в таких отношениях подобное и запрашивает ли персонаж нужную ему информацию, а уже затем добавляли английские субтитры и выражения для практики. Позже мы также организовали процесс так, чтобы творческие указания и обратная связь по правкам, которые получал сценарист, были написаны на корейском языке.
Это не означало, что простое сохранение файла на корейском автоматически обеспечит естественный сценарий. Я также вернул на доработку короткий последующий диалог. Ситуацию можно было понять только после чтения объяснения, а сама сцена была недостаточно интересной. Исправив корейские предложения, нам пришлось снова переработать дораму. Первое задание команды продакшена заняло больше времени, чем ожидалось.
Неприглашённый визит, который не смог обнаружить грамматический анализ
Похожая проблема, но в меньшем и более очевидном виде, появилась в «Это моё» из следующей партии сценариев. После разговора, в котором друг предложил некоторое оборудование, появилась реплика: «Ты тоже придёшь?» Друг спросил так, будто другой человек уже решил прийти, хотя его ещё не приглашали.
Фраза «Ты тоже придёшь?» сама по себе не является неправильной по-корейски. Если человек уже решил прийти, она совершенно естественна. Но в этом сценарии такая предпосылка отсутствовала. Отдельно предложение выглядело нормально, однако один друг фактически вошёл в разговор через пробел в диалоге.
Исправленная реплика звучала так: «Да. Приходи и помоги мне». В этот момент она прямо выражает и просьбу прийти, и просьбу о помощи. Критерии проверки редактора по изучению языка также стали яснее. Ему нужно было проверять не только употребление вежливой и неформальной речи и точность перевода, но и порядок, в котором происходили просьба, приглашение и согласие.
У рецензента дорамы оставался ещё один вопрос. Действия в сценарии имели причины и последствия, и внутренняя проверка его одобрила. И всё же я сказал, что, хотя происходящее реалистично, не уверен, что оно достаточно интересно или драматично. Между тем, что может произойти, и тем, что люди захотят смотреть, всё ещё оставалось расстояние.
Может показаться, что вызов ещё одного рецензента даст ответ, но записи того времени не подтверждали такого вывода. Вместо этого нам пришлось изменить способ интерпретации результатов проверки. Фраза «Мы не обнаружили серьёзных структурных проблем» полезна. Если понимать её как «Зрители сочтут это увлекательным», мы относимся к ещё не проведённой проверке так, будто она уже завершена.
И всё же старая чашка стала причиной создать эту постановку
Из той же партии я выбрал для производства историю «Прежде чем её выбросить». Суа разбирает вещи перед переездом, а Минхо помогает ей. Минхо замечает чашку с небрежно прикреплённой ручкой и спрашивает, можно ли её выбросить. Суа говорит, что не будет ею пользоваться, но всё равно возьмёт её с собой.
Минхо: «Если тебе нравится эта чашка, я куплю тебе новую».
Суа: «Не новую чашку. Вот эту».
Минхо: «Почему?»
Суа: «Потому что ты сам прикрепил ручку обратно».
Кадр из видео V5 «Прежде чем её выбросить». В реплике «Потому что ты сам прикрепил ручку обратно» содержится причина, по которой она хранит чашку.
Это была чашка, которую Минхо разбил, а затем сам починил. Минхо считал, что хорошо её отремонтировал, но на следующий день Суа перестала ею пользоваться, потому что ручка шаталась. Она хранила предмет не потому, что ремонт удался.
Позже они говорят о том, что до нового дома ехать на автобусе около часа, и Минхо говорит, что ему будет трудно приходить так же часто, как сейчас. Суа останавливается, укладывая чашку. Сцена о том, выбрасывать ли предмет, превращается в сцену тревоги: их привычка беззаботно заходить друг к другу может исчезнуть. Вместо того чтобы закончить всё расплывчатым обещанием продолжать видеться, они назначают дату следующего визита и планируют поужинать.
Даже рецензент драмы положительно оценил эмоциональное развитие истории уже на этапе плана. В то же время он предложил изменить её так, чтобы чашка с прикреплённой запиской осталась на память, а для настоящего питья использовалась отдельная, целая чашка. Поэтому в концовку добавили действие: оставить одну чашку для использования в последнее утро перед переездом. Это был пример того, как рецензирование выходит за рамки абстрактной похвалы и конкретно определяет выбор, который нужно показать на экране.
Мне история тоже понравилась. Однако я предложил заменить фразу «Ты больше не можешь просто так приходить» на «Ты больше не сможешь приходить так часто». Суа сожалела о том, что количество её визитов уменьшится. Чтобы передать именно этот смысл, следующую реплику Минхо также изменили на «Тогда давай пообещаем друг другу и пойдём». Английские субтитры и учебные материалы были обновлены соответствующим образом.
Эта небольшая правка хорошо объясняет работу нескольких агентов. Один человек определяет замысел, специалист по сценарию учитывает его, а связанные реплики и переводы проверяются. Если каждый улучшает только свою фразу, при редактировании сохраняются разные смыслы. Это происходит потому, что сценарий один, а комментарии рецензентов поступают из нескольких источников.
Для этой истории, возможно, требовалось больше новых иллюстраций, чем для других кандидатов: рука, поднимающая чашку, поза во время упаковки, коробка, ящик и так далее. Тем не менее я решил, что её стоит создать. Задача руководителя производства заключалась в том, чтобы сделать необходимую работу видимой, а я решал, достаточно ли хороша история, чтобы оправдать выполнение этой работы. Если выбирать сценарии только на основании уже имеющихся иллюстраций, персонажи каждый раз оказывались бы в похожих позах и вели похожие разговоры.
Наша производственная команда не редактирует сценарий одновременно
На этом этапе объединение замечаний по правкам становится важнее разделения ролей. Пока сценарист редактирует диалоги, редактор может переводить более раннюю реплику, а рецензент — читать ещё более старую версию файла. Все трое могут добросовестно работать и всё равно получить несогласованный результат.
Поэтому мы присвоили репликам сценария идентификаторы. Ранее изменённая реплика Суа имеет идентификатор E05-S03-L009. Вместо указания её местоположения как «несколько неловкая реплика во второй половине» этот идентификатор позволяет проследить её вплоть до следующего ответа и английских субтитров. Мы также сохранили версию файла и хеш, чтобы различать проверенные рукописи. Положительную оценку рецензента можно было использовать только в том случае, если одобренный им сценарий совпадал с тем, который открыл я.
Мы назначили одного человека, который непосредственно редактировал рукопись. Редактор учебных материалов предлагает правки, рецензент драмы сообщает о проблемах и приводит подтверждающие примеры, а сценарист объединяет всё в один сценарий. Независимые проверки могут выполняться параллельно на основе одной и той же зафиксированной версии. Мы считали одновременное редактирование рукописи и одновременное чтение рукописи разными вещами.
Мы также позаботились о том, чтобы рабочие инструкции не сводились лишь к отправке названия роли. Ниже приведён краткий пример определённых нами элементов передачи задачи; это не дословная расшифровка какого-либо конкретного журнала вызовов.
Цель: зафиксированный на этот раз корейский сценарий и его точная версия
Подтверждено: выбранные отношения между персонажами и направление развития истории
На этот раз: проверить неловкий диалог и непосредственно следующую за ним реплику
Результат: проблемы и предложения по правкам с указанием идентификаторов реплик
Объём: только проверка; не редактировать сценарий напрямую и не создавать аудио
Также было важно отличать одобренное от ещё не решённого. Решение «эта история хороша» автоматически не означало решения «этот голос хорош». Даже если сценарист написал текст, а рецензент счёл его готовым, мы не позволяли системе автоматически решать, создавать ли следующую платную запись голоса. В обычном рабочем процессе мы проверяли сценарий, голос, раскадровку, необходимые иллюстрации и готовое видео на соответствующих этапах.
И наоборот, я не хотел, чтобы меня вызывали для проверки каждого промежуточного файла. После того как раскадровка и план создания необходимых иллюстраций были подтверждены, я просил команду продолжать производство и внутренние правки в этих рамках, а затем показывать мне готовый вариант. Я создавал производственную команду с полномочиями на внесение правок не для того, чтобы каждый раз утверждать файл, в котором появился один моргнувший глаз.
Основной чат, координировавший работу, нуждался в обеих этих границах. Работайте в пределах назначенной области и обращайтесь ко мне, когда требуется новое решение. Если одни и те же мнения постоянно повторяются, не улучшая результат, не передавайте сценарий бесконечно туда и обратно между агентами; покажите мне, что осталось нерешённым.
В библиотеке иллюстраций были рты, но актёры в видео не разговаривали
После сценария мы создаём голос, подготавливаем кадрирование и иллюстрации, а затем собираем видео. Здесь простого разделения ролей тоже оказалось недостаточно, чтобы результат складывался воедино.
В одной из версий видео «Перед тем как выбросить» я спросил, почему персонаж не говорит и не моргает. У нас действительно были готовые иллюстрации персонажа с вариантами рта и глаз. Однако они были разработаны для позы стоя. В настоящем видео использовалась недавно созданная поза сидя на полу, и для этой иллюстрации соответствующих вариантов лица не было. Поскольку угол наклона головы отличался, мы не могли просто вставить лицо из позы стоя без изменений.
Сообщение о наличии ресурсов отличалось от факта, что они работали на экране. После этого мы создали варианты рта и глаз, соответствующие фактически использовавшимся позам на полу, и изменили настройки так, чтобы рот открывался только у говорящего персонажа. Специалист по производству создал видео, а рецензент видео должен был проверить, что использованные в результате позы действительно говорят и моргают.
Нечто подобное произошло с реквизитом. Чашка, коробка и ящик, нарисованные как временные ресурсы, остались в готовом варианте, и внутри команды это считалось известным ограничением. Для меня реквизит, имеющий ключевое значение для сцены, всё ещё был проработан недостаточно. Воспоминание, связанное с чашкой, находилось в центре истории; если чашка была всего лишь временной формой, она мало помогала, как бы тщательно ни было написано объяснение.
В другом тесте в кафе три тарелки превратились в две при смене кадра. Не было сцены, где кто-либо убирал их. В итоге мы изменили видео так, чтобы все три тарелки оставались на протяжении всей сцены. Во время проверки нужно было смотреть не только на привлекательные стоп-кадры в начале и конце, но и на то, как предметы менялись в последовательных кадрах. Я создавал корейский образовательный контент, но в тот день запрос на правку заключался в том, чтобы вернуть пропавшую тарелку.
Рабочие инструкции производственной команды соответственно изменились. Вместо сообщения о том, что «библиотека изображений поддерживает такую функциональность», они должны были проверять состояния, фактически появлявшиеся в видео, и не изменять то, что рецензент не мог услышать или увидеть при непрерывном воспроизведении. Нормально ли открывался файл и выглядела ли игра естественно — это были разные вещи, которые требовалось проверять отдельно.
Агенты не могли все сесть за один стол
Возникали и практические операционные проблемы. Для одной группы сценариев мы попытались запустить независимого редактора учебных материалов, но ограничение на количество агентов в среде выполнения не позволило сделать дополнительный вызов. Вместо этого эту проверку выполнил основной чат.
Если бы в журнале просто было написано «проверка обучения завершена», могло показаться, что работу независимо проверили все пять ролей. Поэтому мы различали, кто действительно выполнял задачу, а кто кого заменял. Мы также не могли возлагать ответственность за пропущенные проблемы на редактора, который фактически не запускался. В организационной схеме было пять позиций, но рабочую запись за тот день требовалось читать отдельно.
Мы также изменили способ накопления случаев ошибок. Вместо того чтобы каждый раз заставлять каждого агента читать весь список выявленных к тому моменту проблем, мы хранили отдельные случаи вместе с соответствующими эпизодами, а в общие инструкции включали только принципы, пригодные для повторного использования. Чтобы написать следующий сценарий, не нужно запоминать количество тарелок или положение чашки в предыдущем видео. Нужно знать принцип, согласно которому состояние предмета должно сохраняться от кадра к кадру, а также иметь все записи, необходимые для текущей сцены.
Мы также не предполагали, что уже работающий агент автоматически получит новый контент только потому, что мы отредактировали файл с инструкциями. При назначении следующей задачи мы явно передавали обновлённые инструкции. Речь шла не о дообучении модели, а об изменении инструкций и критериев проверки для следующей задачи.
Мы по-прежнему не можем обобщить на основании этого опыта, стал ли процесс быстрее или дешевле, чем при использовании одного агента. Разделение ролей позволяет писать и проверять материалы параллельно, но также создаёт работу по передаче, объединению и повторному редактированию. Пока записи показывают лишь то, что мы создали несколько сценариев, выбрали историю для производства и в итоге получили видео, выбранное человеком после внесения правок. Между этими этапами было слишком много работы, чтобы просто объяснить производительность подсчётом агентов.
Сразу после финальной версии появилась ещё одна финальная версия
В более поздней постановке «Твоё лицо звучит громче» ранняя версия оказалась лучше новой версии с изменённой актёрской игрой. Я попросил закончить работу на ранней версии. В выбранной реплике сохранилось настроение вопроса: «Что же сейчас выскочит?»
Фактический кадр из выбранной V11 постановки «Твоё лицо звучит громче». Актёрская игра в этой реплике была лучше в ранней версии, чем в новой.
В такой ситуации задача производственной команды — не воссоздать что-то похожее на раннюю версию. Нужно в точности восстановить выбранный мной ранний файл. В записи сохранились и выбранная V11, и отклонённая V12, а финальный файл восстановили так, чтобы он побайтно совпадал с V11. Для этого восстановления не требовалось заново создавать голос или изображения.
Сначала мы разделили роли, связанные с созданием готовых материалов. В реальной работе нам также пришлось разделить ответственность за сохранение выбранных результатов. Когда я попросил изменить положение чашки, уже выбранная мной актёрская игра не должна была измениться, а более ранний выбор не мог стать недействительным лишь потому, что появилась новая версия.
Агенты приносили сценарии и иллюстрации, комментарии рецензентов и готовые варианты. Я выбирал те из них, которые соответствовали проекту. В некоторые дни я отправлял реплику на доработку, потому что диалог звучал неестественно; в другие говорил, что при необходимости следует создать больше иллюстраций и выпустить эту историю. В этом процессе основной чат стал местом, связывающим работу производственной команды с моими решениями.
После найма пяти ИИ в мой список задач вошли утверждение сценариев, выбор актёрской игры и проверка реквизита. Это вполне правдоподобное описание обязанностей продюсера. Разумеется, фактически отправленные мной сообщения были немного скромнее. В переводе на корейский языке последняя просьба звучала так:
«Мне больше понравилась ранняя версия. Пожалуйста, закончите на ней.»
Joseph