Содержание статьи +
- TL;DR
- Почему это важно
- Что именно вы строите
- Хребет: два правила, переживающие модели
- Что на деле описывают слова «100 000 в день»
- Продакшн-архитектура, стадия за стадией
- Строить или купить: вердикт 2026 года, компонент за компонентом
- Поле инструментов 2026 года – и почему вы его абстрагируете
- Модель затрат: почему воронка бьёт очевидный дизайн примерно девять к одному
- Стратегия точности: две ошибки, которые не равны
- Governance: закон, несовершеннолетние и люди в петле
- Порядок сборки: каждый майлстоун защищает пользователей
- Где здесь Фора Софт
- Ключевые выводы
- Что почитать дальше
TL;DR
Этот итоговый проект сваривает computer-vision, мультимодальную и real-time линии курса в один готовый продукт: конвейер, который принимает поток видео, загружаемого пользователями платформы – сто тысяч клипов в день – и решает по каждому, можно ли его опубликовать, нужно ли заблокировать или отдать человеку, оставляя при этом запись, которую примут и регулятор, и юрист. Хребет сборки – два правила, которые держатся, как бы ни менялись модели: запускайте самую дешёвую проверку первой и позволяйте каждой стадии либо решить, либо передать видео выше, дороже, так чтобы дорогая машинерия видела только малую долю контента, которой она действительно нужна; и относитесь к каждому решению как к тому, что вы обязаны уметь объяснить, а к нелегальному контенту – как к тому, о чём по закону нужно сообщить, а не просто удалить. Мы даём точный список стадий с вердиктом «строить или купить» по каждой, поле инструментов 2026 года с реальными ценами на hash-базы, на классификаторы-API и на vision-language-модели, арифметику пропускной способности и затрат, показывающую, почему отправлять каждое видео в moderation-API целиком стоило бы примерно в десять раз дороже конвейера, стратегию точности, в которой пропущенное нелегальное видео и ошибочно удалённый кулинарный ролик – это совершенно разные ошибки, и карту governance – обязательная отчётность, защита несовершеннолетних и благополучие людей в петле – которая отделяет конвейер, который платформа реально может эксплуатировать, от того, что превращается в скандал. Там, где урок про real-time-модерацию показывал, как отсматривается один поток вживую, этот итоговый проект – асинхронная фабрика, которая переживает аудит регулятора и десятикратный всплеск трафика.
Почему это важно
Эта статья – для основателя, продакт-лида или trust-and-safety-лида любой платформы, куда незнакомые люди загружают видео: соцсеть, dating-приложение, маркетплейс для авторов, live-shopping-сервис, форум-сообщество с клипами, любой видеопродукт. В момент, когда платформа разрешает пользователям публиковать видео для других пользователей, вы наследуете проблему, которая не исчезает и которую закон больше не считает необязательной: какая-то доля загруженного будет нелегальной, какая-то нарушит ваши правила, и вы теперь отвечаете за то, чтобы поймать это на скорости и масштабе, недостижимых для команды людей с просмотром. Этот итоговый проект показывает, сколько такой конвейер реально стоит, как объём пропускается через воронку, чтобы счёт оставался вменяемым, какие части покупают, а какие строят, где закон проводит жёсткие линии и как относиться к людям, делающим финальную проверку, как к первоклассной части системы, а не как к статье расходов. Он одинаково полезен и инженеру, прочитавшему отдельные уроки по computer vision и мультимодальному ИИ и желающему собрать их в одну развёртываемую систему с названными технологиями, реальными ценами и честным разбором того, где автоматическая модерация ломается. К концу вы сможете нарисовать конвейер на доске, назвать точную технологию 2026 года в каждой стадии, защитить стоимость на видео перед финансами, выстроить сборку так, чтобы первая версия защищала пользователей за недели, и отличить дизайн, который пройдёт аудит Ofcom или Еврокомиссии, от того, что попадёт в заголовки.
Что именно вы строите
Зафиксируйте продукт раньше любой технологии. Вы строите сервис с одной задачей: каждый раз, когда пользователь загружает видео, сервис решает – быстро и сам для подавляющего большинства случаев – разрешено ли это видео к публикации, должно ли быть заблокировано или должно быть эскалировано человеку, потому что машина не уверена. Вокруг этого решения стоят две вещи, важные не меньше его самого: запись о том, почему сделан каждый выбор, в форме, которую можно передать регулятору, и путь отчётности, который для узкого класса контента, нелегального, а не просто против правил, отправляет требуемый отчёт нужному органу, а не тихо удаляет улику.
Два термина в этом описании весомы. UGC значит «user-generated content» – всё, что загружают сами пользователи, в отличие от контента, который производит платформа. Это определяющая черта любого социального, dating-, community- и авторского продукта, и именно его нельзя проверить заранее, потому что вы его не делали и его слишком много. Модерация здесь – весь процесс решения, что остаётся опубликованным: не один вызов модели, а конвейер автоматических проверок и человеческого суждения между кнопкой загрузки и остальными пользователями платформы.
У техники внутри есть форма, которую вы встречали в каждом итоговом проекте: воронка. Простая версия идеи – как аэропорт досматривает багаж: не вскрывая каждый чемодан, а прогнав все через дешёвый рентген, отведя в сторону лишь те, что выглядят не так, и вручную досмотрев лишь крошечную долю, которую второй взгляд не снял. Дешёвый, быстрый автоматический скрининг для всего; дорогое, медленное человеческое внимание почти ни для чего. Конвейер модерации – это тот аэропорт, и всё искусство строить его недорого сводится к решению, что каждый слой досмотра стоит, что он ловит и что он вправе пропустить сам.
Линия охвата, важнее всего: для чего конвейер. Он существует, чтобы насаждать две разные вещи, которые постоянно путают: закон, единый для всех и от которого вы не вправе отказаться, и собственные правила платформы, которые ваши и могут быть строже закона. Видео может быть совершенно легальным и всё же нарушать ваши правила – спам, реклама конкурента, нагота на платформе, где она запрещена. Видео может быть и нелегальным независимо от ваших правил, и этот узкий, серьёзный класс – прежде всего материалы сексуального насилия над детьми (CSAM) – запускает обязательства, не имеющие отношения к вашим terms of service и имеющие прямое отношение к статутам. Архитектура ниже выстроена так, чтобы держать эти две задачи раздельными по построению, потому что самая дорогая ошибка в этом поле – спутать юридическое обязательство с предпочтением контент-политики.
Рис. 1. Конвейер – это воронка. Каждое видео входит наверху; каждая стадия либо решает, либо передаёт видео выше, на более дорогую стадию; человек внизу видит крошечную долю входа. Стоимость всей системы задаётся тем, насколько агрессивно дешёвые стадии очищают объём сами.
Хребет: два правила, переживающие модели
Две идеи несут всю сборку. Сделайте их правильно – и всё остальное детали; и, как в каждом итоговом проекте курса, оба правила существуют потому, что технология внутри движется быстрее, чем любая статья способна отследить. Классификатор, выбранный в этом квартале, будет побит в следующем; закон и форма конвейера не сдвинутся и близко так быстро.
Первое правило – сначала самая дешёвая проверка: каждая стадия решает или эскалирует, и дорогие стадии никогда не видят основную массу трафика. Вы упорядочиваете проверки от почти-бесплатной до дорогой и устраиваете так, чтобы большинство видео решалось дешёвыми стадиями и не доходило до дорогих. Это не предпочтение – это вынуждено арифметикой, которую раздел затрат делает конкретной. Платформа, принимающая сто тысяч видео в день, не может отправлять каждое целиком в самую способную доступную модель – счёт уходит в миллионы в год, а самая способная модель ещё и самая медленная, так что вы провалитесь и по стоимости, и по скорости разом. Поэтому вы строите воронку: видео, которое снимает проверка за цент, снимается ею и дальше не идёт; лишь малый остаток, который дешёвые проверки не закрыли, поднимается к vision-language-модели, и лишь остаток этого доходит до человека. Держать стадии упорядоченными по стоимости и честно понимать, что каждая способна решить сама, – единственная самая полезная ментальная модель для бюджета всего конвейера.
Второе правило – каждое решение записано с причиной, а нелегальный контент отправлен в отчёт, а не просто удалён. Каждый выбор конвейера – разрешить, заблокировать, эскалировать – должен фиксироваться вместе с тем, что его вызвало, в форме, которую вы сможете предъявить месяцы спустя регулятору, суду или пользователю, подавшему апелляцию. А для узкого класса нелегального контента удаление – не конец обязательства: закон в большинстве рынков, где вы работаете, требует сообщить о нём названному органу и сохранить улику, а не тихо удалить. Это разница между конвейером, защищающим платформу, и тем, что тихо уничтожает те самые записи, на которые позже обопрётся расследование по защите детей или ваша собственная защита в деле о принуждении. Запись – не бюрократия, прикрученная в конце. Это ограничение, идущее назад сквозь весь конвейер: каждая стадия должна выдавать не только вердикт, но и улику под него, иначе в audit-следе будут дыры ровно там, где это важнее всего.
Держите два правила вместе – и конвейер обретает чистую форму. Первое правило решает, где живёт стоимость – почти целиком в человеческой стадии и в VLM-стадии, потому-то вы так стараетесь держать объём подальше от них. Второе правило решает, что делает конвейер защитимым – не хитрость отдельной модели, которая скоро устареет, а непрерывная цепь от загрузки к решению, к причине и, где требуется, к отчёту. Всё в остальной статье заполняет стадии между этими двумя правилами, решает, что строить, а что покупать, и оценивает это в деньгах.
Что на деле описывают слова «100 000 в день»
До любой архитектуры почувствуйте масштаб, потому что число – это вся причина существования воронки. Сто тысяч видео в день – не аккуратная струйка. Размазанные ровно, это 100 000 ÷ 86 400 секунд, около 1,16 видео в секунду – но трафик никогда не ровный. Загрузки кучкуются вечером и вокруг событий, поэтому реалистичная цель проектирования – пик в три-четыре раза выше среднего, скажем четыре видео в секунду, которые фронт конвейера должен принимать, не отставая. Промахнётесь – очередь растёт без предела; затор в модерации не косметическая задержка, это непросмотренный контент перед пользователями.
Теперь превратите видео в то, что вы реально обрабатываете. Скажем, среднее видео идёт две минуты – короткий UGC короче, но две минуты держат арифметику честной. Сто тысяч видео по две минуты – это 100 000 × 2, то есть 200 000 видеоминут в день входящих. Удержите это число; именно оно решает, можете ли вы позволить себе модерировать поминутно или должны модерировать по выбранному кадру.
Вот ловушка, топящая наивные дизайны, изложенная так прямо, как она заслуживает.
«Частая ошибка: модерировать видео поминутно. Очевидный первый инстинкт – отправить каждое целое видео в video-moderation-API. По репрезентативной цене 2026 года около десяти центов за минуту анализируемого видео ваши 200 000 видеоминут × $0,10 дают $20 000 в день – около $7,3 млн в год – чтобы смотреть каждую секунду каждой загрузки, большая часть которой – человек, говорящий в камеру ни о чём. Это ещё и медленно, потому что анализ видео от начала до конца берёт время, которого у вас нет при четырёх загрузках в секунду. Вы не модерируете поминутно. Вы модерируете по горстке выбранных кадров плюс аудиотранскрипт и тратите реальные деньги лишь на малую долю видео, которую дешёвый проход не закрыл.»
Это единственное решение – выбирать, а не смотреть – петля, на которой держится вся модель затрат, и это та же идея прореживания кадров, что строила фаза computer vision: двухминутный клип на шестидесяти кадрах в секунду держит 7 200 кадров, почти все – near-дубликаты соседей, и вы сводите это к нескольким десяткам осмысленных ключевых кадров до того, как любая модель их увидит. Механика этого сведения – в уроке про предобработку для ML на видео; здесь это ход, делающий сто тысяч видео в день посильными для скрининга.
Продакшн-архитектура, стадия за стадией
Реальное развёртывание – больше, чем вызов модели модерации. Пять стадий плюс governance-этаж встречаются в каждом UGC-конвейере модерации, который мы прорабатывали, и точно их назвать – первый час любого проекта. Они упорядочены первым правилом хребта: дешевле – первой.
Конвейер открывается, до любого суждения, приёмом и подготовкой – невзрачной входной дверью. Загрузка приходит, принимается во временное хранилище, перекодируется в форму, читаемую нижестоящими моделями, и сводится к двум дешёвым представлениям, на которых остальной конвейер реально работает: малый набор выбранных ключевых кадров (несколько десятков стоп-кадров, схватывающих, что показывает видео) и аудиотранскрипт, выданный автоматическим распознаванием речи (ASR) – та же технология создания субтитров из урока про WhisperX, здесь применённая, чтобы превратить речь в текст для поиска и оценки. С этого места «модерировать видео» в основном значит модерировать эти кадры и этот транскрипт, потому это и дёшево.
Стадия 0 – сопоставление по hash с базами известно-плохого, и это и самая дешёвая стадия, и единственная, которую закон фактически предписывает. Hash – короткий цифровой отпечаток файла, несколько сотен байт, замещающих всё изображение или видео. Перцептивный hash, конкретно, построен так, что два визуально похожих файла дают похожие отпечатки, поэтому совпадение переживает перекодировку, кроп или watermark, чего exact-copy-отпечаток не делает. Конвейер вычисляет перцептивный hash каждого входящего видео и его ключевых кадров и сравнивает их с курируемыми базами отпечатков уже известного нелегального материала – прежде всего известного CSAM, каталогизированного органами защиты детей. Каноническая система для изображений – PhotoDNA, созданная Microsoft и лицензируемая платформам; каноническая открытая система для видео и изображений – PDQ (для фото) и TMK+PDQF (для видео) от Meta, открытые в 2019 году и построенные работать на платформенном масштабе. Совпадение здесь – не догадка, оно значит, что эту самую известно-плохую вещь загружают снова, поэтому может действовать автоматически: заблокировать загрузку, подать законом требуемый отчёт и сохранить улику. Решающее ограничение, к которому раздел точности вернётся: hash-сопоставление ловит лишь уже известный контент; оно слепо ко всему новому, и взрыв CSAM, сгенерированного ИИ, у которого по природе нет прежнего отпечатка, – ровно причина, почему существуют поздние стадии.
Стадия 1 – банк дешёвых автоматических классификаторов, запускаемых на выбранных ключевых кадрах и транскрипте, и здесь решается основная масса объёма. Классификатор – модель, берущая кусок контента и выдающая оценки по фиксированному набору категорий – здесь категорий модерации: явный сексуальный контент, графическое насилие, символы ненависти, оружие, селф-харм и так далее. Вы прогоняете image-классификатор по ключевым кадрам и text-классификатор по транскрипту, и большинство видео возвращаются со всеми оценками комфортно низкими – человек готовит, демо продукта, собака – и разрешаются на месте, не касаясь более дорогой стадии. Честная инженерная реальность: эту стадию куда чаще покупают, чем строят – зрелые варианты это managed-API вроде Amazon Rekognition content moderation, Hive, Microsoft Azure AI Content Safety, Google Cloud SafeSearch и Sightengine, а self-hosted-путь использует открытые модели вроде NudeNet (локализующей оголённые участки тела, а не просто помечающей всё изображение) или CLIP-based zero-shot-классификатор, оценивающий кадр против текстовых промптов вроде «на этом изображении есть оружие». Самый важный выбор дизайна здесь – порог: поставьте планку «явно безопасно» высоко – и пропустите слишком много к дорогим стадиям; поставьте низко – и нелегальный контент просочится. Пороги задаются по категории, а не глобально, по причинам, которые раздел точности делает конкретными.
Стадия 2 – vision-language-модель, читающая неоднозначную середину, и она существует потому, что оценка кадра не может судить контекст. Vision-language-модель, или VLM, – модель, берущая изображения и письменный вопрос вместе и отвечающая словами; она может посмотреть клип и сказать не просто, что там нож, а что это повар разделывает рыбу, а не угроза; не просто что там кровь, а что это урок по обработке ран, а не кровь ради крови. Большинство по-настоящему сложных случаев модерации – ровно такой контекстный вызов, и VLM – первый инструмент в конвейере, способный делать их без человека. Вы маршрутизируете лишь малую долю видео, которые дешёвые классификаторы пометили как неопределённые – достаточно высоко, чтобы беспокоиться, недостаточно, чтобы автоблокировать – к VLM с аккуратным промптом, задающим конкретный вопрос политики, и держите её письменное объяснение как часть записи. Поле 2026 года охватывает managed frontier-модели (Google Gemini, Anthropic Claude, мультимодальные модели OpenAI) и открытые веса для self-hosting (LLaVA, Qwen-VL), предмет урока про открытые VLM. Решение, когда VLM должна заменить кастомный классификатор целиком, – отдельная тема в уроке «просто возьмём VLM».
Стадия 3 – очередь человеческой проверки, и это и самая дорогая стадия, и та, что нельзя полностью убрать. Некоторые решения слишком значимы, слишком контекстны или слишком юридически остры, чтобы оставить их модели – пограничный случай, который может быть искусством, а может быть насилием, апелляция пользователя, чьё видео удалили, класс контента, который ваша же политика велит подписать человеку. Они попадают в очередь, где обученный проверяющий выносит финальное решение. На этой стадии живёт вторая половина раздела governance, потому что люди, делающие эту работу, по природе работы подвергаются худшему из того, что ловит конвейер, и относиться к их благополучию как к инженерному требованию, а не статье расходов, – и правильно, и всё чаще юридически и контрактно обязательно.
Под всеми четырьмя стадиями идёт governance- и audit-этаж – журнал решений, коннекторы обязательной отчётности, средства защиты несовершеннолетних, правила хранения данных и путь апелляций. Для системы, которая судит, что сотне тысяч незнакомцев в день позволено говорить, этот этаж – не опциональная инфраструктура; это то, что вообще делает конвейер законным в эксплуатации.
Рис. 2. Конвейер стадия за стадией. Каждая стадия либо разрешает видео (разрешить, заблокировать или сообщить), либо передаёт неопределённый остаток следующей, более дорогой стадии; governance-этаж записывает каждое решение и несёт юридические обязательства, которые одно удаление не закрывает.
Строить или купить: вердикт 2026 года, компонент за компонентом
Способная команда не пишет всё это с нуля и не покупает всё. Правило большого пальца зеркалит другие итоговые проекты курса: возьмите зрелую инфраструктуру, арендуйте или self-host быстро меняющиеся модели, а стройте только то, что и есть ваш продукт – здесь логику маршрутизации, решающую, что куда идёт и с каким порогом, хранилище решений и audit-след, слой отчётности и governance и инструменты проверки, которыми пользуются ваши люди. Это части, делающие конвейер точным, законным и гуманным; остальное покупается или берётся взаймы.
| Компонент | Строить или купить | Конкретный выбор 2026 | Почему |
|---|---|---|---|
| CSAM / hash известно-плохого | КУПИТЬ / ПАРТНЁР | PhotoDNA; Meta PDQ + TMK; наборы hash NCMEC и IWF | Вы не вправе строить или держать это сами; вы подключаетесь к системам органов |
| Дешёвые классификаторы (NSFW/насилие) | КУПИТЬ или HOST | Rekognition / Hive / Azure Content Safety / открытые NudeNet / CLIP | Зрелое, commodity; меняйте свободно по цене и точности |
| Транскрипция аудио для модерации | КУПИТЬ / HOST | ASR класса Whisper | Решено; переиспользовано из audio-фазы |
| VLM для контекстной проверки | КУПИТЬ / HOST | Gemini / Claude / GPT или открытые LLaVA / Qwen-VL | Самая быстро меняющаяся часть; арендуйте и держите сменной |
| Выборка кадров / ключевые кадры | СТРОИТЬ | Downsample + дедуп ключевых кадров | Стандартный CV; малый, свой, дешёвый |
| Маршрутизация + пороги + эскалация | СТРОИТЬ | Ваша политика как код | Это и есть ваш продукт модерации |
| Хранилище решений + audit-след | СТРОИТЬ | Append-only журнал на каждую загрузку | Ваша юридическая улика; нельзя делегировать |
| Коннекторы отчётности + хранения | СТРОИТЬ / ПАРТНЁР | NCMEC CyberTipline; хранилище сохранения | Уставная обязанность; стройте по спецификации |
| Инструменты проверки + благополучие | СТРОИТЬ или ПАРТНЁР | Своя консоль или T&S-вендор | Сложнее всего сделать гуманно; никогда не задним числом |
Паттерн тот же, что проходит через весь курс: арендуйте модели, купите решённую инфраструктуру и владейте частями, кодирующими вашу политику, вашу улику и вашу обязанность заботы. Классификаторы и VLM сменят; логика маршрутизации, audit-след и слой governance – то, что вы оставляете.
Поле инструментов 2026 года – и почему вы его абстрагируете
Две стадии конвейера опираются на внешние инструменты, которые меняются быстро и которые надо трактовать как сменные части, а не фиксированный выбор: банк дешёвых классификаторов и VLM-проверяющий. Подключите каждый за тонким внутренним интерфейсом – единственным вызовом classify(frames, transcript) и единственным review(clip, question), чьё нутро можно менять, не трогая остальной конвейер, – и смена вендора станет правкой конфигурации, а не переписыванием. Это важно, потому что поле реально турбулентно: цены движутся, лидеры точности меняются, а модель, на которую вы опираетесь, могут вывести из-под вас, ровно как embedding-модели в прошлом итоговом проекте.
Со стороны классификаторов managed-API в 2026 кучкуются вокруг знакомой ценовой полосы. Azure AI Content Safety даёт изображения примерно по $1,50 за 1000 (около $0,0015 за изображение) и текст около $1,00 за 1000 записей. Amazon Rekognition content moderation стоит около $0,10 за минуту видео, анализируемого целиком – ровно поэтому вы кормите его выбранными кадрами через image-API, а не целыми видео. Google Cloud SafeSearch бесплатен для первой тысячи вызовов в месяц, затем около $1,50 за 1000, падая до $0,60 за 1000 выше пяти миллионов. Hive по индивидуальной цене, в районе $3 за 1000 изображений при миллионе в месяц. Sightengine продаёт пакеты операций от примерно $29 в месяц. Открытый self-hosted-путь – NudeNet, CLIP-based-скорер, малая fine-tuned vision-модель – меняет плату за вызов на фиксированную стоимость своих GPU, что выигрывает выше объёма, который раздел затрат локализует.
Со стороны VLM frontier-модели по два цента за вызов и self-hostable открытые модели сидят в очень разных точках кривой стоимость-контроль, и правильный ответ обычно оба: дешёвая открытая VLM для рутинных контекстных вызовов, frontier-модель в резерве для по-настоящему сложных или high-stakes. Весь смысл интерфейса в том, что эта маршрутизация – решение тюнинга, а не архитектуры.
Есть одна категория инструментов, которую вы не выбираете по цене, и диаграмма делает линию явной: системы hash известно-плохого. Вы не строите свой детектор CSAM, не собираете свою библиотеку материала и не устраиваете из этого тендер вендоров. Вы подключаетесь к устоявшимся системам – PhotoDNA, наборам hash, поддерживаемым National Center for Missing & Exploited Children (NCMEC) в США и Internet Watch Foundation (IWF) в Великобритании, и кросс-индустриальным программам обмена вроде Lantern и Video Hash Interoperability Project от Tech Coalition – и маршрутизируете совпадения в законный канал отчётности. Это единственная стадия, где «строить» – неверный ответ по причинам юридическим и этическим, а не техническим.
Рис. 3. Две из трёх категорий инструментов – commodity, которые вы абстрагируете за тонким интерфейсом и меняете по цене и точности. Третья – системы hash известно-плохого – партнёрство с органами защиты детей, огороженное, потому что управляется законом и этикой, а не закупкой.
Модель затрат: почему воронка бьёт очевидный дизайн примерно девять к одному
Весь экономический аргумент конвейера умещается в одно сравнение, и арифметику стоит проделать вслух, потому что результат решает, жизнеспособен ли продукт. Все цифры – иллюстративные цены-листы 2026 года; ваши реальные числа сдвинутся с контрактами и составом контента, но форма устойчива.
Начните с наивного дизайна из ловушки выше – отправить каждое видео целиком в video-moderation-API:
200 000 видеоминут/день × $0,10 / минута = $20 000 / день ≈ $7,3 млн / годТеперь оцените воронку, стадия за стадией, против тех же ста тысяч видео в день. Стадия 0, hash-сопоставление, – это вычисление hash плюс поиск в базе; self-hosted, это доля цента за видео; заложим щедрые $0,0005 × 100 000 = $50/день. Стадия 1, дешёвые классификаторы, работает не на минутах, а на выбранных ключевых кадрах – скажем, дюжина кадров на видео – плюс короткий транскрипт. По $0,0015 Azure за изображение двенадцать кадров – это $0,018 на видео, так что скрининг всего дня – $0,018 × 100 000 = $1 800/день. Эта стадия очищает большинство загрузок сама. Стадия 2, VLM, видит лишь неопределённый остаток – допустим, нарочно консервативные семь процентов видео, или 7 000 в день – примерно по два цента каждое: $0,02 × 7 000 = $140/день. Стадия 3, человеческая проверка, доходит лишь до самого трудного остатка – скажем, один процент, или 1 000 видео в день – при загруженной стоимости около четверти доллара за проверку (раздел экономики проверки разбирает эту цифру): $0,25 × 1 000 = $250/день.
Стадия 0 hash $50/день
Стадия 1 классификаторы $1 800/день
Стадия 2 VLM $140/день
Стадия 3 люди $250/день
-------------------------------------
Итого воронка ≈ $2 240/день ≈ $818K / годВоронка стоит примерно $0,8 млн в год против $7,3 млн наивного дизайна – около девятикратной экономии – и она точнее, не наоборот, потому что дорогие стадии тратят внимание лишь на контент, которому оно реально нужно, а не размазывают его по миллионам минут чьего-то обеда. Рычаг, дающий экономию, – процент трафика, который каждая стадия передаёт выше: поднимите долю очистки Стадии 1 тюнингом порогов – и весь счёт падает; дайте ей течь – и Стадии 2 и 3 раздуются. Потому-то тюнинг порогов, а не выбор модели, – где команда модерации реально проводит время. Более широкое меню рычагов – батчинг, кэширование, дешёвые тиры моделей, зарезервированная ёмкость – предмет урока про оптимизацию затрат.
Рис. 4. Воронка стоит примерно девятую часть очевидного дизайна и при этом точнее. Экономия рождается почти целиком тем, сколько объёма дешёвые стадии очищают до того, как запустится что-то дорогое.
Стратегия точности: две ошибки, которые не равны
Каждое решение модерации может ошибаться в двух направлениях, и центральное прозрение всего поля в том, что они не одинаково плохи. Ложноотрицательная (false negative) – пропустить то, что надо было поймать. Ложноположительная (false positive) – удалить то, что надо было разрешить. Наивная система крутит одну ручку, балансируя их как симметричные. Серьёзная система отвергает посылку, потому что цена двух ошибок целиком зависит от того, что пропущено или ошибочно удалено.
Возьмите крайности. Пропуск нелегального CSAM – катастрофа: для ребёнка, для платформы и для руководителей, которые могут нести личную ответственность; приемлемой доли такого по сути нет, потому-то этот класс обрабатывается детерминированным hash-сопоставлением плюс обязательным человеческим подтверждением, а не вероятностным классификатором с тюнингуемым порогом. Ошибочное удаление легального кулинарного видео, напротив, – досада, которую вы чините апелляцией. Две ошибки разделены многими порядками величины по цене, и ваши пороги должны это отражать. Поэтому вы не задаёте одну глобальную чувствительность; вы задаёте порог на класс вреда, настроенный под цены ошибок этого класса – крайне агрессивный (эскалировать на малейший сигнал) для тяжелейших, юридически определённых видов вреда и расслабленный для низкорисковых категорий политики, где false positive лишь раздражает, а апелляция всё правит.
Честная карта, где этот конвейер ломается, имеет три области, и назвать их – способ спроектироваться вокруг них.
Первая – разрыв известное-против-нового. Hash-сопоставление совершенно на контенте, который видело, и слепо на том, что не видело. Оно никогда не поймает совсем новое видео, не зафингерпринченное ни одной базой – и всплеск CSAM, сгенерированного ИИ, у которого по построению нет прежнего hash, живёт целиком в этом разрыве. Лечение – не бросать hashing, а наслоить классификаторы и VLM за ним, чтобы у нового вредного контента был второй и третий шанс быть пойманным по содержанию, а не по отпечатку, и отдавать подтверждённые новые случаи органам, ведущим наборы hash, чтобы завтра они были известны.
Вторая – ловушка контекста. Покадровый классификатор видит нож, кожу или кровь и не может отличить преступление от кулинарного шоу, урока плавания или хирургического туториала. Обопритесь лишь на классификаторы – и вы либо переблокируете (убрав урок плавания), либо недоблокируете (пропустив настоящий вред, который покадрово выглядит мягко). Лечение – VLM-стадия, судящая сцену, а не стоп-кадр, и человеческая стадия за ней для случаев, которые не снимет даже VLM.
Третья – состязательный обход. Те, кто хочет протолкнуть вредный контент, активно пытаются победить конвейер – перекодируют, чтобы сломать точные hash (побеждается перцептивным hashing, который это переживает), накладывают шум, прячут полезную нагрузку в несколько секунд иначе невинного клипа (побеждается достаточно плотной выборкой и анализом аудио). Вы никогда не закроете эту область полностью; вы трактуете модерацию как состязательную, эволюционирующую систему, непрерывно меряете её против отложенного набора случаев с известными ответами и принимаете, что это вечное состязание, а не задача, решаемая однажды.
Рис. 5. Две ошибки несимметричны, поэтому пороги задаются по классу вреда, а тяжелейшие виды вреда обрабатываются детерминированно, а не тюнингуемой оценкой. Три области отказа – новый контент, контекст и состязательный обход – обходятся проектированием, а не пожеланием.
Governance: закон, несовершеннолетние и люди в петле
UGC-конвейер модерации – одна из самых зарегулированных систем, какие инженер может построить, и governance-этаж под ним держится на трёх несущих столпах. Ничто из нижеследующего не юридическая консультация – это инженерный контекст, который грамотная команда обязана понимать до того, как привлечь юристов, дающих настоящую консультацию.
Первый столп – обязательная отчётность и сохранение нелегального контента. В США федеральный закон (18 U.S.C. § 2258A) требует от провайдеров электронных услуг сообщать о предполагаемом CSAM в NCMEC CyberTipline, как только они узнают о нём, и сохранять связанный контент и записи – окно недавно расширено до целого года – а не удалять их. Масштаб, на котором это работает, не абстрактен: CyberTipline получил 20,5 млн отчётов в 2024 году, ссылавшихся почти на 63 млн файлов, а доля с участием изображений, сгенерированных ИИ, выросла более чем в тринадцать раз за один год. Инженерное следствие конкретно и легко роковым образом ошибиться: когда Стадия 0 совпадает с известным CSAM, верное действие – заблокировать, сообщить и сохранить в законом предписанное хранилище – никогда не тихое удаление, уничтожающее улику, на которую опирается расследование по защите детей, и само по себе способное быть преступлением. Вы строите этот путь по опубликованной спецификации, не импровизируете его, а решение, что подлежит отчёту, принимаете с юристом, а не на code review.
Второй столп – прозрачность и защита несовершеннолетних в новых платформенных законах. Digital Services Act (DSA) Евросоюза требует, чтобы платформы давали пользователям ясное изложение причин (statement of reasons) по решениям модерации и подавали их в публичную базу прозрачности, и подкрепляет это штрафами до шести процентов глобального годового оборота для крупнейших платформ – выше 45 млн ежемесячных пользователей в ЕС. Его Статья 28 налагает конкретные обязанности по защите несовершеннолетних, с руководствами Еврокомиссии 2025 года. Online Safety Act Великобритании, чьи обязанности по illegal harms стали исполнимыми в марте 2025 года и по которому регулятор Ofcom к 2026 году открыл более двадцати расследований, требует от сервисов в охвате оценивать риск нелегального контента и действовать против него. А Статья 50 EU AI Act, применяемая с августа 2026 года, требует помечать сгенерированные и манипулированные ИИ медиа как таковые – что пересекается с этим конвейером напрямую, потому что система модерации всё чаще должна рассуждать, реально ли то, на что она смотрит, – вопрос, поднятый в уроке про C2PA и раскрытие ИИ. Инженерное следствие: audit-след и генератор изложения причин – не опциональные фичи; это то, как вы остаётесь по правильную сторону законов со штрафами масштаба оборота.
Третий столп – тот, что команды забывают, пока он не станет скандалом: благополучие людей-проверяющих. Люди на Стадии 3 подвергаются, как условие работы, худшему контенту, который выносит конвейер, и история отрасли здесь плоха – задокументировано, что аутсорс-модераторы зарабатывают порой считанные доллары в час, а опросы находят, что большое большинство считает: работодатели делают слишком мало для их психического здоровья. К 2026 году это уже не только этический вопрос: глобальные трудовые органы предложили обязывающие протоколы – лимиты на дневное воздействие травмирующим материалом, отказ от нереалистичных квот скорости, устойчивую психологическую поддержку и достойную оплату – и платформы всё чаще держатся к ним контрактом и репутацией. Инженерные следствия – реальные требования дизайна: размытые и серошкальные превью по умолчанию, чтобы проверяющего не застиг полноразмерный ужас, жёсткие лимиты на то, сколько тяжелейшего материала видит один человек за смену, ротация прочь от худших очередей и маршрутизация, использующая автоматические стадии, чтобы держать как можно больше этого контента подальше от человеческих глаз. Конвейер, относящийся к модераторам как к расходному материалу, и неправ, и всё чаще юридически и коммерчески опасен.
Рис. 6. Три столпа governance несут конвейер: юридическая обязанность сообщать о нелегальном контенте и сохранять его, обязательства по прозрачности и несовершеннолетним новых платформенных законов и благополучие людей-проверяющих – каждый конкретное инженерное требование, а не сноска политики.
Порядок сборки: каждый майлстоун защищает пользователей
Выстройте сборку так, чтобы каждый майлстоун выдавал нечто, защищающее пользователей, а не исчезал на квартал ради постройки всего конвейера до первого запуска. Пять майлстоунов по порядку.
Майлстоун один – hash-сопоставление и обязательная отчётность – Стадия 0 и юридический этаж под ней, первыми, потому что это и самая дешёвая стадия, и та, что требует закон. Подключите системы hash известно-плохого, действие заблокировать-сообщить-сохранить и audit-журнал. Уже это делает платформу заметно безопаснее и юридически защитимой в первый день.
Майлстоун два – дешёвый проход классификаторов с консервативными порогами – Стадия 1, настроенная щедро эскалировать, а не агрессивно очищать. Поначалу вы предпочтёте отправить слишком много на проверку, чем слишком мало; вы ужесточаете пороги по мере накопления данных о том, где классификаторы надёжны. Это стадия, превращающая конвейер из «ловит известное» в «отсматривает новое».
Майлстоун три – консоль и очередь человеческой проверки – Стадия 3 до Стадии 2, нарочно, потому что нужно место, куда падают эскалации, и гуманный, хорошо инструментованный инструмент проверки до того, как вы начнёте доверять VLM сокращать очередь. Стройте фичи благополучия – размытые превью, лимиты воздействия, ротацию – в эту консоль с первой версии, а не задним числом.
Майлстоун четыре – VLM-стадия контекста – Стадия 2, вставленная между классификаторами и людьми, чтобы сжать человеческую очередь, решая контекстные вызовы автоматически. К этому моменту у вас есть размеченные данные с человеческой стадии, против которых оценить VLM, так что можно доказать, что она помогает, а не надеяться.
Майлстоун пять – масштаб, измерение и состязательная петля – цель пропускной способности, достигаемая на пике, отложенный оценочный набор случаев с известными ответами, прогоняемый непрерывно, тюнинг порогов, ведомый измеренными ценами ошибок, и обратный путь, отправляющий подтверждённые новые виды вреда органам. Это майлстоун, который никогда толком не завершается, потому что модерация – эволюционирующее состязание, а не отгруженная фича.
Где здесь Фора Софт
Мы строим продукты, рождающие ровно эту проблему. За два десятилетия видеоконференций, live-стриминга, OTT-платформ, dating- и социальных приложений, e-learning и видеонаблюдения в момент, когда продукт разрешает пользователям публиковать видео для других пользователей, конвейер модерации перестаёт быть опциональным – и команды, отгружающие такие продукты, обычно встречают hash-базы, классификаторы-API, VLM-проверку, закон об обязательной отчётности и требования к благополучию проверяющих впервые, всё разом, под дедлайн запуска. Повторяющийся инжиниринг – сама воронка: упорядочить стадии по стоимости, настроить пороги по классу вреда, чтобы и счёт, и точность держались, и проложить audit-и-отчётный этаж, превращающий контент-фильтр в систему, которую примет регулятор. Паттерны этого итогового проекта – те, что всплывают, когда live-shopping-, dating-, социальному или community-видеопродукту надо быть безопасным к запуску в ЕС, Великобритании и США одновременно.
Ключевые выводы
- Модерация в масштабе – воронка: дешёвая проверка первой, каждая стадия решает или эскалирует, люди видят менее 1%.
- Модерируйте выбранные кадры плюс аудиотранскрипт, а не целые видео поминутно – этот выбор и есть модель затрат.
- Воронка стоит примерно девятую часть отправки каждого видео в API и при этом точнее.
- Hash ловит известный нелегальный контент и обязателен по закону; классификаторы и VLM ловят новое.
- Пропущенное нелегальное видео и ошибочно удалённое легальное – не равные ошибки; задавайте пороги по классу вреда.
- О нелегальном контенте надо сообщить и сохранить его, а не тихо удалить; благополучие проверяющих – инженерное требование.
Что почитать дальше
- Модерация контента в реальном времени в SFU – модерация живого потока на лету, синхронный кузен этого асинхронного конвейера.
- ИИ в dating, соцсетях и UGC – инженерный playbook – вертикаль, где этот конвейер обязателен с первого дня.
- Открытые VLM – LLaVA, Qwen-VL и поле – модели, питающие стадию контекстной проверки.