Технологии
«Пайплайн определяется в рантайме»: AWS собрала видеоинтеллект на одном агенте Strands поверх Bedrock, Rekognition и Transcribe
23 сентября 2026 года AWS опубликовала технический разбор архитектуры, в которой один агент сам решает, какой сервис вызвать, чтобы ответить на вопрос по видео. Вместо отдельного конвейера под каждый тип вопроса — транскрипции для встреч, компьютерного зрения для визуального поиска, интеграции сопоставления лиц — маршрутизацию берёт на себя модель, а не код приложения. В тестах AWS на часовых записях первый вопрос занимает 5–10 минут, а последующие ответы по тому же материалу возвращаются меньше чем за секунду из кэша. Кейс-пример — крупная медиакомпания: сокращение ручного просмотра примерно на 80% на архиве из более чем 200 многочасовых записей, по внутреннему сравнению заказчика, которое AWS честно помечает как независимо не проверенное.

23 сентября 2026 года AWS опубликовала технический разбор архитектуры, в которой один агент сам решает, какой сервис вызвать, чтобы ответить на вопрос по видео. Вместо отдельного конвейера под каждый тип вопроса — транскрипции для встреч, компьютерного зрения для визуального поиска, интеграции сопоставления лиц — маршрутизацию берёт на себя модель, а не код приложения. В тестах AWS на часовых записях первый вопрос занимает 5–10 минут, а последующие ответы по тому же материалу возвращаются меньше чем за секунду из кэша. Кейс-пример — крупная медиакомпания: сокращение ручного просмотра примерно на 80% на архиве из более чем 200 многочасовых записей, по внутреннему сравнению заказчика, которое AWS честно помечает как независимо не проверенное.
Почему задача вообще возникла
Видео накапливается быстрее, чем команды успевают его смотреть: записи встреч лежат в общих папках, камеры наблюдения пишут недели неразобранных часов, а видео полевых осмотров остаётся в объектном хранилище долго после первичного просмотра. Ценность внутри чаще всего конкретная — решение по архитектуре, названное три недели назад, точное время прихода человека к двери или последовательность событий перед столкновением автомобилей.
Классический ответ на это — собирать отдельный ML-конвейер под каждый тип вопроса, и тогда на каждый новый сценарий появляется новая работа: транскрипция для вопросов по встречам, компьютерное зрение для визуального поиска, отдельная интеграция сопоставления лиц.
Что именно построили
Решение — один AI-агент, который принимает видеофайлы и делает их содержимое доступным для вопросов на естественном языке. Пользователь может загрузить 90-минутную запись встречи и спросить, какие решения на ней приняли или упоминался ли бюджет и сроки; агент сам определяет, вызывать транскрипцию, визуальный анализ или и то и другое, а затем собирает результаты в связный ответ. Разборы для наблюдения, анализа контента и расследований идут через ту же схему — отдельных конвейеров под каждый сценарий не требуется.
Оркестратор собран на открытом SDK Strands Agents, который выступает обёрткой для построения агентов и их инструментов. Модель поставляет Amazon Bedrock — полностью управляемый сервис с доступом к базовым моделям ведущих лабораторий, в разборе это Claude Sonnet с ограничением в 4096 токенов на ответ. Роли сервисов разделены так: Amazon Rekognition отвечает за визуальный анализ — объекты, сцены, действия и лица; Amazon Transcribe превращает речь в текст с автоопределением языка более чем на 100 языках и диаризацией спикеров. Amazon Bedrock Data Automation даёт альтернативный путь — резюме видео, разбивку на главы и полную транскрипцию одним асинхронным вызовом, что удобно, когда нужен разбор целиком или когда Rekognition и Transcribe недоступны. Все загруженные видео и результаты анализа хранятся в Amazon S3 с префиксами по пользователям для мультитенантной изоляции.
Ключевая мысль разбора сформулирована прямо: конвейер определяется в рантайме. Агент вызывает Transcribe для вопросов о сказанном, обращается к Rekognition за сопоставлением лиц и переиспользует кэш для последующих вопросов по уже разобранному материалу — маршрутизацией занимается модель, а не код приложения.
Решение принимает модель, а не код
В традиционном приложении разработчик задаёт фиксированную последовательность шагов, все видео проходят её целиком, а пользователь ждёт завершения всего конвейера, прежде чем задать вопрос. Агентная схема переворачивает это: предобработка ограничивается загрузкой файла в S3, агент разбирает намерение каждого вопроса отдельно, проверяет, не выполнен ли уже нужный анализ, и вызывает только те сервисы, которые нужны для ответа.
Каждый сервис завёрнут в Python-функцию с декоратором @tool, и docstring этой функции служит для агента инструкцией о том, когда и как её использовать. Всего в разборе шесть инструментов: транскрипция видео, визуальный анализ, поиск лиц в записи, анализ референсного изображения, разбор через BDA и загрузка видео. Пример цепочки: на вопрос, появлялся ли конкретный человек в записи с камеры, агент сначала индексирует референсное фото, а затем ищет лицо в видео — две зависимые операции, порядок которых нигде не прописан в коде приложения.
Неопределённость агент проговаривает: при пограничной уверенности, например 62%, он отвечает осторожно и предлагает проверить вручную, а при неудачной транскрипции из-за плохого звука сам предлагает альтернативу — визуальный анализ слайдов презентации. При уверенности Rekognition ниже 60% агент сообщает о неуверенности, а сбой Transcribe переводит на BDA как запасной путь.
Сколько стоит час видео
Расходы зависят от того, какие сервисы вызвал агент: после первичного анализа последующие вопросы по тому же видео стоят только за reasoning в Amazon Bedrock, потому что результаты берутся из кэша. Ориентиры AWS для 60-минутного видео: транскрипция в Amazon Transcribe — 1,44 доллара, поиск лиц и детекция меток в Amazon Rekognition — по 6 долларов одноразово на видео, reasoning агента — 0,05–0,15 доллара за ход, хранение 500 МБ в S3 на 24 часа — меньше цента.
Итоговая оценка из разбора: типовой вопрос по транскрипции часового видео обходится примерно в 1,50 доллара за первичную транскрипцию плюс reasoning, а последующие вопросы по тому же материалу — только 0,05–0,15 доллара за ход, то есть стоимость одного вызова модели. Цены AWS приводит по состоянию на июль 2025 года и подчёркивает, что фактические расходы зависят от выбранной модели, длины входа и региона.
Развёртывание и контроль доступа
Эталонная сборка разворачивается на Amazon ECS с AWS Fargate: приложение на Streamlit и рантайм агента работают в задачах Fargate за внутренним Application Load Balancer, а единственная публичная точка входа — распространение CloudFront, которое доходит до балансировщика через VPC origin. Балансировщик остаётся в приватных подсетях без маршрута к интернет-шлюзу и напрямую из интернета недоступен, а TLS завершается на сертификате по умолчанию в домене cloudfront.net — это даёт доверенный HTTPS без собственного домена и сертификата ACM.
Аутентификацию ведёт Amazon Cognito только по приглашениям, с обязательной двухфакторной аутентификацией через одноразовые коды по времени по умолчанию, а загрузки и кэш лежат в S3 под префиксами пользователей с политикой жизненного цикла 24 часа. В эталонной сборке четыре основных контроля: приглашения Cognito с обязательным MFA, префиксы S3 по пользователям с проверкой владения на каждой границе инструмента, внутренний балансировщик, доступный только через CloudFront, и лимиты загрузок на пользователя против исчерпания общих ресурсов. Для продакшена AWS рекомендует добавить Bedrock Guardrails — фильтрацию контента и проверки заземления ответов агента, особенно для сопоставления лиц и наблюдения, где контроли ответственного ИИ обязательны.
Разбор собран с помощью Kiro, который переводит идеи в требования, проектные решения и задачи реализации: спецификации описывали каждую возможность до её появления, а моделирование угроз шло параллельно со спецификациями и разбирало конкретные kill chain — обход аутентификации, сетевую экспозицию, эксплуатацию агента через инъекцию промпта, избыточные права IAM и уход от аудита. Развёртывание выполняет один скрипт deploy-ecs.sh: он собирает образ контейнера, отправляет его в Amazon ECR и разворачивает стеки CloudFormation, а типичное время развёртывания — 15–20 минут, большая часть которых уходит на распространение CloudFront.
Границы: ограничения и уборка
Ограничения в разборе названы прямо: видео длиннее двух-трёх часов требуют нескольких минут на первичную транскрипцию, хотя последующие запросы возвращаются почти мгновенно из кэша, точность сопоставления лиц зависит от качества референсного фото, а транскрипция деградирует при сильном фоновом шуме и перекрывающихся голосах. Веб-интерфейс принимает MP4, MOV, AVI и MKV размером до 2 ГБ — лимит сознательно ниже памяти задачи Fargate, потому что Streamlit буферизует загрузки в памяти; для больших файлов видео стоит загружать напрямую в S3 и просить агент разобрать объект по URI, хотя BDA принимает видео до 10 ГБ. Параллельная ёмкость ограничена временным хранилищем задачи и лимитом на пользователя — это примерно шесть одновременных пользователей на задачу при настройках по умолчанию, а автомасштабирование добавляет задачи под нагрузкой процессора.
Отдельное предупреждение касается удаления ресурсов: уборка охватывает три стека CloudFormation, связанных значениями параметров, а не экспортами, поэтому порядок удаления задаётся вручную — сначала video-analytic-agent-ecs, затем video-analytic-cognito и в конце video-object-locator-infra, после очистки S3-корзин. Коллекции лиц Rekognition приложение создаёт в рантайме, поэтому CloudFormation ими не владеет и они переживают как удаление объектов, так и удаление стеков — перечислять и удалять их нужно отдельно.
Что из этого следует
Главный вывод разбора — расширение системы не требует нового конвейера: добавление возможности или целой модальности сводится к обёртке ещё одного сервиса в функцию с декоратором @tool и описанию, когда её использовать, без изменений в логике рабочего процесса. Тот же оркестратор, кэш и изоляция по пользователям работают и с Amazon Textract для документов и схем, и с AWS HealthScribe для клинических диалогов, и с Amazon Comprehend для извлечения сущностей и персональных данных. Формулировка AWS проста: один агент рассуждает о том, какие сервисы вызвать в рантайме по вопросу пользователя, вместо заранее собранного конвейера под каждый тип вопроса.