2025 — 2026
Платформа речевых технологий и AI-сценариев
Запись встреч, транскрибация и AI-обработка в одной системе. От ботов для конференций до собственных LLM-сценариев и локального инференса.
Архитектор и основной разработчик AI-подсистем
Задача
Разрозненные модули обработки дублировали код и делили вычислительные ресурсы. Новые AI-функции требовали отдельных реализаций.
Личный вклад
- Создал ботов записи для Zoom, Google Meet и Яндекс Телемоста с изоляцией каждой встречи в Docker.
- Объединил обработку транскриптов и исследовательские задачи в общий движок LLM Task.
- Разработал многошаговые сценарии, структурированные ответы и обработку длинных записей.
- Создал шлюз к локальным моделям, телеметрию и интерфейсы управления; подключил чаты по транскриптам.
Результаты
- Три платформы конференций подключены к единому процессу записи и обработки. (3 платформы)
- Разные AI-задачи работают через общий движок и пул ресурсов.
- Задачи, модели и серверы доступны для наблюдения из интерфейсов управления.
Компоненты и связи
Источники встреч
- Zoom · Google Meet · Яндекс ТелемостОнлайн-конференции для записи.
Запись и распознавание речи
- Боты записиИзолированный контейнер на каждую активную конференцию.
- Распознавание речиПолучение текста и временного контекста записи.
- Очередь обработки записейАсинхронный переход от записи к обработке медиафайла.
- Извлечение аудиоПодготовка аудиодорожки для распознавания.
Обработка с помощью ИИ
- Задача для моделиОбщий способ выполнения задач: итогов встреч, исследований и других запросов к языковой модели.
- Дерево задачРазбиение длинного текста на части и объединение результатов.
- Сценарии обработкиПоследовательные и условные многошаговые AI-процессы.
- Ответ по схемеПарсинг ответа модели в типизированный результат.
- Инструкции и ассистентыИнструкции, вопросы и конфигурации структурированных ответов.
Локальные модели
- Шлюз к моделямНаблюдаемая точка входа к локальным языковым моделям.
- llama.cppСреда выполнения локальных моделей с открытыми весами.
- Распределение запросовРаспределение запросов между доступными серверами языковых моделей.
- Модели с открытыми весамиЯзыковые модели, запущенные на собственных серверах.
Продуктовые интерфейсы
- Панель управленияЗаписи, задачи, отчёты, сценарии, шлюзы к моделям и состояние инфраструктуры.
- Чат по записямВопросы к конкретному транскрипту через внешний или локальный агент.
- Локальный агентИзолированный в контейнере агент, использующий локальную языковую модель.
- Внешняя CRMПередача записей, транскриптов и структурированных отчётов во внешнюю CRM.
Эксплуатация
- МониторингСостояние моделей, активных задач и инфраструктурных узлов.
- Управление по SSHУстановка, обновление и проверка состояния разных типов серверных проектов.
- Zoom · Google Meet · Яндекс Телемост→Боты записиссылка на встречу
- Боты записи→Очередь обработки записейзапись
- Очередь обработки записей→Извлечение аудиомедиафайл
- Извлечение аудио→Распознавание речиаудио
- Распознавание речи→Задача для моделитекст записи
- Задача для модели→Дерево задачдлинный текст
- Инструкции и ассистенты→Задача для моделиинструкции
- Сценарии обработки→Задача для моделиновая задача
- Задача для модели→Распределение запросовзапрос к модели
- Распределение запросов→Шлюз к моделяммаршрутизация
- Шлюз к моделям→llama.cppзапрос
- llama.cpp→Модели с открытыми весамизапуск
- Задача для модели→Ответ по схемеответ модели
- Ответ по схеме→Панель управленияотчёт
- Ответ по схеме→Внешняя CRMданные по схеме
- Распознавание речи→Чат по записямтекст встречи
- Чат по записям↔Локальный агентзакрытый режим
- Локальный агент↔Шлюз к моделямлокальная модель
- Шлюз к моделям→Мониторингпоказатели
- Мониторинг→Панель управлениясостояние
- Управление по SSH→Боты записиустановка и обновление
- Управление по SSH→Шлюз к моделямустановка и обновление
Инженерный итог
Контекст
Платформа для работы с записями встреч и локальными языковыми моделями.
- Работа с данными в локальном контуре.
- Разная доступность вычислительных узлов.
- Записи длиннее контекстного окна модели.
Подход
Выделил общий движок из действующих функций и последовательно связал запись, обработку, сценарии и инфраструктуру.
- Единый тип задачи и общий пул ресурсов для разных AI-функций.
- Дочерние задачи и агрегация результатов для длинного контекста.
- Отдельные модели для промтов, сценариев, выполнения и отчётов.
Выводы
- Универсализация оправдана после появления доказанного дублирования, а не заранее.
- Структурированный ответ связывает результат модели с контрактами приложения.
- Наблюдаемость и развёртывание являются частью продукта, а не вспомогательной работой.
Стек
- Docker
- Queues / workers
- llama.cpp
- Open-weight LLM
- Nginx / load balancing
- SSH orchestration
- Vue dashboards
- Structured output
Навыки
- AI / LLM-системы
- Агентные сценарии
- Инструкции для моделей
- Ответы по схеме
- Локальные LLM
- Full-stack разработка
- Продуктовая архитектура
- Доменное моделирование
- Графовые структуры
- Оркестрация
- Событийная архитектура
- Микросервисы
- Наблюдаемость
- Python
- Серверная разработка
- Очереди и обработчики
- Vue / Nuxt
- Docker
- Linux / SSH
- CI/CD и Git автоматизация
- Nginx / балансировка